arithmetic encoding