What is Data Compression and why do we need it?
In Computer Science and Information Theory, Data Compression is the process of encoding information using fewer bits than a decoded representation would use through the use of specific encoding schemes.
It is the art or science of representing information in a compact form. This compaction of information is done by identifying the structure that exists in the data.
Compressed Data Communication only works when both the sender and the receiver of the information understand the encoding scheme.
For example, any text makes sense only if the receiver understands that it is intended to be interpreted as characters representing the English Language.
Similarly, the compressed data can only be understood if the decoding method is known by the receiver.
Why do we need Data Compression?
Compression is needed because it helps to reduce the consumption of expensive resources such as a hard disk or transmission bandwidth.
As an uncompressed text or multimedia (speech, image, or video) data requires a huge amount of bits to represent them and thus require large bandwidth, this storage space and bandwidth requirement can be decreased by applying a proper encoding scheme for compression.
The design of data compression schemes involves a trade-off among various factors including the degree of compression, the amount of distortion introduced and the computational resources required to compress and decompress the data.