This book explains the fundamental theories and techniques of data compression, with coverage of both lossy and lossless methods. Sayood explains the theoretical underpinnings of the algorithms so that readers learn how to model structures in data and design compression packages of their own.