Definition - What does Lossless Compression mean?
Lossless compression involves compressing data in such a way that the original data set is fully reconstructed upon reversal of compression. This is in contrast to "lossy" compression, where some data may be lost in the reversal process.
Lossless compression is also known as lossless audio compression.
Techopedia explains Lossless Compression
A general way to think about lossless compression is that for many types of files, including executable programs and code modules, it’s absolutely imperative that all of the data in a compressed format is fully reconstructed when the compression is reversed. Technologies like zip file utilities provide this kind of service, while unzipping files leads to fully reconstituted data sets. In contrast, for music, image or video, it may be acceptable to have some data loss after compression. That’s because although the quality of the media may be affected, these formats will still be digestible and useful with some data loss.
The achievement of lossless compression works through sets of highly sophisticated algorithms. Many of these include modeling the data for compression to evaluate how to cut down on the necessary storage space without affecting the reconstitution of the data set. Experts point out that all sorts of different lossless compression strategies work differently. Any technique that can decrease storage requirements while providing full data reconstitution could be described as lossless compression. Some of these work on the basis of probable versus improbable data construction, where algorithms can guess or predict how data sets may be put together in order to reconstitute a file.
A closer look at lossless compression algorithms show that many of them work through the principle of eliminating or handling redundancy. Using strategies like bit string replacements and data conversion, these algorithms can make files smaller while providing a kind of shorthand that machines can use to reconstitute the data at a later time. Again, there are many ways to do this, including helpful pointers that can provide consistent values for redundant bits of data.