4.3.2 Data coding: An overview