Adaptive Differential Pulse Code Modulation