Многоуровневое кодирование


Многоуровневое кодирование — это тип сжатия данных для цифрового видео или цифрового аудио , при котором результатом сжатия исходных видеоданных является не просто один сжатый поток данных , как в других типах сжатия, а несколько потоков, называемых слоями , позволяющих распаковывать даже если некоторые слои отсутствуют.

При многоуровневом кодировании при сжатии исходного видеопотока создается несколько потоков данных или слоев. Это отличается от других типов сжатия, где результатом обычно является один поток данных.

Во время распаковки все слои могут быть объединены для воссоздания исходного видеопотока. Кроме того, поток может быть декодирован, даже если некоторые уровни отсутствуют (хотя обычно необходимо соблюдать иерархию уровней с наличием базового уровня). Если слои отсутствуют, результирующий поток будет иметь ухудшенное визуальное качество, но по-прежнему будет пригоден для использования. [1]

Многоуровневое кодирование полезно, когда один и тот же видеопоток должен быть доступен в разных качествах, например, для потоковой передачи с адаптивным битрейтом . Без многоуровневого кодирования исходный видеопоток необходимо кодировать несколько раз, чтобы получить сжатые потоки с разным качеством и битрейтом. Многоуровневое кодирование позволяет кодировать только один раз, потому что потоки с разным качеством могут быть получены путем отбрасывания слоев.

Многоуровневое кодирование похоже на кодирование с множественным описанием в том смысле, что оба они создают несколько сжатых потоков, которые можно комбинировать. [2] Однако при кодировании с множественным описанием различные потоки независимы друг от друга, поэтому любое подмножество может быть декодировано, что обеспечивает дополнительную гибкость.