Переменный битрейт ( VBR ) — это термин, используемый в телекоммуникациях и вычислительной технике , который относится к битрейту , используемому при кодировании звука или видео. В отличие от постоянного битрейта (CBR), файлы VBR изменяют объем выходных данных за сегмент времени. VBR позволяет выделить более высокий битрейт (и, следовательно, больше места для хранения) для более сложных сегментов медиафайлов, в то время как меньше места выделяется для менее сложных сегментов. Среднее значение этих скоростей можно рассчитать, чтобы получить средний битрейт для файла.
Аудиофайлы MP3 , WMA и AAC могут быть дополнительно закодированы в VBR, тогда как Opus и Vorbis по умолчанию кодируются в VBR. [1] [2] [3] Кодирование с переменной скоростью передачи данных также часто используется для видео MPEG-2 , видео MPEG-4 Part 2 ( Xvid , DivX и т. д.), видео MPEG-4 Part 10 /H.264, Theora , Dirac и другие форматы сжатия видео. [ нужна цитата ] Кроме того, кодирование с переменной скоростью присуще схемам сжатия без потерь, таким как FLAC и Apple Lossless . [ нужна цитата ]
Преимущества VBR заключаются в том, что он обеспечивает лучшее соотношение качества и пространства по сравнению с файлом CBR с теми же данными. Доступные биты используются более гибко для более точного кодирования звуковых или видеоданных: меньшее количество битов используется в менее требовательных отрывках, а большее количество битов используется в труднокодируемых фрагментах. [2] [4]
Недостатком является то, что кодирование может занять больше времени, поскольку процесс более сложен, а также то, что некоторое оборудование может быть несовместимо с файлами VBR. [2]
VBR создается с использованием так называемого однопроходного кодирования или многопроходного кодирования . Однопроходное кодирование анализирует и кодирует данные «на лету», а также используется при кодировании с постоянным битрейтом. Однопроходное кодирование используется, когда скорость кодирования наиболее важна, например, для кодирования в реальном времени. Однопроходное кодирование VBR обычно контролируется фиксированной настройкой качества , диапазоном битрейта (минимальный и максимальный допустимый битрейт) или настройкой среднего битрейта . Многопроходное кодирование используется, когда качество кодирования наиболее важно. Многопроходное кодирование нельзя использовать при кодировании в реальном времени, прямом вещании или потоковом вещании . Многопроходное кодирование занимает гораздо больше времени, чем однопроходное кодирование, поскольку каждый проход означает один проход через входные данные (обычно через весь входной файл). Многопроходное кодирование используется только для кодирования VBR, поскольку кодирование CBR не обеспечивает гибкости в изменении битрейта. Наиболее распространенным многопроходным кодированием является двухпроходное кодирование. На первом проходе двухпроходного кодирования входные данные анализируются, а результат сохраняется в файле журнала. На втором проходе собранные данные первого прохода используются для достижения наилучшего качества кодирования. При кодировании видео двухпроходное кодирование обычно контролируется настройкой среднего битрейта, настройкой диапазона битрейта (минимальный и максимальный допустимый битрейт) или настройкой размера целевого видеофайла. [5] [6]
Этот метод кодирования VBR позволяет пользователю указать диапазон битрейта — минимальный и/или максимальный допустимый битрейт. [7] Некоторые кодировщики расширяют этот метод, добавляя средний битрейт. Минимальный и максимальный допустимый битрейт устанавливают границы, в которых битрейт может изменяться. Недостатком этого метода является то, что средний битрейт (и, следовательно, размер файла) не будет известен заранее. Диапазон битрейта также используется в некоторых методах кодирования с фиксированным качеством, но обычно без разрешения на изменение определенного битрейта. [8]
Недостатком однопроходного кодирования ABR (с ограниченным переменным битрейтом или без него) является противоположность фиксированному квантователю VBR: размер выходного сигнала известен заранее, но итоговое качество неизвестно, хотя все же лучше, чем CBR. [9]
Многопроходное кодирование ABR больше похоже на VBR с фиксированным квантователем, поскольку более высокое среднее значение действительно увеличивает качество. [10]
Кодирование VBR с использованием настройки размера файла обычно является многопроходным кодированием. Это позволяет пользователю указать конкретный размер целевого файла. На первом проходе кодер анализирует входной файл и автоматически вычисляет возможный диапазон битрейта и/или средний битрейт. На последнем проходе кодер распределяет доступные биты по всему видео для достижения однородного качества. [10]