Coding and Signal Processing Techniques for High Efficiency Data Storage and Transmission Systems