Введение

Битрейт-пилинг — это техника, используемая в аудиопотоках, закодированных в Ogg Vorbis, при которой поток может быть закодирован с определенным битрейтом, но предоставляться с этим или любым более низким битрейтом. Цель состоит в том, чтобы обеспечить доступ к материалу людям с медленным интернет-соединением, при этом позволяя пользователям с более быстрым соединением наслаждаться контентом более высокого качества. Сервер автоматически выбирает, какой поток передать пользователю, в зависимости от скорости его соединения. По состоянию на 2005 год битрейт-пилинг для Ogg Vorbis существовал только в виде концепции, поскольку не существовало кодировщика, способного создавать потоки данных, поддерживающие эту технику.

Отличие от других технологий

Разница между SureStream и адаптивным битрейтом заключается в том, что SureStream ограничен лишь небольшим количеством заранее заданных битрейтов с существенными различиями между ними, а закодированные файлы SureStream имеют большой размер, поскольку содержат все используемые битрейты. Адаптивный битрейт, напротив, использует гораздо более мелкие шаги для изменения доступного битрейта и качества, и для кодирования файла/потока используется только битрейт наивысшего качества, что обеспечивает меньший размер файлов на сервере. Техника, схожая с подходом SureStream, – это иерархическая модуляция, применяемая в вещании, когда одновременно передаются несколько различных потоков с разным качеством (и битрейтами). При этом, если возможно, используется поток наивысшего качества, а в случае недоступности – потоки более низкого качества.

Потери и коррекция

Аналогичная технология предполагает сочетание формата с потерями и коррекции без потерь, что позволяет удалить коррекцию и легко получить файл в формате с потерями. К таким форматам относятся MPEG 4 SLS (масштабируемый до без потерь), WavPack, DTS HD Master Audio и OptimFROG DualStream.

Пример SureStream

Файл, закодированный SureStream, кодируется с битрейтами 16 кбит/с, 32 кбит/с и 96 кбит/с. Размер файла будет примерно таким же, как у трех отдельных файлов, закодированных с этими битрейтами и объединенных вместе, или одного файла, закодированного с суммарным битрейтом, равным примерно 144 кбит/с (16 + 32 + 96). Если у пользователя с dial-up подключением доступна полоса пропускания около 28 кбит/с, сервер Real будет передавать поток 16 кбит/с. Если качество dial-up соединения выше и доступно около 42 кбит/с, сервер автоматически переключится на поток 32 кбит/с. Пользователям DSL или кабельного интернета будет передаваться поток 96 кбит/с. Это выглядит неплохо, но даже если пользователь с 28 кбит/с может использовать поток с более высоким битрейтом и качеством (например, 22–24 кбит/с), SureStream не сможет этого сделать, если закодированный файл не содержит соответствующий битрейт. Здесь на помощь приходит технология Bitrate Peeling (битрейт-пилинга).

Пример пилинга битрейта

В отличие от SureStream, битрейт-пилинг требует использования только максимального битрейта при кодировании файла/потока, который в данном случае составляет 96 кбит/с. Очевидным преимуществом является значительно меньший объем дискового пространства на сервере, необходимый для такого файла. Дополнительным преимуществом битрейт-пилинга является более тонкая настройка доступного битрейта/качества. Если пользователь с доступной полосой пропускания 28 кбит/с подключается к файлу/потоку Ogg Vorbis, сервер "уменьшает" исходный файл/поток с 96 кбит/с до уровня, немного ниже доступной полосы пропускания (в этом случае это будет примерно 20–24 кбит/с). Этот так называемый процесс пилинга отличается от транскодирования, поскольку транскодирование предполагает распаковку файла и повторную упаковку (вычислительно затратный процесс), в то время как пилинг удаляет избыточные биты из потока без дополнительной обработки. Помимо очевидной экономии места, битрейт-пилинг позволяет использовать более мелкие шаги при изменении битрейта доставки (конечный пользователь увидит файл в максимально возможном качестве, соответствующем его полосе пропускания). Однако эти преимущества пока что носят теоретический характер, поскольку единственный доступный пилер Vorbis все еще находится в экспериментальной стадии и обеспечивает качество файла, уступающее качеству, достигаемому при транскодировании файла с более высоким битрейтом в более низкий.

Сравнение с другими прогрессивными кодировками

Битрейт-пилинг теоретически возможен и реализован в некоторых других форматах, в частности JPEG 2000, прогрессивном JPEG и масштабируемом кодировании видео. Причина, по которой он недоступен в Ogg Vorbis, заключается в том, что текущие кодировщики не структурируют поток данных таким образом, чтобы обеспечить постепенное повышение точности, поэтому программы для битрейт-пилинг не могут определить, какие данные более или менее значимы. См. также алгоритм Adam7, используемый при интерлейсинге PNG.