Переменный битрейт ( 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]