УДК 004.415.52
Е.В. Ларкин, д-р техн. наук, проф., (4872) 35-02-19, elarkin@mail.ru (Россия, Тула, ТулГУ), А.Н. Ивутин, канд. техн. наук, доц., (4872) 33-24-45, alexey.ivutin@gmail.com (Россия, Тула, ТулГУ), Е.И. Дараган, асп., (4872) 35-01-24, evgeny.daragan@gmail.com (Россия, Тула, ТулГУ)
ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ ОПЕРАЦИЙ ГИБРИДНОГО МИКРОФИЛЬМИРОВАНИЯ ЦВЕТНОЙ ДОКУМЕНТАЦИИ
Рассмотрена технология гибридного микрофильмирования цветной документации с использованием чёрно-белых светочувствительных материалов, а также существующие направления по снижению временных затрат на сложные алгоритмические вычисления в программном обеспечении.
Ключевые слова: микрофильмирование, многопоточность, вычисления на графических процессорах.
Традиционные технологии микрофильмирования ориентированы на хранение текстовой и чертёжно-графической документации. Изображения подобных документов являются черно-белыми и хорошо переносятся на высококонтрастные светочувствительные материалы, применяемые в микрофильмировании, поскольку передачи промежуточных градаций серого тона здесь обычно не требуется. Вместе с этим, в архивах накоплен значительный по объёму фонд документов, в которых часть информации передается с кодированием цветом и требуюет долговременного хранения с сохранением именно цветового кодирования. В качестве примеров подобной документации можно привести топографические карты, схемы и планы с нанесённой цветовой разметкой, научно-техническую документацию, содержащую цветные иллюстрации, графики, диаграммы и т.п.
В настоящее время разработана технология гибридного промышленного микрофильмирования цветной документации, близкой к стандартному технологическому процессу микрофильмирования черно-белых документов и обеспечивающей сопоставимые с черно-белыми микрофильмами сроки хранения [1].
Для реализации предложенных алгоритмов технологии гибридного микрофильмирования цветной документации с использованием чёрно-белых светочувствительных материалов был разработан программно-технический комплекс [2], структура которого приведена на рис. 1.
Формально цифровую модель можно представить в виде матрицы I = {гс (.х, у)}, х = 1.. X, у = 1..7, элементы которой являются векторами
1С (х,у) = (^ (х,у),1С2 (х,у),...), где Рс, (х,у) - яркость I -й цветовой компоненты в точке х, у. На практике количество цветовых составляющих огра-
ничивают обычно тремя, выбирая в качестве первичных цветов красный, зелёный и синий (система RGB) [3,4].
Рис. 1. Процесс формирования микрофильма
Поскольку стандартный процесс химико-фотографической обработки светочувствительных материалов в задачах микрофильмирования предполагает формирование на микрофильме изображения с высоким контрастом (тангенс угла наклона линейного участка характеристической кривой Т>2,5), полезный интервал экспозиций оказывается относительно небольшим. Поэтому непосредственный вывод монохромных цветовых плоскостей оказывается затруднительным ввиду значительных цветовых искажений. Модуль растеризации выполняет преобразование изображения из монохромной формы в бинарную. Передача яркостной информации в бинарной форме может выполняться различными способами: изменением плотности распределения чёрных точек, изменением размеров чёрных точек и т.п.
Модуль формирования служебной информации может вносить в изображение дополнительную информацию, упрощающую процесс последующего восстановления цветного изображения с цветоделённой копии (метки-реперы для совмещения цветовых плоскостей, тип плоскости и т.п.).
Состав модулей и структура системы восстановления цветных изображений с микрофильма (рис. 2) в целом определяются перечнем и последовательностью этапов преобразования информации, выполняемых системой вывода.
Так как в качестве первичного источника информации для системы ввода используется микрофильмированное изображение, к характеристикам сканера (С1М-системы) предъявляются существенно более жёсткие требования. В частности, необходимо обеспечить гораздо большее пространственное разрешение сенсора и оптическое разрешение объектива,
возможность работать с прозрачными оригиналами, способность сенсора воспринимать изображения с большим диапазоном оптических плотностей и др.
Рис. 2. Подсистема восстановления цветного изображения
с микрофильма
При считывании изображения с микрофильма формируется матрица вида (х, у) ], х = 1. .Х\ у = 1. .У', элементы которой
= {х>У)>1'с2 .?)>'••) несУт информацию о яркости соответствующих точек в различных цветовых плоскостях. В общем случае формат матрицы Х'хУ' не совпадает с форматом исходного изображения ХхУ. Размер матрицы зависит от характеристик и режима функционирования СГМ-системы.
Для восстановления монохромных изображений отдельных цветовых плоскостей из растра используется модуль пространственной фильтрации, выполняющий обратное преобразование локальной плотности чёрных точек в яркость соответствующего участка изображения. В результате формируется матрица (х,у )].
Модуль совмещения кадров, используя служебную информацию, выполняет преобразование отдельных цветовых плоскостей к единой системе пространственных координат [5].
Модуль преобразования системы кодирования цвета преобразует изображение в одну из известных систем, формируя восстановленное цветное изображение документа в виде матрицы I' = {1с(х,у)}, которое сохраняется в файле в некотором графическом формате.
В дальнейшем этот файл может быть выведен на бумагу через систему цветной печати либо записан на машинный носитель с возможностью последующей цифровой обработки и/или передачи по каналам связи.
Таким образом, описанная система гибридного микрофильмирования цветной документации позволяет осуществлять долговременное хранение цветных документов, используя относительно недорогое существующее оборудование для микрофильмирования за счёт разработки специального математического и программного обеспечения обработки цифровых моделей изображений.
Алгоритмы подготовки и восстановления изображений при гибридном микрофильмировании характеризуются высокой вычислительной сложностью. Для формирования выходного изображения требуется решение систем дифференциальных уравнений, а также значительное количество матричных преобразований. При этом вычисления выполняются над кадрами искомого изображения в каждом из модулей комплекса. Переход данных от модуля к модулю не зависит от порядка поступления входной информации на входы предшествующего блока. Поэтому, учитывая информационные зависимости между компонентами комплекса, можно говорить о возможности применения средств оптимизации вычислений в процессе гибридного микрофильмирования.
Известен целый ряд средств и методик для снижения временных затрат на выполнение тех или иных операций, начиная от элементарного увеличения вычислительных мощностей и заканчивая полным перестроением компонент системы.
Решением, позволяющим учесть растущую степень параллелизма современных программ, является использование вытесняющих многозадачных операционных систем (или систем с разделением времени). Многозадачность с разделением времени позволяет скрывать время ожидания ввода-вывода путем чередования выполнения нескольких программных потоков. Однако такая модель не обеспечивает параллельное выполнение вычислений, а для однопроцессорных систем замедляет скорость работы. Только один поток команд может обрабатываться процессором в каждый момент времени. Другой способ реализовать параллелизм на уровне программных потоков - увеличение количества физических процессоров в компьютере.
Многопроцессорные системы позволяют реализовать истинно параллельное выполнение, поскольку на нескольких процессорах одновременно выполняется несколько программных потоков или процессов. Для того чтобы рассмотреть данное решение, необходимо более формально определить понятие программного потока. Программный поток можно считать элементарной единицей использования процессора. Он содержит программный счетчик, который указывает на текущую команду в потоке,
354
информацию о состоянии процессора для текущего потока, а также другие ресурсы, такие, как стек.
В настоящее время широкое применение получила технология одновременной многопоточности (Simultaneous Multi-Threading, SMT). Реализация SMT от фирмы «Intel» известна как технология гиперпоточности (Hyper-Threading Technology, HT Technology). За счет технологии гиперпоточности один процессор выглядит как несколько логических процессоров. Это позволяет операционным системам и приложениям планировать выполнение несколько программных потоков на разных логических процессорах точно так же, как в случае многопроцессорной системы. Другими словами, можно планировать несколько программных потоков, но поскольку исполнительные ресурсы используются совместно, то именно микроархитектура определяет, когда и как будет чередоваться выполнение двух потоков. Невозможно организовать параллельную вычислительную систему без установления каналов связи или других средств взаимодействия между различными частями такой системы. Установление изоляции между процессорами и запрет на взаимный обмен информацией не позволяют повысить степень эффективности параллельных вычислений.
Другим распространяемым решением проблемы увеличения вычислительных мощностей является использование многоядерного процессора. Многоядерные процессоры поддерживают мультипроцессорную обработку на кристалле (Chip Multiprocessing, CMP). Данная технология предполагает расположение исполнительных ядер (отдельных процессоров) на одном кристалле. Исполнительные ядра имеют собственный набор исполнительных и архитектурных ресурсов. Кроме того, каждое ядро поддерживает механизм SMT, увеличивая таким образом количество логических процессоров в два раза по сравнению с количеством исполнительных ядер.
Многопроцессорность можно получить и, задействовав мощности современных видеокарт (GPU), производительность которых при выполнении спецопераций сопоставима, а иногда и превышает производительность центрального процессора (CPU). Такие вычисления сводятся к использованию CPU и GPU с разнородной выборкой между ними, а именно части программы, отвечающие за управления данными, логическое взаимодействие между компонентами системы и т.п., берет на себя CPU, в то время как трудоёмкие вычислительные задачи отводятся графическому процессору. Благодаря этому происходит распараллеливание задач, которое приводит к ускорению обработки информации, т.е. уменьшает время выполнения работы. Однако, чтобы добиться такого результата, необходима поддержка ещё и программного обеспечения, которое распределяет вычислительные нагрузки между центральным и графическим процессором.
В настоящее время два основных производителя видеочипов -NVIDIA и AMD - разработали соответствующие платформы под названием CUDA (Compute Unified Device Architecture) и CTM (Close To Metal или AMD Stream Computing) соответственно. Платформы не совместимы между собой, CUDA - это расширение языка программирования C, а CTM -виртуальная машина, исполняющая ассемблерный код. Особенное место в области высокопроизводительных вычислений занимает стандарт OpenCL - единый стандарт для написания приложений, которые должны исполняться в системе, где установлены различные по архитектуре процессоры, ускорители и платы расширения. Стандарт предоставляет программистам переносимый и эффективный доступ ко всей мощи гетерогенных вычислительных платформ.
OpenCL поддерживает широкий круг ПО: от встроенных и клиентских приложений до высокопроизводительных решений. Достигается это за счет создания переносимого низкоуровневого программного интерфейса, пригодного для использования в высокопроизводительных решениях. Стандарт способен сформировать базовый уровень параллельного вычислительного кода независимых от аппаратной платформы программных инструментов, промежуточного ПО и других видов приложений.
Сравнивая два подхода к снижению временных затрат на осуществление сложных вычислений, в том числе и при гибридном микрофильмировании, можно сказать, что в отличие от современных универсальных CPU графические процессоры предназначены для параллельных вычислений с большим количеством арифметических операций, что характерно для задач обработки видеоинформации. И значительно большее число транзисторов GPU работает по прямому назначению - обработке массивов данных, а не по управлению исполнением немногочисленных последовательных вычислительных потоков. В итоге, основой для эффективного использования мощности GPU в научных и иных расчётах является распараллеливание алгоритмов на сотни исполнительных блоков, имеющихся в видеочипах. Выполнение расчётов на GPU показывает отличные результаты в алгоритмах, использующих параллельную обработку данных, то есть, когда одну и ту же последовательность математических операций применяют к большому объёму данных. При этом лучшие результаты достигаются, если отношение числа арифметических инструкций к числу обращений к памяти достаточно велико. Это предъявляет меньшие требования к управлению исполнением, а высокая плотность математики и большой объём данных отменяют необходимость в больших кэшах, как на CPU.
Рассмотрим алгоритм работы модуля восстановления цветного изображения с микрофильма (рис.3) на предмет возможности распараллеливания вычислений.
Алгоритм представляет собой последовательную структуру, состоящую из шагов обработки исходных данных. Для получения графического файла восстановленного цветного изображения из исходного файла (находящегося на жестком диске или полученного путем сканирования) выделяют кадры. Для каждого из них производятся предварительные операции низкочастотной фильтрации, настройка яркости и контрастности. Тот факт, что указанные операции выполняются одинаково для всех кадров и отсутствует информационная зависимость между результатами обработки кадров, позволяет говорить о возможности распараллеливания данного процесса. В качестве примера приведем процедуру формирования множества базовых точек. Кадр модели изображения разбивается на множество непересекающихся областей. Из них выбираются ]\Г областей, не соприкасающихся непосредственно с внешними границами изображения. Внутри областей Ап в соответствии с некоторым критерием будет осуществляться выбор базовых точек. Формальная оценка расположения областей Ап в пределах кадра, а также их линейных размеров довольно трудна и в значительной степени зависит от характера изображения. Однако очевидно, что базовые точки не должны концентрироваться в некоторой локальной области, поскольку это увеличивает погрешность при преобразовании кадров в единую систему координат.
цветного изображения с микрофильма
357
Если область Ап имеет координаты ((Х(/)п,у^)п),(Х(г)п,У(р)п)), где
(Х(/)п, У(х )п) - координаты левого верхнего угла области Ап; (Х(г )п, У(р)п)
- координаты правого нижнего угла области Ап, то в качестве критерия, определяющего принадлежность точки к множеству базовых точек, используется зависимость вида
(1)
где и, V характеризуют размеры области малых сдвигов В относительно предполагаемой базовой точки, по которой происходит сравнение; Ах, Ау характеризуют размеры областей окружения предполагаемой базовой точки (область ^) и каждой точки (область ) из области малых сдвигов В.
После анализа формулы (1) на предмет распараллеливания вычислений можно получить схему расчетов критерия (рис. 4).
Рис. 4. Пространство итераций цикла вычисления критерия, определяющего принадлежность точки к множеству базовых точек
Учитывая, что речь идет об обработке изображений и об алгоритмах повышения яркости и контрастности, существует возможность переноса проводимых вычислений на графический процессор. Формирование множества базовых точек в базовом кадре, расчёт параметров совмещения кадров также выполняются для отдельно взятого приводимого кадра изображения. Результаты данных расчетов используются на этапе совмещения текущего приводимого кадра. Так же, как и в случае подготовки исходного изображения, выполнение процесса расчета параметров совмещения может выполняться параллельно для каждого кадра ввиду отсутствия параметрических и информационных зависимостей между ними [6].
Предложенный подход к распараллеливанию вычислений в системе гибридного микрофильмирования позволит снизить общее время выполнения процесса микрофильмирования документа-оригинала и время восстановления документа с микрофильма. Выделение независимых функциональных блоков в алгоритмах обработки исходного изображения предоставляет возможность применения технологий параллельных вычислений, в том числе с использованием графических процессоров. Это позволит снизить время выполнения сложных вычислений и расчетов, которыми характеризуется процесс микрофильмирования цветных изображений.
Список литературы
1. ГОСТ 13.1.002-80. Репрография. Микрография. Документы для съемки. Общие требования и нормы. М.: Изд-во стандартов, 1982.
2. Талалаев А.К., Котов В.В. Аппаратно-программный комплекс гибридного микрофильмирования цветных документов// Известия ТулГУ. Сер. Проблемы специального машиностроения. Вып. 9. Т. 2. С. 242 - 246.
3. Котов В.В., Гусев Б.Б., Муравлев С.Н. Гибридное микрофильмирование цветной документации// Известия ТулГУ. Сер.: Проблемы управления электротехническими объектами. 2005. Вып.3. С. 170.
4. Ларкин Е.В., Котов В.В. Микрофильмирование цветной документации// Известия ТулГУ. Сер.: Вычислительная техника. Информационные технологии. Системы управления. Вып. 3. Системы управления. С. 101 -106.
5. Котов В.В. Метод совмещения цветовых плоскостей в системах гибридного микрофильмирования, Известия ТулГУ. Сер.: Проблемы специального машиностроения. 2005. Вып. 8. С. 345 - 349.
6. Ивутин А.Н., Дараган Е.И. Применение сетей Петри и метода построения графа информационных зависимостей для решения задач верификации и распараллеливания вычислений // Известия ТулГУ. Технические науки. 2011. Вып. 5. Ч. 3. С. 185 - 192.
E.V. Larkin, A.N. Ivutin, E.I. Daragan
IMPROVE OPERATIONAL EFFICIENCY HYBRID COLOR DOCUMENT MICROFILMING
The technology of hybrid microfilming color documents with black and white lightsensitive materials, and also current trends to reduce the time spent on complex algorithmic calculations in software are presented.
Key words: microfilming, multithreading, computation on GPUs.
Принято 14.12.11