Surface-based decoding