Квантование в математике и цифровой обработке сигналов — это процесс отображения входных значений из большого набора (часто непрерывного набора) в выходные значения в (счетном) меньшем наборе, часто с конечным числом элементов . Округление и усечение являются типичными примерами процессов квантования. Квантование в некоторой степени задействовано почти во всей цифровой обработке сигналов, поскольку процесс представления сигнала в цифровой форме обычно включает округление. Квантование также составляет ядро по существу всех алгоритмов сжатия с потерями .
Разница между входным значением и его квантованным значением (например, ошибка округления ) называется ошибкой квантования . Устройство или алгоритмическая функция , которая выполняет квантование, называется квантизатором . Аналого-цифровой преобразователь является примером квантизатора.
Например, округление действительного числа до ближайшего целого значения образует очень простой тип квантователя – равномерный . Типичный ( средне-ступенчатый ) равномерный квантователь с размером шага квантования, равным некоторому значению, может быть выражен как
где обозначение обозначает функцию пола .
В качестве альтернативы тот же квантователь может быть выражен в терминах функции потолка , как
(Обозначение обозначает функцию потолка).
Существенным свойством квантователя является наличие счетного множества возможных выходных значений, меньшего, чем множество возможных входных значений. Члены множества выходных значений могут иметь целые, рациональные или действительные значения. Для простого округления до ближайшего целого числа размер шага равен 1. При равном или равном любому другому целому значению этот квантователь имеет действительные входы и целочисленные выходы.
Когда размер шага квантования (Δ) мал по сравнению с изменением квантуемого сигнала, относительно просто показать, что среднеквадратическая ошибка, полученная в результате такой операции округления, будет приблизительно равна . [1] [2] [3] [4] [5] [6] Среднеквадратическая ошибка также называется мощностью шума квантования . Добавление одного бита к квантователю уменьшает значение Δ вдвое, что уменьшает мощность шума в раз .1/4 . В децибелах изменение мощности шума составляет
Поскольку набор возможных выходных значений квантователя является счетным, любой квантователь можно разложить на два отдельных этапа, которые можно назвать этапом классификации (или этапом прямого квантования ) и этапом реконструкции (или этапом обратного квантования ), где этап классификации сопоставляет входное значение с целочисленным индексом квантования , а этап реконструкции сопоставляет индекс со значением реконструкции , которое является выходным приближением входного значения. Для примера равномерного квантователя, описанного выше, этап прямого квантования можно выразить как
и этап реконструкции для этого примера квантователя просто
Это разложение полезно для проектирования и анализа поведения квантования, и оно иллюстрирует, как квантованные данные могут передаваться по каналу связи — исходный кодер может выполнить стадию прямого квантования и отправить информацию об индексе по каналу связи, а декодер может выполнить стадию реконструкции для получения выходного приближения исходных входных данных. В общем случае стадия прямого квантования может использовать любую функцию, которая сопоставляет входные данные с целочисленным пространством данных индекса квантования, а стадия обратного квантования может концептуально (или буквально) быть операцией поиска в таблице для сопоставления каждого индекса квантования с соответствующим значением реконструкции. Это двухэтапное разложение одинаково хорошо применимо как к векторным, так и к скалярным квантователям.
Поскольку квантование представляет собой отображение «многие к немногим», оно по своей сути является нелинейным и необратимым процессом (т. е. поскольку одно и то же выходное значение используется несколькими входными значениями, в общем случае невозможно восстановить точное входное значение, если задано только выходное значение).
Набор возможных входных значений может быть бесконечно большим и, возможно, непрерывным и, следовательно, несчетным (например, набор всех действительных чисел или всех действительных чисел в некотором ограниченном диапазоне). Набор возможных выходных значений может быть конечным или счетно бесконечным . [6] Входные и выходные наборы, участвующие в квантовании, можно определить довольно общим образом. Например, векторное квантование — это применение квантования к многомерным (векторнозначным) входным данным. [7]
Аналого -цифровой преобразователь (АЦП) можно смоделировать как два процесса: выборку и квантование. Выборка преобразует изменяющийся во времени сигнал напряжения в дискретный сигнал времени , последовательность действительных чисел. Квантование заменяет каждое действительное число приближением из конечного набора дискретных значений. Чаще всего эти дискретные значения представляются в виде слов с фиксированной точкой. Хотя возможно любое количество уровней квантования, распространенные длины слов составляют 8 бит (256 уровней), 16 бит (65 536 уровней) и 24 бита (16,8 миллионов уровней). Квантование последовательности чисел создает последовательность ошибок квантования, которая иногда моделируется как аддитивный случайный сигнал, называемый шумом квантования из-за его стохастического поведения. Чем больше уровней использует квантизатор, тем ниже его мощность шума квантования.
Квантование , оптимизированное по скорости и искажению, встречается в исходном кодировании для алгоритмов сжатия данных с потерями, где целью является управление искажением в пределах скорости передачи данных , поддерживаемой каналом связи или носителем данных. Анализ квантования в этом контексте включает изучение количества данных (обычно измеряемого в цифрах или битах или скорости передачи данных ), которые используются для представления выходных данных квантизатора, и изучение потери точности, которая вносится процессом квантования (что называется искажением ) .
Большинство равномерных квантизаторов для входных данных со знаком можно классифицировать как относящиеся к одному из двух типов: средний подъёмник и средний проступь . Терминология основана на том, что происходит в области вокруг значения 0, и использует аналогию рассмотрения функции ввода-вывода квантизатора как лестницы . Квантизаторы среднего подъёмника имеют нулевой уровень реконструкции (соответствующий проступи лестницы ), в то время как квантизаторы среднего подъёмника имеют нулевой порог классификации (соответствующий подъёму лестницы ). [9]
Квантование середины протектора подразумевает округление. Формулы для равномерного квантования середины протектора приведены в предыдущем разделе.
Квантование среднего уровня включает усечение. Формула ввода-вывода для равномерного квантизатора среднего уровня имеет вид:
где правило классификации задается как
и правило реконструкции
Обратите внимание, что квантователи mid-riser uniform не имеют нулевого выходного значения – их минимальная выходная величина составляет половину размера шага. Напротив, квантователи mid-tread имеют нулевой выходной уровень. Для некоторых приложений наличие нулевого выходного сигнала может быть необходимостью.
В общем, квантизатор среднего уровня или среднего уровня может на самом деле не быть равномерным квантизатором – т. е. размер интервалов классификации квантизатора может быть не все одинаковым, или интервал между его возможными выходными значениями может быть не все одинаковым. Отличительной характеристикой квантизатора среднего уровня является то, что он имеет пороговое значение классификации, которое точно равно нулю, а отличительной характеристикой квантизатора среднего уровня является то, что он имеет значение реконструкции, которое точно равно нулю. [9]
Квантизатор с мертвой зоной — это тип квантизатора среднего уровня с симметричным поведением около 0. Область вокруг нулевого выходного значения такого квантизатора называется мертвой зоной или полосой нечувствительности . Мертвая зона иногда может служить той же цели, что и функция шумоподавления или шумоподавления . Особенно для приложений сжатия, мертвой зоне может быть задана другая ширина, чем для других шагов. Для квантизатора, который в остальном является однородным, ширина мертвой зоны может быть установлена на любое значение с помощью правила прямого квантования [10] [11] [12]
где функция ( ) является функцией знака (также известной как функция знака ). Общее правило реконструкции для такого квантователя мертвой зоны задается как
где — значение смещения реконструкции в диапазоне от 0 до 1 как доля размера шага. Обычно при квантовании входных данных с типичной функцией плотности вероятности (PDF), которая симметрична относительно нуля и достигает своего пикового значения в нуле (например, гауссовская , лапласианская или обобщенная гауссовская PDF). Хотя может зависеть от в общем случае и может быть выбрана для выполнения условия оптимальности, описанного ниже, она часто просто устанавливается на константу, например . (Обратите внимание, что в этом определении из-за определения функции ( ) so не имеет никакого эффекта.)
Очень часто используемый частный случай (например, схема, обычно используемая в финансовом учете и элементарной математике) — установить и для всех . В этом случае квантователь мертвой зоны также является равномерным квантователем, поскольку центральная мертвая зона этого квантователя имеет ту же ширину, что и все его другие шаги, и все его значения реконструкции также равномерно распределены.
Распространенное предположение для анализа ошибки квантования заключается в том, что она влияет на систему обработки сигнала аналогично аддитивному белому шуму – имея незначительную корреляцию с сигналом и приблизительно плоскую спектральную плотность мощности . [2] [6] [13] [14] Модель аддитивного шума обычно используется для анализа эффектов ошибки квантования в системах цифровой фильтрации, и она может быть очень полезна в таком анализе. Было показано, что она является допустимой моделью в случаях квантования с высоким разрешением (малым относительно силы сигнала) с гладкими PDF. [2] [15]
Поведение аддитивного шума не всегда является допустимым предположением. Ошибка квантования (для квантователей, определенных как описано здесь) детерминированно связана с сигналом и не полностью независима от него. Таким образом, периодические сигналы могут создавать периодический шум квантования. А в некоторых случаях это может даже приводить к появлению предельных циклов в системах цифровой обработки сигналов. Одним из способов обеспечения эффективной независимости ошибки квантования от исходного сигнала является выполнение квантования с дизерингом (иногда с формированием шума ), которое включает добавление случайного (или псевдослучайного ) шума к сигналу перед квантованием. [6] [14]
В типичном случае исходный сигнал намного больше одного младшего бита (LSB). В этом случае ошибка квантования не имеет значительной корреляции с сигналом и имеет приблизительно равномерное распределение . Когда округление используется для квантования, ошибка квантования имеет среднее значение , равное нулю, а среднеквадратичное значение (RMS) является стандартным отклонением этого распределения, заданным как . Когда используется усечение, ошибка имеет ненулевое среднее значение , а среднеквадратичное значение равно . Хотя округление дает меньшую среднеквадратичную ошибку, чем усечение, разница обусловлена только статическим (DC) членом . Среднеквадратические значения ошибки переменного тока в обоих случаях абсолютно одинаковы, поэтому нет особого преимущества округления перед усечением в ситуациях, когда DC-член ошибки можно игнорировать (например, в системах, связанных по переменному току). В любом случае стандартное отклонение, как процент от полного диапазона сигнала, изменяется в 2 раза для каждого изменения на 1 бит в количестве битов квантования. Таким образом, потенциальное отношение мощности сигнала к шуму квантования изменяется на 4, или примерно на 6 дБ на бит.
При более низких амплитудах ошибка квантования становится зависимой от входного сигнала, что приводит к искажению. Это искажение создается после фильтра сглаживания, и если эти искажения превышают 1/2 частоты дискретизации, они будут возвращаться в интересующую полосу. Чтобы сделать ошибку квантования независимой от входного сигнала, сигнал сглаживается путем добавления шума к сигналу. Это немного снижает отношение сигнал/шум, но может полностью устранить искажение.
Шум квантования — это модель ошибки квантования, вносимой квантованием в АЦП. Это ошибка округления между аналоговым входным напряжением АЦП и выходным оцифрованным значением. Шум нелинейный и зависит от сигнала. Его можно смоделировать несколькими способами.
В идеальном АЦП, где ошибка квантования равномерно распределена между −1/2 LSB и +1/2 LSB, а сигнал имеет равномерное распределение, охватывающее все уровни квантования, отношение сигнал/шум квантования (SQNR) можно рассчитать по формуле
где Q — количество бит квантования.
Наиболее распространенными тестовыми сигналами, которые соответствуют этому условию, являются треугольные волны полной амплитуды и пилообразные волны .
Например, 16-разрядный АЦП имеет максимальное отношение сигнал/шум квантования 6,02 × 16 = 96,3 дБ.
Когда входной сигнал представляет собой синусоиду полной амплитуды , распределение сигнала уже не является равномерным, и соответствующее уравнение имеет вид
Здесь снова предполагается , что шум квантования распределен равномерно. Когда входной сигнал имеет высокую амплитуду и широкий частотный спектр, это так. [16] В этом случае 16-битный АЦП имеет максимальное отношение сигнал/шум 98,09 дБ. Разница в 1,761 в отношении сигнал/шум возникает только из-за того, что сигнал представляет собой полномасштабную синусоидальную волну, а не треугольную или пилообразную.
Для сложных сигналов в АЦП высокого разрешения это точная модель. Для АЦП низкого разрешения, сигналов низкого уровня в АЦП высокого разрешения и для простых форм волн шум квантования распределен неравномерно, что делает эту модель неточной. [17] В этих случаях распределение шума квантования сильно зависит от точной амплитуды сигнала.
Расчеты относятся к полномасштабному входу. Для меньших сигналов относительное искажение квантования может быть очень большим. Чтобы обойти эту проблему, можно использовать аналоговое компандирование , но это может привести к искажению.
Часто конструкция квантизатора включает поддержку только ограниченного диапазона возможных выходных значений и выполнение отсечения для ограничения выходного сигнала этим диапазоном всякий раз, когда входной сигнал превышает поддерживаемый диапазон. Ошибка, вносимая этим отсечением, называется искажением перегрузки . В пределах крайних пределов поддерживаемого диапазона величина интервала между выбираемыми выходными значениями квантизатора называется его гранулярностью , а ошибка, вносимая этим интервалом, называется гранулярным искажением. Обычно при разработке квантизатора определяют правильный баланс между гранулярным искажением и искажением перегрузки. Для заданного поддерживаемого числа возможных выходных значений уменьшение среднего гранулярного искажения может повлечь за собой увеличение среднего искажения перегрузки, и наоборот. Методом управления амплитудой сигнала (или, что эквивалентно, размером шага квантования ) для достижения соответствующего баланса является использование автоматической регулировки усиления (АРУ). Однако в некоторых конструкциях квантователей концепции гранулярной ошибки и ошибки перегрузки могут не применяться (например, для квантователя с ограниченным диапазоном входных данных или со счетно бесконечным набором выбираемых выходных значений). [6]
Скалярный квантователь, выполняющий операцию квантования, обычно можно разложить на два этапа:
Эти два этапа вместе составляют математическую операцию .
Методы энтропийного кодирования могут применяться для передачи индексов квантования от исходного кодера, который выполняет стадию классификации, к декодеру, который выполняет стадию реконструкции. Один из способов сделать это — связать каждый индекс квантования с двоичным кодовым словом . Важным соображением является количество бит, используемых для каждого кодового слова, обозначенное здесь как . В результате, проектирование -уровневого квантователя и связанного набора кодовых слов для передачи его значений индекса требует нахождения значений , и которые оптимально удовлетворяют выбранному набору ограничений проектирования, таким как скорость передачи данных и искажение .
Предполагая, что источник информации создает случайные величины с соответствующей плотностью вероятности , вероятность того, что случайная величина попадает в определенный интервал квантования, определяется по формуле:
Результирующая скорость передачи данных в единицах среднего количества бит на квантованное значение для этого квантователя может быть получена следующим образом:
Если предположить, что искажение измеряется с помощью среднеквадратической ошибки, [a] искажение D определяется по формуле:
Ключевым наблюдением является то, что скорость зависит от границ решения и длины кодового слова , тогда как искажение зависит от границ решения и уровней реконструкции .
После определения этих двух показателей производительности квантизатора типичная формула «скорость-искажение» для задачи проектирования квантизатора может быть выражена одним из двух способов:
Часто решение этих проблем может быть эквивалентно (или приблизительно) выражено и решено путем преобразования формулировки в задачу без ограничений , где множитель Лагранжа является неотрицательной константой, которая устанавливает соответствующий баланс между скоростью и искажением. Решение задачи без ограничений эквивалентно нахождению точки на выпуклой оболочке семейства решений для эквивалентной формулировки задачи с ограничениями. Однако нахождение решения — особенно решения в замкнутой форме — для любой из этих трех формулировок задачи может быть сложным. Решения, не требующие многомерных итеративных методов оптимизации, были опубликованы только для трех распределений PDF: равномерного, [18] экспоненциального , [12] и распределения Лапласа [12] . Подходы итеративной оптимизации могут использоваться для поиска решений в других случаях. [6] [19] [20]
Обратите внимание, что значения реконструкции влияют только на искажение — они не влияют на скорость передачи данных — и что каждое из них вносит свой вклад в общее искажение, как показано ниже:
где
Это наблюдение можно использовать для упрощения анализа — учитывая набор значений, значение каждого из них можно оптимизировать по отдельности, чтобы минимизировать его вклад в искажение .
Для критерия искажения среднеквадратической ошибки можно легко показать, что оптимальный набор значений реконструкции задается путем установки значения реконструкции в каждом интервале на условное ожидаемое значение (также называемое центроидом ) в пределах интервала, как указано ниже:
Использование достаточно хорошо разработанных методов энтропийного кодирования может привести к использованию скорости передачи данных, близкой к истинному информационному содержанию индексов , так что эффективно
и поэтому
Использование этого приближения может позволить отделить проблему проектирования энтропийного кодирования от проектирования самого квантователя. Современные методы энтропийного кодирования, такие как арифметическое кодирование, могут достигать скоростей передачи данных, которые очень близки к истинной энтропии источника, учитывая набор известных (или адаптивно оцененных) вероятностей .
В некоторых проектах, вместо оптимизации для определенного числа областей классификации , проблема проектирования квантователя может включать оптимизацию значения также. Для некоторых вероятностных моделей источников наилучшая производительность может быть достигнута при приближении к бесконечности.
В приведенной выше формулировке, если пренебречь ограничением скорости передачи данных, установив его равным 0, или, что эквивалентно, если предположить, что для представления квантованных данных будет использоваться код фиксированной длины (FLC) вместо кода переменной длины (или какая-либо другая технология энтропийного кодирования, например арифметическое кодирование, которое лучше FLC в смысле скорости-искажения), задача оптимизации сводится к минимизации только искажения .
Индексы, полученные квантователем уровня -level, можно кодировать с помощью кода фиксированной длины, используя биты/символ. Например, при 256 уровнях битрейт FLC составляет 8 бит/символ. По этой причине такой квантователь иногда называют 8-битным квантователем. Однако использование FLC исключает улучшение сжатия, которое может быть получено с помощью лучшего энтропийного кодирования.
Предполагая FLC с уровнями, проблема минимизации скорости-искажения может быть сведена к минимизации искажения. Сокращенная проблема может быть сформулирована следующим образом: учитывая источник с PDF и ограничение, что квантизатор должен использовать только области классификации, найти границы решения и уровни реконструкции, чтобы минимизировать результирующее искажение
Нахождение оптимального решения вышеуказанной проблемы приводит к квантователю, иногда называемому решением MMSQE (минимальная среднеквадратичная ошибка квантования), а полученный оптимизированный по PDF (неравномерный) квантователь называется квантователем Ллойда–Макса , названным в честь двух людей, которые независимо друг от друга разработали итерационные методы [6] [21] [22] для решения двух наборов одновременных уравнений, полученных из и , следующим образом:
который помещает каждый порог в среднюю точку между каждой парой значений реконструкции, и
который помещает каждое значение реконструкции в центроид (условное ожидаемое значение) соответствующего ему интервала классификации.
Алгоритм метода Ллойда I , первоначально описанный в 1957 году, может быть обобщен простым способом для применения к векторным данным. Это обобщение приводит к методам оптимизации классификатора Линде–Бузо–Грея (LBG) или k-средних . Более того, метод может быть дополнительно обобщен простым способом, чтобы также включить ограничение энтропии для векторных данных. [23]
Квантизатор Ллойда–Макса на самом деле является равномерным квантователем, когда входная PDF равномерно распределена по диапазону . Однако для источника, который не имеет равномерного распределения, квантователь с минимальным искажением может не быть равномерным квантователем. Анализ равномерного квантователя, примененного к равномерно распределенному источнику, можно суммировать следующим образом:
Симметричный источник X можно смоделировать с помощью , для и 0 в любом другом месте. Размер шага и отношение сигнала к шуму квантования (SQNR) квантизатора равны
Для кода фиксированной длины, использующего биты, , что приводит к ,
или приблизительно 6 дБ на бит. Например, для =8 бит, =256 уровней и SQNR = 8×6 = 48 дБ; и для =16 бит, =65536 и SQNR = 16×6 = 96 дБ. Свойство улучшения SQNR на 6 дБ для каждого дополнительного бита, используемого при квантовании, является общеизвестным показателем качества. Однако его следует использовать с осторожностью: этот вывод применим только для однородного квантователя, применяемого к однородному источнику. Для других исходных PDF и других конструкций квантователей SQNR может несколько отличаться от предсказанного 6 дБ/бит, в зависимости от типа PDF, типа источника, типа квантователя и диапазона скорости передачи битов операции.
Однако принято считать, что для многих источников наклон функции квантователя SQNR может быть аппроксимирован как 6 дБ/бит при работе на достаточно высокой скорости передачи данных. При асимптотически высоких скоростях передачи данных сокращение размера шага вдвое увеличивает скорость передачи данных примерно на 1 бит на выборку (поскольку 1 бит необходим для указания того, находится ли значение в левой или правой половине предыдущего интервала двойного размера) и уменьшает среднеквадратичную ошибку в 4 раза (т. е. на 6 дБ) на основе аппроксимации .
При асимптотически высоких скоростях передачи данных приближение 6 дБ/бит поддерживается для многих исходных PDF-файлов строгим теоретическим анализом. [2] [3] [5] [6] Более того, структура оптимального скалярного квантователя (в смысле скорости-искажения) приближается к структуре равномерного квантователя в этих условиях. [5] [6]
Многие физические величины на самом деле квантуются физическими сущностями. Примерами областей, где применяется это ограничение, являются электроника (из-за электронов ), оптика (из-за фотонов ), биология (из-за ДНК ), физика (из-за пределов Планка ) и химия (из-за молекул ).