WO2019034972A1 - Elements of data compression - Google Patents

Elements of data compression Download PDF

Info

Publication number
WO2019034972A1
WO2019034972A1 PCT/IB2018/056001 IB2018056001W WO2019034972A1 WO 2019034972 A1 WO2019034972 A1 WO 2019034972A1 IB 2018056001 W IB2018056001 W IB 2018056001W WO 2019034972 A1 WO2019034972 A1 WO 2019034972A1
Authority
WO
WIPO (PCT)
Prior art keywords
compression
reduced
bits
digit
numbers
Prior art date
Application number
PCT/IB2018/056001
Other languages
French (fr)
Inventor
Ranganath Gururaj KULKARNI
Original Assignee
Kulkarni Ranganath Gururaj
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 Kulkarni Ranganath Gururaj filed Critical Kulkarni Ranganath Gururaj
Publication of WO2019034972A1 publication Critical patent/WO2019034972A1/en

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/55Compression Theory, e.g. compression of random number, repeated compression

Definitions

  • the field of invention generally relates to the elements required for the development of data compression software.
  • the elements are the number compression technique and the bit sequence technique.
  • the pixel and audio signal has a number.
  • data compression we can reduce statistical redundancy by using methods such as coding, pattern recognition and linear prediction.
  • data compression techniques such as Huffman coding, arithmetic coding, run- length encoding and Shannon coding.
  • the maximum compression ratio is 2: 1.
  • the compression is high and efficient, even for numbers greater than 4 digits. It is possible to compress random data. Therefore, both compression techniques can be used to compress text, images, audio and video data, where there is no statistical redundancy, pattern or linear prediction.
  • the advantage of using the bit sequence technique over the number compression technique is that the compression is high and efficient, because in the number compression technique, 83 unique combinations exist for the compression of three-digit numbers, whereas in the bit sequence technique, only three unique combinations are required for the compression of a three-digit number. Images, audio and video consume considerable data. Therefore, the bit sequence technique is more useful.
  • Part I describes the number compression technique.
  • Part II describes the bit sequence technique.
  • Part III describes the advantages of using the bit sequence technique over the number compression technique. Here, we see that it is possible to compress a three-digit number using the bit sequence technique.
  • the bit sequence technique is simple and efficient.
  • any three-digit number greater than 255 can be reduced to either two or three numbers that can be packed into a single byte in a variable bit pattern.
  • the largest 8-bit number is 255.
  • the three-digit numbers greater than 255 have two bytes.
  • There is no compression if we use the number compression technique for numbers less than or equal to 255. Therefore, for numbers less than 255, we use the ordinary representation of the binary form, i.e., constant bit pattern.
  • To understand the number compression technique we consider numbers less than 255. From calculations, it is found that the compression is high for two- and three-digit numbers compared to the compression of the whole number.
  • N This natural number N can be expressed as the sum of n natural numbers with the remainder r.
  • n (-l+sqrt(l+8N))/2.
  • N (n, r).
  • N (n, r).
  • N (n, r). Change n to n-r . ⁇ . (n-r, r). Divide this pair by 4, yielding ((n-r)/4, r/4). If there is a fractional part, we always get 0.5. Here, we discard the fractional part, and consider only the integer part, and assign the minus sign to the integer part. If the divided value is 0.5, then the integer part is 0. Therefore, we write 0.5 as 0.
  • the method for reducing the value of N for this case is represented by (0)((n-r)/4, r/4).
  • the single number 0 on the left side of the reduced pair indicates that n and r are even, and the corresponding reduction method.
  • N (n, r). Change n to n-1 and r to r-1 . ⁇ . (n-1, r-1). Change n-1 to (n-l-(r-l)) . ⁇ . (n-r, r-1). Divide the pair by 4 . ⁇ . ((n-r)/4, (r-l)/4).
  • the method of reducing the value of N for this case is represented by (l)((n-r)/4, (r-l)/4).
  • the single number 1 on the left side of the reduced pair indicates that the n and r are odd, and the corresponding reduction method.
  • n is even, and r is odd:
  • N (n, r). Change n to n-r . ⁇ . (n-r, r). Change n-r to n-r-1 and r to r-1 . ⁇ . (n-r-1, r-1). Divide the pair by 4 . ⁇ . ((n-r-l)/4, (r-l)/4).
  • the method of reducing the value of N for this case is represented by ((n-r-l)/4, (r-l)/4)(0).
  • the single number 0 on the right side of the reduced pair indicates that n is even, and r is odd, and the corresponding reduction method.
  • n is odd and r is even:
  • N (n, r). Change n to n-1 . ⁇ . (n-1, r). Change n-1 to n-l-r . ⁇ . (n-l-r, r). Divide the pair by 4 . ⁇ . ((n-l-r)/4, r/4).
  • the method of reducing the value of N for this case is represented by ((n-r-l)/4, r/4)(l).
  • the single number 1 on the right side of the reduced pair indicates that n is odd and r is even, and the corresponding reduction method.
  • N (n, 0).
  • N (n, 0).
  • ii) When r 0 and n is odd:
  • N (n, 0).
  • N (n, 0).
  • N (n, 1).
  • N (n-l)/4)(l).
  • N (n, n).
  • n n
  • r n
  • N (n, n).
  • n (n, n).
  • N (n, n-1).
  • N (n, n-1).
  • N (n, n-1).
  • N (n, n-1).
  • Example 1 When n and r are even.
  • N 142.
  • the fractional part is 0.5
  • This compression operation is represented as (0)(-2, -1).
  • Example 2 When n and r are odd.
  • N 127.
  • N (15, 7).
  • This compression operation is represented as (1)(2, -1).
  • the total number of bits of all elements of the number is 5. Therefore, the compression is 28.4%.
  • Example 3 When n is even and r is odd.
  • N 303.
  • N (24, 3).
  • This compression operation is represented as (5, 0)(0).
  • the total number of bits of all elements of the number is 5. Therefore, the compression is 44.44%.
  • Example 4 When n is odd and r is even.
  • N 723.
  • N (37, 20). Change 37 to 37-1 . ⁇ . (36, 20). Change 36 to 36-20 ⁇ " ⁇ (16, 20). Divide the pair by 4 yielding (4, 5).
  • This compression operation is represented as (4, 5)(1).
  • the total number of bits of all elements of the number is 6. Therefore, the compression is 40%.
  • the total number of bits of all elements of the number is 5. Therefore, the compression is 44.44%.
  • the total number of bits of all elements of the number is 5. Therefore, the compression is 37.5%.
  • N 780.
  • N (39, 39).
  • This compression operation is represented as (1, -9, 1).
  • the total number of bits of all elements of the number is 7. Therefore, the compression is 30%.
  • N 593.
  • N (33, 32). Change 33 to 33-1 and divide by 4 yielding 8. This compression operation is represented as (0, 8, 1).
  • the total number of bits of all elements of the number is 6. Therefore, the compression is 40%.
  • the total number of bits of all elements of the number is 4. Therefore, the compression is 55.55%.
  • the total number of bits of all elements of the number is 3. Therefore, the compression is 56.8%.
  • Example 10 Compression of a number greater than 3 digits.
  • N (24622, 8374). Both n and r are even.
  • the reduced form of the compression operation is represented as (0)(4062, -2093).
  • the number of bits for N is 29.
  • the total number of bits for all elements of the reduced number is 26. Therefore, the compression is 10.34%. This indicates that the compression for a 3 digit number is high.
  • a three-digit number greater than 255 has two bytes.
  • a three-digit number greater than 255 can be compressed into one byte using the number compression technique where the reduced number is packed into a single byte in a variable bit pattern. Therefore, practically, the compression of three- digit numbers is 50%.
  • N (22, 3).
  • -8 the negative numbers such as -1, -3, - 5, and -8 as 01, 011, 0101 and 01000, respectively.
  • 0 is put on the most significant bit.
  • the reduced form is (l)(-5). We can write the reduced numbers in a variable bit pattern as they appear, 1 0101 000.
  • the first bit, 1, of the variable bit pattern indicates the value of the compression operation
  • the second number is -5
  • the last group of bits is always 0.
  • the bits in the reduced number have three possibilities. They may be 3, 4 or 5 bits. Generally, we can express the reduced number in a single byte as i) for 3 bits: 1 3 0000; ii) for 4 bits: 1 4 000; iii) For 5 bits: 1 5 00.
  • the value of the compression operation is 1.
  • the value of the decimal number in the above variable bit pattern indicates the bits in the reduced number.
  • the reduced form is (-5)(1). We can express the reduced numbers in a variable bit pattern as they appear, 0101 1 000.
  • the first group of bits indicates the reduced number
  • the second group bit 1 indicates the value of the compression operation
  • the last group of bits is always 0.
  • the bits in the reduced numbers have three possibilities. It may be 3, 4 or 5 bits.
  • the value of the compression operation is 1.
  • N (n, n):
  • the reduced form is (0, -5, 0).
  • the second group of bits indicates the reduced number
  • the first and third group bit indicates the value of compression operation
  • the last group of bits is always 1.
  • the bits in the reduced number have three possibilities. They may be 3, 4 or 5 bits. Generally, we can express the reduced number in a single byte as i) for 3 bits: 0 3 0 111 ; ii) for 4 bits: 0 4 0 11 ; iii) for 5 bits: 0 5 0 1.
  • the value of the decimal number in the above variable bit pattern indicates the bits in the reduced number.
  • the value of the compression operation is 0.
  • the reduced form is (1, -5, 0).
  • the second group of bits indicates the reduced number
  • the first and third group bit indicates the value of compression operation
  • the last group of bits is always 1.
  • the bits of the reduced number has three possibilities. They may be 3, 4 or 5 bits.
  • the value of the decimal number in the above variable bit pattern indicates the bits in the reduced number.
  • the value of the compression operation is 1 and 0.
  • the first group of bits, 1, indicates the compression operation
  • the second group of bits indicates the reduced number
  • the last group of bits does nothing.
  • the last bit of the last group of bits is always 1, and the others are 0.
  • the bits for the reduced number have three possibilities. They may be 2, 3 or 4 bits. Generally, we can express the reduced number in a single byte as, i) for 2 bits: 1 2 00001; ii) for 3 bits: 1 3 0001; iii) for 4 bits: 1 4 001.
  • decimal number in the above variable bit pattern indicates the bits in the reduced number.
  • n' in the reduced pair ( ⁇ ', r') is always not equal to 0, i.e., n' ⁇ 0. Therefore, the reduced pair (0, r') does not exist. 1) For the reduced pair (0)( ⁇ ', r'): i) For 4 bits in the reduced pair:
  • the possible combination of bits for the two numbers of the reduced pair is 13, 31, 22.
  • the fourth group of bits 000 does nothing.
  • the two decimal numbers indicate the number of bits for the two numbers of the reduced pair.
  • the possible combination for the bits of two numbers for the reduced pair is 23, 32, 14, 41.
  • the reduced pair For the reduced pair (0)( ⁇ ', r'), we can express the reduced pair in the variable bit pattern as they appear, as 0 23 00, 0 32 00, 0 14 00, 0 41 00. There are four groups of bits. Here, the fourth group of bits 00 does nothing. The two decimal numbers indicate that the number of bits for the two numbers of the reduced pair. iii) For 6 bits in the reduced pair:
  • the possible combination of bits for the two numbers of the reduced pair is 51, 15, 42, 24, 33. We can express this in a single byte in the variable bit pattern as 0 51 0, 0 15 0, 0 42 0, 0 24 0, 0 33 0. iv)
  • the possible combination of bits for the two numbers of the reduced pair is 34, 43, 25, 52. We can express this in a single byte in the variable bit pattern as 0 34, 0 43, 0 25, 0 52. This has three groups of bits.
  • the possible combination of bits for the two numbers of the reduced pair is 23, 32, 14, 41.
  • bit pattern 14 it looks like (1, 4)(0) or (1)(4, 0). To avoid confusing the bits in the fourth group, the pattern is written as 01 for identification.
  • iii) For 6 bits in the reduced pair: The possible combination of bits for the two numbers of the reduced pair is 51, 15, 42, 24, 33. We can express this in a single byte in the variable bit pattern as 51 0 0, 15 0 0, 42 0 0, 24 0 0, 33 0 0.
  • the possible combination of bits for the two numbers of the reduced pair is 23, 32, 14, 41.
  • bit pattern 14 For bit pattern 14 1, it looks like (1, 4)(1) or (1)(4, 1). To avoid confusion, the bits in the fourth group are written as 01 for identification.
  • the possible combination of bits for the two numbers of the reduced pair is 13, 31, 22.
  • bit pattern 1 For bit pattern 1 31, it looks like (1)(3, 1) or (1, 3)(1). To avoid confusing the bits in the fourth group, the bit pattern is written as 010 for identification. ii) For 5 bits in the reduced pair:
  • bits for the two numbers of the reduced pair is 23, 32, 14, 41.
  • bit pattern 1 41 it looks like (1)(4, 1) or (1, 4)(1).
  • the bits in the fourth group is written as 10 for identification.
  • the possible combination of bits for the two numbers of the reduced pair is 51, 15, 42, 24, 33.
  • the reduced pair 51 has two values depending on the value of a single bit of the second digit.
  • the two values are 50 and 51. Therefore, the two-bit patterns are 1 50 0 and 1 51 0.
  • the bit pattern 1 50 0 is already present in the reduced pair ( ⁇ ', r')(0), and the bit pattern 1 51 0 is already present in the reduced pair ( ⁇ ', r')(l). Therefore, for this reduced pair, the two-bit patterns are expressed in reverse order. 1 50 0 is written as 0 05 1 and 1 51 0 is written as 0 15 1. iv) For 7 bits in the reduced pair:
  • the possible reduced pairs are (-4, -4)(1). (-4, -5)(1), (-5, -4)(1).
  • the largest 8-bit number is 255. Any 4 digit number is reduced to a 3 digit number. If this 3 digit number is greater than or equal to 255, then the number is further reduced to less than 255.
  • the final reduced number is expressed in a unique variable bit pattern that represents the last digit of the 4 digit number, and the multiplication factor of 255.
  • the multiplication factor of 255 may be 1, 2 or 3.
  • the single digit varies from 0 to 9. Therefore, there are 30 unique combinations that exist. If the reduced number does not contain the multiplication factor of 255, then that reduced number can be expressed in 10 unique combinations or variable bit patterns depending on the value of the last digit of the 4 digit number.
  • the reduced numbers are packed in a single byte. Additionally, four special cases exist. Therefore, there are 4 additional unique combinations that exist. In total, there are 44 unique combinations that exist for the reduced 4 digit number.
  • both the bit pattern and the values of the bits are important.
  • the bit groups for the reduced 4 digit number expressed in variable bit patterns may be 2, 5, 6, 7 or 8.
  • the number of bit groups in the variable bit patterns is either 3 or 4.
  • the largest reducible 4 digit number is 9999. Any 4 digit number requires 2 bytes.
  • the reduced number requires 1 byte. Therefore, the compression in the bit sequence technique is 50%.
  • the compression of the 3 digit number is 50%. To reduce any number greater than 3 digits, we apply both the number compression technique and the bit sequence technique. Therefore, the compression is high and efficient.
  • the smallest 4 digit number is 1000.
  • the single digit number a varies from 1 to 9. i.e., a ⁇ 0.
  • n ⁇ 255 The last digit d of the 4 digit number N varies from 0 to 9. Therefore, 10 unique combinations or variable bit pattern exist.
  • the reduced number n is converted into binary form, and it is expressed in a variable bit pattern depending on the value of the last digit d of the number N.
  • the reduced numbers are packed in a single byte.
  • n 255 ⁇ n ⁇ 509 or 510 ⁇ n ⁇ 764 or 765 ⁇ n ⁇ 999. i)For 255 ⁇ n ⁇ 509:
  • the new reduced number n' ⁇ 255.
  • the multiplication factor of 255 is 1.
  • the last digit d of the 4 digit number N varies from 0 to 9. Therefore, both this operation and the last digit d are represented as dl.
  • the dl takes the values 01, 11, 21, 31, 41, 51, 61, 71, 81, 91. Therefore, there are 10 unique combinations or variable bit patterns that exist for the operation dl.
  • the reduced number n' is converted to binary form, and this binary number is expressed in a variable bit pattern.
  • the bit pattern depends on the value of the last digit d of the 4 digit number N. Therefore, the reduced number is packed into a single byte.
  • the compression is 50%.
  • the 10 unique combinations for dl are given in the table. TABLE 2
  • the new reduced number n' ⁇ 255.
  • the multiplication factor of 255 is 2.
  • the last digit d of the 4 digit number N varies from 0 to 9. Therefore, both this operation and the last digit d are represented as d2.
  • the d2 takes values 02, 12, 22, 32, 42, 52, 62, 72, 82, 92. Therefore, there are 10 unique combinations or variable bit patterns that exist for the operation d2.
  • the reduced number n' is converted to a binary form, and this binary number is expressed in a variable bit pattern.
  • the bit pattern or unique combination depends on the value of the last digit d of the 4 digit number N.
  • the reduced number is packed into a single byte.
  • the 10 unique combinations for the operation d2 is given in the table.
  • the multiplication factor of 255 is 3.
  • the last digit d of the 4 digit number N varies from 0 to 9. Therefore, both this operation and the last digit d are represented as d3. This is a 2 digit number.
  • the d3 takes values 03, 13, 23, 33, 43, 53, 63, 73, 83, 93. Therefore, there are 10 unique combinations or variable bit patterns that exist for the operation d3.
  • the reduced number n' is converted into a binary form, and this binary number is expressed in a variable bit pattern.
  • the bit pattern or unique combination depends on the value of the last digit d of the 4 digit number N. Therefore, the reduced number is packed into a single byte.
  • the 10 unique combinations for the operation d3 are given in the table.
  • the largest 8-bit number is 255.
  • the number that lies in the range from 0 to 254 is converted into a binary form. This binary number is expressed in a variable bit pattern as 0 0 00 00 00. This unique combination represents the numbers from 0000 to 0254.
  • This operation is represented as 10.
  • the 1 of 10 represents that the number 255 is subtracted once.
  • the 0 indicates that it is a 4 digit number.
  • the 0 is put first on the three-digit number that lies in the range from 255 to 509.
  • the reduced number N' is converted into binary form, and this binary number is expressed in a variable bit pattern as 00 00 00 0 0.
  • the operation is represented as 10 for this unique combination.
  • This operation is represented as 20.
  • the 2 of 20 indicates that the number 255 is subtracted twice.
  • the 0 indicates that it is a 4 digit number.
  • the 0 is put first in the 3 digit number that lies in the range from 510 to 764.
  • the reduced number N' is converted to binary form, and this binary number is expressed in a variable bit pattern as 0 00 0 00 00.
  • the operation is represented as 20 for this unique combination.
  • N N-255*3.
  • This operation is represented as 30.
  • the 3 of 30 indicates that the number 255 is subtracted thrice.
  • the 0 indicates that it is a 4 digit number.
  • the reverse operation for finding N the 0 is put first on the 3 digit number that lies in the range from 765 to 999.
  • the reduced number N' is converted into binary form, and this binary number is expressed in a variable bit pattern as 0 00 00 00 0.
  • the operation is represented as 30 for this unique combination.
  • the number that lies in the range from 00 to 99 is converted into binary form. This binary number is expressed in a variable bit pattern as 0 0 0 0 0000. This unique combination represents the numbers from 00 to 99.
  • the 5, 9, 13 digit numbers are expressed as 4+1, 4+4+1, 4+4+4+1.
  • the last single digit of the consecutive numbers is combined to make a 2 digit number that varies from 00 to 99.
  • the 4 digit number is compressed into 1 byte each, and the combined 2 digit number requires 1 byte. If we consider the separate single digit compression, then each single digit number requires 1 byte. Therefore, the compression is not efficient. For this reason, the last single digit of the two consecutive numbers is combined to make a single 2 digit number.
  • the digits of 5, 9, 13 can be expressed as 4+1, 4+4+1, 4+4+4+1.
  • the last digit of the 4 consecutive numbers is combined to make a single 4 digit number that varies from 0000 to 9999.
  • the digits of the numbers are expressed as 4, 4+1, 3+3, 4+3, 4+4, 4+4+1, and 4+3+3.
  • the numbers 4 and 3 indicate that a 4 digit number is compressed using the bit sequence technique, and the 3 digit number is compressed using the number compression technique.
  • the last digit 3 is subtracted from 444, yielding 444-3; therefore, 441.
  • This number lies in the range from 255 to 509. Therefore, subtracting 255 once from 441, 441-255, yields 186.
  • This operation is 31. Therefore, the number 186 is converted into a binary number and expressed in 8- bit form 10111010.
  • variable bit pattern for operation 31 is 0 000 00 0 0. Therefore, the binary number of 186 is expressed in a variable bit pattern as 1 011 10 1 0.
  • the 4 digit number requires 2 bytes. The compression is 1 byte. Therefore, the compression of a 4 digit number is 50%.
  • Example 2
  • the number 197 is converted into a binary number and expressed in 8-bit form as 11000101.
  • variable bit pattern is 0000000 0.
  • the binary number of 197 is expressed in a variable bit pattern as 1100010 1.
  • the numbers from 000 to 099 are expressed in a variable bit pattern as 00 00 00 00.
  • the binary number 008 is expressed in a variable bit pattern as 00 00 10 00.
  • the variable bit patterns of nl and n2 are written in the order as they appear, i.e., nln2.
  • the 4 digit and 3 digit numbers require 1 byte each. Therefore, the compression is 33.33%.
  • This new number lies in the range from 765 to 999. Therefore, 255 is subtracted thrice from 990, 990-255*3; therefore, 225.
  • This operation is 93.
  • the number 225 is converted into a binary number and expressed in 8- bit form as 11100001.
  • the variable bit pattern for operation 93 is 0 00 00 0 00. Therefore, the binary number of 225 is expressed in a variable bit pattern as 1 11 00 0 01.
  • the reduced form is (5, 0)(0).
  • the reduced pair is expressed in a variable bit pattern as 101 0 0 000.
  • the 4- and 3- digit numbers require 1 byte each. Therefore, the compression is 40%.
  • This number lies in the range from 765 to 999. Therefore, 255 is subtracted thrice from 800, 800-255*3. Therefore, 35.
  • This operation is 03.
  • the number 35 is converted into a binary number and expressed in 8-bit form as 00100011.
  • variable bit pattern for operation 10 is 00 00 00 0 0. Therefore, the binary number of 28 is expressed in a variable bit pattern as 00 01 11 0 0.
  • the number N has 2 consecutive numbers, and both are 9 digit numbers. Each number is split into two 4 digit numbers and one single digit number. The last single digit number of 2 consecutive numbers is combined to make a two-digit number for efficient compression.
  • This operation is 83.
  • the number 127 is converted into a binary number and expressed in 8- bit form as Ol l l l l l.
  • the variable bit pattern for operation 83 is 00 0 0 000 0. Therefore, the binary number of 127 is expressed in a variable bit pattern as 01 1 1 111 1.
  • the numbers from 0000 to 0254 can be expressed in a variable bit pattern as 0 0 00 00 00. Therefore, the binary number of 48 is expressed in a variable bit pattern as 0 0 11 00 00.
  • the number 13 is converted into a binary number and expressed in 8-bit form 00001101.
  • the numbers from 00 to 99 can be expressed in a variable bit pattern as 0 0 0 0 0000. Therefore, the binary number 13 is expressed in a variable bit pattern as 0 0 0 0 1101.
  • the number 196 is converted into a binary number and expressed in 8-bit form as 11000100.
  • variable bit pattern is 0000 0000.
  • the binary number 196 is expressed in a variable bit pattern as 1100 0100.
  • the last digit 0 is subtracted from 190, 190-0; therefore, 190. This number is less than 255.
  • the number 190 is converted into a binary number and expressed in 8-bit form as 10111110.
  • the variable bit pattern is 000 0 0 0 0 0.
  • the binary number of 190 is expressed in a variable bit pattern as 101 1 1 1 1 0.
  • the number Nl 900800481 has 30 bits. This number requires 4 bytes.
  • the number N2 200419003 has 28 bits. This number requires 4 bytes.
  • the four 4-digit numbers require 1 byte each, and the combined 2 digit number requires 1 byte. Therefore, the compression is 37.5%.
  • Part III Compression of a three-digit number using the bit sequence technique
  • the number compression technique for numbers greater than 255, there are 83 unique combinations or bit patterns that exist.
  • compression requires only 3 unique combinations in the bit sequence technique for compressing 3 digit numbers. Now we see how to compress a three-digit number greater than or equal to 255.
  • the largest 8-bit number is 255.
  • N The 3 digit number that is greater than or equal to 255. There are 3 possibilities.
  • the value of N may be in the range 255 ⁇ N ⁇ 509 or 510 ⁇ N ⁇ 764 or 765 ⁇ N ⁇ 999.
  • N that lies in the range 255 ⁇ N ⁇ 509 is reduced as N -N-255.
  • the reduced number N' ⁇ 255.
  • This operation is represented as 15.
  • the number 1 of 15 indicates the multiplication factor of 255, and the second number 5 indicates that it is a 3 digit number.
  • the reduced number N' is converted into a binary number and expressed in a variable bit pattern as 0 00 00000.
  • the number 2 of 25 indicates the multiplication factor of 255 and the second number 5 indicates that it is a 3 digit number.
  • the reduced number N' is converted into a binary number and expressed in a variable bit pattern as 00 00 0000.
  • the reduced number N' ⁇ 255 Here, we subtracted 255 thrice.
  • This operation is represented as 35.
  • the number 3 of 35 indicates the multiplication factor of 255, and the second number 5 indicates that it is a 3 digit number.
  • the reduced number N' is converted into a binary number and expressed in a variable bit pattern as 000 000 00.
  • Binary numbers from 100 to 254 are converted into binary form and expressed in ordinary 8-bit form.
  • bit sequence technique there are 49 unique combinations that exist. However, in the number compression technique, 83 unique combinations exist that are only for compressing 3 digit numbers. Therefore, the bit sequence technique is simple and efficient.

Landscapes

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

Abstract

Any number greater than or equal to three digits can be reduced or compressed using both the number compression technique and the bit sequence technique. Therefore, it is possible to compress random data. The compression is measured in binary form. Both techniques are very useful in the lossless compression of text, images, audio and video data. However, the advantage of using the bit sequence technique over the number compression technique is that the compression is high. This leads to high and efficient data compression. Therefore, it is possible to develop data compression software that can compress all types of data including random data.

Description

ELEMENTS OF DATA COMPRESSION
BACKGROUND OF THE INVENTION
The field of invention generally relates to the elements required for the development of data compression software. The elements are the number compression technique and the bit sequence technique.
For every character, the pixel and audio signal has a number. In data compression, we can reduce statistical redundancy by using methods such as coding, pattern recognition and linear prediction. There are many data compression techniques, such as Huffman coding, arithmetic coding, run- length encoding and Shannon coding. In lossless data compression, the maximum compression ratio is 2: 1. I have invented two new techniques, the number compression technique and the bit sequence technique, that can reduce or compress 3-digit and 4-digit numbers, respectively. The compression is 50% in both techniques. Therefore, the compression is high and efficient, even for numbers greater than 4 digits.
It was proven by Shannon that there is an absolute limit to the best possible average length of lossless encoding or compression of an information source. Additionally, it was found that random data are not compressible. We can reduce statistical redundancy. Both the number compression technique and the bit sequence technique can be used to compress random data. Therefore, we can compress text, images, audio and video data where there is no statistical redundancy, pattern or linear prediction. This new technique saves storage space. Additionally, this technique increases the speed of data transmission.
BRIEF SUMMARY OF THE INVENTION
Reduction in the number of bits needed to represent data is compression. Compression of data saves storage capacity, increases the speed of file transfer, and decreases the costs for storage hardware and network bandwidth. I have invented two new techniques, the bit sequence technique and the number compression technique, which can compress any number greater than or equal to three digits. In the number compression technique, we can compress any three-digit number greater than 255. In the bit sequence technique, we can reduce both three- and four-digit numbers to either less than or equal to a three-digit number. The compression is 50% in both the techniques. In the bit sequence technique, both the bit pattern and the values of the bits are important. Additionally, in both the techniques the reduced number is packed into a single byte in a variable bit pattern. The compression is high and efficient, even for numbers greater than 4 digits. It is possible to compress random data. Therefore, both compression techniques can be used to compress text, images, audio and video data, where there is no statistical redundancy, pattern or linear prediction. However, the advantage of using the bit sequence technique over the number compression technique is that the compression is high and efficient, because in the number compression technique, 83 unique combinations exist for the compression of three-digit numbers, whereas in the bit sequence technique, only three unique combinations are required for the compression of a three-digit number. Images, audio and video consume considerable data. Therefore, the bit sequence technique is more useful. We can develop data compression software that can compress data of all types including random data. Therefore, these two techniques present a new approach for the compression of all types of data including random data.
DETAILED DESCRIPTION
The following description is divided into three parts. Part I describes the number compression technique. Part II describes the bit sequence technique. Part III describes the advantages of using the bit sequence technique over the number compression technique. Here, we see that it is possible to compress a three-digit number using the bit sequence technique. The bit sequence technique is simple and efficient.
Part I: Number Compression Technique
Here, we study the concept of the number compression technique. Any three-digit number greater than 255 can be reduced to either two or three numbers that can be packed into a single byte in a variable bit pattern. The largest 8-bit number is 255. The three-digit numbers greater than 255 have two bytes. Using the number compression technique, we express the three-digit number in a reduced form that can be packed into a single byte in a variable bit pattern. There is no compression if we use the number compression technique for numbers less than or equal to 255. Therefore, for numbers less than 255, we use the ordinary representation of the binary form, i.e., constant bit pattern. To understand the number compression technique, we consider numbers less than 255. From calculations, it is found that the compression is high for two- and three-digit numbers compared to the compression of the whole number.
Consider a natural number N. This natural number N can be expressed as the sum of n natural numbers with the remainder r.
N=l+2+3+ +n+r or N=(n(n+l)/2)+r where 0<r<n.
To find n, we equate n(n+l)/2=N, and
Figure imgf000004_0001
Therefore, n=(-l+sqrt(l+8N))/2.
Here, we consider only the integer part and discard the fractional part. This result yields n. Therefore, we can find the remainder r. Now we can represent the number N as N=(n, r). There are four possibilities for the pair (n, r). 1) Both n and r are even. 2) Both n and r are odd. 3) n is even, and r is odd. 4) n is odd and r is even. To compress the number N, we have to make the values of n and r as small as possible. Here, we illustrate how to compress N for all four cases.
1) Both n and r are even:
N=(n, r). Change n to n-r .·. (n-r, r). Divide this pair by 4, yielding ((n-r)/4, r/4). If there is a fractional part, we always get 0.5. Here, we discard the fractional part, and consider only the integer part, and assign the minus sign to the integer part. If the divided value is 0.5, then the integer part is 0. Therefore, we write 0.5 as 0. The method for reducing the value of N for this case is represented by (0)((n-r)/4, r/4).
Here, the order is very important. The single number 0 on the left side of the reduced pair indicates that n and r are even, and the corresponding reduction method.
2) Both n and r are odd:
Consider the number N=(n, r). Change n to n-1 and r to r-1 .·. (n-1, r-1). Change n-1 to (n-l-(r-l)) .·. (n-r, r-1). Divide the pair by 4 .·. ((n-r)/4, (r-l)/4). The method of reducing the value of N for this case is represented by (l)((n-r)/4, (r-l)/4). Here, the single number 1 on the left side of the reduced pair indicates that the n and r are odd, and the corresponding reduction method.
3) n is even, and r is odd: Consider the number N=(n, r). Change n to n-r .·. (n-r, r). Change n-r to n-r-1 and r to r-1 .·. (n-r-1, r-1). Divide the pair by 4 .·. ((n-r-l)/4, (r-l)/4). The method of reducing the value of N for this case is represented by ((n-r-l)/4, (r-l)/4)(0). Here, the single number 0 on the right side of the reduced pair indicates that n is even, and r is odd, and the corresponding reduction method. 4) n is odd and r is even:
Consider the number N=(n, r). Change n to n-1 .·. (n-1, r). Change n-1 to n-l-r .·. (n-l-r, r). Divide the pair by 4 .·. ((n-l-r)/4, r/4). The method of reducing the value of N for this case is represented by ((n-r-l)/4, r/4)(l). Here, the single number 1 on the right side of the reduced pair indicates that n is odd and r is even, and the corresponding reduction method. Special Cases:
All four methods are not applicable in some cases. Here, we explore the special cases. 1) When r=0 and n is either even or odd:
1) When r=0 and n is even:
Now N=(n, 0). We can write this in reduced form as (0)(n/4). Here, the single number 0 on the left side of the reduced number indicates that n is even, and r=0, and the corresponding operation. ii) When r=0 and n is odd:
N=(n, 0). We can write this in reduced form as (l)((n-l)/4). Here, the single number 1 on the left side of the reduced number indicates that n is odd and r=0, and the corresponding operation.
2) When r=l and n is either even or odd: i) When r=l and n is even:
N=(n, 1). We can write this in reduced form as (n/4)(0). Here, the single number 0 on the right side of the reduced number indicates that n is even, and r=l, and the corresponding operation. ii) When r=l and n is odd: N=(n, 1). We can write this in reduced form as ((n-l)/4)(l). Here, the single number 1 on the right side of the reduced number indicates that n is odd and r=l, and the corresponding operation.
For n=5, compressing this number yields (1)(1). This reduced form is symmetric; therefore, this representation has two numbers when decompressed. It yields (5, 0) or (5, 1). Therefore, we define (1)(1) as (5, 1) and (0)(0) as (5, 0). This is the only exception in this number compression technique. All other cases have a unique representation.
3) When r=n and n is either even or odd: i) When n is even and r=n:
N=(n, n). We can write this in reduced form as (0, n/4, 0). Here, the end numbers are both 0. This indicates that n is even, and r=n. ii) When n is odd and r=n:
N=(n, n). We can write this in reduced form as (1, (n-l)/4, 1). Here, the end numbers are both 1. This indicates that n is odd and r=n.
4) When r=n- 1 and n is either even or odd: i) When n is even and r=(n-l):
N=(n, n-1). We can write this in reduced form as (1, n/4, 0). Here, the end numbers are not equal, and 0 on the right side of the reduced number indicates that n is even, and r=n- 1. ii) When n is odd and r=(n-l):
N=(n, n-1). We can write this in reduced form as (0, (n-l)/4, 1). Here, the end numbers are not equal, and 0 on the left side of the reduced number indicates that n is odd and r=n-l.
5) When n is even and r=n/2 is either even or odd: i) When n and r=n/2 are even: N=(n, n/2), and n and r are even. We can write this in reduced form as ((n-r)/4, r/4). Substituting r=n/2 yields (n/8, n/8). Here, n/8 is repeated twice. We can further compress this by writing as (0, n/8). Here, the first number 0 indicates that n and r are even, and r=n/2. ii) When n is even and r=n/2 is odd: N=(n, n/2). The reduced form for n is even, and r is odd can be written as ((n-r-l)/4, (r-l)/4). Substituting r=n/2 yields ((n-2)/8, (n-2)/8). The term (n-2)/8 is repeated twice. We can further compress this number by writing it as (1, (n-2)/8). Here, the first number 1 indicates that n is even, and r=n/2 is odd. The pair of two numbers indicates that r=n/2.
Now we clarify all the cases with examples. Example 1: When n and r are even.
Consider the number N=142. Here, n=16 and r=6. We can write this as N=(16, 6). Changing 16 to 16-6 ·"· (10, 6). Divide the pair by 4, yielding (2.5, 1.5). Here, the fractional part is 0.5 We discard the fractional part and only consider the integer part and assign a negative sign .·. (-2, -1). This compression operation is represented as (0)(-2, -1). The number N=142 has 8 bits. We consider one bit for the negative sign. Therefore, -2 has 3 bits, -1 has two bits, and 0 has 1 bit. Therefore, the total number of bits is 6 in compressed form. Therefore, the compression is 25%.
Example 2: When n and r are odd.
Consider the number N=127. Here, n=15 and r=7. We can write this as N=(15, 7). Change the 15 to 15-1 and 7 to 7-1 .·. (14, 6). Change 14 to 14-6 (8, 6). Divide the pair by 4 yielding (2, 1.5). We write 1.5 as -1 .·. (2, -1). This compression operation is represented as (1)(2, -1).
The number N=127 has 7 bits. The total number of bits of all elements of the number is 5. Therefore, the compression is 28.4%.
Example 3: When n is even and r is odd. Consider the number N=303. Here, n=24 and r=3. We can write this as N=(24, 3). Change 24 to 24-3 ··· (21, 3). Change 21 to 21-1 and 3 to 3-1 ··· (20, 2). Divide the pair by 4 yielding (5, 0.5). Here, we write 0.5 as 0 ·"· (5, 0). This compression operation is represented as (5, 0)(0).
The number N=303 has 9 bits. The total number of bits of all elements of the number is 5. Therefore, the compression is 44.44%.
Example 4: When n is odd and r is even.
Consider the number N=723. We can write as N=(37, 20). Change 37 to 37-1 .·. (36, 20). Change 36 to 36-20 ·"· (16, 20). Divide the pair by 4 yielding (4, 5). This compression operation is represented as (4, 5)(1). The number N=723 has 10 bits. The total number of bits of all elements of the number is 7. Therefore, the compression is 30%.
Example 5: When r=0 and n is either even or odd. i) When r=0 and n is even:
Consider the number N=990, N=(44, 0). Divide 44 by 4 and express in reduced form as (11). This compression operation is represented as (0)(11).
The number N=990 has 10 bits. The total number of bits of all elements of the number is 5. Therefore, the compression is 50%. ii) When r=0 and n is odd:
Consider the number N=946. N=(43, 0). Change 43 to 43-1 and divide by 4 yielding (10.5). We write 10.5 as -10 ·"· (-10). This compression operation is represented as (1)(-10).
The number N=946 has 10 bits. The total number of bits of all elements of the number is 6. Therefore, the compression is 40%.
Example 6: When r=l and n is either even or odd. i) When r=l and n is even: Consider the number N=466. N=(30, 1). Divide 30 by 4 yielding (7.5) ·"· (-7). This compression operation is represented as (-7)(0).
The number N=466 has 9 bits. The total number of bits of all elements of the number is 5. Therefore, the compression is 44.44%. ii) When r=l and n is odd:
Consider the number N=631. N=(35, 1). Change 35 to 35-1 and divide by 4 yielding (8.5) (-8). This compression operation is represented as (-8)(1).
The number N=631 has 10 bits. The total number of bits of all elements of the number is 6. Therefore, the compression is 40%. Example 7: When r=n and n is either even or odd. i) When n is even and r=n:
Consider the number N=230. N=(20, 20). Divide 20 by 4 yielding 5. This compression operation is represented as (0, 5, 0).
The number N=230 has 8 bits. The total number of bits of all elements of the number is 5. Therefore, the compression is 37.5%. ii) When n is odd and r=n:
Consider the number N=780. N=(39, 39). Change 39 to 39-1 and divide by 4 yielding 9.5 (-9). This compression operation is represented as (1, -9, 1).
The number N=780 has 10 bits. The total number of bits of all elements of the number is 7. Therefore, the compression is 30%.
Example 8: When r=n-l and n is either even or odd. i) When n is even and r=(n-l):
Consider the number N=l 18. N=(14, 13). Divide 14 by 4 yielding 3.5. We can write 3.5 as -3. This compression operation is represented as (1, -3, 0). The number N=118 has 7 bits. The total number of bits of all elements of the number is 5. Therefore, the compression is 28.4%. ii) When n is odd and r=(n-l):
Consider the number N=593. N=(33, 32). Change 33 to 33-1 and divide by 4 yielding 8. This compression operation is represented as (0, 8, 1).
The number N=593 has 10 bits. The total number of bits of all elements of the number is 6. Therefore, the compression is 40%.
Example 9: When n is even and r=n/2 is either even or odd. i) When n and r=n/2 are even: Consider the number N=420. N=(28, 14). Divide 28 by 8 yielding 3.5 ·"· (-3). This compression operation is represented as (0, -3).
The number N=420 has 9 bits. The total number of bits of all elements of the number is 4. Therefore, the compression is 55.55%. ii) When n is even and r=n/2 is odd: Consider the number N=112. N=(14, 7). Change 14 to 14-2 and divide by 8 yielding 1.5 (-1). This compression operation is represented as (1, -1).
The number N=112 has 7 bits. The total number of bits of all elements of the number is 3. Therefore, the compression is 56.8%.
Example 10: Compression of a number greater than 3 digits. Consider the number N=303142127. Divide this number into groups of 3 digit numbers. This number has 3 blocks and contains 3 3-digit numbers. N=B1B2B3. Block 1 contains B 1=303, B2=142 and B3=127.
We have already calculated the number of bits for the reduced three numbers Bl, B2 and B3. The number of bits for the reduced numbers of Bl, B2, and B3 are 5, 6, 5, respectively. Therefore, the total number of bits for the compressed number is 16. The number N=303142127 has 29 bits. Therefore, the compression is 44.82%.
Now we compress the whole number N. We find that n=24622, and r=8374. N=(24622, 8374). Both n and r are even. The reduced form of the compression operation is represented as (0)(4062, -2093).
The number of bits for N is 29. The total number of bits for all elements of the reduced number is 26. Therefore, the compression is 10.34%. This indicates that the compression for a 3 digit number is high.
The above examples clarify that the compression is efficient for three-digit numbers. Additionally, it is found by calculations that the compression is high for two-digit numbers. We did not compress the single digit number, because compression is not efficient. The smallest two-digit number is 10, and it corresponds to n=4 and r=0, and the largest three-digit number is 999, and it corresponds to n=44 and r=9. The largest number in reduced form is 11 and -10.
A three-digit number greater than 255 has two bytes. A three-digit number greater than 255 can be compressed into one byte using the number compression technique where the reduced number is packed into a single byte in a variable bit pattern. Therefore, practically, the compression of three- digit numbers is 50%.
Concept Implementation:
Now we see how to pack the reduced three-digit number into a single byte. The smallest compressible three-digit number using the number compression technique is 256.
For N=256, then n=22 and r=3 or N=(22, 3). We represent the negative numbers such as -1, -3, - 5, and -8 as 01, 011, 0101 and 01000, respectively. Here, we find that 0 is put on the most significant bit.
I) Techniques for packing a reduced number into a single byte for numbers (n, 0), (n, 1), (n, n) and (n, n-1):
Compression is designed for numbers greater than 255. Therefore, the allowed reduced numbers in terms of number of bits are as follows. 1) The allowed 3-bit reduced numbers are 6 and 7. ii) The allowed 4-bit reduced numbers are 8, 9, and 10, and the negative numbers are -5, -6, -7. The reduced number 11 is allowed for numbers (n, 0), (n, 1) but not for (n, n), (n, n-1), because the number crosses the three-digit number 999. iii) The allowed 5-bit reduced numbers are -8, -9, -10. 1) For N=(n, 0):
The smallest reducible three-digit number for this form of pair is N=(23, 0) or N=276. The reduced form is (l)(-5). We can write the reduced numbers in a variable bit pattern as they appear, 1 0101 000.
Here, the first bit, 1, of the variable bit pattern indicates the value of the compression operation, and the second number is -5, and the last group of bits is always 0.
The value of the compression operation for N=(n, 0) is either 0 or 1. The bits in the reduced number have three possibilities. They may be 3, 4 or 5 bits. Generally, we can express the reduced number in a single byte as i) for 3 bits: 1 3 0000; ii) for 4 bits: 1 4 000; iii) For 5 bits: 1 5 00.
Here, the value of the compression operation is 1. For the value of the compression operation 0, we can replace the first group bit 1 by 0. The value of the decimal number in the above variable bit pattern indicates the bits in the reduced number.
2) For N=(n, 1):
The smallest compressible three-digit number for this form of pair is N=(23, 1) or N=277. The reduced form is (-5)(1). We can express the reduced numbers in a variable bit pattern as they appear, 0101 1 000.
Here, the first group of bits indicates the reduced number, and the second group bit 1 indicates the value of the compression operation, and the last group of bits is always 0.
The value of the compression operation for N=(n, 1) is either 0 or 1. The bits in the reduced numbers have three possibilities. It may be 3, 4 or 5 bits. Generally, we can express the reduced number in a single byte as i) for 3 bits: 3 1 0000; ii) for 4 bits: 4 1 000; iii) for 5 bits: 5 1 00. Here, the value of the compression operation is 1. For the value of compression operation 0, we can replace the second group bit 1 by 0. The value of the decimal number in the above variable bit pattern indicates the bits in the reduced number. In the above two cases, for r=0 and r=l, the number of bit groups is always three. 3) For N=(n, n):
The smallest compressible three-digit number for this form of pair is N=(22, 22) or N=275. The reduced form is (0, -5, 0). We can express the reduced number in a variable bit pattern as they appear, 0 0101 0 11.
Here, the second group of bits indicates the reduced number, and the first and third group bit indicates the value of compression operation, and the last group of bits is always 1.
The value of the compression operation for N=(n, n) is either 0 or 1. The bits in the reduced number have three possibilities. They may be 3, 4 or 5 bits. Generally, we can express the reduced number in a single byte as i) for 3 bits: 0 3 0 111 ; ii) for 4 bits: 0 4 0 11 ; iii) for 5 bits: 0 5 0 1.
The value of the decimal number in the above variable bit pattern indicates the bits in the reduced number. Here, the value of the compression operation is 0. For the value of the compression operation 1 , we can replace the first and third group bit 0 by 1.
4) For N=(n, n-1):
The smallest compressible three-digit number for this form of pair is N=(22, 21) or N=274. The reduced form is (1, -5, 0). We can express the reduced number in a variable bit pattern as they appear, 1 0101 0 11
Here, the second group of bits indicates the reduced number, and the first and third group bit indicates the value of compression operation, and the last group of bits is always 1.
The value of compression operation for N=(n, n-1) is either 1 and 0 or 0 and 1. The bits of the reduced number has three possibilities. They may be 3, 4 or 5 bits. Generally, we can express the reduced number in single byte as i) for 3 bits: 1 3 0 111; ii) for 4 bits: 1 4 0 11; iii) for 5 bits: 1 5 0 1. The value of the decimal number in the above variable bit pattern indicates the bits in the reduced number. Here, the value of the compression operation is 1 and 0. For the value of the compression operation 0 and 1 , we can replace the first and third group bit by 0 and 1 , respectively. In the above two cases, for r=n and r=n-l, the number of bit groups is always four. II) Technique of packing the reduced number in a single byte for number N=(n, n/2):
Compression for numbers greater than 255 allows reduced numbers in terms of the number of bits as follows: i) The allowed 2-bit reduced number is 3. ii) The allowed 3 -bit reduced numbers are -3, 4, and 5. The reduced number -2 is allowed for odd r=n/2. iii) The allowed 4-bit reduced number is -4. The smallest compressible three-digit number for this form of pair is N=(22, 11) or N=264. The reduced form is (1, -2). We can express the reduced number in a variable bit pattern as they appear, 1 010 0001.
Here, the first group of bits, 1, indicates the compression operation, and the second group of bits indicates the reduced number, and the last group of bits does nothing. The last bit of the last group of bits is always 1, and the others are 0. The value of the compression operation for N=(n, n/2) is either 0 or 1. The bits for the reduced number have three possibilities. They may be 2, 3 or 4 bits. Generally, we can express the reduced number in a single byte as, i) for 2 bits: 1 2 00001; ii) for 3 bits: 1 3 0001; iii) for 4 bits: 1 4 001.
The decimal number in the above variable bit pattern indicates the bits in the reduced number. Here, the value of the compression operation is 1. If the value of the compression operation is 0, we can replace the first group bit 1 by 0. We find that for r=n/2, the number of bit groups is always three.
Ill) Techniques for packing in a single byte for the reduced pairs (0)(η', r'), (1)(η', r'), (η', r')(0) and (η', r')(l): The largest 3 digit number is N=(44, 9) or N=999. The smallest compressible three-digit number is N=(22, 3) or N=256. For numbers greater than 255, it is found by calculations that the smallest sum of bits for the two numbers of the reduced pair is 4. The allowed reduced numbers for the four cases are from 0 to 10, and the negative numbers are from -1 to -10. The number varies from 1 bit to 5 bits. The value of the reduced number n' in the reduced pair (η', r') is always not equal to 0, i.e., n'≠0. Therefore, the reduced pair (0, r') does not exist. 1) For the reduced pair (0)(η', r'): i) For 4 bits in the reduced pair:
The possible combination of bits for the two numbers of the reduced pair is 13, 31, 22. Here, we write the possible combination as two-digit numbers to avoid confusing the 1 and 0 in the representation in the single byte. For the reduced pair (0)(η', r'), we can express the reduced pair in the variable bit pattern as they appear as 0 13 000, 0 31 000, 0 22 000.
There are four groups of bits. Here, the fourth group of bits 000 does nothing. The two decimal numbers indicate the number of bits for the two numbers of the reduced pair. ii) For 5 bits in the reduced pair: The possible combination for the bits of two numbers for the reduced pair is 23, 32, 14, 41. Here, we write the possible combinations as two-digit numbers to avoid confusing the 1 and 0 in the representation of the single byte.
For the reduced pair (0)(η', r'), we can express the reduced pair in the variable bit pattern as they appear, as 0 23 00, 0 32 00, 0 14 00, 0 41 00. There are four groups of bits. Here, the fourth group of bits 00 does nothing. The two decimal numbers indicate that the number of bits for the two numbers of the reduced pair. iii) For 6 bits in the reduced pair:
The possible combination of bits for the two numbers of the reduced pair is 51, 15, 42, 24, 33. We can express this in a single byte in the variable bit pattern as 0 51 0, 0 15 0, 0 42 0, 0 24 0, 0 33 0. iv) For 7 bits in the reduced pair: The possible combination of bits for the two numbers of the reduced pair is 34, 43, 25, 52. We can express this in a single byte in the variable bit pattern as 0 34, 0 43, 0 25, 0 52. This has three groups of bits.
2) For the reduced pair (η', r')(0): i) For 4 bits in the reduced pair:
The possible combination of bits for the two numbers of the reduced pair is 13, 31, 22. We can express the reduced pair in the variable bit pattern as 13 0 000, 31 0 000, 22 0 000. ii) For 5 bits in the reduced pair:
The possible combination of bits for the two numbers of the reduced pair is 23, 32, 14, 41. We can express the reduced pair in a variable bit pattern as they appear as 23 0 00, 32 0 00, 14 0 01, 41 0 00.
For bit pattern 14 0, it looks like (1, 4)(0) or (1)(4, 0). To avoid confusing the bits in the fourth group, the pattern is written as 01 for identification. iii) For 6 bits in the reduced pair: The possible combination of bits for the two numbers of the reduced pair is 51, 15, 42, 24, 33. We can express this in a single byte in the variable bit pattern as 51 0 0, 15 0 0, 42 0 0, 24 0 0, 33 0 0. iv) For 7 bits in the reduced pair:
The possible combination of bits for the two numbers of the reduced pair is 34, 43, 25, 52. We can express this in a single byte in the variable bit pattern as 34 0, 43 0, 25 0, 52 0. 3) For the reduced pair (η', r')(l): i) For 4 bits in the reduced pair:
The possible combination of bits for the two numbers of the reduced pair is 13, 31, 22. We can express the reduced pair in the variable bit pattern as 13 1 001, 31 1 000, 22 1 000. For bit pattern 13 1, it looks like (1, 3)(1) or (1)(3, 1). To avoid confusing the bits in the fourth group, the bit pattern is written as 001 for identification. ii) For 5 bits in the reduced pair:
The possible combination of bits for the two numbers of the reduced pair is 23, 32, 14, 41. We can express the reduced pair in a variable bit pattern as they appear as 23 1 00, 32 1 00, 14 1 01, 41 1 00
For bit pattern 14 1, it looks like (1, 4)(1) or (1)(4, 1). To avoid confusion, the bits in the fourth group are written as 01 for identification. iii) For 6 bits in the reduced pair: The possible combination of bits for the two numbers of the reduced pair is 51, 15, 42, 24, 33. We can express the reduced pair in the variable bit pattern as 51 1 0, 15 1 0, 42 1 0, 24 1 0, 33 1 0. iv) For 7 bits in the reduced pair:
The possible combination of bits for the two numbers of the reduced pair is 34, 43, 25, 52. We can express this in a single byte in the variable bit pattern as 34 1, 43 1, 25 1, 52 1. 4) For the reduced pair (1)(η', r'): i) For 4 bits in the reduced pair:
The possible combination of bits for the two numbers of the reduced pair is 13, 31, 22. We can express the reduced pair in the variable bit pattern as 1 13 000, 1 31 010, 1 22 000.
For bit pattern 1 31, it looks like (1)(3, 1) or (1, 3)(1). To avoid confusing the bits in the fourth group, the bit pattern is written as 010 for identification. ii) For 5 bits in the reduced pair:
The possible combination of bits for the two numbers of the reduced pair is 23, 32, 14, 41. We can express the reduced pair in a variable bit pattern as they appear as 1 23 00, 1 32 00, 1 14 00, 1 41 10. For bit pattern 1 41, it looks like (1)(4, 1) or (1, 4)(1). To avoid confusion the bits in the fourth group is written as 10 for identification. iii) For 6 bits in the reduced pair:
The possible combination of bits for the two numbers of the reduced pair is 51, 15, 42, 24, 33. We can express the reduced pair in a variable bit pattern as 1 51 0, 1 15 0, 1 42 0, 1 24 0, 1 33 0.
For the bit pattern 1 51 0, we consider only the second digit of 51. Here, the reduced pair 51 has two values depending on the value of a single bit of the second digit. The two values are 50 and 51. Therefore, the two-bit patterns are 1 50 0 and 1 51 0. The bit pattern 1 50 0 is already present in the reduced pair (η', r')(0), and the bit pattern 1 51 0 is already present in the reduced pair (η', r')(l). Therefore, for this reduced pair, the two-bit patterns are expressed in reverse order. 1 50 0 is written as 0 05 1 and 1 51 0 is written as 0 15 1. iv) For 7 bits in the reduced pair:
The possible combination of bits for the two numbers of the reduced pair is 34, 43, 25, 52. We can express this in a single byte in the variable bit pattern as 1 34, 1 43, 1 25, 1 52. 5) Special Cases:
For 8 bits in the reduced pair:
The possible combination of bits for the two numbers of the reduced pair is 35, 53, 44. We find that for the combination 35 and 53, the resulting number crosses the largest 3 digit number 999. Therefore, the only 8-bit reduced pair is 44. The allowed 4-bit reduced numbers are -4 and -5. The 8-bit reduced pair 44 has no number in the compression operation. Therefore, to pack into a single byte, we remove the negative signs of both -4 and -5. The resulting number is 6 bits, i.e., 33. Now we see how to express all four cases. i) For the reduced pair (0)(η', r'):
We can express the reduced pair in a single byte in a variable bit pattern as 3 0 3 0. The possible reduced pairs are (0)(-4, -4), (0)(-4, -5), (0)(-5, -4). ii) For the reduced pair (1)(η', r'): We can express the reduced pair in a single byte in a variable bit pattern as 3 1 3 0. The possible reduced pairs are (l)(-4, -4), (l)(-4, -5), (l)(-5, -4). iii) For the reduced pair (η', r')(0):
We can express the reduced pair in a single byte in a variable bit pattern as 3 0 3 1. The possible reduced pairs are (-4, -4)(0), (-4, -5)(0), (-5, -4)(0). iv) For the reduced pair (η', r')(l):
We can express the reduced pair in a single byte in a variable bit pattern as 3 1 3 1. The possible reduced pairs are (-4, -4)(1). (-4, -5)(1), (-5, -4)(1).
Here, we expressed all unique combinations in a single byte of a reduced pair of numbers greater than 255 using the number compression technique.
Part II: Bit Sequence Technique.
The largest 8-bit number is 255. Any 4 digit number is reduced to a 3 digit number. If this 3 digit number is greater than or equal to 255, then the number is further reduced to less than 255. The final reduced number is expressed in a unique variable bit pattern that represents the last digit of the 4 digit number, and the multiplication factor of 255. The multiplication factor of 255 may be 1, 2 or 3. The single digit varies from 0 to 9. Therefore, there are 30 unique combinations that exist. If the reduced number does not contain the multiplication factor of 255, then that reduced number can be expressed in 10 unique combinations or variable bit patterns depending on the value of the last digit of the 4 digit number. The reduced numbers are packed in a single byte. Additionally, four special cases exist. Therefore, there are 4 additional unique combinations that exist. In total, there are 44 unique combinations that exist for the reduced 4 digit number. In the bit sequence technique, both the bit pattern and the values of the bits are important.
The bit groups for the reduced 4 digit number expressed in variable bit patterns may be 2, 5, 6, 7 or 8. We find that, in number compression technique, the number of bit groups in the variable bit patterns is either 3 or 4. The largest reducible 4 digit number is 9999. Any 4 digit number requires 2 bytes. The reduced number requires 1 byte. Therefore, the compression in the bit sequence technique is 50%. Additionally, in the number compression technique, the compression of the 3 digit number is 50%. To reduce any number greater than 3 digits, we apply both the number compression technique and the bit sequence technique. Therefore, the compression is high and efficient.
Techniques: The smallest 4 digit number is 1000. Consider the 4 digit number N=abcd, where b, c, d are single digit numbers that vary in value from 0 to 9. The single digit number a varies from 1 to 9. i.e., a≠0. The last digit d is subtracted from the 3 digit number abc, and the new number is n=abc-d. There are 2 possibilities, either n<255 or n>255.
1) For n<255: The last digit d of the 4 digit number N varies from 0 to 9. Therefore, 10 unique combinations or variable bit pattern exist. The reduced number n is converted into binary form, and it is expressed in a variable bit pattern depending on the value of the last digit d of the number N. The reduced numbers are packed in a single byte.
For n<255, the 10 unique combinations or variable bit patterns are given in the table. TABLE 1
Figure imgf000020_0001
0 0000000 7
0 0 0 0 0 0 0 0 8
0 0 000 0 0 0 9
2) For n>255:
There are 3 possibilities for n>255. The value of n may be in the range 255<n<509 or 510<n<764 or 765<n<999. i)For 255<n<509:
The number n that lies in the range 255<n<509 is further reduced as n'=n-255.
Therefore, the new reduced number n'<255. Here, we subtracted 255 once. The multiplication factor of 255 is 1. The last digit d of the 4 digit number N varies from 0 to 9. Therefore, both this operation and the last digit d are represented as dl. This is a 2 digit number. The dl takes the values 01, 11, 21, 31, 41, 51, 61, 71, 81, 91. Therefore, there are 10 unique combinations or variable bit patterns that exist for the operation dl. The reduced number n' is converted to binary form, and this binary number is expressed in a variable bit pattern. The bit pattern depends on the value of the last digit d of the 4 digit number N. Therefore, the reduced number is packed into a single byte. The compression is 50%. The 10 unique combinations for dl are given in the table. TABLE 2
Figure imgf000021_0001
0000 0 0 0 0 41
0 0 0 0 00 0 0 51
0 0 00 00 0 0 61
0 00 0 00 0 0 71
00 0 0 00 0 0 81
0 0 000 00 0 91
ii) For 510<n<764:
The number n that lies in the range 510<n<764 is further reduced as n'=n-255*2.
Therefore, the new reduced number n'<255. Here, we subtracted 255 twice. The multiplication factor of 255 is 2. The last digit d of the 4 digit number N varies from 0 to 9. Therefore, both this operation and the last digit d are represented as d2. This is a 2 digit number. The d2 takes values 02, 12, 22, 32, 42, 52, 62, 72, 82, 92. Therefore, there are 10 unique combinations or variable bit patterns that exist for the operation d2. The reduced number n' is converted to a binary form, and this binary number is expressed in a variable bit pattern. The bit pattern or unique combination depends on the value of the last digit d of the 4 digit number N. The reduced number is packed into a single byte. The 10 unique combinations for the operation d2 is given in the table.
TABLE 3
Figure imgf000022_0001
0 0 0 0 0 0 00 42
0 0 0 0 0 00 0 52
0 0 00 0 00 0 62
0 00 0 0 00 0 72
00 0 0 0 00 0 82
0 0 000 0 00 92
iii) For 765<n<999:
The number n that lies in the range 765<n<999 is further reduced as n'=n-255*3.
Therefore, the new reduced number n'<255. Here, we subtracted 255 thrice. The multiplication factor of 255 is 3. The last digit d of the 4 digit number N varies from 0 to 9. Therefore, both this operation and the last digit d are represented as d3. This is a 2 digit number. The d3 takes values 03, 13, 23, 33, 43, 53, 63, 73, 83, 93. Therefore, there are 10 unique combinations or variable bit patterns that exist for the operation d3. The reduced number n' is converted into a binary form, and this binary number is expressed in a variable bit pattern. The bit pattern or unique combination depends on the value of the last digit d of the 4 digit number N. Therefore, the reduced number is packed into a single byte. The 10 unique combinations for the operation d3 are given in the table.
TABLE 4
Figure imgf000023_0001
0 0 0 000 0 0 43
0 0 0 0 000 0 53
0 0 00 000 0 63
0 00 0 000 0 73
00 0 0 000 0 83
0 00 00 0 00 93
3) Special Cases:
A) For numbers from 0000 to 0254:
The largest 8-bit number is 255. The number that lies in the range from 0 to 254 is converted into a binary form. This binary number is expressed in a variable bit pattern as 0 0 00 00 00. This unique combination represents the numbers from 0000 to 0254.
B) For numbers from 0255 to 0999: i) For numbers from 0255 to 0509:
The 4 digit number N that lies in the range from 0255 to 0509 can be reduced as N'=N-255. Therefore, the new reduced number N'<255. This operation is represented as 10. Here, the 1 of 10 represents that the number 255 is subtracted once. The 0 indicates that it is a 4 digit number. In the reverse operation for finding N, the 0 is put first on the three-digit number that lies in the range from 255 to 509. The reduced number N' is converted into binary form, and this binary number is expressed in a variable bit pattern as 00 00 00 0 0. The operation is represented as 10 for this unique combination. ii) For numbers from 0510 to 0764:
The 4 digit number N that lies in the range from 0510 to 0764 is reduced as N'=N-255*2. Therefore, the new reduced number N'<255. This operation is represented as 20. Here, the 2 of 20 indicates that the number 255 is subtracted twice. The 0 indicates that it is a 4 digit number. In the reverse operation for finding N, the 0 is put first in the 3 digit number that lies in the range from 510 to 764. The reduced number N' is converted to binary form, and this binary number is expressed in a variable bit pattern as 0 00 0 00 00. The operation is represented as 20 for this unique combination. iii) For numbers from 0765 to 0999:
The 4 digit number N that lies in the range from 0765 to 0999 is reduced as N'=N-255*3.
Therefore, the new reduced number N'<255. This operation is represented as 30. Here, the 3 of 30 indicates that the number 255 is subtracted thrice. The 0 indicates that it is a 4 digit number. In the reverse operation for finding N, the 0 is put first on the 3 digit number that lies in the range from 765 to 999. The reduced number N' is converted into binary form, and this binary number is expressed in a variable bit pattern as 0 00 00 00 0. The operation is represented as 30 for this unique combination. C) For numbers from 00 to 99:
The number that lies in the range from 00 to 99 is converted into binary form. This binary number is expressed in a variable bit pattern as 0 0 0 0 0000. This unique combination represents the numbers from 00 to 99. The 5, 9, 13 digit numbers are expressed as 4+1, 4+4+1, 4+4+4+1.
The last single digit of the consecutive numbers is combined to make a 2 digit number that varies from 00 to 99. The 4 digit number is compressed into 1 byte each, and the combined 2 digit number requires 1 byte. If we consider the separate single digit compression, then each single digit number requires 1 byte. Therefore, the compression is not efficient. For this reason, the last single digit of the two consecutive numbers is combined to make a single 2 digit number.
D) For numbers from 000 to 099: The number that lies in the range from 000 to 099 is converted into binary form. This binary number is expressed in a variable bit pattern as 00 00 00 00. This unique combination represents the numbers from 000 to 099. For numbers from 100 to 255 are converted into binary numbers, and they are represented in ordinary 8-bit form. For numbers greater than 255, the number compression technique is used. Here, the bit groups are 4. However, this bit pattern is not the same as in the representation of bits in the number compression technique. In the number compression technique, one of the bit groups has only one bit in the bit pattern. However, in this unique combination, each bit group has two bits.
E) For 4 consecutive numbers:
The digits of 5, 9, 13 can be expressed as 4+1, 4+4+1, 4+4+4+1. The last digit of the 4 consecutive numbers is combined to make a single 4 digit number that varies from 0000 to 9999. We previously described the compression of a 4 digit number using the bit sequence technique. In total, 44 unique combinations exist in the bit sequence technique. For this case, we have to discover an additional 44 unique combinations. Combining the last digit of 4 consecutive numbers yields high compression when compared to combining the last digit of 2 consecutive numbers. This makes the compression significantly high and efficient. Now we clarify with examples. Here, we apply both the bit sequence technique and the number compression technique for numbers greater than 3 digits. The digits of the numbers are expressed as 4, 4+1, 3+3, 4+3, 4+4, 4+4+1, and 4+3+3. Here, the numbers 4 and 3 indicate that a 4 digit number is compressed using the bit sequence technique, and the 3 digit number is compressed using the number compression technique. Example 1:
Compression of the number N=4443.
The last digit 3 is subtracted from 444, yielding 444-3; therefore, 441. This number lies in the range from 255 to 509. Therefore, subtracting 255 once from 441, 441-255, yields 186. This operation is 31. Therefore, the number 186 is converted into a binary number and expressed in 8- bit form 10111010.
The variable bit pattern for operation 31 is 0 000 00 0 0. Therefore, the binary number of 186 is expressed in a variable bit pattern as 1 011 10 1 0. The 4 digit number requires 2 bytes. The compression is 1 byte. Therefore, the compression of a 4 digit number is 50%. Example 2:
Compression of the number N=1981008.
The number N is expressed as N=nln2 , where nl=1981 and n2=008.
For n 1=1981, the last digit 1 is subtracted from 198, 198-1; therefore, 197. This number is less than 255. The number 197 is converted into a binary number and expressed in 8-bit form as 11000101.
For the last digit 1, the variable bit pattern is 0000000 0. The binary number of 197 is expressed in a variable bit pattern as 1100010 1.
For n2=008, the number 8 is converted into a binary number and expressed in 8-bit form as 00001000.
The numbers from 000 to 099 are expressed in a variable bit pattern as 00 00 00 00. The binary number 008 is expressed in a variable bit pattern as 00 00 10 00. The variable bit patterns of nl and n2 are written in the order as they appear, i.e., nln2.
The number N=1981008 has 21 bits. Therefore, this number requires 3 bytes. The 4 digit and 3 digit numbers require 1 byte each. Therefore, the compression is 33.33%.
Example 3:
Compression of the number N=9999100303.
The number N is expressed as N=nln2n3, where nl=9999, n2=100, n3=303.
For nl=9999, the last digit 9 is subtracted from 999, 999-9; therefore, 990. This new number lies in the range from 765 to 999. Therefore, 255 is subtracted thrice from 990, 990-255*3; therefore, 225. This operation is 93. The number 225 is converted into a binary number and expressed in 8- bit form as 11100001. The variable bit pattern for operation 93 is 0 00 00 0 00. Therefore, the binary number of 225 is expressed in a variable bit pattern as 1 11 00 0 01.
For n2=100, the numbers from 100 to 255 are expressed in ordinary 8-bit form. Therefore, the number 100 is converted into a binary number and expressed in 8-bit form as 01100100. For n3=303, this number is greater than 255. Therefore, the number compression technique is used. We can write this number as n3=(24, 3). The reduced form is (5, 0)(0). Here, n'=5 is 3 bits, and r'=0 is 1 bit. For (η', r')(0), the reduced pair is expressed in a variable bit pattern as 101 0 0 000.
The number N=9999100303 has 33 bits. Therefore, this number requires 5 bytes. The 4- and 3- digit numbers require 1 byte each. Therefore, the compression is 40%.
Example 4:
Compression of the number N=80000283.
The number N is expressed as N=nln2, where nl=8000 and n2=0283
For n 1=8000, the last digit 0 is subtracted from 800, 800-0; therefore, 800. This number lies in the range from 765 to 999. Therefore, 255 is subtracted thrice from 800, 800-255*3. Therefore, 35. This operation is 03. The number 35 is converted into a binary number and expressed in 8-bit form as 00100011.
The variable bit pattern for operation 03 is 0 0 0 0 0 000. Therefore, the binary number of 35 is expressed in a variable bit pattern as 0 0 1 0 0 011. For n2=0283, this number lies in the range from 0255 to 0509. Therefore, 255 is subtracted once from 283, 283-255; therefore, 28. This operation is 10. The number 28 is converted into a binary number and expressed in 8-bit form as 00011100.
The variable bit pattern for operation 10 is 00 00 00 0 0. Therefore, the binary number of 28 is expressed in a variable bit pattern as 00 01 11 0 0. The number N=80000283 has 27 bits. This number requires 4 bytes. The two 4 digit numbers require 1 byte each. Therefore, the compression is 50%.
Example 5:
Compression of the numbers Nl=900800481 and N2=200419003. The number N has 2 consecutive numbers, and both are 9 digit numbers. Each number is split into two 4 digit numbers and one single digit number. The last single digit number of 2 consecutive numbers is combined to make a two-digit number for efficient compression.
Now Nl=nln2n3 and N2=n'ln'2n'3, where nl=9008, n2=0048, n3=l and n'l=2004, n'2=1900, n'3=3.
For n 1=9008, The last digit 8 is subtracted from 900, 900-8; therefore, 892. This number lies in the range from 765 to 999. Therefore, 255 is subtracted thrice from 892, 892-255*3; therefore, 127. This operation is 83. The number 127 is converted into a binary number and expressed in 8- bit form as Ol l l l l l l. The variable bit pattern for operation 83 is 00 0 0 000 0. Therefore, the binary number of 127 is expressed in a variable bit pattern as 01 1 1 111 1.
For n2=0048, The number 48 is converted into a binary number and expressed in 8-bit form as 00110000. The numbers from 0000 to 0254 can be expressed in a variable bit pattern as 0 0 00 00 00. Therefore, the binary number of 48 is expressed in a variable bit pattern as 0 0 11 00 00. Now n3=l, n'3=3. Both single digit numbers are combined to make a 2 digit number. Therefore, 13. The number 13 is converted into a binary number and expressed in 8-bit form 00001101.
The numbers from 00 to 99 can be expressed in a variable bit pattern as 0 0 0 0 0000. Therefore, the binary number 13 is expressed in a variable bit pattern as 0 0 0 0 1101.
Now for n'l=2004. The last digit 4 is subtracted from 200, 200-4; therefore, 196. This number is less than 255. The number 196 is converted into a binary number and expressed in 8-bit form as 11000100.
For the last digit 4, the variable bit pattern is 0000 0000. The binary number 196 is expressed in a variable bit pattern as 1100 0100.
For n'2=1900, the last digit 0 is subtracted from 190, 190-0; therefore, 190. This number is less than 255. The number 190 is converted into a binary number and expressed in 8-bit form as 10111110. For the last digit 0, the variable bit pattern is 000 0 0 0 0 0. The binary number of 190 is expressed in a variable bit pattern as 101 1 1 1 1 0.
The number Nl=900800481 has 30 bits. This number requires 4 bytes. The number N2=200419003 has 28 bits. This number requires 4 bytes. The four 4-digit numbers require 1 byte each, and the combined 2 digit number requires 1 byte. Therefore, the compression is 37.5%.
Example 6:
Using each technique, the number of bits per pixel, and its compression is given in the table.
TABLE 5
Figure imgf000030_0001
Figure imgf000031_0001
For simplicity, we consider only one pixel, and its value ranges from 8 to 48 given in the table. Here, we consider the largest value of the color. For example, 8 bits per pixel can display 2Λ8 colors, i.e., 256. The largest value 256, and its digit is considered in the table. On this value, compression is calculated. We find that for digits of form 4+1, 4+4+1, the compression is 0 or less. This means that it is necessary to combine the last single digit of 4 consecutive numbers for efficient compression. The compression is high for 4+4, 4+4+3. Therefore, we have to choose the bits per pixel in the display devices such that compression is high for the highest value of the color, leading to high and efficient compression. We can compress any number using both techniques. In natural images or videos, redundancy always exists. Therefore, compression becomes high if the colors or numbers are distributed such that the compression of those numbers is high. This makes the compression significantly greater than the value of the random data compression in that range.
Part III: Compression of a three-digit number using the bit sequence technique In the number compression technique, for numbers greater than 255, there are 83 unique combinations or bit patterns that exist. However, compression requires only 3 unique combinations in the bit sequence technique for compressing 3 digit numbers. Now we see how to compress a three-digit number greater than or equal to 255.
The largest 8-bit number is 255. Consider the 3 digit number N that is greater than or equal to 255. There are 3 possibilities. The value of N may be in the range 255<N<509 or 510<N<764 or 765<N<999.
1) For 255<N<509:
The number N that lies in the range 255<N<509 is reduced as N -N-255.
Therefore, the reduced number N'<255. Here, we subtracted 255 once. This operation is represented as 15. The number 1 of 15 indicates the multiplication factor of 255, and the second number 5 indicates that it is a 3 digit number. The reduced number N' is converted into a binary number and expressed in a variable bit pattern as 0 00 00000.
2) For 510<N<764:
The number N that lies in the range 510<N<764 is reduced as N'=N-255*2. Therefore, the reduced number N'<255. Here, we subtracted 255 twice. This operation is represented as 25. The number 2 of 25 indicates the multiplication factor of 255 and the second number 5 indicates that it is a 3 digit number. The reduced number N' is converted into a binary number and expressed in a variable bit pattern as 00 00 0000.
3) For 765<N<999: The number N that lies in the range 765<N<999 is reduced as N'=N-255*3.
Therefore, the reduced number N'<255 Here, we subtracted 255 thrice. This operation is represented as 35. The number 3 of 35 indicates the multiplication factor of 255, and the second number 5 indicates that it is a 3 digit number. The reduced number N' is converted into a binary number and expressed in a variable bit pattern as 000 000 00. Binary numbers from 100 to 254 are converted into binary form and expressed in ordinary 8-bit form.
In the bit sequence technique, there are 49 unique combinations that exist. However, in the number compression technique, 83 unique combinations exist that are only for compressing 3 digit numbers. Therefore, the bit sequence technique is simple and efficient.
In both the techniques, the number is reduced or compressed. Therefore, we can apply a compression algorithm to already compressed data using the bit sequence technique or both. This results in high compression. Both the number compression technique and the bit sequence technique can be used to compress random data. Images, audio, and video consume considerable data. Therefore, in lossless data compression, we can use both the number compression technique and the bit sequence technique to compress images, audio and video data significantly. However, the advantage of using the bit sequence technique over the number compression technique is that it is highly efficient. This leads to data compression that is high and efficient. These two new techniques save storage space, and the data transfer speed increases. This new invention has a great impact on lossless compression of images, audio and video data where there is no statistical redundancy, pattern or linear prediction. Additionally, this invention has wide application in data communication. We can apply a compression algorithm to already compressed data using the bit sequence technique or both techniques. Therefore, it is possible to develop data compression software that can efficiently compress all types of data including random data.

Claims

CLAIMS:
1. A method to reduce or compress three- or four-digit numbers comprises the number compression technique and the bit sequence technique, wherein the compression is measured in binary form, and the reduced number is packed into a single byte, the method comprises a three-digit number expressed in a pair of numbers is made small using a subtraction operation and divide by 4; and in bit sequence technique, a four-digit number is reduced to a three-digit number by discarding the last digit, and then subtracting from it; if the resulting three-digit number is greater than 255, then the number is further reduced by subtracting 255.
2. The method of claim 1, further comprises the compression of any number greater than four digits.
3. The method of claim 1, wherein the compression of random data is possible.
4. The method of claim 1 , wherein the text, images, audio and video data can be compressed.
5. The method of claim 1, wherein lossless compression of greater than 50% can be achieved.
6. The method of claim 1 , wherein the bits per pixel of the display device can be chosen such that the compression is high for the highest value of the color, leading to high and efficient compression.
PCT/IB2018/056001 2017-08-16 2018-08-09 Elements of data compression WO2019034972A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN201741029087 2017-08-16
IN201741029087 2017-08-16

Publications (1)

Publication Number Publication Date
WO2019034972A1 true WO2019034972A1 (en) 2019-02-21

Family

ID=65362367

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2018/056001 WO2019034972A1 (en) 2017-08-16 2018-08-09 Elements of data compression

Country Status (1)

Country Link
WO (1) WO2019034972A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001010036A1 (en) * 1999-07-30 2001-02-08 Sun Microsystems, Inc. Memory efficient variable-length encoding/decoding system
US20120016918A1 (en) * 2010-07-16 2012-01-19 Jae Won Oh Method for Compressing Information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001010036A1 (en) * 1999-07-30 2001-02-08 Sun Microsystems, Inc. Memory efficient variable-length encoding/decoding system
US20120016918A1 (en) * 2010-07-16 2012-01-19 Jae Won Oh Method for Compressing Information

Similar Documents

Publication Publication Date Title
US9729169B2 (en) Methods and devices for source-coding and decoding of data involving symbol compression
US6154542A (en) Method and apparatus for simultaneously encrypting and compressing data
CA2191403C (en) Method and apparatus for performing data compression
CN105451027B9 (en) Spatial decorrelation method and apparatus, spatial re-correlation method and apparatus, data compression device, and data decompression device
US5652583A (en) Apparatus for encoding variable-length codes and segmenting variable-length codewords thereof
KR20050067349A (en) A variable length coding apparatus and a variable length coding method
JP2016512004A5 (en)
CN112399181A (en) Image coding and decoding method, device and chip
CN105409129B (en) Encoder device, decoder apparatus and method
WO2019034972A1 (en) Elements of data compression
US10212421B2 (en) Method and device for digital data compression with sign bit removal
Mathpal et al. A research paper on lossless data compression techniques
KR102510036B1 (en) Method for lightweight high quality image compression for display screens
Mehboob et al. Multigig lossless data compression device
JP2016208356A (en) Image compression device, image compression method, image decompression device and image decompression method
SE1550463A1 (en) Improved compression and / or encryption of a file
KR20160100496A (en) Improved huffman code method and apprartus thereof by using binary clusters
JPH0946237A (en) Apparatus for coding and partitioning variable-length code
CN103369312B (en) Method and device for compressing image
US5712686A (en) Inverse quantizer for use in MPEG-2 decoder
Mukherjee et al. Multibit decoding/encoding of binary codes using memory based architectures
US11750213B1 (en) Train-linking lossless compressor of numeric values
JP4559652B2 (en) Variable length decoding circuit
JP5612722B2 (en) Image compression device
WO2017026952A1 (en) A data compression and decompression method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18845743

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18845743

Country of ref document: EP

Kind code of ref document: A1