As described herein, we propose a novel method for achieving layered scalability using a top-down approach. We treat bitstream scalability abstractly as a symbol-dropping problem in which symbols are selected to be excluded from the coded bitstream based on knowledge about their semantic importance as well as to achieve a predetermined target bit rate. The key insight is that the decision whether each symbol is included in the degraded bitstream is fully replicable by the decoder without signaling any additional information. Thus, the decoder knows every time a symbol is dropped from the bitstream, and has the opportunity to respond accordingly. Furthermore, this symbol-dropping process may be repeated iteratively using the dropped symbols to form a separate coded bitstream, from which symbols may be dropped again. Thus, each bitstream forms a coded layer, and each layer provides resolution of more symbol values than the prior layer. If all layers are decoded together, every symbol is recovered and a full-quality reproduction is produced.