Innovations in communication systems and technology are growing tremendously. In multimedia communication systems, technology has transformed from analog television to digital television in the video domain. Mobile phones are known as smart phones as they are used, not only to make voice calls, but also used to send emails, video calls, transfer data, GPS, taking pictures and so on. Due to the widespread user applications, compression of data becomes important to save system resources. Video occupies 75% of data transfer traffic and is expected to cover 80% by the end of 2021. Video is also continuously increasing in file size from standard definition (SD) to ultra-high definition (UHD - 4K, 8K and 12K) video. More data or size in video requires higher transmission bandwidth or more disk space to store which can be slow and expensive. This drives the improvements in compression and hence the demand for a new codec. Several algorithms are used to achieve compression of Image or Video files, these algorithms working together are classified in terms of codecs and we use different codecs for different applications. Advances in video compression technology reduce the utilization of system resources, like processing time, memory use, network bandwidth and battery life. This is possible by reducing the complexity of the video codecs without compromising on the output video quality. There are two distinct lines in the future video coding technology development work. Essential Video Coding (EVC) driven by MPEG team and Versatile Video Codec (VVC) driven by Joint Video Exploration Team (JVET). These codecs are the extended versions with advances in compression technologies when compared to the prior video codecs or reference codecs like H.264 and HEVC. This book is devoted to the theory and design of different algorithms used in the video codecs to obtain efficient implementation and reconstruction of codec outputs. It also addresses the most recent codecs being developed, i.e., VVC and EVC along with the reference codecs, i.e., H.264 and HEVC. It also summarises the study results achieved by the international research community across four decades for different codecs and provides a comparison of their outputs. The book also emphasises the various algorithmic developments in the encoder and decoder blocks of the respective video codecs: motion estimation, motion vectors, motion compensation, block representation, transform domain, quantization, entropy coding methods for each codec. This book also touches on the practical aspects of different codecs along with projects at the end of each chapter which act as a good reference for the implementation of the codec software.