Optimum coding