3.8. Методы сокращения полосы частот факсимильного сигнала.
Алгоритм оптимального неравномерного кодирования
Алгоритм оптимального неравномерного кодирования
учитывает статистику исходного двоичного изображения: наиболее вероятные длины
серий кодируются наиболее короткими кодовыми комбинациями, а наименее вероятные
- наиболее длинными. Примером такого кода является одномерный код Хаффмана.
При использовании этого кода серии черных и белых элементов кодируются в соответствии
с кодовой таблицей (таблицы 1/T.4 и 2/T.4). Размер кодовой комбинации в таблице
обратно пропорционален вероятности появления соответствующей длины серии.
Характерная особенность этих кодовых комбинаций
заключается в том, что они не содержат повторяющихся последовательностей единичных
и нулевых элементов. Этим обеспечивается однозначное декодирование и, кроме
того, не требуется вводить дополнительные элементы для обозначения начала или
конца кодовых комбинаций. Иначе говоря, в любой последовательности кодовых комбинаций
всегда однозначно определяются начало и конец каждой из них, т.е. код является
самосинхронизирующимся.
Код Хаффмана имеет ряд модификаций и считается
одним из самых эффективных для кодирования факсимильных изображений текстов
и рисунков. Модифицированные коды Хаффмана (МКФ) широко применяются в факсимильной
аппаратуре третьей группы.
Еще более эффективны способы так называемого
двумерного кодирования. Для них характерно, что позиция каждого меняющегося
элемента кодируемой строки кодируется с учетом позиции соответствующего меняющегося
элемента опорной строки, расположенной непосредственно над кодируемой строкой.
При этом используются корреляционные свойства изображения соседних строк (их
"похожесть"). После кодирования опорной строки следующая строка изображения
вычитается из опорной, а затем кодируется разностный сигнал. Поскольку при вычитании
фактически осуществляется декорреляция изображения (разрушаются статистические
связи), то устраняется избыточность. Энтропия преобразованного сигнала возрастает,
а, следовательно, возрастает эффективность кодирования.
Рассмотренные методы сжатия обладают низкой
помехоустойчивостью. Неверно принятый код длины серии приводит к так называемому
"треку ошибок", поскольку декодер воспроизведет серию не той длины
(и не той градации яркости). Таким образом, даже одиночная ошибка за счет помехи
в канале может вызвать поток ошибок при декодировании сигнала.
Особенно чувствительно к ошибкам двумерное
кодирование, поскольку ошибки приводят не только к "трекам", но и
распространяются на соседние строки. Чтобы предотвратить вертикальное распространение
искажений от строки к строке, двумерным способом кодируется не более двух -
четырех соседних строк, после чего строка кодируется одномерным способом.
Одномерная схема кодирования длин серий,
рекомендованная для факсимильной аппаратуры группы 3, следующая:
Данные (Data)
Строка Data состоит из серий кодовых слов
переменной длины. Каждое кодовое слово представляет длину серии только белого
либо только черного. Серии белого и черного чередуются. В сумме 1728 элементов
изображения представляют одну горизонтальную строку развертки длиной 215мм.
Для того чтобы гарантировать удержание
синхронизации и цвета на приеме, все строки Data должны начинаться кодовым словом
длины серии белого. Если фактическая строка развертки начинается с серии черного,
передается длина серии белого, равная нулю. Длина серий черного или белого вплоть
до максимальной длины одной строки развертки (1728 элементов изображения) определяется
с помощью кодовых слов по таблице 1/Т.4 и 2/Т.4. Существуют кодовые слова двух
типов: завершающие и начальные кодовые слова. Каждая длина серии представляется
либо одним словом завершающего кода, либо одним начальным кодовым словом, за
которым следует завершающее кодовое слово.
Длина серий в диапазоне от 0 до 63 элементов
изображения кодируется соответствующим завершающим кодовым словом. Необходимо
отметить, что существуют разные перечни кодовых слов для длины черных и белых
серий.
Длина серий в диапазоне от 64 до 1728 элементов
изображения кодируется сперва начальным кодовым словом, представляющим длину
серии, которая равна или короче требуемой. Затем следует завершающее кодовое
слово, представляющее разность между реальной длиной серии и длиной серии, представленной
начальным кодом.
Конец строки (EOL)
Это кодовое слово следует за каждой строкой
Data. Это - специальное кодовое слово, которое никогда не появляется в действительной
строке Data; поэтому возможна ресинхронизация после пакета ошибок.
Кроме того, этот сигнал передается перед
первой строкой Data страницы.
Формат: 000000000001
Заполнение (FILL)
Пауза в потоке сообщений может заполняться
путем передачи сигнала FILL. FILL может вставляться между строкой Data и EOL,
но никогда не вводится в строку Data. FILL должен добавляться для гарантии,
что суммарное время передачи Data, FILL и EOL не меньше минимального времени
передачи всей кодированной строки развертки, установленного в процедуре управления,
указанной в предсообщении.
Формат: последовательность нулей переменной
длины.
Возврат к управлению (RTC)
Конец передачи документа обозначается путем
передачи шести последовательных сигналов EOL. После сигнала RTC передатчик будет
передавать команды постсообщения в соответствии с цикловым форматом и скоростями
передачи сигналов управления, определенных в Рекомендации Т.30.
Формат: 000000000001........000000000001
(в
сумме 6 раз)
Рис. 3.8.1 и 3.8.2 уточняют связь определенных
выше сигналов. На рис. 3.8.1 показаны несколько строк развертки данных, начиная
с начала переданной страницы. На рис. 3.8.2 показана последняя кодированная
строка развертки страницы.
Рис. 3.8.1.
T - минимальное время передачи полной кодированной
строки развертки
Рис. 3.8.2.
|