KR101760070B1 - Data encoding and decoding method and apparatus - Google Patents
Data encoding and decoding method and apparatus Download PDFInfo
- Publication number
- KR101760070B1 KR101760070B1 KR1020160025868A KR20160025868A KR101760070B1 KR 101760070 B1 KR101760070 B1 KR 101760070B1 KR 1020160025868 A KR1020160025868 A KR 1020160025868A KR 20160025868 A KR20160025868 A KR 20160025868A KR 101760070 B1 KR101760070 B1 KR 101760070B1
- Authority
- KR
- South Korea
- Prior art keywords
- universal
- universal codes
- codes
- symbols
- data
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G06F17/30952—
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/28—Programmable structures, i.e. where the code converter contains apparatus which is operator-changeable to modify the conversion process
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
According to another aspect of the present invention, The encoding unit generating a plurality of universal codes corresponding to the symbols included in the original data; And generating the encoded data by combining the plurality of universal codes with the encoding unit, wherein the universal code is a sequence of "1" of the most significant bit of the corresponding universal code, 0 "continuous to " 1" of the most significant bit, and at least n (n≥0) consecutive "1" (P > 0) "0" arranged between the first and second data streams.
Description
The present invention relates to a method and apparatus for encoding and decoding data, and more particularly, to a method and apparatus for encoding and decoding data that enables coding and decoding of binary data using a universal code will be.
Huffman coding is a kind of entropy coding used for lossless compression, and it is an algorithm that uses codes of different length depending on the appearance frequency of data characters. David Huffman, a Ph.D. student in 1952, first published a paper entitled "A Method for the Construction of Minimum-Redundancy Codes" [1].
Huffman coding is an algorithm that produces a prefix (a code in which one character does not become a prefix of other codes) from the frequency of characters. The shorter the character is written, the longer the code. Huffman coding produces an optimal prefix for a given frequency, and this process is only possible in O (n) if the frequency is aligned. If the frequency of each character is a power of two or all of them are the same, this prefix is the same as a simple binary block code.
Other lossless compression techniques include rice-golomb codes (lossless coding compression codes used in H.264), tunstall codes, golomb codes, and rice codes.
However, in such a conventional encoding / decoding method or apparatus, a relatively complicated operation or processing time is required in the process of encoding or decoding, and efficiency, security, and robustness against errors are deteriorated.
The background art of the present invention is disclosed in Korean Patent Laid-Open Publication No. 2013-0022321 (published March 3, 2013).
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and it is an object of the present invention to provide a method and a system for encoding and decoding data, which can generate a universal code promised in advance only by a specific means to be encoded, Methods and apparatuses.
According to an aspect of the present invention, there is provided an encoding method, comprising: an input step in which an encoding unit receives original data; The encoding unit generating a plurality of universal codes corresponding to the symbols included in the original data; And generating the encoded data by combining the plurality of universal codes with the encoding unit, wherein the universal code is a sequence of "1" of the most significant bit of the corresponding universal code, 0 "continuous to " 1" of the most significant bit and at least n (n > = 0) consecutive "1" Quot ;, and " 0 "of at least m (m ≥ 0) arranged between them.
In the generating of the plurality of universal codes, the encoder generates the plurality of universal codes by referring to a lookup table defining a correspondence between symbols defined in a specific sequence and universal codes.
In the step of generating the plurality of universal codes, a symbol defined as M sequence (M? 1) in the lookup table belongs to the K group (K? 1) And the universal code belonging to the Kth group has a length of (K + 1) bits,
.
In the step of generating the plurality of universal codes, the encoding unit may sequentially generate symbols corresponding to the universal codes, which are sequentially defined according to a predetermined rule, starting from a specific initial value, (L > = 1) universal code in ascending order for each symbol included in the original data when each of the symbols included in the original data is an L-th (L? 1) defined symbol among the sequentially defined symbols .
According to another aspect of the present invention, there is provided an apparatus comprising: an encoding unit generating a plurality of universal codes corresponding to respective symbols included in input original data, and generating encoded data by combining the plurality of universal codes; And an output unit for outputting the encoded data, wherein the universal code includes "1" of the most significant bit of the corresponding universal code, "0" continuous to "1" of the most significant bit in the lower bit direction, n 0 "continuous to " 1" of the most significant bit and at least m (at least m " and "0" of m < / = 0).
The present invention further includes a memory unit that stores a lookup table that defines correspondence between symbols defined in a specific order and universal codes, and when generating the plurality of universal codes, the encoding unit refers to the lookup table, And a plurality of universal codes are generated.
In the present invention, the symbols defined by the M sequence (M? 1) in the lookup table belong to the K-th group (K? 1) and are defined to correspond to the X (X? 1) -th universal code in ascending order, The universal code belonging to the K group has a length of (K + 1) bits,
.
In the present invention, at the time of generating the plurality of universal codes, the encoding unit, by starting a sequence starting from a specific initial value and mapping sequentially defined symbols according to a certain rule to universal codes obtained through calculation, (L > = 1) universal code (L > = 1) in ascending order for each symbol included in the original data when each symbol included in the data is an Lth Respectively.
According to another aspect of the present invention, there is provided an encoding method, comprising: an input step in which an encoding unit receives original data; The encoding unit generating a plurality of universal codes corresponding to the symbols included in the original data; And generating the encoded data by combining the plurality of universal codes with the encoding unit, wherein the universal code is a sequence of "1" of the least significant bit of the corresponding universal code, "1" of the least significant bit in the upper bit direction 0 "continuous to " 1" of the least significant bit and at least n (n > = 0) consecutive "1" (M &ge; 0) "0"
In the generating of the plurality of universal codes, the encoder generates the plurality of universal codes by referring to a lookup table defining a correspondence between symbols defined in a specific sequence and universal codes.
In the step of generating the plurality of universal codes, a symbol defined as M sequence (M? 1) in the lookup table belongs to the Kth group (K? 1), and in ascending order, X , The universal code belonging to the Kth group has a length of (K + 1) bits,
.
In the step of generating the plurality of universal codes, the encoding unit may sequentially generate symbols corresponding to the universal codes, which are sequentially defined according to a predetermined rule, starting from a specific initial value, (L > = 1) universal code in ascending order for each symbol included in the original data when each of the symbols included in the original data is an L-th (L? 1) defined symbol among the sequentially defined symbols .
According to another aspect of the present invention, there is provided an apparatus for generating encoded data, the apparatus comprising: an encoding unit for generating a plurality of universal codes corresponding to respective symbols included in input original data and generating encoded data by combining the plurality of universal codes; And an output unit for outputting the encoded data, wherein the universal code includes "1" of the least significant bit of the corresponding universal code, "0" continuous to "1" of the least significant bit in an upper bit direction, n (M > 0) successive ones of the least significant bits (" 0 ") and at least m &Quot; 0 "of < / = 0).
The present invention further includes a memory unit that stores a lookup table that defines correspondence between symbols defined in a specific order and universal codes, and when generating the plurality of universal codes, the encoding unit refers to the lookup table, And a plurality of universal codes are generated.
In the present invention, the symbols defined by the M sequence (M? 1) in the lookup table belong to the K-th group (K? 1) and are defined to correspond to the X (X? 1) -th universal code in ascending order, The universal code belonging to the K group has a length of (K + 1) bits,
.
In the present invention, at the time of generating the plurality of universal codes, the encoding unit, by starting a sequence starting from a specific initial value and mapping sequentially defined symbols according to a certain rule to universal codes obtained through calculation, (L > = 1) universal code (L > = 1) in ascending order for each symbol included in the original data when each symbol included in the data is an Lth Respectively.
According to another aspect of the present invention, there is provided an encoding method, comprising: an input step in which an encoding unit receives original data; The encoding unit generating a plurality of universal codes corresponding to the symbols included in the original data; And generating the encoded data by combining the plurality of universal codes, wherein the universal code includes at least n (n > = 1) consecutive "1" s from the most significant bit of the corresponding universal code, and at least m or more (m? 1) consecutive "0" s disposed after n or more (n? 1) consecutive "1s".
In the generating of the plurality of universal codes, the encoder generates the plurality of universal codes by referring to a lookup table defining a correspondence between symbols defined in a specific sequence and universal codes.
In the step of generating the plurality of universal codes, a symbol defined as M sequence (M? 1) in the lookup table belongs to the Kth group (K? 1), and in ascending order, X , The universal code belonging to the Kth group has a length of (K + 1) bits,
.
In the step of generating the plurality of universal codes, the encoding unit may sequentially generate symbols corresponding to the universal codes, which are sequentially defined according to a predetermined rule, starting from a specific initial value, (L > = 1) universal code in ascending order for each symbol included in the original data when each of the symbols included in the original data is an L-th (L? 1) defined symbol among the sequentially defined symbols .
According to another aspect of the present invention, there is provided an apparatus for generating encoded data, the apparatus comprising: an encoding unit for generating a plurality of universal codes corresponding to respective symbols included in input original data and generating encoded data by combining the plurality of universal codes; (N > = 1) consecutive "1" s from the most significant bit of the corresponding universal code, and the n & And at least m (m? 1) consecutive "0" s disposed after "1 "
The present invention further includes a memory unit that stores a lookup table that defines correspondence between symbols defined in a specific order and universal codes, and when generating the plurality of universal codes, the encoding unit refers to the lookup table, And a plurality of universal codes are generated.
In the present invention, the symbols defined by the M sequence (M? 1) in the lookup table belong to the K-th group (K? 1) and are defined to correspond to the X (X? 1) -th universal code in ascending order, The universal code belonging to the K group has a length of (K + 1) bits,
.
In the present invention, at the time of generating the plurality of universal codes, the encoding unit, by starting a sequence starting from a specific initial value and mapping sequentially defined symbols according to a certain rule to universal codes obtained through calculation, (L > = 1) universal code (L > = 1) in ascending order for each symbol included in the original data when each symbol included in the data is an Lth Respectively.
According to another aspect of the present invention, there is provided an encoding method, comprising: an input step in which an encoding unit receives original data; The encoding unit generating a plurality of universal codes corresponding to the symbols included in the original data; And generating the encoded data by combining the plurality of universal codes, wherein the universal code includes at least n (n > = 1) consecutive "0" s from the most significant bits of the corresponding universal code, and at least m or more (m? 1) consecutive "1" s disposed after n or more (n? 1) consecutive "0" s.
The encoding unit generates the plurality of universal codes by referring to a lookup table defining a correspondence between symbols defined in a specific order and universal codes.
In the step of generating the plurality of universal codes, a symbol defined as M sequence (M? 1) in the lookup table belongs to the Kth group (K? 1), and in ascending order, X , The universal code belonging to the Kth group has a length of (K + 1) bits,
.
In the step of generating the plurality of universal codes, the encoding unit may sequentially generate symbols corresponding to the universal codes, which are sequentially defined according to a predetermined rule, starting from a specific initial value, (L > = 1) universal code in ascending order for each symbol included in the original data when each of the symbols included in the original data is an L-th (L? 1) defined symbol among the sequentially defined symbols .
According to another aspect of the present invention, there is provided an apparatus for generating encoded data, the apparatus comprising: an encoding unit for generating a plurality of universal codes corresponding to respective symbols included in input original data and generating encoded data by combining the plurality of universal codes; (N > = 1) consecutive "0" s from the most significant bit of the corresponding universal code, and the n & (M > = 1) consecutive "1" s disposed after "0"
The present invention further includes a memory unit that stores a lookup table that defines correspondence between symbols defined in a specific order and universal codes, and when generating the plurality of universal codes, the encoding unit refers to the lookup table, And a plurality of universal codes are generated.
In the present invention, the symbols defined by the M sequence (M? 1) in the lookup table belong to the K-th group (K? 1) and are defined to correspond to the X (X? 1) -th universal code in ascending order, The universal code belonging to the K group has a length of (K + 1) bits,
.
In the present invention, at the time of generating the plurality of universal codes, the encoding unit, by starting a sequence starting from a specific initial value and mapping sequentially defined symbols according to a certain rule to universal codes obtained through calculation, (L > = 1) universal code (L > = 1) in ascending order for each symbol included in the original data when each symbol included in the data is an Lth Respectively.
The encoding apparatus and the decrypting apparatus according to an aspect of the present invention encode and decode data using a universal code that has been promised in advance, thereby enabling more secure, reliable, and enhanced user authentication, Efficiency and security can be improved.
FIG. 1 illustrates a configuration of a coding apparatus and a decoding apparatus according to an embodiment of the present invention.
2 is a flowchart illustrating an encoding method according to an embodiment of the present invention.
3 is a flowchart illustrating a decoding method according to an embodiment of the present invention.
4 shows an example of a universal code according to the first embodiment of the present invention.
5 shows an example of a universal code according to a second embodiment of the present invention.
6 is a reference diagram for explaining an example of utilizing a lookup table in encoding.
7 is a reference diagram for explaining an example of utilizing a lookup table in encoding.
FIG. 8 shows an example of a universal code according to the third embodiment of the present invention.
FIG. 9 shows an example of a universal code according to the fourth embodiment of the present invention.
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and like parts are denoted by similar reference numerals throughout the specification.
Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.
FIG. 1 is a block diagram of a coding apparatus and a decoding apparatus according to an embodiment of the present invention. FIG. 2 is a flowchart for explaining a coding method according to an embodiment of the present invention. 4 is a diagram illustrating an example of a universal code according to a first embodiment of the present invention. FIG. 5 is a block diagram of a universal code according to a second embodiment of the present invention. FIG. 6 is a reference diagram for explaining an example of utilizing a lookup table in encoding, FIG. 7 is a reference diagram for explaining an example of utilizing a lookup table in encoding, and FIG. FIG. 9 illustrates an example of a universal code according to a third embodiment of the present invention. FIG. 9 illustrates an example of a universal code according to a fourth embodiment of the present invention. If follows.
1, the
The
The
to be.
When generating the plurality of universal codes, the
When generating the plurality of universal codes, the
The
The
The
The operation and operation of the present embodiment thus configured will be described in detail with reference to Figs. 1 to 9. Fig.
First, the
Next, the
-------------------------------------------------- ---------------------------
First Embodiment
The universal code according to the first embodiment includes "1" of the most significant bit of the corresponding universal code, "0" continuous to "1" of the most significant bit in the lower bit direction, (P? 0) "0" arranged between "0" continuous to "1" of the most significant bit and "n" "
In generating the universal code corresponding to each symbol included in the original data, the
The symbols defined by the M sequence (M? 1) in the lookup table correspond to the universal codes belonging to the Kth group (K? 1) generated through the calculation and in the ascending order of M The universal code belonging to the Kth group has a length of (K + 1) bits, and M is a code satisfying Equation (1). Here, K and X are obtained through equations (1) to (5).
Solving Equation (1)
, And since K? 1
. Therefore, K
K is determined to be the largest integer among the integers satisfying the expression (4).
The process of obtaining K is expressed as a sequential algorithm as follows.
-------------------------------------------------- ---------------------------
i)
And then calculates K 'ii) if K 'is an integer (positive integer), then K = K'-1,
If K 'is not an integer (positive integer), then K = f (K'
(Where f (x) is a function that discards fractional parts of x (x? 0).
Or f (x) can be applied to various functions such as a floor function (= floor (x)) that returns an equivalent result.
-------------------------------------------------- ---------------------------
X is obtained according to Equation (5) using M and K in the above.
As a result, the K value and the X value can be calculated from the M order through the above Equations (1) to (5), so that the universal code corresponding to the order number M has (KX) Is a binary number consisting of consecutive "0" s and subsequently (X-1) consecutive "1s. Or the universal code corresponding to the sequence number M is a binary number consisting of the most significant bit "1" followed by K- (X-1) consecutive "0"
(X-1) consecutive "0" + (X-1) consecutive "1"
Therefore, if the universal code defined as M consecutive numbers in the lookup table satisfies Equations (1) to (5), it can be understood that this value is the Xth universal code of the Kth group.
Then, in calculating the original sequence number M from the generated universal code, the sequence number M can be obtained according to Equation (6) below.
Note that K is the "bit length of the universal code is -1", and the T value is the number of "1" continuous from the least significant bit to the most significant bit of the universal code (see FIG. 4).
For example, if the universal code is 1000011, since the bit length is 7 (= 6 + 1), the code belongs to the sixth group and the T value is 2. Therefore, the universal code is the third code in ascending order. Therefore, it can be seen that M = 18 (= (5 * 6) / 2 + 2 + 1), so that it is the 18th universal code.
For example, in the case of a value defined by M = 400, that is, in the order of 400, calculating according to
In the case of a value defined as M = 400, that is, in order of 400, K and X can be obtained through the sequential algorithm described above. In other words,
i)
Lt; RTI ID = 0.0 > K 'ii) If f (K ') = 28 ≠ K', then K = f (28.79) = 28 and X is obtained according to Equation (5) (X = 0), or f (x) can be applied to a floor function (= floor (x)) that returns an equivalent result.
Therefore, the universal code having the order M = 400 belongs to the 28th group and can be obtained as the 22nd universal code in ascending order.
Since the binary code is composed of K- (X-1) consecutive "0" and then (X-1) "1" following the universal code = "1" Is a binary code consisting of 7 (= 28-21) consecutive "0 " s following the most significant bit" 1 "
Universal code when sequence number (M) = 400 ==> 10/000000/111111111111111111111 ==> 10000000111111111111111111111
In the above description, the " symbol value defined in M order in the lookup table "may be a value (for example, 2, 4, 6, 8, 10 ...) listed in accordance with a specific rule, Values (e.g., 1, 100, 3, 5, 7, 15, 23 ...).
The
The universal codes used in the first embodiment are automatically generated in order starting from 10, and each of them is sequentially generated as "10", "1011 (10/11)", "1000111 (10/00/111) (N > = 0) " 1 ", the most significant bit " 10 ", and the consecutive n & (P > 0) "0" arranged between "10" Among the universal codes satisfying these conditions, the binary number having the smallest bit length becomes "10 ", and thereafter, in ascending order such as 100, 101, 1000, 1001, 1011, 10000, 10001, 10011, 10111, You can list them sequentially. Table 1 shows the generated universal codes.
As described above, the universal code according to the first embodiment must have "10" at the front, and then the number of bits is increased from the least significant bit while increasing the number of bits, If there is no more "0" after "10" such as "101111", the number of bit digits is increased by one digit to "1000000".
The unique code according to the first embodiment has unique complexity. Even if encoded data is generated by combining a plurality of universal codes, the
10000000000000000/10000000000000001/10000000000000011 / ........... / 10000000000000000000000 / .........
Particularly, when encoded data is generated and output (transmitted) by combining a plurality of universal codes as described above, a transmission error does not propagate, and only a specific cluster unit (specific universal code) affects only the code.
For example, encoded data generated by combining five universal codes,
1001 10 10001111 100000 1001
, The lower 6th bit is changed to "1 " during transmission
1001 10 10001111 1000 1 0 1001
At least the remaining four pieces of
On the other hand, even if "0" of the sixth bit is lost as follows, the encoded
1001 10 10001111 10000 1001
Therefore, the remaining four pieces of universal code information are transmitted completely, and even if "100000" is transmitted as "10000 "
When the RUN-LENGTH CODE is compressed using the universal code of the first embodiment, universal codes corresponding to natural numbers of RUN-LENGTHs represented by natural numbers can be generated and transmitted in real time, It is possible to transmit very efficiently in transmission. Especially, since it is resistant to errors and does not propagate an error, it affects only one universal code or a nearby one universal code, so that reliability of transmission can be assured.
However, according to the embodiment, the
For example, universal code can be generated by sequentially matching data that increases in accordance with rules such as 1, 2, 3, 4, 5, ... to universal codes, or 1, 2, 4, 8, 16, 32 , ..., or the like, and generate a universal code corresponding to each symbol included in the original data according to various preset rules .
Second Embodiment
The universal code according to the second embodiment is a code that has "1" of the least significant bit of the corresponding universal code, "0" continuous to "1" of the least significant bit in the upper bit direction, (P? 0) contiguous "1" arranged between the " 0 "continuous to the least significant bit" 1 " 0 ". ≪ / RTI >
In generating the universal code corresponding to each symbol included in the original data, the
The symbols defined by the M sequence (M? 1) in the lookup table correspond to the universal codes belonging to the Kth group (K? 1) generated through the calculation and in the ascending order of M The universal code belonging to the Kth group has a length of (K + 1) bits, and M is a code satisfying Equation (1). Where K and X can be found through mathematical numbers 1-5. Therefore, if the universal code defined as M consecutive numbers in the lookup table satisfies the above Equations (1) to (5), it can be seen that this value is the Xth universal code of the Kth group.
Also, as in the first embodiment, K may be obtained through the following sequential algorithm, and X may be obtained through the following equation (5).
-------------------------------------------------- ---------------------------
i)
And then calculates K 'ii) if K 'is an integer (positive integer), then K = K'-1,
If K 'is not an integer (positive integer), then K = f (K'
(Where f (x) is a function that discards fractional parts of x (x? 0).
Or f (x) can be applied to various functions such as a floor function (= floor (x)) that returns an equivalent result.
-------------------------------------------------- ---------------------------
As a result, the K value and the X value can be calculated from the M sequential numbers through the
(X-1) consecutive "1" + K- (X-1) consecutive "0"
Therefore, if the universal code defined as M consecutive numbers in the lookup table satisfies Equations (1) to (5), it can be understood that this value is the Xth universal code of the Kth group.
Then, in calculating the original sequence number M from the generated universal code, the sequence number M can be obtained according to Equation (6).
K is the "bit length of the universal code is -1", and the T value is the number of "1" continuous from the most significant bit to the least significant bit of the universal code (see FIG. 5).
For example, when the universal code according to the second embodiment is 11100001, since the bit length is 8 (= 7 + 1), it belongs to the seventh group and the T value is 3. Therefore, the universal code is the fourth universal code in the ascending order . Therefore, it can be seen that M = 25 (= (6 * 7) / 2 + 3 + 1), so that it is the 25th universal code.
For example, in the case of a value defined by M = 400, that is, in the order of 400, when calculating according to
In the case of a value defined as M = 400, that is, in order of 400, K and X can be obtained through the sequential algorithm described above. In other words,
i)
Lt; RTI ID = 0.0 > K 'ii) If f (K ') = 28 ≠ K', then K = f (28.79) = 28 and X is obtained according to Equation (5) A function (where x ≥ 0), or f (x), can be applied to a function such as a floor function (= floor (x)) that returns an equivalent result.
Therefore, the universal code having the order M = 400 belongs to the 28th group and can be obtained as the 22nd universal code in ascending order. Since the universal code having the sequence number M = 400 is a binary number consisting of "1" + K- (X-1) consecutive "0" + "1" Is a binary code consisting of 21 consecutive " 1 "s followed by 6 (= 28-22) consecutive" 0s "
As in the first embodiment, the "symbol value defined in M order in the lookup table" may be a value (e.g., 2, 4, 6, 8, 10 ...) (E.g., 1, 100, 3, 5, 7, 15, 23 ...) that are defined according to the sequence number without rules.
The
The universal code used in the second embodiment includes 01 on the least significant bit side, and each of the universal codes includes " 01 ", "1101 (11/01) "," 11100001 (N > = 0) " 1 "arranged from the most significant bit," 01 "arranged from the least significant bit, and &Quot; 0 "of at least p (p? 0) arranged between" 01 " Among the universal codes satisfying these conditions, the binary number with the smallest bit length becomes "01 ", and thereafter is sequentially listed as 001, 101, 0001, 1001, 1101, 00001, 10001, 11001, 11101 ... . Table 2 shows the universal codes according to the second embodiment.
As described above, the universal code according to the second embodiment must have "01" at the end and increase the number of "1" from the most significant bit, "01" must remain on the least significant bit and "111101" Quot; 0 "is not present in front of" 01 ", the number of bits is increased by one and the result is shifted to "0000001 ".
The universal code according to the second embodiment is also unique. That is, if there is encoded data created by combining a plurality of universal codes as described below, the encoded data can be divided at the end immediately after "01", and each universal code can be extracted without a separate identifier. For reference, "/" in the following encoded data is for understanding and does not indicate an identifier.
10000000000000001/00000000000000001/10000000000000001 / ........... / 11000000000000000000001 / .........
Particularly, when encoded data is generated and output (transmitted) by combining a plurality of universal codes as described above, a transmission error does not propagate, and only a specific cluster unit (specific universal code) affects only the code.
For example, encoded data generated by combining five universal codes according to the second embodiment,
1001 01 11100001 000001 1001
, If the lower seventh bit is changed to "1 " during transmission
1001 01 11100001 000 1 01 1001
, At least the remaining four pieces of universal code information (1001 01 11100001 1001) can be transmitted completely. The part of the encoded data that is spaced apart is conceptually displayed, and actually there is no other identifier.
On the other hand, if the "0" of the 7th bit is lost as follows, the encoded data, 1001 01 11100001 000001 1001, will be received as follows.
1001 01 11100001 00001 1001
Therefore, the remaining four pieces of universal code information are transmitted completely, and even if "000001" is received as "00001"
When compressing the RUN-LENGTH CODE using the universal code according to the second embodiment, universal codes corresponding to natural numbers of RUN-LENGTHs represented by natural numbers can be generated and transmitted in real time, It is possible to transmit very efficiently in the real-time compressed transmission. Especially, since it is resistant to errors and does not propagate an error, it affects only one universal code or a nearby one universal code.
However, according to the embodiment, the
For example, universal code can be generated by sequentially matching data that increases in accordance with rules such as 1, 2, 3, 4, 5, ... to universal codes, or 1, 2, 4, 8, 16, 32 , ... can be generated by sequentially matching the increasing data to the universal codes, and universal codes corresponding to the symbols included in the original data can be generated according to various preset rules .
Third Embodiment
The universal codes according to the third embodiment are arranged so that n or more (n > = 1) consecutive "1" s from the most significant bit of the corresponding universal code and after n or more (P > = 1) "0"
In generating the universal code corresponding to each symbol included in the original data, the
The symbols defined by the M sequence (M? 1) in the lookup table correspond to the universal codes belonging to the Kth group (K? 1) generated through the calculation and in the ascending order of M The universal code belonging to the Kth group has a length of (K + 1) bits, and M is a code satisfying Equation (1). Where K and X can be found through mathematical numbers 1-5. Therefore, if the universal code defined as M consecutive numbers in the lookup table satisfies the above Equations (1) to (5), it can be seen that this value is the Xth universal code of the Kth group.
Also, as in the first embodiment, K may be obtained through the following sequential algorithm, and X may be obtained through the following equation (5).
-------------------------------------------------- ---------------------------
i)
And then calculates K 'ii) if K 'is an integer (positive integer), then K = K'-1,
If K 'is not an integer (positive integer), then K = f (K'
(Where f (x) is a function that discards fractional parts of x (x? 0).
Or f (x) can be applied to various functions such as a floor function (= floor (x)) that returns an equivalent result.
-------------------------------------------------- ---------------------------
As a result, the K value and the X value can be calculated from the M order through the above Equations (1) to (5), so that the universal code corresponding to the order number M has the highest bit "1" 1) contiguous "1 ", and also a binary number consisting of K- (X-1) contiguous" 0 " In other words,
1 "+ K- (X-1)" 0 "
Is a binary number consisting of
Therefore, if the universal code defined as M consecutive numbers in the lookup table satisfies Equations (2) to (5), it is found that this value is the Xth universal code of the Kth group.
Then, in calculating the original sequence number M from the generated universal code, the sequence number M can be obtained according to Equation (6).
Note that K is the "bit length of the universal code is -1", and the T value is the number of "1s" continuous from the next bit to the least significant bit of the most significant bit of the universal code (see FIG. 8).
For example, when the universal code according to the third embodiment is 1110000, since the bit length is 7 (= 6 + 1), it belongs to the sixth group and the T value is 2. Therefore, the universal code is third in ascending order . Therefore, it can be seen that M = 18 (= (5 * 6) / 2 + 2 + 1), so that it is the 18th universal code.
For example, in the case of a value defined by M = 400, that is, in the order of 400, when calculating according to
In the case of a value defined as M = 400, that is, in order of 400, K and X can be obtained through the sequential algorithm described above. In other words,
i)
Lt; RTI ID = 0.0 > K 'ii) If f (K ') = 28 ≠ K', then K = f (28.79) = 28 and X is obtained according to Equation (5) (X = 0), or f (x) can be applied to a floor function (= floor (x)) that returns an equivalent result.
Therefore, the universal code having the order M = 400 belongs to the 28th group and can be obtained as the 22nd universal code in ascending order. Since the universal code having the order M = 400 is a binary number consisting of the universal code = "1" + (X-1) consecutive "1" + K- (X-1) "0" Is a binary code consisting of 21 (22-1) consecutive "1" s followed by 7 (= 28- (22-1)) consecutive "0s "
As in the first embodiment, the "symbol value defined in M order in the lookup table" may be a value (e.g., 2, 4, 6, 8, 10 ...) (E.g., 1, 100, 3, 5, 7, 15, 23 ...) that are defined according to the sequence number without rules.
The
The universal codes used in the third embodiment include the most significant bit " 1 ", each of which is the most significant bit of each universal code, such as "10 "," 1110 (111/0) ", "1111000 (N > = 1) " 1 "consecutive from the bit, and " 0" Among the universal codes satisfying these conditions, the binary number with the smallest bit length is "10 ", and thereafter, 100, 110, 1000, 1100, 1110, 10000, 11000, 11100, 11110 ... . Table 3 shows the universal codes according to the third embodiment.
As described above, the universal code according to the third embodiment must have "1" at the front, and then increase the number of "1" from the next bit of the most significant bit, and "0" And if there is no more "0" as in "11111", the number of bits is incremented by one, and the result is shifted to "100000".
The universal code according to the third embodiment is also unique. In other words, if there is encoded data produced by combining a plurality of universal codes as described below, the encoded data can be obtained by dividing "0" and "1" each time "01" is encountered and extracting each universal code without a separate identifier You can. For reference, "/" in the following encoded data is for understanding and does not indicate an identifier.
10000000000000000/1100000000000000/11100000000000000 / ... / / 1111111000000000000 / .........
Particularly, when encoded data is generated and output (transmitted) by combining a plurality of universal codes as described above, a transmission error does not propagate, and only a specific cluster unit (specific universal code) affects only the code.
For example, encoded data generated by combining five universal codes according to the third embodiment,
10000 11110000 110000 1111000 1100
, The lower seventh bit is changed to "1 " during transmission
10000 11110000 110000 1111 1 00 1100
, At least the remaining four pieces of universal code information (10000 11110000 110000 1100) can be transmitted completely. The part of the encoded data that is spaced apart is conceptually displayed, and actually there is no other identifier.
On the other hand, even if "0" of the 7th bit is lost as follows, the encoded data 10000 11110000 110000 1111000 1100 will be received as follows.
10000 11110000 110000 111100 1100
Therefore, the remaining four pieces of universal code information are transmitted completely, and even if "1111000" is received as "111100 "
When compressing the RUN-LENGTH CODE using the universal code according to the third embodiment, universal codes corresponding to natural numbers of RUN-LENGTHs represented by natural numbers can be generated and transmitted in real time, It is possible to transmit very efficiently in the real-time compressed transmission. Especially, since it is resistant to errors and does not propagate an error, it affects only one universal code or a nearby one universal code.
However, according to the embodiment, the
For example, universal code can be generated by sequentially matching data that increases in accordance with rules such as 1, 2, 3, 4, 5, ... to universal codes, or 1, 2, 4, 8, 16, 32 , ... can be generated by sequentially matching the increasing data to the universal codes, and universal codes corresponding to the symbols included in the original data can be generated according to various preset rules .
Fourth Embodiment
The universal code according to the fourth embodiment is configured such that n or more (n? 1) consecutive "0" s from the most significant bit of the corresponding universal code and (n≥1) consecutive "0s" (P > = 1) "1"
In generating the universal code corresponding to each symbol included in the original data, the
The symbols defined by the M sequence (M? 1) in the lookup table correspond to the universal codes belonging to the Kth group (K? 1) generated through the calculation and in the ascending order of M The universal code belonging to the Kth group has a length of (K + 1) bits, and M is a code satisfying Equation (1). Where K and X can be found through mathematical numbers 1-5. Therefore, if the universal code defined as M consecutive numbers in the lookup table satisfies the above Equations (1) to (5), it can be seen that this value is the Xth universal code of the Kth group.
Also, as in the first embodiment, K may be obtained through the following sequential algorithm, and X may be obtained through the following equation (5).
-------------------------------------------------- ---------------------------
i)
And then calculates K 'ii) if K 'is an integer (positive integer), then K = K'-1,
If K 'is not an integer (positive integer), then K = f (K'
(Where f (x) is a function that discards fractional parts of x (x? 0).
Or f (x) can be applied to various functions such as a floor function (= floor (x)) that returns an equivalent result.
-------------------------------------------------- ---------------------------
As a result, the K value and the X value can be calculated from the M order through Equations (1) to (5), so that the universal code corresponding to the order number M has K- (X-1) Is a binary number consisting of consecutive "0" s, followed by (X-1) consecutive "1"
Therefore, if the universal code defined as M consecutive numbers in the lookup table satisfies Equations (2) to (5), it is found that this value is the Xth universal code of the Kth group.
Then, in calculating the original sequence number M from the generated universal code, the sequence number M can be obtained according to Equation (6).
Note that K is the "bit length of the universal code is -1", and the T value is the number of "1" continuous from the previous bit to the upper bit of the least significant bit of the universal code (see FIG. 9).
For example, when the universal code according to the fourth embodiment is 0000111, since the bit length is 7 (= 6 + 1), it belongs to the sixth group, and since T = 2, it becomes the third universal code in ascending order. Therefore, it can be seen that M = 18 (= (5 * 6) / 2 + 2 + 1), so that it is the 18th universal code.
For example, in the case of a value defined by M = 400, that is, in the order of 400, when calculating according to
In the case of a value defined as M = 400, that is, in order of 400, K and X can be obtained through the sequential algorithm described above. In other words,
i)
Lt; RTI ID = 0.0 > K 'ii) If f (K ') = 28 ≠ K', then K = f (28.79) = 28 and X is obtained according to Equation (5) (X = 0), or f (x) can be applied to a floor function (= floor (x)) that returns an equivalent result.
Therefore, the universal code having the order M = 400 belongs to the 28th group and can be obtained as the 22nd universal code in ascending order. Since it is a binary number consisting of K- (X-1) "0" + (X-1) consecutive "1" and least significant bit "1" from the universal code having the order M as the most significant bit, The universal code consists of 7 consecutive "0s" (= 28- (22-1)) followed by 21 consecutive "1s" (22-1), followed by a binary number Code.
As in the first embodiment, the "symbol value defined in M order in the lookup table" may be a value (e.g., 2, 4, 6, 8, 10 ...) (E.g., 1, 100, 3, 5, 7, 15, 23 ...) that are defined according to the sequence number without rules.
The
The universal code used in the fourth embodiment includes the least significant bit "1 ", and each of the universal codes of the respective universal codes, such as" 01 ", "0001 (000/1) "," 0000111 (N? 1) "0" consecutive from the bit, and " 1 " A binary number having the smallest bit length among the universal codes satisfying these conditions becomes "01 ", and thereafter, as in the case of 01, 001, 011, 0001, 0011, 0111, 00001, 00011, 00111, 01111, You can list them sequentially. Table 4 shows the universal codes according to the fourth embodiment.
As described above, the universal code according to the fourth embodiment must always have "1" in the least significant bit, and then increase the number of "1" from the previous bit of the least significant bit. And when there is no more "0" as in "11111", the number of bit digits is incremented by one and "000001" is passed.
The universal code according to the fourth embodiment is also unique. That is, if there is encoded data produced by combining a plurality of universal codes as described below, the encoded data is obtained by dividing "1" and "0" each time a "10" is encountered and extracting each universal code without a separate identifier You can. For reference, "/" in the following encoded data is for understanding and does not indicate an identifier.
00000000000000001/0000000000000011/00000000000000111 / ........... / 0000000000001111111 / .........
Particularly, when encoded data is generated and output (transmitted) by combining a plurality of universal codes as described above, a transmission error does not propagate, and only a specific cluster unit (specific universal code) affects only the code.
For example, encoded data generated by combining five universal codes according to the fourth embodiment,
0001 00001111 000011 0000111 0011
, The lower seventh bit is changed to "0" during transmission
0001 00001111 000011 0000 0 11 0011
, At least the remaining four pieces of universal code information (0001 00001111 000011 0011) can be transmitted completely. The part of the encoded data that is spaced apart is conceptually displayed, and actually there is no other identifier.
On the other hand, even if "1" of the 7th bit is lost as follows, the encoded data, 0001 00001111 000011 0000111 0011, will be received as follows.
0001 00001111 000011 000011 0011
Therefore, the remaining four pieces of universal code information are transmitted completely, and even if "0000111" is received as "000011"
When compressing the RUN-LENGTH CODE using the universal code according to the fourth embodiment, universal codes corresponding to the natural numbers of RUN-LENGTH represented by natural numbers can be generated and transmitted in real time, It is possible to transmit very efficiently in the real-time compressed transmission. Especially, since it is resistant to errors and does not propagate an error, it affects only one universal code or a nearby one universal code.
However, according to the embodiment, the
For example, universal code can be generated by sequentially matching data that increases in accordance with rules such as 1, 2, 3, 4, 5, ... to universal codes, or 1, 2, 4, 8, 16, 32 , ... can be generated by sequentially matching the incremented data to the universal code, and the universal code corresponding to each symbol included in the original data can be generated according to various preset rules .
-------------------------------------------------- ---------------------------
Next, the
Referring to FIG. 3, when the encoded data is output through the above process, the
Subsequently, the decoding unit 302 divides the encoded data into universal code units (S302). As described above, the encoded data generated according to the first embodiment is preceded by "10", the encoded data generated according to the second embodiment is after "01", the encoded data generated according to the third embodiment is "0" And "1", a plurality of universal codes can be obtained by dividing the code between "1" and "0" in the encoded data generated according to the fourth embodiment.
Next, the
As described above, according to the embodiment, data can be encoded and decoded using a universal code predetermined in advance, thereby enabling more secure, reliable, and enhanced user authentication. Also, The security can be enhanced.
While the invention has been shown and described in detail in the foregoing description, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art, Of the right.
100: Data encoding device
110:
120: a first memory unit
130:
200: Data decryption device
210:
220:
230: second memory section
Claims (56)
The encoding unit generating a plurality of universal codes corresponding to the symbols included in the original data; And
Wherein the encoding unit generates the encoded data by combining the plurality of universal codes,
Wherein the universal code includes at least one of "1" of the most significant bit of the universal code, "0" continuous to "1" of the most significant bit in the lower bit direction, (P > 0) "0" disposed between "0" continuous to "1" of the most significant bit and consecutive "1" Wherein the data encoding method comprises the steps of:
In the step of generating the plurality of universal codes,
Wherein the encoding unit generates the plurality of universal codes by referring to a lookup table defining a correspondence between symbols defined in a specific order and universal codes.
In the step of generating the plurality of universal codes,
Symbols defined as M consecutive numbers (M? 1) in the lookup table are defined to correspond to universal codes belonging to the Kth group (K? 1) and X (X? 1)
A universal code belonging to the Kth group has a length of (K + 1) bits,
The data encoding method comprising the steps of:
The universal code corresponding to the sequence number M includes K- (X-1) consecutive "0" s in the lower bit direction, followed by (X-1) consecutive " 1 ".< / RTI >
In the step of generating the plurality of universal codes,
Wherein the encoding unit is configured to sequentially generate symbols defined in accordance with a predetermined rule starting from a specific initial value and to correspond to universal codes obtained through an operation so that each symbol included in the original data is sequentially defined (L > = 1) universal codes are generated in ascending order for each symbol included in the original data, when the Lth (L > = 1) defined symbol among the symbols.
An input step of inputting encoded data by a decoding unit;
Dividing the encoded data by a universal code unit; And
And the decoding unit decodes each of the universal codes to generate original data.
And an output unit for outputting the encoded data,
Wherein the universal code includes at least one of "1" of the most significant bit of the universal code, "0" continuous to "1" of the most significant bit in the lower bit direction, (P > 0) "0" disposed between "0" continuous to "1" of the most significant bit and consecutive "1" And outputs the encoded data.
Further comprising a memory section for storing a lookup table defining a correspondence between symbols defined in a specific sequence number and universal codes,
Wherein when generating the plurality of universal codes, the encoding unit generates the plurality of universal codes by referring to the lookup table.
Symbols defined by the M sequence (M? 1) in the lookup table belong to the K-th group (K? 1), and are defined to correspond to X (X? 1) -th universal codes in ascending order,
A universal code belonging to the Kth group has a length of (K + 1) bits,
And outputs the encoded data.
The universal code corresponding to the sequence number M includes K- (X-1) consecutive "0" s in the lower bit direction, followed by (X-1) consecutive " 1 ".< / RTI >
When generating the plurality of universal codes,
Wherein the encoding unit is configured to sequentially generate symbols defined in accordance with a predetermined rule starting from a specific initial value and to correspond to universal codes obtained through an operation so that each symbol included in the original data is sequentially defined And generates an Lth (L? 1) universal code in ascending order for each symbol included in the original data, when the symbol is Lth (L? 1) defined symbols among the symbols.
An input unit for receiving encoded data; And
And a decoding unit which divides the encoded data into units of universal codes and decodes each of the universal codes to generate original data.
The encoding unit generating a plurality of universal codes corresponding to the symbols included in the original data; And
Wherein the encoding unit generates the encoded data by combining the plurality of universal codes,
The universal code includes at least one of "1" of the least significant bit of the universal code, "0" continuous to "1" of the least significant bit in the upper bit direction, (P? 0) of "0" arranged between "0" continuous to "1" of the least significant bit and at least n (n≥0) consecutive "1" Wherein the data encoding method comprises the steps of:
In the step of generating the plurality of universal codes,
Wherein the encoding unit generates the plurality of universal codes by referring to a lookup table defining a correspondence between symbols defined in a specific order and universal codes.
In the step of generating the plurality of universal codes,
Symbols defined by the M sequence (M? 1) in the lookup table belong to the K-th group (K? 1), and are defined to correspond to X (X? 1) -th universal codes in ascending order,
A universal code belonging to the Kth group has a length of (K + 1) bits,
The data encoding method comprising the steps of:
The universal code corresponding to the above-mentioned sequence number M includes K- (X-1) consecutive "0" s in the upper bit direction following the least significant bit "1 ", and (X- 1 ".< / RTI >
In the step of generating the plurality of universal codes,
Wherein the encoding unit is configured to sequentially generate symbols defined in accordance with a predetermined rule starting from a specific initial value and to correspond to universal codes obtained through an operation so that each symbol included in the original data is sequentially defined (L > = 1) universal codes are generated in ascending order for each symbol included in the original data, when the Lth (L > = 1) defined symbol among the symbols.
An input step of inputting encoded data by a decoding unit;
Dividing the encoded data by a universal code unit; And
And the decoding unit decodes each of the universal codes to generate original data.
And an output unit for outputting the encoded data,
The universal code includes at least one of "1" of the least significant bit of the universal code, "0" continuous to "1" of the least significant bit in the upper bit direction, (P? 0) of "0" arranged between "0" continuous to "1" of the least significant bit and at least n (n≥0) consecutive "1" And outputs the encoded data.
Further comprising a memory section for storing a lookup table defining a correspondence between symbols defined in a specific sequence number and universal codes,
Wherein when generating the plurality of universal codes, the encoding unit generates the plurality of universal codes by referring to the lookup table.
Symbols defined by the M sequence (M? 1) in the lookup table belong to the K-th group (K? 1), and are defined to correspond to X (X? 1) -th universal codes in ascending order,
A universal code belonging to the Kth group has a length of (K + 1) bits,
And outputs the encoded data.
The universal code corresponding to the above-mentioned sequence number M includes K- (X-1) consecutive "0" s in the upper bit direction following the least significant bit "1 ", and (X- 1 ".< / RTI >
When generating the plurality of universal codes,
Wherein the encoding unit is configured to sequentially generate symbols defined in accordance with a predetermined rule starting from a specific initial value and to correspond to universal codes obtained through an operation so that each symbol included in the original data is sequentially defined And generates an Lth (L? 1) universal code in ascending order for each symbol included in the original data, when the symbol is Lth (L? 1) defined symbols among the symbols.
An input unit for receiving encoded data; And
And a decoding unit which divides the encoded data into units of universal codes and decodes each of the universal codes to generate original data.
The encoding unit generating a plurality of universal codes corresponding to the symbols included in the original data; And
Wherein the encoding unit generates the encoded data by combining the plurality of universal codes,
(N > = 1) consecutive "1" s from the most significant bit of the corresponding universal code, and at least p (p > = 1) consecutive "0" s.
In the step of generating the plurality of universal codes,
Wherein the encoding unit generates the plurality of universal codes by referring to a lookup table defining a correspondence between symbols defined in a specific order and universal codes.
In the step of generating the plurality of universal codes,
Symbols defined by the M sequence (M? 1) in the lookup table belong to the K-th group (K? 1), and are defined to correspond to X (X? 1) -th universal codes in ascending order,
A universal code belonging to the Kth group has a length of (K + 1) bits,
The data encoding method comprising the steps of:
The universal code corresponding to the above-mentioned number M is composed of (X-1) consecutive "1" s in the lower bit direction, followed by K- (X-1) consecutive "1" 0 ".< / RTI >
In the step of generating the plurality of universal codes,
Wherein the encoding unit is configured to sequentially generate symbols defined in accordance with a predetermined rule starting from a specific initial value and to correspond to universal codes obtained through an operation so that each symbol included in the original data is sequentially defined (L > = 1) universal codes are generated in ascending order for each symbol included in the original data, when the Lth (L > = 1) defined symbol among the symbols.
An input step of inputting encoded data by a decoding unit;
Dividing the encoded data by a universal code unit; And
And the decoding unit decodes each of the universal codes to generate original data.
And an output unit for outputting the encoded data,
(N > = 1) consecutive "1" s from the most significant bit of the corresponding universal code, and at least p (p > = 1) consecutive "0" s.
Further comprising a memory section for storing a lookup table defining a correspondence between symbols defined in a specific sequence number and universal codes,
Wherein when generating the plurality of universal codes, the encoding unit generates the plurality of universal codes by referring to the lookup table.
Symbols defined by the M sequence (M? 1) in the lookup table belong to the K-th group (K? 1), and are defined to correspond to X (X? 1) -th universal codes in ascending order,
A universal code belonging to the Kth group has a length of (K + 1) bits,
And outputs the encoded data.
The universal code corresponding to the above-mentioned number M is composed of (X-1) consecutive "1" s in the lower bit direction, followed by K- (X-1) consecutive "1" 0 ".< / RTI >
When generating the plurality of universal codes,
Wherein the encoding unit is configured to sequentially generate symbols defined in accordance with a predetermined rule starting from a specific initial value and to correspond to universal codes obtained through an operation so that each symbol included in the original data is sequentially defined And generates an Lth (L? 1) universal code in ascending order for each symbol included in the original data, when the symbol is Lth (L? 1) defined symbols among the symbols.
An input unit for receiving encoded data; And
And a decoding unit which divides the encoded data into units of universal codes and decodes each of the universal codes to generate original data.
The encoding unit generating a plurality of universal codes corresponding to the symbols included in the original data; And
Wherein the encoding unit generates the encoded data by combining the plurality of universal codes,
The universal code includes at least p (n > = 1) consecutive "0" s from the most significant bit of the corresponding universal code, and at least p (p > = 1) consecutive "1" s.
In the step of generating the plurality of universal codes,
Wherein the encoding unit generates the plurality of universal codes by referring to a lookup table defining a correspondence between symbols defined in a specific order and universal codes.
In the step of generating the plurality of universal codes,
Symbols defined by the M sequence (M? 1) in the lookup table belong to the K-th group (K? 1), and are defined to correspond to X (X? 1) -th universal codes in ascending order,
A universal code belonging to the Kth group has a length of (K + 1) bits,
The data encoding method comprising the steps of:
The universal code corresponding to the sequence number M is composed of K- (X-1) consecutive "0" s, followed by (X-1) consecutive "1" s and least significant bits "1" Wherein the encoding is a binary number.
In the step of generating the plurality of universal codes,
Wherein the encoding unit is configured to sequentially generate symbols defined in accordance with a predetermined rule starting from a specific initial value and to correspond to universal codes obtained through an operation so that each symbol included in the original data is sequentially defined (L > = 1) universal codes are generated in ascending order for each symbol included in the original data, when the Lth (L > = 1) defined symbol among the symbols.
An input step of inputting encoded data by a decoding unit;
Dividing the encoded data by a universal code unit; And
And the decoding unit decodes each of the universal codes to generate original data.
And an output unit for outputting the encoded data,
The universal code includes at least p (n > = 1) consecutive "0" s from the most significant bit of the corresponding universal code, and at least p (p > = 1) consecutive "1" s.
Further comprising a memory section for storing a lookup table defining a correspondence between symbols defined in a specific sequence number and universal codes,
Wherein when generating the plurality of universal codes, the encoding unit generates the plurality of universal codes by referring to the lookup table.
Symbols defined by the M sequence (M? 1) in the lookup table belong to the K-th group (K? 1), and are defined to correspond to X (X? 1) -th universal codes in ascending order,
A universal code belonging to the Kth group has a length of (K + 1) bits,
And outputs the encoded data.
The universal code corresponding to the sequence number M is composed of K- (X-1) consecutive "0" s, followed by (X-1) consecutive "1" s and least significant bits "1" And a binary number.
When generating the plurality of universal codes,
Wherein the encoding unit is configured to sequentially generate symbols defined in accordance with a predetermined rule starting from a specific initial value and to correspond to universal codes obtained through an operation so that each symbol included in the original data is sequentially defined And generates an Lth (L? 1) universal code in ascending order for each symbol included in the original data, when the symbol is Lth (L? 1) defined symbols among the symbols.
An input unit for receiving encoded data; And
And a decoding unit which divides the encoded data into units of universal codes and decodes each of the universal codes to generate original data.
In the step of generating the plurality of universal codes,
The symbol defined as M sequence (M? 1) in the lookup table corresponds to a universal code belonging to the Kth group (K? 1) and X (X? 1) th group in ascending order,
Wherein the K value and the X value are calculated as follows.
i) And then calculates K '
ii) if K 'is an integer (positive integer), then K = K'-1,
If K 'is not an integer (positive integer), then K = f (K'
(Where f (x) is a function that discards the fractional part of x (x≥0), or a function that returns an equivalent result)
iii) X is calculated as follows.
The symbol defined as M sequence (M? 1) in the lookup table corresponds to a universal code belonging to the Kth group (K? 1) and X (X? 1) th group in ascending order,
Wherein the K value and the X value are calculated as follows.
i) And then calculates K '
ii) if K 'is an integer (positive integer), then K = K'-1,
If K 'is not an integer (positive integer), then K = f (K'
(Where f (x) is a function that discards the fractional part of x (x≥0), or a function that returns an equivalent result)
iii) X is calculated as follows.
In the step of generating the plurality of universal codes,
The symbol defined as M sequence (M? 1) in the lookup table corresponds to a universal code belonging to the Kth group (K? 1) and X (X? 1) th group in ascending order,
Wherein the K value and the X value are calculated as follows.
i) And then calculates K '
ii) if K 'is an integer (positive integer), then K = K'-1,
If K 'is not an integer (positive integer), then K = f (K'
(Where f (x) is a function that discards the fractional part of x (x≥0), or a function that returns an equivalent result)
iii) X is calculated as follows.
The symbol defined as M sequence (M? 1) in the lookup table corresponds to a universal code belonging to the Kth group (K? 1) and X (X? 1) th group in ascending order,
Wherein the K value and the X value are calculated as follows.
i) And then calculates K '
ii) if K 'is an integer (positive integer), then K = K'-1,
If K 'is not an integer (positive integer), then K = f (K'
(Where f (x) is a function that discards the fractional part of x (x≥0), or a function that returns an equivalent result)
iii) X is calculated as follows.
In the step of generating the plurality of universal codes,
The symbol defined as M sequence (M? 1) in the lookup table corresponds to a universal code belonging to the Kth group (K? 1) and X (X? 1) th group in ascending order,
Wherein the K value and the X value are calculated as follows.
i) And then calculates K '
ii) if K 'is an integer (positive integer), then K = K'-1,
If K 'is not an integer (positive integer), then K = f (K'
(Where f (x) is a function that discards the fractional part of x (x≥0), or a function that returns an equivalent result)
iii) X is calculated as follows.
The symbol defined as M sequence (M? 1) in the lookup table corresponds to a universal code belonging to the Kth group (K? 1) and X (X? 1) th group in ascending order,
Wherein the K value and the X value are calculated as follows.
i) And then calculates K '
ii) if K 'is an integer (positive integer), then K = K'-1,
If K 'is not an integer (positive integer), then K = f (K'
(Where f (x) is a function that discards the fractional part of x (x≥0), or a function that returns an equivalent result)
iii) X is calculated as follows.
In the step of generating the plurality of universal codes,
The symbol defined as M sequence (M? 1) in the lookup table corresponds to a universal code belonging to the Kth group (K? 1) and X (X? 1) th group in ascending order,
Wherein the K value and the X value are calculated as follows.
i) And then calculates K '
ii) if K 'is an integer (positive integer), then K = K'-1,
If K 'is not an integer (positive integer), then K = f (K'
(Where f (x) is a function that discards the fractional part of x (x≥0), or a function that returns an equivalent result)
iii) X is calculated as follows.
The symbol defined as M sequence (M? 1) in the lookup table corresponds to a universal code belonging to the Kth group (K? 1) and X (X? 1) th group in ascending order,
Wherein the K value and the X value are calculated as follows.
i) And then calculates K '
ii) if K 'is an integer (positive integer), then K = K'-1,
If K 'is not an integer (positive integer), then K = f (K'
(Where f (x) is a function that discards the fractional part of x (x≥0), or a function that returns an equivalent result)
iii) X is calculated as follows.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2016/004126 WO2016171472A1 (en) | 2015-04-23 | 2016-04-20 | Method and apparatus for encoding and decoding data |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150056903 | 2015-04-23 | ||
KR20150056903 | 2015-04-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160126855A KR20160126855A (en) | 2016-11-02 |
KR101760070B1 true KR101760070B1 (en) | 2017-07-21 |
Family
ID=57518527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160025868A KR101760070B1 (en) | 2015-04-23 | 2016-03-03 | Data encoding and decoding method and apparatus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101760070B1 (en) |
-
2016
- 2016-03-03 KR KR1020160025868A patent/KR101760070B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20160126855A (en) | 2016-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102060871B1 (en) | Palette Mode Context Coding and Binarization in Video Coding | |
KR101171697B1 (en) | System and method for compressing a stream of integer-valued data | |
KR101610609B1 (en) | Data encoder, data decoder and method | |
JP2017511997A (en) | Data source encoding and decoding apparatus and method | |
JP2016512004A5 (en) | ||
KR102393743B1 (en) | Encoder, decoder and method using mode symbols | |
KR100674937B1 (en) | Context adaptive binary arithmetic de-coding device | |
KR20150126858A (en) | Entropy modifier and method | |
KR101760070B1 (en) | Data encoding and decoding method and apparatus | |
KR101549740B1 (en) | Binary data compression and decompression method and apparatus | |
US8854233B2 (en) | Method and system for de-binarization | |
KR101734515B1 (en) | Data encoding and decoding method and apparatus | |
KR101652735B1 (en) | Binary data compression and restoration method and apparatus | |
KR101632116B1 (en) | Binary data compression and restoration method and apparatus | |
KR101573983B1 (en) | Method of data compressing, method of data recovering, and the apparatuses thereof | |
KR101603866B1 (en) | Method of data compressing, method of data recovering, and the apparatuses thereof | |
JPH0629861A (en) | Data compression method | |
KR101676420B1 (en) | Data compression and restoration method and apparatus | |
KR101632115B1 (en) | Binary data compression and restoration method and apparatus | |
KR20210012580A (en) | Binary data compression method thereof | |
KR20170047484A (en) | Formularized error-proof real time universal code encoding and decoding method and appratus thereof | |
KR20160117883A (en) | Mosaic cluster transfer method by distinguishing standard length variance of mosaic clusters | |
KR101578608B1 (en) | Apparatus for data encoding for generating universal code and apparatus for data decoding | |
KR20170055627A (en) | Repetitive formularized error-proof real time universal code encoding and decoding method and appratus thereof | |
TW201342813A (en) | Data encoding and decoding methods and devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |