Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
1.4. КОДИРОВАНИЕ ДВУХГРАДАЦИОННЫХ ИЗОБРАЖЕНИЙВ двухградационном (или бинарном) представлении изображений каждый отсчет поля с некоторой пороговой величиной Заслуживает внимания использование двухградационных способов представления изображений и в тех случаях, когда необходимо различать уровни серого, если объект обработки неподвижен и имеется возможность вводить в ЭВМ одну и ту же картину несколько раз, управляя порогом и границами области ввода. В этих случаях для обработки изображений можно использовать иерархическую процедуру последовательного уточнения деталей только тех участков изображения, которые содержат существенную для решения поставленной задачи информацию. Аналогичный подход обсуждался в § 1.3 при описании способов представления изображений в виде пирамиды или дерева квадрантов. Отличие здесь заключается в том, что при переходе от одного уровня иерархического описания изображений к другому изменяется не масштаб представления, а порог Переходя к обсуждению проблемы сжатия, отметим, что все решения, которые используются в случае многоградационных изображений, в принципе пригодны и для двухградационных. Однако специфика бинарных изображений находит свое выражение в некоторой модификации способов сжатия или даже в разработке особых кодов, которые не могут применяться для представления многоградационных изображений. Наиболее часто для представления двухградационных изображений используют методы кодирования длинами серий, блочные коды и векторные коды. Кодирование длинами серий.Кодирование длинами серий базируется на представлении каждой строки растра в виде последовательности длин кодовые слова имеют одинаковую длину, т. е. Для получения оценок коэффициента сжатия примем, что каждая строка изображения представляет собой марковскую цепь первого порядка с переходными вероятностями
где Формула (1.10) выведена в предположении, что для кодирования длин единичных и нулевых серий используются различные коды, учитывающие особенности распределения вероятностей длин серий разного цвета. За счет этого приема удается увеличить коэффициент сжатия информации в среднем на результате статистического анализа изображений, то может оказаться, что Кодирование двухградационных изображений длинами серий достаточно широко изучено и отражено в литературе. Известен код Хаффмена, построенный на основании анализа большого числа изображений и позволяющий закодировать любую длину серии вплоть до максимальной, содержащей 1728 отсчетов. Такой код дает возможность получить близкий к теоретическому пределу коэффициент сжатия, но весьма сложен в реализации. В связи с этим были разработаны более простые модифицированные коды Хаффмена [41], в которых за счет небольшого уменьшения коэффициента сжатия упрощаются процессы кодирования и декодирования. С помощью таких кодов изображение сжимается в среднем в 5—7 раз. Для увеличения коэффициента сжатия за счет учета межстрочной корреляции рассматриваются схемы совместного кодирования нескольких строк растра. Такие методы кодирования получили название двумерных в отличие от одномерных, в которых каждая строка кодируется независимо от остальных. Известны двумерные коды, основанные на предсказании значений элементов изображения, на представлении изображения в виде четырехцветных серий, соответствующих четырем возможным комбинациям белого и черного цветов в соседних строках, на переупорядочении элементов текущей строки в зависимости от значения предыдущей и некоторые другие. В большинстве случаев такие методы на определенном этапе сводятся к кодированию длин серий изображения, преобразованного так, чтобы статистика длин серий позволяла получить большие значения коэффициента сжатия информации. Более подробное описание таких методов кодирования с соответствующим теоретическим анализом можно найти в [38]. Отметим, что неравномерные коды предназначены в основном для передачи информации. При обработке изображений на ЭВМ требуется многократное считывание и преобразование растра в целом или отдельных его фрагментов. Каждое считывание одного элемента изображения, представленного длинами серий, требует декодирования по крайней мере одной строки. Сам процесс декодирования предполагает побитную обработку закодированной строки для выделения кодовых слов и расшифровку их по таблице кодирования. Если учесть, что кодовая таблица даже модифицированного кода Хаффмена содержит около двухсот кодовых слов, длина которых изменяется от одного до тринадцати бит, та сложность обработки представленных таким образом изображений становится очевидной. Поэтому неравномерные коды длин серий для представления изображений в ЭВМ практически не используются. Кодирование длин серий кодовыми словами, имеющими одинаковую длину, позволяет существенно упростить процедуру декодирования. Пусть кодовое слово содержит с двоичных разделов. Если
Для типичных документов Код 1. Один из с двоичных разрядов кодового слова выделяется под представление цвета серии. Оставшиеся Код 2. Все с разрядов кодового слова отводятся под представление длины серии в двоичном позиционном коде. Серии длиной больше Код 3. Кодовое слово имеет формат, аналогичный используемому в коде 1. Информационные поля соседних Блочное кодирование.Суть метода состоит в том, что весь растр разбивается на прямоугольные блоки размером кодом Хаффмана. Однако из-за трудностей кодирования и декодирования на практике этот код не применяют. Вместо него используют субоптимальные коды. Анализ большого числа факсимильных изображений показал, что наиболее вероятной конфигурацией, представленной блоком, является конфигурация, состоящая исключительно из нулевых элементов. Этой конфигурации сопоставляется кодовое слово «0». Кодовые слова других конфигураций образуются из двоичных разрядов, соответствующих блоку, которым предшествует префикс «1». Пример такого кодирования приведен на рис. 1.6. Такой способ кодирования получил название кодирования с пропуском белого [60]. Пусть вероятность того, что блок размером
а коэффициент сжатия определяется формулой
Если
Подставив (1.14) в (1.13), получим в явном виде зависимость коэффициента сжатия от размеров блока. Анализ этой функции показал, что она имеет слабо выраженный максимум в точке
Рис. 1.6. Блочное кодирование: а — двухградационное изображение в поэлементной форме; б — разбиение изображения на блоки; в — блочный код с пропуском белого Для изображений некоторого класса коэффициент сжатия может быть увеличен, если особый код выделить и для представления блоков, состоящих только из единичных элементов. Например, известен код, в котором нулевые блоки кодируются словом «0», единичные — словом «10», а остальные - В блочных кодах и в неравномерных способах кодирования длинами серий возникает задача выделения множества слов, представляющих заданную строку растра. В принципе задача разделения множества кодовых слов на подмножества, описывающие строки, может быть решена на основе использования следующего правила: каждое такое подмножество содержит кодовые слова, в совокупности в точности представляющие Можно предложить другое решение этой проблемы. Для представления изображений используются два массива. Один из них, названный информационным (ИМ), содержит множество кодовых слов, представляющих растр. Этот массив делится на подмассивы, описывающие отдельные строки. Если несколько соседних строк имеют одинаковое значение, то в массиве ИМ они представляются одним подмассивом. Кроме того, из ИМ исключается описание однородных строк, т. е. строк, состоящих только из единичных или только из нулевых элементов. Информационный массив снабжается массивом указателей (УМ). В этом массиве каждой Пример такого кодирования представлен на рис. 1.7. Исходное изображение приведено на рис. 1.6. Указатели нулевых строк на рис. 1.7 обозначены символом «0», а единичных — «1». Строки
Рис. 1.7. Представление изображения в виде двух массивов представлены в матричной форме, хотя здесь можно применить любой способ кодирования длинами серий или блоками. Представление изображений двумя массивами позволяет легко обращаться к любой строке растра на основе использования косвенной адресации. Кроме того, несмотря на дополнительный массив УМ, суммарный объем памяти, требуемый для представления изображений, уменьшается за счет исключения из ИМ описания некоторых строк. Коэффициент сжатия, получаемый с помощью такого кодирования, достаточно строго не исследован. В предварительных испытаниях на примере представления топологии печатного монтажа применение такого способа кодирования приводило к сокращению требуемого объема памяти приблизительно в 3 раза. Отметим, что можно предложить относительно простые технические решения, в которых массивы УМ и ИМ формируются аппаратно на выходе устройства ввода визуальной информации без дополнительных затрат времени по сравнению с другими способами кодирования. Например, в телевизионных устройствах ввода указатели могут быть сформированы и записаны в память ЭВМ во время обратного хода луча. Именно требованием простоты аппаратной реализации обусловлен тот факт, что в массиве ИМ одним подмножеством представляются не все одинаковые строки растра, а только те, которые следуют непосредственно один за другим. Некоторые схемные решения этого класса обсуждаются в гл. 2. Векторное кодирование.В [39] был предложен метод кодирования двухградационных изображений, ориентированный в основном для представления чертежей. Метод получил название векторного кодирования. Особенность технических чертежей заключается в том, что содержащаяся в них информация может быть удобно представлена в виде набора линий. Метод векторного кодирования предполагает, что каждая такая линия аппроксимируется ломаной. Отрезки аппроксимирующей ломаной получили название векторов. Каждый вектор задается свеими граничными точками и шириной, характеризующей ширину аппроксимируемой линии. Метод выделения вектора рассчитан на его реализацию в процессе растрового сканирования чертежей в реальном масштабе времени без промежуточного хранения данных. В процессе векторного кодирования на чертеже выделяются фигуры (линии). Каждая фигура состоит из нескольких единичных серий на последовательных линиях сканирования. Принадлежность серий одной фигуре определяется сравнением соседних строк растра. Считается, что две серии в соседних строках растра принадлежат одной фигуре, если расстояние между соответствующими (левыми и правыми) границами этих серий не превышает заданное значение (например, три элемента). Принадлежность серии некоторой фигуре отмечается с помощью специальных меток. Разметка каждой строки растра делается на основании разметки предшествующей строки в процессе их сравнения. Когда образуется новый вектор, координаты левой границы серии на начальной линии сканирования считаются координатами начала вектора, а его ширина — равной длине серии. Для каждого вектора ведется счет составляющих его серий. Говорят, что вектор закончен, если число сосчитанных серий достигнет порогового значения (скажем, пяти). В качестве координат конца вектора запоминаются координаты левой границы последней серии. После формирования каждого нового вектора его угол наклона сравнивается с углом наклона предшествующего ему вектора, принадлежащего той же фигуре. Если эти углы отличаются не более чем на заданное значение, то из двух векторов формируется один большей длины. Рисунок 1.8 иллюстрирует процесс векторизации.
Рис. 1.8. Представление изображения в векторной форме: а — представление кривой в виде единичных серий; б — выделение отрезков ломаной; в — результат объединения нескольких отрезков в один Векторное кодирование позволяет сжать изображение приблизительно в 40 раз. Такая форма представления удобна для обработки чертежей, внесения в описание изменений, отображения результатов на дисплее. Однако при таком способе кодирования происходит потеря информации, т. е. после векторного кодирования полностью восстановить исходное матричное представление невозможно. Собственно за счет потери информации и достигается высокий коэффициент сжатия. Применительно к техническим чертежам теряемая в процессе векторизации информация является несущественной. Если объект и цели обработки иные, векторная форма представления изображений может оказаться недостаточно подробной. Обсуждению некоторых более точных методов аппроксимации фигур посвящен следующий параграф.
|
1 |
Оглавление
|