Top Document: comp.compression Frequently Asked Questions (part 1/3)
A description of the V.42bis standard is given in "The V.42bis standard for data-compressing modems," by Clark Thomborson <cthombor@theory.lcs.mit.edu>, IEEE Micro, Oct 1992, pp. 41-53. If you are looking for freeware source of V.42bis, please read the note below by Peter Gutman explaining why there is no such source code. Short introduction, by Alejo Hausner <hausner@qucis.queensu.ca>: The V.42bis Compression Standard was proposed by the International Consultative Committee on Telephony and Telegraphy (CCITT, now ITU-T) as an addition to the v.42 error-correction protocol for modems. Its purpose is to increase data throughput, and uses a variant of the Lempel-Ziv-Welch (LZW) compression method. It is meant to be implemented in the modem hardware, but can also be built into the software that interfaces to an ordinary non-compressing modem. V.42bis can send data compressed or not, depending on the data. There are some types of data that cannot be compressed. For example, if a file was compressed first, and then sent through a V.42bis modem, the modem would not likely reduce the number of bits sent. Indeed it is likely that the amount of data would increase somewhat. To avoid this problem, the algorithm constantly monitors the compressibility of the data, and if it finds fewer bits would be necessary to send it uncompressed, it switches to transparent mode. The sender informs the receiver of this transition through a reserved code word. Henceforth the data is passed as plain bytes. While transmitting in transparent mode, the sender maintains the LZW trees of strings, and expects the receiver to do likewise. If it finds an advantage in returning to compressed mode, it will do so, first informing the receiver by a special escape code. Thus the method allows the hardware to adapt to the compressibility of the data. The choice of escape code is clever. Initially, it is a zero byte. Any occurrence of the escape code is replaced, as is customary, by two escape codes. In order to prevent a string of escape codes from temporarily cutting throughput in half, the escape code is redefined by adding 51 mod 256 each time it is used. A note from Peter Gutman <pgut01@cs.auckland.ac.nz> about V.42bis implementations: V.42bis is covered by patents, and the licensing terms are rather complex because you need to license it from multiple organisations. At one point British Telecom were charging something like 30,000 pounds for a license (this was a few years ago, things may have changed since then). Because of this, noone has ever implemented a freely-available version of V.42bis as you'd find in a modem. There is a Unix implementation (called "compact") of a V.42bis-like algorithm which comes with a great many disclaimers that it can only be used for research purposes. [Note from FAQ maintainer: "compact" is available in ftp://ftp.sunet.se/pub/usenet/ftp.uu.net/comp.sources.misc/volume15/compact_sv/part01.gz The 'shrink' method of zip 1.1 (see item 2 above) is also similar to V.42bis] If you've ever wondered why noone other than modem manufacturers ever use V.42bis for anything, this is it. Some CCITT (ITU-T) standards documents are available by ftp in ftp://ftp.fdn.org/pub/Library/Ccitt-standards/ccitt/ A mail server for CCITT (ITU-T) documents is available at teledoc@itu.arcom.ch or itudoc@itu.ch. A Gopher server is also available at gopher://info.itu.ch The V42bis standard is also in ftp://ftp.std.com/obi/Standards/Telcom/CCITT/ For ISO documents, try http://www.iso.ch/ See also item 20 below for other sites with standards documents.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4