data compression book hffman lpz pm qm