Рассмотрим детально одномерное кодирование
Факс-машина сканирует документ по строчкам, одну за другой, переводя каждую строку в последовательность черных и белых точек, называемых пелами (от pel. Picture ELement). Горизонтальное разрешение всегда составляет 8.05 пелов на миллиметр (примерно 205 пелов на дюйм). Таким образом, строка стандартной длины 8.5 дюймов конвертируется в 1728 пелов. Стандарт Т4, однако, предписывает сканирование строки длиной около 8.2 дюймов, что производит 1664 пела. (Все величины в этом и других параграфах приводятся с точностью ±1%.)
Вертикальное разрешение составляет 3.85 линий на миллиметр (стандартная мода) или 7.7 линий на миллиметр (тонкая мода). Во многих факс-машинах имеется также сверх тонкая мода, при которой сканируется 15.4 линий на миллиметр. В табл. 1.18 приведен пример для страницы высотой в 10 дюймов (254 мм), и показано общее число пелов на страницу и типичное время передачи для всех трех мод без компрессии. Время очень большое, что показывает, насколько важно сжатие при пересылке факсов.
Для того чтобы сгенерировать коды Group 3, было сосчитано распределение последовательностей черных и белых пелов в восьми эталонных документах, которые содержали типичные тексты с изображениями, которые обычно посылают по факсу. Потом использовался алгоритм Хаффмана для построения префиксных кодов переменной длины, которые кодировали серии черных и белых пелов. Они здесь не опубликованы, так как на них распространяется авторское право ITU-T. Их можно скачать из [funet 91].
Было обнаружено, что чаще всего встречаются серии из 2, 3 и 4 черных пелов, поэтому им были присвоены самые короткие коды. Потом шли серии из 2-7 белых пелов, которым были присвоены несколько более длинные коды. Большинство же остальных длин серий встречались реже, и им были назначены длинные, 12-битные коды. Таким образом, в стандарте Group 3 была использована комбинация кодирования RLE и метода Хаффмана. Интересно отметить, что строке из 1664 белых пелов был присвоен короткий код 011000. Дело в том, что при сканировании часто попадаются пустые строки, которым соответствует это число пелов.
Поскольку длина серии одинаковых пелов может быть большой, алгоритм Хаффмана был модифицирован. Сначала коды были приписаны остаткам - сериям длины от 1 до 63 пелов. Другие коды были даны сериям, длины которых кратны 64. Таким образом. Group 3 - это модифицированные коды Хаффмана (коды МН). Каждый код соответствует либо короткой остаточной серии длины до 64, либо длинной серии, кратной 64. 1. Серия из 12 белых пелов кодируется как 001000. 2. Серия из 76 белых пелов (=64+12) кодируется как 11011| 001000 (без вертикальной черты). 3. Серия из 140 белых пелов (=128+12) получает код 10010|001000. 4. Код 64 черных пелов (=64+0) равен 0000001111| 0000110111. 5. Код 2561 черных пелов (2560+1) - 0000000111111010.
Дотошный читатель заметит, что разные коды были также присвоены пустым сериям белых и черных пелов. Эти коды необходимы для того, чтобы обозначить серии, длины которых равны 64, 128 или любому числу, кратному 64. Он также может заметить, что серии длины 2561 быть не может, так как в строке длины 8.5 дюймов помещается только 1728 пелов, поэтому коды для более длинных серий не нужны. Однако, могут быть (или появиться в будущем) факс-машины для широкой бумаги, поэтому коды Group 3 были созданы с учетом этой возможности.
- RSS
Наши услуги: