V.44 Data Compression

V.44 Modem is a lossless data compression procedure for use with V-series data circuit-terminating equipment (DCEs) as well as packet networks. The principal characteristics are:

  • Compression procedure based on an algorithm that encodes strings of characters input Terminal equipment (DTE) as binary codes of variable length
  • Decoding procedure that recovers the strings of characters from received binary codes of variable length
  • A string-building mechanism that rapidly extends existing strings
  • An automatically invoked transparent mode of operation when uncompressible data are detected

For correct operation of the data compression function, it is necessary that an error-correcting procedure be implemented between the two entities using V.44 Modem. In the case of Vseries Recommendations, the Link Access Procedure for Modems (LAPM) error-correcting procedures defined in Recommendation V.42 or the error-correcting procedures in Recommendations V.76 or V.120 are implemented. Undetected bit errors cause mis-operation of the data compression function. Use of a 32-bit frame check sequence (FCS), as defined in ISO/IEC 13239, substantially reduces the possibility of such errors, and may be desirable in environments with severe impairments. This 32-bit FCS is an option in V.42 LAPM. The data compression function is used with an error-correcting DCE. The elements of an error-correcting V-series DCE are specified in Recommendation V.42.

The V.44 Modem data compression function consists of an encoder and a decoder. A data connection, in general, supports data transmission in both directions, and thus can support data compression in both directions. Thus, each data connection peer can have an encoder and a decoder. The encoder transfers compressed data to its peer decoder at the other end of the connection, and the decoder decompresses the compressed data received from its peer encoder. The encoder-decoder pair for each direction must have coordinated data compression parameter values, established through negotiation; however at any one end, the encoder and decoder parameter values may differ, since they refer to different directions of transmission.

Characters from the DTE input to the encoder are matched against any previously identified strings of characters. If a string is matched, the codeword representing the string is transferred, and then an attempt is made to extend the matched string to encode additional characters and create a new and longer string. If no string match is found, the ordinal corresponding to the first character is transferred<.

The V.44 encoder continually adds to its set of strings available for matching, by placing input characters into the history and by adding nodes to the node-tree. When either of these becomes full, the dictionary is reinitialized, and the encoding operation continues as before. The decoder creates strings that replicate the strings created by its peer encoder, using the same assigned codewords. By using these strings, it decompresses the received compressed data stream. The decoder dictionary is reinitialized upon receipt of a REINIT control code.

VOCAL's embedded software libraries include a complete range of ETSI / ITU / IEEE compliant algorithms, in addition to many other standard and proprietary algorithms. Our software is optimized for execution on ANSI C and leading DSP architectures (TI, ADI, AMD, ARM, MIPS, CEVA, LSI Logic ZSP, etc.). These libraries are modular and can be executed as a single task under a variety of operating systems or standalone with its own microkernel.

Datasheet