Source Coding Theory


Book Description

Source coding theory has as its goal the characterization of the optimal performance achievable in idealized communication systems which must code an information source for transmission over a digital communication or storage channel for transmission to a user. The user must decode the information into a form that is a good approximation to the original. A code is optimal within some class if it achieves the best possible fidelity given whatever constraints are imposed on the code by the available channel. In theory, the primary constraint imposed on a code by the channel is its rate or resolution, the number of bits per second or per input symbol that it can transmit from sender to receiver. In the real world, complexity may be as important as rate. The origins and the basic form of much of the theory date from Shan non's classical development of noiseless source coding and source coding subject to a fidelity criterion (also called rate-distortion theory) [73] [74]. Shannon combined a probabilistic notion of information with limit theo rems from ergodic theory and a random coding technique to describe the optimal performance of systems with a constrained rate but with uncon strained complexity and delay. An alternative approach called asymptotic or high rate quantization theory based on different techniques and approx imations was introduced by Bennett at approximately the same time [4]. This approach constrained the delay but allowed the rate to grow large.




Source and Channel Coding


Book Description

oW should coded communication be approached? Is it about prob H ability theorems and bounds, or about algorithms and structures? The traditional course in information theory and coding teaches these together in one course in which the Shannon theory, a probabilistic the ory of information, dominates. The theory's predictions and bounds to performance are valuable to the coding engineer, but coding today is mostly about structures and algorithms and their size, speed and error performance. While coding has a theoretical basis, it has a practical side as well, an engineering side in which costs and benefits matter. It is safe to say that most of the recent advances in information theory and coding are in the engineering of coding. These thoughts motivate the present text book: A coded communication book based on methods and algorithms, with information theory in a necessary but supporting role. There has been muchrecent progress in coding, both inthe theory and the practice, and these pages report many new advances. Chapter 2 cov ers traditional source coding, but also the coding ofreal one-dimensional sources like speech and new techniques like vector quantization. Chapter 4 is a unified treatment of trellis codes, beginning with binary convolu tional codes and passing to the new trellis modulation codes.




Distributed Source Coding


Book Description

The advent of wireless sensor technology and ad-hoc networks has made DSC a major field of interest. Edited and written by the leading players in the field, this book presents the latest theory, algorithms and applications, making it the definitive reference on DSC for systems designers and implementers, researchers, and graduate students. This book gives a clear understanding of the performance limits of distributed source coders for specific classes of sources and presents the design and application of practical algorithms for realistic scenarios. Material covered includes the use of standard channel codes, such as LDPC and Turbo codes, to DSC, and discussion of the suitability of compressed sensing for distributed compression of sparse signals. Extensive applications are presented and include distributed video coding, microphone arrays and securing biometric data. - Clear explanation of the principles of distributed source coding (DSC), a technology that has applications in sensor networks, ad-hoc networks, and distributed wireless video systems for surveillance - Edited and written by the leading players in the field, providing a complete and authoritative reference - Contains all the latest theory, practical algorithms for DSC design and the most recently developed applications




Code Quality


Book Description

Page 26: How can I avoid off-by-one errors? Page 143: Are Trojan Horse attacks for real? Page 158: Where should I look when my application can't handle its workload? Page 256: How can I detect memory leaks? Page 309: How do I target my application to international markets? Page 394: How should I name my code's identifiers? Page 441: How can I find and improve the code coverage of my tests? Diomidis Spinellis' first book, Code Reading, showed programmers how to understand and modify key functional properties of software. Code Quality focuses on non-functional properties, demonstrating how to meet such critical requirements as reliability, security, portability, and maintainability, as well as efficiency in time and space. Spinellis draws on hundreds of examples from open source projects--such as the Apache web and application servers, the BSD Unix systems, and the HSQLDB Java database--to illustrate concepts and techniques that every professional software developer will be able to appreciate and apply immediately. Complete files for the open source code illustrated in this book are available online at: http://www.spinellis.gr/codequality/




Information Theory and Coding


Book Description

Various measures of information are discussed in first chapter. Information rate, entropy and mark off models are presented. Second and third chapter deals with source coding. Shannon's encoding algorithm, discrete communication channels, mutual information, Shannon's first theorem are also presented. Huffman coding and Shannon-Fano coding is also discussed. Continuous channels are discussed in fourth chapter. Channel coding theorem and channel capacity theorems are also presented. Block codes are discussed in chapter fifth, sixth and seventh. Linear block codes, Hamming codes, syndrome decoding is presented in detail. Structure and properties of cyclic codes, encoding and syndrome decoding for cyclic codes is also discussed. Additional cyclic codes such as RS codes, Golay codes, burst error correction is also discussed. Last chapter presents convolutional codes. Time domain, transform domain approach, code tree, code trellis, state diagram, Viterbi decoding is discussed in detail.




The Theory of Information and Coding


Book Description

Student edition of the classic text in information and coding theory




Digital Video


Book Description

This book tries to address different aspects and issues related to video and multimedia distribution over the heterogeneous environment considering broadband satellite networks and general wireless systems where wireless communications and conditions can pose serious problems to the efficient and reliable delivery of content. Specific chapters of the book relate to different research topics covering the architectural aspects of the most famous DVB standard (DVB-T, DVB-S/S2, DVB-H etc.), the protocol aspects and the transmission techniques making use of MIMO, hierarchical modulation and lossy compression. In addition, research issues related to the application layer and to the content semantic, organization and research on the web have also been addressed in order to give a complete view of the problems. The network technologies used in the book are mainly broadband wireless and satellite networks. The book can be read by intermediate students, researchers, engineers or people with some knowledge or specialization in network topics.




The Nature of Code


Book Description

All aboard The Coding Train! This beginner-friendly creative coding tutorial is designed to grow your skills in a fun, hands-on way as you build simulations of real-world phenomena with “The Coding Train” YouTube star Daniel Shiffman. What if you could re-create the awe-inspiring flocking patterns of birds or the hypnotic dance of fireflies—with code? For over a decade, The Nature of Code has empowered countless readers to do just that, bridging the gap between creative expression and programming. This innovative guide by Daniel Shiffman, creator of the beloved Coding Train, welcomes budding and seasoned programmers alike into a world where code meets playful creativity. This JavaScript-based edition of Shiffman’s groundbreaking work gently unfolds the mysteries of the natural world, turning complex topics like genetic algorithms, physics-based simulations, and neural networks into accessible and visually stunning creations. Embark on this extraordinary adventure with projects involving: A physics engine: Simulate the push and pull of gravitational attraction. Flocking birds: Choreograph the mesmerizing dance of a flock. Branching trees: Grow lifelike and organic tree structures. Neural networks: Craft intelligent systems that learn and adapt. Cellular automata: Uncover the magic of self-organizing patterns. Evolutionary algorithms: Play witness to natural selection in your code. Shiffman’s work has transformed thousands of curious minds into creators, breaking down barriers between science, art, and technology, and inviting readers to see code not just as a tool for tasks but as a canvas for boundless creativity. Whether you’re deciphering the elegant patterns of natural phenomena or crafting your own digital ecosystems, Shiffman’s guidance is sure to inform and inspire. The Nature of Code is not just about coding; it’s about looking at the natural world in a new way and letting its wonders inspire your next creation. Dive in and discover the joy of turning code into art—all while mastering coding fundamentals along the way. NOTE: All examples are written with p5.js, a JavaScript library for creative coding, and are available on the book's website.




The Essential Guide to Video Processing


Book Description

This comprehensive and state-of-the art approach to video processing gives engineers and students a comprehensive introduction and includes full coverage of key applications: wireless video, video networks, video indexing and retrieval and use of video in speech processing. Containing all the essential methods in video processing alongside the latest standards, it is a complete resource for the professional engineer, researcher and graduate student. - Numerous conceptual and numerical examples - All the latest standards are thoroughly covered: MPEG-1, MPEG-2, MPEG-4, H.264 and AVC - Coverage of the latest techniques in video security "Like its sister volume "The Essential Guide to Image Processing," Professor Bovik's Essential Guide to Video Processing provides a timely and comprehensive survey, with contributions from leading researchers in the area. Highly recommended for everyone with an interest in this fascinating and fast-moving field." —Prof. Bernd Girod, Stanford University, USA - Edited by a leading person in the field who created the IEEE International Conference on Image Processing, with contributions from experts in their fields - Numerous conceptual and numerical examples - All the latest standards are thoroughly covered: MPEG-1, MPEG-2, MPEG-4, H.264 and AVC - Coverage of the latest techniques in video security




Information and Communication Theory


Book Description

An important text that offers an in-depth guide to how information theory sets the boundaries for data communication In an accessible and practical style, Information and Communication Theory explores the topic of information theory and includes concrete tools that are appropriate for real-life communication systems. The text investigates the connection between theoretical and practical applications through a wide-variety of topics including an introduction to the basics of probability theory, information, (lossless) source coding, typical sequences as a central concept, channel coding, continuous random variables, Gaussian channels, discrete input continuous channels, and a brief look at rate distortion theory. The author explains the fundamental theory together with typical compression algorithms and how they are used in reality. He moves on to review source coding and how much a source can be compressed, and also explains algorithms such as the LZ family with applications to e.g. zip or png. In addition to exploring the channel coding theorem, the book includes illustrative examples of codes. This comprehensive text: Provides an adaptive version of Huffman coding that estimates source distribution Contains a series of problems that enhance an understanding of information presented in the text Covers a variety of topics including optimal source coding, channel coding, modulation and much more Includes appendices that explore probability distributions and the sampling theorem Written for graduate and undergraduate students studying information theory, as well as professional engineers, master’s students, Information and Communication Theory offers an introduction to how information theory sets the boundaries for data communication.