A method of processing data for transmission from a transmitter to a receiver, both of which are switchable between a compression mode in which a data stream is encoded or decoded with a data compression algorithm and a transparent mode in which the data stream is transmitted or received unencoded, said method comprising:
- reading an input data stream at the transmitter, encoding at least part of the input data stream with the data compression algorithm to form a compressed data stream, monitoring the efficiency of compression of the compressed data stream and controlling the switching of the mode of the transmitter and receiver so that the input data stream is transmitted efficiently,
- in which,
- in the transparent mode, both the receiver and the transmitter check independently the efficiency of compression and each switches itself to the compression mode if the transparent mode is locally determined to be inefficient, and
- in the compression mode, only the transmitter determines the efficiency of compression and transmits a control code to the receiver if efficiency is lost, both the receiver and transmitter thereby switching to the transparent mode in response to the transmitter-generated efficiency determination if the compression mode is determined to be inefficient by the transmitter.