Многоуровневое кодирование — это тип сжатия данных для цифрового видео или цифрового аудио , при котором результатом сжатия исходных видеоданных является не один поток сжатых данных , как при других типах сжатия, а несколько потоков, называемых слоями , что позволяет выполнять декомпрессию, даже если некоторые слои отсутствуют.
При многоуровневом кодировании при сжатии исходного видеопотока создаются несколько потоков или слоев данных. В этом отличие от других типов сжатия, при которых результатом обычно является один поток данных.
Во время распаковки все слои можно объединить для воссоздания исходного видеопотока. Кроме того, поток можно декодировать, даже если некоторые уровни отсутствуют (хотя обычно необходимо соблюдать иерархию слоев, при этом базовый уровень должен быть доступен). Если слои отсутствуют, полученный поток будет иметь пониженное визуальное качество, но его все равно можно будет использовать. [1]
Многоуровневое кодирование полезно, когда один и тот же видеопоток должен быть доступен в разном качестве, например, для потоковой передачи с адаптивным битрейтом . Без многоуровневого кодирования исходный видеопоток необходимо кодировать несколько раз, чтобы получить сжатые потоки с разным качеством и битрейтом. Многоуровневое кодирование позволяет кодировать только один раз, поскольку потоки разного качества могут быть получены путем отбрасывания слоев.
Многоуровневое кодирование похоже на кодирование с множественным описанием в том смысле, что оба создают несколько сжатых потоков, которые можно комбинировать. [2] Однако при кодировании с множественным описанием разные потоки независимы друг от друга, поэтому любое подмножество может быть декодировано, что обеспечивает дополнительную гибкость.
Масштабируемое видеокодирование — это стандарт сжатия видео, в котором используется многоуровневое кодирование.