WO1999037085A2 - Arithmetic coding-based facsimile compression with error detection - Google Patents

Arithmetic coding-based facsimile compression with error detection Download PDF

Info

Publication number
WO1999037085A2
WO1999037085A2 PCT/US1999/000865 US9900865W WO9937085A2 WO 1999037085 A2 WO1999037085 A2 WO 1999037085A2 US 9900865 W US9900865 W US 9900865W WO 9937085 A2 WO9937085 A2 WO 9937085A2
Authority
WO
WIPO (PCT)
Prior art keywords
bits
follow
symbol
quar
coding
Prior art date
Application number
PCT/US1999/000865
Other languages
French (fr)
Other versions
WO1999037085A3 (en
Inventor
Santhana Krishnamachari
Original Assignee
Comsat Corporation
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 Comsat Corporation filed Critical Comsat Corporation
Priority to US09/600,291 priority Critical patent/US6760129B1/en
Priority to AU22296/99A priority patent/AU2229699A/en
Publication of WO1999037085A2 publication Critical patent/WO1999037085A2/en
Publication of WO1999037085A3 publication Critical patent/WO1999037085A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/417Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding

Definitions

  • the present invention generally concerns the field of facsimile transmission of documents, and more particularly concerns an algorithm for compressing facsimile documents based on arithmetic coding.
  • Arithmetic coding is a well known concept that has been applied in a number of information transmission environments, including facsimile.
  • the basic idea behind arithmetic coding is the mapping of a sequence of symbols to be encoded to a real number in the interval [0.0,1.0), where a square bracket "[" indicates that equality is allowed and a curved bracket ")" indicates otherwise.
  • the binary expansion of this real number is then transmitted to the arithmetic decoder, where the inverse mapping is performed to retrieve the encoded symbols.
  • Fig. 1 An illustration of this principle is in Fig. 1, which can form the basis of an example of arithmetic coding.
  • the illustration shows that the input symbol takes two possible values, B and W.
  • B and W correspond to black and white picture elements (pel) respectively.
  • Pb and P w be the probabilities of occurrences of B and W respectively.
  • This coding interval is divided into two sub-intervals: [0.0, P w ) corresponding to W, and [P w 1.0) corresponding to B.
  • This coding interval is further sub-divided into two sub-intervals: [P w , P w , + P b P w ) corresponding to W, and [Pw, + PbPw 1.0) corresponding to B.
  • the new coding interval is [P w , P w , + P b P w )-
  • the lower bound after the third symbol is P w , + P R b 2 and the coding interval [P w , +
  • the corresponding upper bound U n can be obtained by adding L n and R n .
  • the encoder encode only three input symbols and transmit a real number that lies in the coding interval after encoding the first three symbols.
  • the decoder receives this number and lets it be a value, which lies in the interval [P w , + P w R b 2 > , + PwPb).
  • the decoder divides the coding interval [0.0, 1.0) into two intervals: [0.0,P W ) corresponding to W and P w ,l-0) corresponding to B. Since, value lies in the interval corresponding to B, the decoder decodes the first symbol to be B.
  • the new coding interval is [P w ,l .0), which in turn is sub-divided into two intervals, [P w , P w , + P b P w ) corresponding to W and [P w , + P b P w 1.0) corresponding to B. Since value lies in the interval corresponding to W, the decoder decodes the second symbol to be W and proceeds so on.
  • a more efficient scheme is to initialize the probabilities to a suitable value at the start of encoding and adapt the values as the encoding proceeds. 37085
  • N W + N ⁇ ⁇ W + N ⁇ initialization since the initial values for ⁇ b and N w are equal. It is also possible to use a biased initialization.
  • the aforementioned method to update the counts N b and N w helps to adapt to the local distribution of white and black pels. However, this scheme fails to exploit the redundancy present in the document.
  • the counts N and N w gives a measure of the probability of a pel being white or black. But, the probability of a pel being white or black can be better described if the "color" of some of the adjacent pels are known. This set of adjacent pels is defined to be the context.
  • the pel marked 's' is being presently encoded and the shaded pels form the context for 's'.
  • a further object is prevent the effect of a propagation of a transmission error to the whole document by using a combination of one-dimensional and two-dimensional arithmetic coding.
  • Another object is to present appropriate contexts for the probabilistic models associated with arithmetic coding for one and two dimensional cases.
  • Yet another object is to provide an error detection scheme to identify the presence of transmission errors.
  • the present invention is a facsimile system embodying a signal processing method wherein a document is scanned and a sequence of symbols is generated for each of a plurality of scan lines.
  • the sequence of symbols are arithmetic encoded by mapping the symbols to real numbers in a predetermined interval.
  • the real numbers are subject to a binary expansion for transmission by a transmitter. After transmission and reception at a receiver, the received signal is inverse mapped to retrieve the encoded signals.
  • the present invention further comprises arithmetic coding the scan lines using a combination of one-dimensional and two-dimensional arithmetic coding.
  • the arithmetic encoding step further comprises 2-D coding a first plurality of adjacent scan lines, followed by 1-D coding at least one scan line subsequent to the plurality of scan lines. This sequence of 2-D and 1 -D coding can be repeated for a plurality of scan lines generated from scanning a document.
  • Yet another feature of the invention is the application of an end of line
  • EOL EOL code
  • a further feature of the invention is to conduct the scanning with a reduced horizontal resolution through minimum difference compression.
  • Yet another feature of the invention is to apply, at the end of an encoding of a scan line, M bits to represent the "quarter" in which the arithmetic coding interval lies.
  • Figure 1 is a basic illustration of arithmetic coding as applied to the transmission of black and white symbols.
  • Figure 2 is an illustration of a context for arithmetic coding using one dimensional (1-D) and two dimensional (2-D) approaches.
  • Figure 3 is a flow chart for error detection at the decoder, in accordance with the present invention.
  • Figure 4 is a flow chart of an arithmetic encoding algorithm used in the present invention.
  • Figure 5 is a flow chart of an arithmetic decoding algorithm used in the present invention.
  • the present invention concerns a method and apparatus for compressing facsimile documents based on arithmetic coding.
  • Underlying the invention is the use of a combination of one-dimensional and two-dimensional arithmetic coding, in order to ensure that the effect of a transmission error is not propagated to the whole document, together with an error detection scheme to identify the presence of transmission errors.
  • Fundamental to the present invention is the task of identifying an appropriate context for one and two dimensional arithmetic coding.
  • Figure 2 shows the contexts used for one and two dimensional coding. The appropriate contexts were arrived at after thorough experimentation with over 25 facsimile documents in standard resolution, as reflected in ITU recommendations.
  • the Standardization of Group 3 Facsimile Apparatus for Document Transmission defines standard resolution to be 3.85 line/mm and 1728 pels along the scan line.
  • the horizontal resolution is reduced by half through a maximum-differences compression, which is designed to preserve the black- to-white or white-to-black transitions.
  • the resulting document is then coded with arithmetic coding.
  • a line is said to be 1-D coded, if the context used in coding the pels in that line does not contain any pels from the previous line.
  • a line is said to be 2-D coded, if the context used in coding the pels in that line contains pels from the previous lines.
  • every fourth line is 1-D coded with the three intermediate lines coded by 2-D coding.
  • Two dimensional coding exploits the vertical redundancy in the document, but allows decoding errors in a line to be propagated to the following lines. To prevent this, every fourth line is 1-D coded. This ensures that any error in the bitstream caused by the channel does not propagate to more than four lines.
  • Table 1 Prior Initialization of the probabilities for 2-d ⁇ mens ⁇ onal Mode of Coding (the pels a, b, c, and d are as designated in Figure 1).
  • Table 1 shows the initial values of the counts used for the two dimensional coding. These initial counts have been arrived at through testing over a varied set of facsimile documents. Every fourth scan line is coded using one dimensional coding. When the following line is coded using two dimensional coding, the N w and N are initialized according to Table 1. As the encoding process continues these counts are updated. For 1-D coding, if the context pel is a B, then N b and N w are initialized to be 9 and 1 respectively, and vice versa if the context pel is a W. The compression efficiency achieved is different for different documents, but is in the range of 1.6 to 2.0, when compared to the standard T4 one dimensional compression.
  • EOL End Of Line
  • the encoder At the end of an encoding of a scan line, the encoder outputs two bits to represent the "quarter" in which the arithmetic coding interval lies. These two bits can be either '01 ' or '10' and will be followed by the EOL to denote the end of the scan line. However, if the last two bits happen to be '10', this trailing '0' can be confused with the zeros in EOL. To circumvent this, a ' 1 ' bit is introduced between the two bits representing the "quarter" and the EOL.
  • the decoder first reads the 16 bits of the compressed data and then exactly mimics the operation of the encoder, i.e., decoder maintains the changes in the values of the probabilities, coding interval and takes in input bits at the same time when the encoder outputs bits, etc. Owing to this nature of the implementation, the decoder "leads" the encoder by 16 bits, i.e., the decoder will require 16 bits more than the compressed data output by the encoder to generate a scan line. Since the encoder generates 15 extra bits (2 bits to represent the quarter, a ' 1 ' bit and 12 bits in EOL), the decoder would require one more bit after EOL is reached to completely decode a scan line.
  • this extra bit is immaterial. If the decoder requires more than one extra bit after EOL to generate a scan line, then this is an indication of an error. On the other hand, if the decoder does not require an extra bit or if the scan line is decoded before the EOL is reached, this again is an indication of an error.
  • Fig 3 shows a flow chart for error detection at the decoder.
  • a series of compressed bits for a single scan line illustrated as individual blocks with a 1 or a 0, is followed by an EOC comprising eleven 0's and a single 1.
  • the bits are input to a process 101 for starting decoding and outputting a scan line of picture elements. That series of picture elements is provided to a decision 102 as to whether the number of picture elements equals M, where M is a desired number. If so, the processing proceeds along the Y path to a decision 103 as to whether the number of extra input bits used equals 1. If so, the Y path is followed and there is "no error”. If not, the N path is followed and there is an "error detected".
  • the N path is followed and another decision 104 is used to determine whether EOL has been detected and an extra bit used. If EOL has been detected and an extra bit has been used, the Y path is followed and an "error detected" indication is given. If EOL has not been detected and extra bit used, the N path takes the program back to the start decoding and output scan line box 101 for further processing.
  • the arithmetic coding algorithm presented in the "Background" section is not amenable to implementation with finite precision arithmetic, because of precision problems. It can be observed that the range and the lower bound are floating point numbers between 0.0 and 1.0. The value of range decreases every time an input symbol is encoded. Therefore, as the encoding process proceeds, more and more bits are required to represent the range and the lower bound. Eventually, the precision requirement will not be met by the hardware platform on which the algorithm is implemented.
  • the initial coding interval of [0.0,1.0) is replaced by an integer interval of 0 to 216 — 1.
  • N w and N b can be interpreted as the counts of number of occurrences of the B and W symbols.
  • L( n .i ) , U (n -i ) and R ⁇ n . i ) are the values of lower bound, upper bound and range before the n th symbol is encoded.
  • a flow chart for encoder operation is illustrated and at step 200, symbol to be encoded, as well as the counts N w and N b , the bounds L( n -i), U( himself-i) and the range R ⁇ n -i), are input. The following steps are then taken to update these values. First, in a decision 201 , a check is made as to whether the nth symbol is B (or alternatively W). Then in steps 203 and 202, respectively: symbol is B:
  • n' h symbol is W:
  • Condition 1 at decision 205 If U n ⁇ HALF, then follow the Y path and output(O) at step 206; go to HERE at step 207; Condition 2 at decision 208: If L n ⁇ HALF, then follow the Y path and output(l) at step 209;
  • bits corresponding to the 5 quarter in which the coding interval lies are sent. If the lower bound is less than QUAR, then the upper bound is greater than HALF, and the coding interval spans the interval QUAR to HALF. To represent this, bits 01 are sent. If the lower bound is greater than or equal to QUAR, then the upper bound is greater than 3* QUAR, and the coding interval spans the interval HALF to 10 3* QUAR. To represent this, bits 10 are sent.
  • arithmetic decoder its functions may be understood with regard to Fig. 5 as follows.
  • 16 bits received from the encoder are stored in a register value, with the first received bit placed at the MSB position and the 16 th bit placed at the LSB.
  • L 0 , U 0 , Ro, 15 N b , N w , QUAR and HALF are initialized to be exactly the same as at the encoder.
  • the decoder performs the same operations performed at the encoder by updating the lower, upper bound and range. Since the update rules are different for symbols B and W, the decoder has to first decode the symbol.
  • the following rule in step 301 is used to decode the symbol:
  • the input() function performs the following: input() ⁇

Abstract

A method and apparatus for compressing facsimile documents based on arithmetic coding. A combination of one-dimensional and two-dimensional arithmetic coding is employed to ensure that the effect of a transmission error (103, 104) is not propagated to the whole document. Appropriate contexts for the probabilistic models associated with arithmetic coding for one and two-dimensional cases are presented. An error detection scheme (100, 101, 102, 103, 104) to identify the presence of transmission errors is also presented.

Description

Arithmetic Coding-Based Facsimile Compression With Error Detection
Field of the Invention
The present invention generally concerns the field of facsimile transmission of documents, and more particularly concerns an algorithm for compressing facsimile documents based on arithmetic coding.
Background of the Invention
Arithmetic coding is a well known concept that has been applied in a number of information transmission environments, including facsimile. The basic idea behind arithmetic coding is the mapping of a sequence of symbols to be encoded to a real number in the interval [0.0,1.0), where a square bracket "[" indicates that equality is allowed and a curved bracket ")" indicates otherwise. The binary expansion of this real number is then transmitted to the arithmetic decoder, where the inverse mapping is performed to retrieve the encoded symbols.
Conventional coding techniques, including Huffman coding, assign distinct code words to different input symbols and achieve data compression by assigning shorter code words to more probable symbols. In arithmetic coding, on the contrary, there is no assignment of specific code words to different input symbols. Instead, the interval [0.0,1.0) is divided into many sub-intervals, each of which is assigned to different input symbols. Less probable symbols get short intervals, and compression is achieved by assigning longer intervals to more probable symbols.
An illustration of this principle is in Fig. 1, which can form the basis of an example of arithmetic coding. The illustration shows that the input symbol takes two possible values, B and W. In a facsimile document, B and W correspond to black and white picture elements (pel) respectively. Let Pb and Pw, be the probabilities of occurrences of B and W respectively. To begin with, the coding interval is [0.0,1.0) with the lower bound L0 0.0 and the upper bound U0 = 1.0 and the range (which is the difference between the upper and lower bound) R0 = 1.0. This coding interval is divided into two sub-intervals: [0.0, Pw) corresponding to W, and [Pw 1.0) corresponding to B. The lengths of the sub-intervals are proportional to the probabilities of B and W. If Pb = 0.75 and Pw - 0.25, then the interval corresponding to B is three times longer than the interval corresponding to W.
When each symbol in the input sequence is coded, the lower bound, the upper bound and the range will experience a change. If the first symbol in the sequence to be encoded is B, the new coding interval is [Pw, 1.0). The upper bound remains the same. The new lower bound is Li = Pw, and the new range is Ri = Ro Pb = Pb- The shaded portion in Fig 1 represents the coding interval.
This coding interval is further sub-divided into two sub-intervals: [Pw, Pw, + PbPw) corresponding to W, and [Pw, + PbPw 1.0) corresponding to B. If the next symbol is a W, the new coding interval is [Pw, Pw, + PbPw)- The lower bound remains unchanged at Pw and the new range is R2 = R]PW = PbPw Fig 1 shows the changes in the lower bound, the upper bound and the range for the first four symbols, the third and fourth symbols both being B. The lower bound after the third symbol is Pw, + P Rb 2 and the coding interval [Pw, +
"v/ b , rw, + wr J.
In general, if L(n-i),R(n-i) are the values of the lower bound and the range before the nth symbol is encoded, the following rule is used to change these values: If the n* symbol is B:
Ln ~ L(n_i),R{n-l) P Rn = R(„-l) P "
If the nth symbol is W:
Ln = L(n.i) n = R(n-1) Pw-
The corresponding upper bound Un can be obtained by adding Ln and Rn. Finally, when all the symbols in the input are encoded, the binary expansion corresponding to any real number in the current coding interval is transmitted to the arithmetic decoder. With the knowledge of the probabilities Pb and Pw, the arithmetic decoder follows the same sequence of dividing the intervals to retrieve the coded input.
For example, let the encoder encode only three input symbols and transmit a real number that lies in the coding interval after encoding the first three symbols. The decoder receives this number and lets it be a value, which lies in the interval [Pw, + Pw Rb 2 > , + PwPb). To begin decoding, the decoder divides the coding interval [0.0, 1.0) into two intervals: [0.0,PW) corresponding to W and Pw,l-0) corresponding to B. Since, value lies in the interval corresponding to B, the decoder decodes the first symbol to be B. Now the new coding interval is [Pw,l .0), which in turn is sub-divided into two intervals, [Pw, Pw, + PbPw) corresponding to W and [Pw, + PbPw 1.0) corresponding to B. Since value lies in the interval corresponding to W, the decoder decodes the second symbol to be W and proceeds so on.
An important task in arithmetic coding is the proper estimation of the probabilities Pb and Pw. The compression efficiency that can be achieved depends on the accuracy of these probability estimates. In the discussion presented above, it was implicitly assumed that the values of Pb and Pw, are known and remain the same during the encoding process. In practice, there does not exist a single set of probability values that can efficiently model different facsimile documents. Even within a single document, there is so much variation (for example the borders predominantly contain white pels, whereas the text in the document contains more black pels), it is not conceivable to use a single set of probability values.
A more efficient scheme is to initialize the probabilities to a suitable value at the start of encoding and adapt the values as the encoding proceeds. 37085
In the definition of arithmetic coding, there is no restriction that the probabilities remain unchanged during encoding, as long as the decoder can exactly mimic the changes in the probability values. One way of adapting the probabilities is to initialize counts Nb and Nw to 1 and after encoding each input symbol that is either a B or W, the corresponding count is incremented by one. The probabilities of W and B can be obtained from the counts, using,
N N Rw = — and Pw = . This initialization is an unbiased
NW + NΛ ΝW + NΛ initialization, since the initial values for Νb and Nw are equal. It is also possible to use a biased initialization. The aforementioned method to update the counts Nb and Nw helps to adapt to the local distribution of white and black pels. However, this scheme fails to exploit the redundancy present in the document. The counts N and Nw gives a measure of the probability of a pel being white or black. But, the probability of a pel being white or black can be better described if the "color" of some of the adjacent pels are known. This set of adjacent pels is defined to be the context. In Fig 2, the pel marked 's' is being presently encoded and the shaded pels form the context for 's'. The context in this case consists of 4 pels, each of which can be a B or W. So, there are 16 (= 24) possible combinations (or states) that the context can assume. The redundancy in the document can be exploited by maintaining a pair of counts for each possible state of the context. When a pel V is encoded, first the state is determined from the context and then the counts corresponding to that state are used in encoding.
It is necessary to exercise caution in selecting the context. Selecting too small a context might not exploit the redundancy in the document well, therefore will decrease the compression efficiency. Selecting too large a context, might just increase the computational complexity and memory requirements without contributing to the compression efficiency. The implementation of arithmetic coding that was used in the simulations for this invention is a modification of the version presented in Witten, I. H., Neal, R. M., Geary, J. G., "Arithmetic Coding for Data Compression", Communications of the ACM, Volume 30, Number 6, June 1987. An object of the present invention is the identification of proper contexts for standard facsimile documents, End Of Line (EOL) masking and error detection.
A further object is prevent the effect of a propagation of a transmission error to the whole document by using a combination of one-dimensional and two-dimensional arithmetic coding.
Another object is to present appropriate contexts for the probabilistic models associated with arithmetic coding for one and two dimensional cases.
Yet another object is to provide an error detection scheme to identify the presence of transmission errors.
SUMMARY OF THE INVENTION
The present invention is a facsimile system embodying a signal processing method wherein a document is scanned and a sequence of symbols is generated for each of a plurality of scan lines. The sequence of symbols are arithmetic encoded by mapping the symbols to real numbers in a predetermined interval. The real numbers are subject to a binary expansion for transmission by a transmitter. After transmission and reception at a receiver, the received signal is inverse mapped to retrieve the encoded signals.
The present invention further comprises arithmetic coding the scan lines using a combination of one-dimensional and two-dimensional arithmetic coding. Specifically, the arithmetic encoding step further comprises 2-D coding a first plurality of adjacent scan lines, followed by 1-D coding at least one scan line subsequent to the plurality of scan lines. This sequence of 2-D and 1 -D coding can be repeated for a plurality of scan lines generated from scanning a document. Yet another feature of the invention is the application of an end of line
(EOL) code to each encoded line. In particular, a first denomination bit is applied whenever a string of N second denomination bits occurs in the compressed bit stream, the combination of N second denomination bits being followed by a first denomination bit to identifying the sequence as not an EOL
A further feature of the invention is to conduct the scanning with a reduced horizontal resolution through minimum difference compression.
Yet another feature of the invention is to apply, at the end of an encoding of a scan line, M bits to represent the "quarter" in which the arithmetic coding interval lies.
BRIEF DESCRIPTION OF THE FIGURES
Figure 1 is a basic illustration of arithmetic coding as applied to the transmission of black and white symbols. Figure 2 is an illustration of a context for arithmetic coding using one dimensional (1-D) and two dimensional (2-D) approaches.
Figure 3 is a flow chart for error detection at the decoder, in accordance with the present invention.
Figure 4 is a flow chart of an arithmetic encoding algorithm used in the present invention.
Figure 5 is a flow chart of an arithmetic decoding algorithm used in the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention concerns a method and apparatus for compressing facsimile documents based on arithmetic coding. Underlying the invention is the use of a combination of one-dimensional and two-dimensional arithmetic coding, in order to ensure that the effect of a transmission error is not propagated to the whole document, together with an error detection scheme to identify the presence of transmission errors. Fundamental to the present invention is the task of identifying an appropriate context for one and two dimensional arithmetic coding. Figure 2 shows the contexts used for one and two dimensional coding. The appropriate contexts were arrived at after thorough experimentation with over 25 facsimile documents in standard resolution, as reflected in ITU recommendations. Specifically, the Standardization of Group 3 Facsimile Apparatus for Document Transmission, ITU-T Recommendation T.4, defines standard resolution to be 3.85 line/mm and 1728 pels along the scan line. According to the present invention, the horizontal resolution is reduced by half through a maximum-differences compression, which is designed to preserve the black- to-white or white-to-black transitions. The resulting document is then coded with arithmetic coding.
Also fundamental is the use of a combination of 1 -D and 2-D coding to code the lines in the facsimile document. A line is said to be 1-D coded, if the context used in coding the pels in that line does not contain any pels from the previous line. Similarly, a line is said to be 2-D coded, if the context used in coding the pels in that line contains pels from the previous lines. In accordance with a preferred embodiment of the invention, every fourth line is 1-D coded with the three intermediate lines coded by 2-D coding. Two dimensional coding exploits the vertical redundancy in the document, but allows decoding errors in a line to be propagated to the following lines. To prevent this, every fourth line is 1-D coded. This ensures that any error in the bitstream caused by the channel does not propagate to more than four lines.
Context for Arithmetic Coding
Figure imgf000010_0002
Table 1 : Prior Initialization of the probabilities for 2-dιmensιonal Mode of
Figure imgf000010_0001
Coding (the pels a, b, c, and d are as designated in Figure 1).
Table 1 shows the initial values of the counts used for the two dimensional coding. These initial counts have been arrived at through testing over a varied set of facsimile documents. Every fourth scan line is coded using one dimensional coding. When the following line is coded using two dimensional coding, the Nw and N are initialized according to Table 1. As the encoding process continues these counts are updated. For 1-D coding, if the context pel is a B, then Nb and Nw are initialized to be 9 and 1 respectively, and vice versa if the context pel is a W. The compression efficiency achieved is different for different documents, but is in the range of 1.6 to 2.0, when compared to the standard T4 one dimensional compression.
After each scan line is coded using arithmetic coding (either ID or 2D), it is terminated by an End Of Line (EOL) code. EOL is represented by a string of eleven zeros followed by a one (000000000001). It is necessary to ensure that this EOL bit combination does not occur in the compressed bit stream representing a scan line. This is achieved by introducing a ' 1 ' bit whenever a string of ten zeros occurs in the compressed bit stream. While decoding, if the decoder encounters a string of ten zeros and if the next bit is a ' 1 ', then it is discarded. If the string of ten zeros is followed by a '0' bit, it is an EOL.
If transmission errors are introduced, they can result in incorrect decoding of a scan line. However, it is possible to detect the occurrence of an error, since each scan line is delimited by an EOL and the number of pels in a scan line is known. There are two possible scenarios indicating the presence of an error. First, the entire scan line is decoded before an EOL is reached. Second, an EOL is encountered before the entire scan line is decoded. The algorithm used to implement arithmetic coding is a modification of the version presented in Witten, I. H., Neal, R. M., Geary, J. G., "Arithmetic Coding for Data Compression", Communications of the ACM, Volume 30, Number 6, June 1987, with 16 bit arithmetic. At the end of an encoding of a scan line, the encoder outputs two bits to represent the "quarter" in which the arithmetic coding interval lies. These two bits can be either '01 ' or '10' and will be followed by the EOL to denote the end of the scan line. However, if the last two bits happen to be '10', this trailing '0' can be confused with the zeros in EOL. To circumvent this, a ' 1 ' bit is introduced between the two bits representing the "quarter" and the EOL.
For a 16 bit arithmetic implementation, the decoder first reads the 16 bits of the compressed data and then exactly mimics the operation of the encoder, i.e., decoder maintains the changes in the values of the probabilities, coding interval and takes in input bits at the same time when the encoder outputs bits, etc. Owing to this nature of the implementation, the decoder "leads" the encoder by 16 bits, i.e., the decoder will require 16 bits more than the compressed data output by the encoder to generate a scan line. Since the encoder generates 15 extra bits (2 bits to represent the quarter, a ' 1 ' bit and 12 bits in EOL), the decoder would require one more bit after EOL is reached to completely decode a scan line. This is used to detect the presence of errors. The actual value of this extra bit, whether '0' or ' 1', is immaterial. If the decoder requires more than one extra bit after EOL to generate a scan line, then this is an indication of an error. On the other hand, if the decoder does not require an extra bit or if the scan line is decoded before the EOL is reached, this again is an indication of an error.
Fig 3 shows a flow chart for error detection at the decoder. As seen at the top of the figure, a series of compressed bits for a single scan line, illustrated as individual blocks with a 1 or a 0, is followed by an EOC comprising eleven 0's and a single 1. The bits are input to a process 101 for starting decoding and outputting a scan line of picture elements. That series of picture elements is provided to a decision 102 as to whether the number of picture elements equals M, where M is a desired number. If so, the processing proceeds along the Y path to a decision 103 as to whether the number of extra input bits used equals 1. If so, the Y path is followed and there is "no error". If not, the N path is followed and there is an "error detected". At decision 102, if the number of picture elements is not equal to M, the N path is followed and another decision 104 is used to determine whether EOL has been detected and an extra bit used. If EOL has been detected and an extra bit has been used, the Y path is followed and an "error detected" indication is given. If EOL has not been detected and extra bit used, the N path takes the program back to the start decoding and output scan line box 101 for further processing. The arithmetic coding algorithm presented in the "Background" section is not amenable to implementation with finite precision arithmetic, because of precision problems. It can be observed that the range and the lower bound are floating point numbers between 0.0 and 1.0. The value of range decreases every time an input symbol is encoded. Therefore, as the encoding process proceeds, more and more bits are required to represent the range and the lower bound. Eventually, the precision requirement will not be met by the hardware platform on which the algorithm is implemented.
A recourse to the above precision problem is to modify the arithmetic coding algorithm so that lower bound, upper bound and range are represented by integers and all operations are restricted to integer manipulations. A modified arithmetic coding algorithm that uses 16-bit integer arithmetic is presented here. In the following discussion, all divisions should be interpreted as integer divisions, i.e., for example, 10/3 = 3.
The initial coding interval of [0.0,1.0) is replaced by an integer interval of 0 to 216 — 1. The initial values of L0, U0 and R0 are chosen to be L0 = 0, U0 = 216 — 1 and R0 = 216. Two constants QUAR = (216 — 1)/4 and HALF=2 x QUAR are defined. The probabilities ~b and P,~, are restricted such that, both these probabilities can be written as a ratio of two integers, i.e., Pb = Nb/(Nb+Nw) and Pw = Nw /(Nb+Nw). Nw and Nb can be interpreted as the counts of number of occurrences of the B and W symbols. L(n.i), U(n-i) and R<n. i) are the values of lower bound, upper bound and range before the nth symbol is encoded.
With reference to Fig. 4, a flow chart for encoder operation is illustrated and at step 200, symbol to be encoded, as well as the counts Nw and Nb, the bounds L(n-i), U(„-i) and the range R<n-i), are input. The following steps are then taken to update these values. First, in a decision 201 , a check is made as to whether the nth symbol is B (or alternatively W). Then in steps 203 and 202, respectively: symbol is B:
Figure imgf000013_0001
= (<■-»
If the n'h symbol is W:
Figure imgf000013_0002
The range becomes,
R„ = U„ - L„ + 1. From the above rules, it can be observed that the range Rn decreases progressively. To avoid this problem, after encoding each symbol and updating Ln and Rn, the following steps are followed.
Repeat (by returning to point 204) until none of the following conditions are true:
{
Condition 1 at decision 205: If Un <HALF, then follow the Y path and output(O) at step 206; go to HERE at step 207; Condition 2 at decision 208: If Ln ≥HALF, then follow the Y path and output(l) at step 209;
Ln = Ln —HALF;
Un =Un —HALF; go to HERE at step 207; Condition 3 at decision 210: If L„ ≥QUAR and Un <3 QUAR, then follow the
Y path and proceed to step 211 where follow_bits=follow_bits+ 1;
Ln = Ln — QUAR;
Un =Un — QUAR; go to HERE at step 207;
HERE at step 207: Ln = 2 Ln;Un = 2 U„+l;
} where the function output() takes in a 0 or 1 as an argument and is defined as follows:
output(x)
{send x to the decoder; if (follow_bits>0 and x=0) then send follow bits l's to the decoder; if (follow_bits>0 and x= 1 ) then send follow_bits O's to the decoder;
}
After encoding all input symbols, two more bits corresponding to the 5 quarter in which the coding interval lies are sent. If the lower bound is less than QUAR, then the upper bound is greater than HALF, and the coding interval spans the interval QUAR to HALF. To represent this, bits 01 are sent. If the lower bound is greater than or equal to QUAR, then the upper bound is greater than 3* QUAR, and the coding interval spans the interval HALF to 10 3* QUAR. To represent this, bits 10 are sent.
Turning next to the arithmetic decoder, its functions may be understood with regard to Fig. 5 as follows. To begin with at step 300, 16 bits received from the encoder are stored in a register value, with the first received bit placed at the MSB position and the 16th bit placed at the LSB. L0, U0, Ro, 15 Nb, Nw, QUAR and HALF are initialized to be exactly the same as at the encoder. The decoder performs the same operations performed at the encoder by updating the lower, upper bound and range. Since the update rules are different for symbols B and W, the decoder has to first decode the symbol. The following rule in step 301 is used to decode the symbol:
~ κ .. [(value - Ln + 1)(NΛ + NH,) - 1] τ , , , . . „
20 if 2 0_* *1 — i >ΝW then the symbol is B,
R.. otherwise the symbol is W.
Then in steps 303 and 302, respectively:
symbol is B:
n= V.) + * N*
N> + N. = U (,n-D-
If the 7 symbol is W:
Figure imgf000016_0001
The range becomes,
Rn = U„ - L„ + l. From the above rules, it can be observed that the range Rn decreases progressively. To avoid this problem, after encoding each symbol and updating Ln and Rn, the following steps are followed.
Repeat (by returning to point 304) until none of the following conditions are true:
{ Condition 1 at decision 305: If Un <HALF, then follow the Y path and input(O) at step 306; go to HERE at step 307; Condition 2 at decision 308: If Ln ≥HALF, then follow the Y path and input(l) at step 309; Ln = Ln — HALF;
Un =Un —HALF; go to HERE at step 307; Condition 3 at decision 310: If Ln ≥QUAR and Un <3 QUAR, then follow the Y path and proceed to step 311 where follow_bits=follow_bits+ 1; Ln = Ln — QUAR; Un =Un — QUAR; go to HERE at step 307; HERE at step 307: Ln = 2 Ln;Un = 2 U„+l; } where the function input() takes in a 0 or 1 as an argument and is defined as follows:
input(x)
{send x to the encoder; if (follow_bits>0 and x=0) then send follow_bits l's to the encoder; if (follow_bits>0 and x= 1 ) then send follow_bits 0's to the encoder;
}
Note the difference at the decoder in that it uses an input() function in place of the output(x) function used at the encoder. The input() function performs the following: input() {
Left shift the value register by one position;
Place the next bit received from the encoder at the LSB position of value;
}
While the present invention has been described according to certain preferred embodiments, embodiments are for illustrative purposes only and the invention is not limited thereto, but is defined by the claims appended hereto.

Claims

I claim:
1. In a facsimile system, a signal processing method comprising : scanning a document and generating a sequence of symbols for each of a plurality of scan lines; arithmetic encoding said sequence of symbols in said scan lines by mapping said symbols to real numbers in a predetermined interval; transmitting a signal comprising a binary expansion of said real numbers; receiving said transmitted signal; and inverse mapping said received signals to retrieve the encoded symbols.
2. The method of claim 1 wherein said arithmetic encoding step further comprises arithmetic coding said scan lines using a combination of one-dimensional and two-dimensional arithmetic coding.
3. The method of claim 2 wherein said arithmetic encoding step further comprises 2-D coding a first plurality of adjacent scan lines followed by 1-D coding at least one scan line a subsequent to said plurality of scan lines.
4. The method of claim 3 wherein said steps of 2-D encoding followed by 1 -D encoding are repeated for a plurality of scan lines generated from a scanning a document.
5. The method of claim 4 wherein, following a 1-D coding of a scan line, a subsequent 2-D encoded line is initialized using updated context.
6. The method of claim 1 wherein said transmitting step comprises applying an end of line (EOL) code to each encoded line.
7. The method of claim 5, further comprising applying a first denomination bit whenever a string of N second denomination bits occurs in the compressed bit stream, said combination of N second denomination bits followed by a first denomination bit to identifying the sequence as not an EOL.
8. The method of claim 1 wherein said scanning step is conducted with a reduced horizontal resolution through minimum difference compression.
9. The method of claim 1 wherein the arithmetic encoding step comprises, at the end of an encoding of a scan line, applying M bits to represent the "quarter" in which the arithmetic coding interval lies.
10. The method of claim 9 wherein said 2 bits are followed by an EOL to denote the end of the scan line and a third bit is introduced between the two bits representing the "quarter" and the EOL.
1 1. The method of claim 1 wherein said arithmetic encoding step represents black and white pels, and wherein the arithmetic coding algorithm utilizes parameters defining a lower bound, an upper bound and a range, wherein said parameters are represented by intergers and all processing comprises interger manipulations.
12. A method of encoding a compressed facsimile signal, comprising a plurality of B and W symbols, using arithmetic coding, comprising: inputting a symbol to be encoded, as well as initial values of counts Nw and Nb, , where N and NB are the counts of the number of occurrences of the B and W symbols, lower bound L(n.i), upper bound U(n-i) and the range R n-i); updating said initial values, said updating step comprising: checking whether the nth symbol is B or W; If the n'h symbol is B:
L - L , V') - .
Nb + Nw
Figure imgf000020_0001
symbol is W:
Figure imgf000020_0002
U **
The range becomes,
Rn = Un - Ln + l . after encoding each symbol and updating Ln and RnΓÇ₧ repeat the process until none of the following conditions are true:
{ Condition 1 : If U„ <HALF, then follow the Y path and output(O); go to HERE; Condition 2: If Ln ≥HALF, then follow the Y path and output(l); Ln = Ln —HALF; Un =Un —HALF; go to HERE;
Condition 3: If L„ ≥QUAR and Un <3 QUAR, then follow_bits=follow_bits+ 1; Ln = Ln — QUAR; Un =Un — QUAR; go to HERE;
HERE : Ln = 2 Ln;Un = 2 UΓÇ₧+l;
} where the function output() takes in a 0 or 1 as an argument and is defined as follows: output(x)
{send x to the decoder; if (folio w_bits>0 and x=0) then send follow_bits l's to the decoder; if (follow_bits>0 and x= 1) then send folio w_bits 0's to the decoder;
}
13. The method of claim 12, whererin, after encoding all input symbols, two more bits corresponding to the quarter in which the coding interval lies are sent.
14. The method of claim 13 wherein, if the lower bound is less than QUAR, then the upper bound is greater than HALF, and the coding interval spans the interval QUAR to HALF and bits 01 are sent; and if the lower bound is greater than or equal to QUAR, then the upper bound is greater than 3* QUAR, and the coding interval spans the interval HALF to 3*QUAR and bits 10 are sent.
15. A method of decoding a compressed facsimile signal, representing a plurality of B and W symbols that were encoded by using arithmetic coding, comprising: inputting a symbol to be encoded, as well as initial values of counts Nw and Nb, , where Nw and NB are the counts of the number of occurrences of the B and W symbols, lower bound L(n-i), upper bound U(n.i) and the range R(n-i); updating said initial values, said updating step comprising: checking whether the nth symbol is B or W; If the n'h symbol is B:
Figure imgf000022_0001
U = U, («-!)•
If the rih symbol is W:
Figure imgf000022_0002
The range becomes.
RΓÇ₧ = UΓÇ₧ - LΓÇ₧ + 1. after encoding each symbol and updating Ln and RnΓÇ₧ repeat the process until none of the following conditions are true:
{ Condition 1 : If U„ <HALF, then follow the Y path and output(O); go to HERE; Condition 2: If L„ ≥HALF, then follow the Y path and output(l); Ln = Ln —HALF; Un =Un —HALF; go to HERE;
Condition 3: If L„ ≥QUAR and Un <3 QUAR, then follow_bits=follow_bits+ 1; Ln = Ln — QUAR; Un -Un — QUAR; go to HERE;
HERE : Ln = 2 Ln;Un = 2 UΓÇ₧+l;
} where the function output() takes in a 0 or 1 as an argument and is defined as follows: output(x)
{send x to the encoder; if (follow_bits>0 and x=0) then send follow_bits l's to the encoder; if (follow_bits>0 and x= 1 ) then send follow_bits 0's to the encoder;
}
16. The method of claim 15, further comprising using two or more bits corresponding to the quarter in which the coding interval lies are sent for decoding.
17. The method of claim 15 wherein, if the lower bound is less than QUAR, then the upper bound is greater than HALF, and the coding interval spans the interval QUAR to HALF and bits 01 used; and if the lower bound is greater than or equal to QUAR, then the upper bound is greater than 3* QUAR, and the coding interval spans the interval HALF to 3* QUAR and bits 10 are used.
18. A facsimile system, comprising : means for scanning a document and generating a sequence of symbols for each of a plurality of scan lines; means for arithmetic encoding said sequence of symbols in said scan lines by mapping said symbols to real numbers in a predetermined interval; means for transmitting a signal comprising a binary expansion of said real numbers; means for receiving said transmitted signal; and means for inverse mapping said received signals to retrieve the encoded symbols.
19. The system of claim 18 wherein said arithmetic encoding means further comprises means for arithmetic coding said scan lines using a combination of one-dimensional and two-dimensional arithmetic coding.
20. The system of claim 19 wherein said arithmetic encoding means further comprises means for 2-D coding a first plurality of adjacent scan lines followed by 1-D coding at least one scan line a subsequent to said plurality of scan lines.
21. A facsimile system comprising: a transmitter, said transmitter comprising an arithmetic encoder for encoding a compressed facsimile signal, comprising a plurality of B and W symbols, using arithmetic coding, said encoder comprising: means for inputting a symbol to be encoded, as well as initial values of counts Nw and Nb, , where Nw and NB are the counts of the number of occurrences of the B and W symbols, lower bound L(n-i), upper bound U(n-i) and the range R(n-i); means for updating said initial values, said updating step comprising: checking whether the nth symbol is B or W;
If the n'h symbol is B:
= h V.,
Nb + Nw
U = U, (*-!)ΓÇó
If the n'h symbol is W:
Γûá
Ό VO Λ;,-., NW — 1 .
Nb + NΓÇ₧
The range becomes.
Rn = Un - Ln + l . means for, after encoding each symbol and updating Ln and RnΓÇ₧ repeating the process until none of the following conditions are true:
{
Condition 1 : If Un <HALF, then follow the Y path and output(O); go to HERE; Condition 2: If Ln ≥HALF, then follow the Y path and output(l); Ln = Ln —HALF;
Un =Un —HALF; go to HERE; Condition 3: If L„ ≥QUAR and Un <3 QUAR, then follow_bits=follow_bits+ 1; Ln = Ln —QUAR;
Un =Un ΓÇö QUAR; go to HERE; HERE : Ln = 2 LΓÇ₧;Un = 2 UΓÇ₧+l;
} where the function output() takes in a 0 or 1 as an argument and is defined as follows:
output(x)
{send x to the decoder; if (follow_bits>0 and x=0) then send follow_bits 1' s to the decoder; if (follow_bits>0 and x= 1) then send folio w_bits 0's to the decoder;
{ and a receiver, said receiver comprising a means for decoding a compressed facsimile signal, representing a plurality of B and W symbols that were encoded by using arithmetic coding, comprising: means for inputting a symbol to be encoded, as well as initial values of counts Nw and Nb, , where Nw and NB are the counts of the number of occurrences of the B and W symbols, lower bound L(n-i), upper bound U(n-i) and the range R(n-i); means for updating said initial values, said updating step comprising: checking whether the nth symbol is B or W;
If the 7 symbol is B:
N_
OO +^
"X
U = U, (π-1 )-
If the rih symbol is W:
Figure imgf000026_0001
" ' Nb + Nw
The range becomes,
Rn = UΓÇ₧ - LΓÇ₧ + l. means for, after encoding each symbol and updating Ln and RnΓÇ₧ repeating the process until none of the following conditions are true:
{
Condition 1 : If Un <HALF, then follow the Y path and output(O); go to HERE; Condition 2: If Ln ≥HALF, then follow the Y path and output(l); Ln = Ln —HALF; • Un =Un —HALF; go to HERE; Condition 3: If L„ ≥QUAR and Un <3 QUAR, then follow_bits=follow_bits+ 1; Ln = Ln — QUAR; Un =Un —QUAR; go to HERE; HERE : Ln = 2 Ln;Un = 2 U„+l;
} where the function output() takes in a 0 or 1 as an argument and is defined as follows:
output(x)
{send x to the encoder; if (follow_bits>0 and x=0) then send follow_bits l's to the encoder; if (follow_bits>0 and x= 1 ) then send follow bits O's to the encoder.
PCT/US1999/000865 1998-01-16 1999-01-15 Arithmetic coding-based facsimile compression with error detection WO1999037085A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/600,291 US6760129B1 (en) 1998-01-16 1999-01-15 Arithmetic coding-based facsimile compression with error detection
AU22296/99A AU2229699A (en) 1998-01-16 1999-01-15 Arithmetic coding-based facsimile compression with error detection

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US7168098P 1998-01-16 1998-01-16
US60/071,680 1998-01-16

Publications (2)

Publication Number Publication Date
WO1999037085A2 true WO1999037085A2 (en) 1999-07-22
WO1999037085A3 WO1999037085A3 (en) 1999-10-14

Family

ID=22102891

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/000865 WO1999037085A2 (en) 1998-01-16 1999-01-15 Arithmetic coding-based facsimile compression with error detection

Country Status (2)

Country Link
AU (1) AU2229699A (en)
WO (1) WO1999037085A2 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6683173B2 (en) 1998-04-03 2004-01-27 Epoch Biosciences, Inc. Tm leveling methods
US6949367B1 (en) 1998-04-03 2005-09-27 Epoch Pharmaceuticals, Inc. Modified oligonucleotides for mismatch discrimination
US7045610B2 (en) 1998-04-03 2006-05-16 Epoch Biosciences, Inc. Modified oligonucleotides for mismatch discrimination
EP1944310A2 (en) 2000-03-01 2008-07-16 Epoch Biosciences, Inc. Modified oligonucleotides for mismatch discrimination
EP1975256A1 (en) 2000-03-01 2008-10-01 Epoch Biosciences, Inc. Modified oligonucleotides for mismatch discrimination
US7715989B2 (en) 1998-04-03 2010-05-11 Elitech Holding B.V. Systems and methods for predicting oligonucleotide melting temperature (TmS)
WO2012129547A1 (en) 2011-03-23 2012-09-27 Elitech Holding B.V. Functionalized 3-alkynyl pyrazolopyrimidine analogues as universal bases and methods of use
WO2013048583A2 (en) 2011-05-24 2013-04-04 Elitech Holding B.V. Detection of methicillin-resistant staphylococcus aureus
WO2014159063A1 (en) 2013-03-14 2014-10-02 Elitech Holding B.V. Functionalized 3-alkynyl pyrazolopyrimidine analogues as universal bases and methods of use
WO2014186147A2 (en) 2013-05-13 2014-11-20 Elitech Holding B.V. Droplet digital pcr with short minor groove probes
WO2016094607A2 (en) 2014-12-12 2016-06-16 Elitechgroup B.V. Methods and compositions for detecting antibiotic resistant bacteria
WO2016094162A1 (en) 2014-12-12 2016-06-16 Elitechgroup B.V. Methods and compositions for detecting antibiotic resistant bacteria

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4891643A (en) * 1986-09-15 1990-01-02 International Business Machines Corporation Arithmetic coding data compression/de-compression by selectively employed, diverse arithmetic coding encoders and decoders
US4905297A (en) * 1986-09-15 1990-02-27 International Business Machines Corporation Arithmetic coding encoder and decoder system
US5442458A (en) * 1991-12-18 1995-08-15 Eastman Kodak Company Method and associated apparatus for encoding bitplanes for improved coding efficiency
US5781136A (en) * 1996-06-19 1998-07-14 Mitsubishi Denki Kabushiki Kaisha Digital information encoding device, digital information decoding device, digital information encoding/decoding device, digital information encoding method, and digital information decoding method
US5809176A (en) * 1994-10-18 1998-09-15 Seiko Epson Corporation Image data encoder/decoder system which divides uncompresed image data into a plurality of streams and method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4891643A (en) * 1986-09-15 1990-01-02 International Business Machines Corporation Arithmetic coding data compression/de-compression by selectively employed, diverse arithmetic coding encoders and decoders
US4905297A (en) * 1986-09-15 1990-02-27 International Business Machines Corporation Arithmetic coding encoder and decoder system
US5442458A (en) * 1991-12-18 1995-08-15 Eastman Kodak Company Method and associated apparatus for encoding bitplanes for improved coding efficiency
US5809176A (en) * 1994-10-18 1998-09-15 Seiko Epson Corporation Image data encoder/decoder system which divides uncompresed image data into a plurality of streams and method thereof
US5781136A (en) * 1996-06-19 1998-07-14 Mitsubishi Denki Kabushiki Kaisha Digital information encoding device, digital information decoding device, digital information encoding/decoding device, digital information encoding method, and digital information decoding method

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7715989B2 (en) 1998-04-03 2010-05-11 Elitech Holding B.V. Systems and methods for predicting oligonucleotide melting temperature (TmS)
US6949367B1 (en) 1998-04-03 2005-09-27 Epoch Pharmaceuticals, Inc. Modified oligonucleotides for mismatch discrimination
US7045610B2 (en) 1998-04-03 2006-05-16 Epoch Biosciences, Inc. Modified oligonucleotides for mismatch discrimination
US7368549B2 (en) 1998-04-03 2008-05-06 Epoch Biosciences, Inc. Tm leveling compositions
US6683173B2 (en) 1998-04-03 2004-01-27 Epoch Biosciences, Inc. Tm leveling methods
US7751982B2 (en) 1998-04-03 2010-07-06 Elitech Holding B.V. TM leveling methods
EP1944310A2 (en) 2000-03-01 2008-07-16 Epoch Biosciences, Inc. Modified oligonucleotides for mismatch discrimination
EP1995330A1 (en) 2000-03-01 2008-11-26 Epoch Biosciences, Inc. Modified oligonucleotides for mismatch discrimination
EP1975256A1 (en) 2000-03-01 2008-10-01 Epoch Biosciences, Inc. Modified oligonucleotides for mismatch discrimination
WO2012129547A1 (en) 2011-03-23 2012-09-27 Elitech Holding B.V. Functionalized 3-alkynyl pyrazolopyrimidine analogues as universal bases and methods of use
WO2013048583A2 (en) 2011-05-24 2013-04-04 Elitech Holding B.V. Detection of methicillin-resistant staphylococcus aureus
EP2801626A1 (en) 2011-05-24 2014-11-12 Elitech Holding B.V. Detection of methicillin-resistant staphylococcus aureus
WO2014159063A1 (en) 2013-03-14 2014-10-02 Elitech Holding B.V. Functionalized 3-alkynyl pyrazolopyrimidine analogues as universal bases and methods of use
WO2014186147A2 (en) 2013-05-13 2014-11-20 Elitech Holding B.V. Droplet digital pcr with short minor groove probes
WO2016094607A2 (en) 2014-12-12 2016-06-16 Elitechgroup B.V. Methods and compositions for detecting antibiotic resistant bacteria
WO2016094162A1 (en) 2014-12-12 2016-06-16 Elitechgroup B.V. Methods and compositions for detecting antibiotic resistant bacteria
US9988670B2 (en) 2014-12-12 2018-06-05 Elitechgroup B.V. Methods and compositions for detecting antibiotic resistant bacteria

Also Published As

Publication number Publication date
WO1999037085A3 (en) 1999-10-14
AU2229699A (en) 1999-08-02

Similar Documents

Publication Publication Date Title
US5045852A (en) Dynamic model selection during data compression
US5297220A (en) Image processing system for image compression and decompression
US20020172427A1 (en) Adaptive encoding and decoding of bi-level images
US6351569B1 (en) Coding method, decoding method, coding device and decoding device
EP0253326B1 (en) Method and apparatus for encoding and decoding dither signals for reproduction of the halftone of a picture
KR102400372B1 (en) Method and encoder relating to encoding of pixel values to accomplish lossless compression of a digital image
WO1999037085A2 (en) Arithmetic coding-based facsimile compression with error detection
US6373408B1 (en) Encoding apparatus, decoding apparatus, encoding/decoding apparatus, encoding method and decoding method
Ono et al. Bi-level image coding with MELCODE-comparison of block type code and arithmetic type code
US6728412B1 (en) Method and apparatus for on-the-fly image coding
EP0658982B1 (en) System for bi-level symbol coding-decoding with saved storage and method for the same
Bartrina-Rapesta et al. A lightweight contextual arithmetic coder for on-board remote sensing data compression
US6760129B1 (en) Arithmetic coding-based facsimile compression with error detection
US5715332A (en) Image transmission method, and apparatus therefor
JP2007306513A (en) Method and device for image data compression
JPH05151349A (en) Image data compressing method and encoding circuit
Usubuchi et al. Adaptive predictive coding for newspaper facsimile
EP0357388A2 (en) Image encoding method
EP0047382A2 (en) Adaptive compression encoding of a binary-source symbol string
JPH07123276A (en) Digital compression coding method for picture signal
US6870491B2 (en) Data decompression technique for image processing
JP3359214B2 (en) Multi-level image coding device
Denecker et al. A comparative study of lossless coding techniques for screened continuous-tone images
JP3732329B2 (en) Pseudo halftone image encoding apparatus and encoding method
JP4526069B2 (en) Image information arithmetic coding apparatus and image information arithmetic decoding apparatus

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
NENP Non-entry into the national phase in:

Ref country code: KR

WWE Wipo information: entry into national phase

Ref document number: 09600291

Country of ref document: US

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase