Compression is an option naturally selected when faced with problems of high costs or restricted space. This book offers readers a succinct and reader-friendly foundation to the most important topics in the field of data compression. Complete and clear, it is the perfect reference for advanced undergraduates in computer science and requires a minimum of mathematics. An author-maintained website provides readers with errata and auxiliary material. Divided into two parts, Part I presents the basic approaches to data compression and describes a few popular techniques and methods that are commonly used to compress data. The reader will discover essential concepts. Part II concentrates on advanced techniques, such as arithmetic coding, orthogonal transforms, subband transforms and Burrows-Wheeler transform.