Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше
Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике
3.8. JPEG-LS
Метод сжатия JPEG-LS использует коды Голомба, поэтому мы дадим краткое
описание этих мало известных кодов.
3.8.1. Коды Голомба
Код Голомба неотрицательного
целого числа [Golomb 66] может быть эффективным кодом
Хаффмана. Этот код зависит от выбора некоторого параметра . Прежде всего необходимо
вычислить две величины , (где выражение обозначает округление ), а затем построить
код из двух частей; первая часть - это число , закодированное с помощью унарного кода
(см. стр. 195), а вторая - двоичное выражение для , состоящее из бит (для малых остатков) или
из бит (для
больших). Если взять , то три возможных остатка 0, 1 и 2 будут
кодироваться как 0, 10 и 11. Выбрав , получаем 5 остатков от 0 до 4, которые
кодируются как 00, 01, 100, 101 и 110. В табл. 3.60 приведены некоторые коды
Голомба при и
.
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
|
0|0
|
0|10
|
0|11
|
10|0
|
10|10
|
10|11
|
110|0
|
110|10
|
110|11
|
1110|0
|
|
0|00
|
0|01
|
0|100
|
0|101
|
10|110
|
10|00
|
10|01
|
10|100
|
10|101
|
110|110
|
Табл. 3.60. Некоторые коды
Голомба при и
.
Предположим, что входной поток
данных состоит из целых чисел, причем вероятность числа равна . Здесь - некоторый параметр, . Можно показать, что
коды Голомба будут оптимальными кодами для этого потока данных, если выбрать из условия
.
Имея такие данные на входе, легко
породить наилучшие коды переменной длины, не прибегая к алгоритму Хаффмана.