Энтропийное кодирование
В первую очередь необходимо отметить, что для кодирования постоянных составляющих используется особый метод. Если остальные 63 коэффициента ДКП в каждом блоке кодируются независимо от соответствующих коэффициентов в других блоках, то коэффициенты всех блоков каждой составляющей изображения предварительно кодируются с предсказанием. При этом коэффициент в каждом блоке заменяется на величину DIFF= - PRED, где PRED- значение коэффициента в предыдущем по порядку кодирования блоке этой же составляющей. Для первого кодируемого блока берется PRED=0. Для дальнейшего кодирования значения DIFF в каждом блоке преобразуются в двоичные числа с переменным числом бит, так что значения с малыми абсолютными величинами представляются более короткими последовательностями двоичных символов, а значения с большими абсолютными величинами - более длинными.
В результате этих операций сокращается число двоичных символов, требуемых для представления информации о коэффициентах всех блоков.
Перед выполнением энтропийного кодирования остальных 63 квантованных коэффициентов ДКП в каждом блоке выполняется следующая подготовительная операция. Двумерная матрица коэффициентов преобразуется в одномерную последовательность путем считывания ее элементов в зигзагообразном порядке.
В результате квантования многие из коэффициентов ДКП становятся равными 0, поэтому в получаемой одномерной последовательности этих коэффициентов оказывается большое число нулевых элементов. Каждый отличный от нуля коэффициент ДКП представляется в виде пары чисел. Первое из них показывает, сколько нулевых значений подряд прошло в последовательности перед данным ненулевым коэффициентом. Второе число в паре показывает значение самого квантованного коэффициента, преобразованное в число с переменным количеством бит. Правила этого преобразования аналогичны используемым при кодировании постоянных составляющих, т. е. коэффициенты с малыми абсолютными величинами представляются более короткими последовательностями двоичных символов, а коэффициенты с большими абсолютными величинами - более длинными.
Если в результате квантования получилось много нулевых и малых по абсолютной величине коэффициентов, кодирование по такому методу, называемому "кодирование с бегущей длиной", дает значительный выигрыш, так как, во-первых, уменьшается общее количество чисел, представляющих кодируемый блок, а во-вторых, уменьшается число двоичных символов для представления большинства чисел.
Таким образом, для каждого блока 8х8 пикселов матрица квантованных коэффициентов ДКП оказалась преобразованной в последовательность двоичных чисел (называемых в соответствии с терминологией теории кодирования символами), которые затем подвергаются энтропийному кодированию.
Чаще всего применяется кодирование по методу Хаффмена, который заключается в построении такого кода с переменной длиной кодового слова, что чаще встречающимся (т. е. более вероятным) символам ставятся в соответствие более короткие кодовые слова, а реже встречающимся (менее вероятным) символам - более длинные кодовые слова. Это дает дополнительный выигрыш в сжатии информации.
JРЕG может использоваться и для сжатия движущихся изображений. При этом каждый кадр кодируется независимо от других кадров. Такой метод, называемый Моtion JРЕG, может быть полезен для видеозаписи и в студийной аппаратуре, но он не дает достаточной степени сжатия видеоинформации для телевизионного вещания.
Стандарт JРЕG развивается. Среди новых его возможностей следует отметить вариант с иерархическим кодированием, которое позволяет получить сначала изображение с низким разрешением, используя небольшой объем сжатых видеоданных, а потом постепенно улучшать разрешение, добавляя дополнительные данные.
Операции, содержащиеся в стандарте JРЕG, используются и в стандартах сжатия движущихся изображений МРЕG, о которых пойдет речь в следующих лекциях.
Контрольные вопросы
1. Какие операции предполагает преобразование аналогового телевизионного сигнала в цифровой?
2. Что называется дискретизацией телевизионного сигнала?
3. Что называется квантованием телевизионного сигнала?
4. Что называется кодированием телевизионного сигнала?
5. Какое условие по частоте дискретизации должно выполняться в соответствии с теоремой Котельникова?
6. В каком случае интерполированный сигнал не будет иметь искажений формы по сравнению с исходным сигналом?
7. Каким образом будут отличаться спектры дискретизированного сигнала при выполнении и при нарушении условий теоремы Котельникова?
8. Как проявляются искажения, создаваемые дискретизацией?
9. Чем определяется число уровней квантования?
10. Что называется шумом квантования и как он проявляется?