Устройство для обработки изображения и способ управления для него
Иллюстрации
Показать всеИзобретение относится к средствам обработки изображения. Технический результат заключается в повышении производительности обработки. Устройство обработки данных имеет среду интерпретатора для динамической реализации программы, сформированной на основе группы команд, определенной независимо от унаследованной группы команд, в унаследованной среде, образованной на основе унаследованной группы команд, обрабатываемых процессором, конфигурирующим аппаратные средства. Устройство генерирует промежуточный поток данных в каждом из множества блоков, на которые разделен входной поток данных при интерпретации в унаследованной среде и фильтрует промежуточный поток данных для генерации отфильтрованного потока данных в среде интерпретатора. Способ описывает работу устройств. 8 н. и 24 з.п. ф-лы, 16 ил.
Реферат
Область техники
Настоящее изобретение относится к устройству для обработки изображения и способу управления для него.
Предшествующий уровень техники
Обычно программное обеспечение для выполнения обработки изображений в устройстве обработки изображений, таком как устройство копирования или MFP (многофункциональное печатающее устройство) выполняется в виде так называемого встроенного программного обеспечения (ПО), которое является статическим и установленным на операционной системе (ОС). Даже если оно внутренним образом конфигурировано в виде множества модулей, такое встроенное ПО сохраняется на энергонезависимой памяти устройства в состоянии, когда оно во всей своей полноте статически связано с единственным загрузочным модулем. При запуске системы оно либо загружается с энергонезависимой памяти, такой как жесткий диск, в ОЗУ для реализации или непосредственно реализуется на энергонезависимой памяти, такой как ПЗУ, имеющем сохраненное на нем встроенное ПО. В частности, встроенное ПО, конфигурирующее инкорпорирующую систему, такую как экономичное устройство обработки изображений, обычно конфигурируется так, чтобы не выполнять динамическую загрузку или связывание частичного модуля по причине его экономической эффективности и надежности. Это объясняется тем, что характеристика стоимости устройства ухудшается пропорционально объему памяти для хранения таблицы символов, необходимой для реализации динамической связи и непроизводительной нагрузки, связанной с процессом для обращения к адресу символа. Кроме того, это связано с опасностью того, что дополнительная загрузка и связывание субмодуля ставит под угрозу качество и надежность системы в целом, которые были оценены как достаточные и достигнутые до связывания модуля.
Традиционно проводятся разработки устройства обработки изображений, имеющего дополнительный уровень операционной среды программного обеспечения, обеспечиваемой на операционной системе (ОС) реального времени встроенного ПО инкорпорирующей системы и поддерживающей динамические свойства программного обеспечения, такие как динамическая загрузка, динамическое связывание и динамические операции памяти, в обеспечиваемой операционной среде программного обеспечения. Операционная среда программного обеспечения, имеющая возможность добавления модуля, конфигурируется интерпретатором, набором интерфейсов программирования приложений (API) и группой инфраструктур (унифицированных интерфейсов пользователя), и обеспечивает некоторый тип ОС или компьютерной платформы для исполнения на ней программного обеспечения. Интерпретатор последовательно считывает, интерпретирует и реализует набор последовательностей команд, образующих команды, включенные в предварительно определенный набор команд. В случае принятия набора команд в качестве эквивалента, позиционируемого как набор команд для центрального процессорного блока (ЦПБ), интерпретатор может определяться, в частности, как виртуальная машина. Набор API и группа инфраструктур обеспечивают доступ к ресурсам, обеспечиваемым действительной ОС реального времени на более низком уровне этой операционной среды программного обеспечения, и различным группам ресурсов, имеющим аппаратные средства, абстрагированным ради программного обеспечения, работающего в операционной среде программного обеспечения. Эти ресурсы представляют команду, реализующую контекст посредством процессора, память, файловую систему и различные виды средств ввода/вывода (I/O), включая, например, сетевой интерфейс. Операционная среда программного обеспечения может уникальным образом манипулировать контекстом, реализующим команды, на интерпретаторе независимо от многозадачного механизма, обеспечиваемого ЦПБ и ОС реального времени. Что касается управления памятью, операционная среда программного обеспечения может аналогичным образом обеспечивать однозначно определенное управление памятью.
Программное обеспечение, работающее в такой операционной среде программного обеспечения, последовательно считывается и интерпретируется интерпретатором, и, таким образом, имеется возможность того, что он может контролировать последовательности команд в ходе этих процессов и исключать операции, оказывающие отрицательное влияние на систему. Доступ к различным ресурсам из программного обеспечения, работающего в операционной среде программного обеспечения, реализуется косвенным путем с помощью группы API и группы инфраструктур, обеспечиваемых операционной средой программного обеспечения. Поэтому имеется возможность исключения операций, оказывающих отрицательное воздействие на систему в ходе такого доступа. Таким образом, весьма эффективным является принятие метода обеспечения иерархии операционной среды программного обеспечения, состоящей из интерпретатора, группы API и группы инфраструктур внутри встроенного ПО, чтобы частично ввести динамические свойства программного обеспечения во встроенном ПО экономичной инкорпорирующей системы, которая должна конфигурироваться статически и неизменно (см. выложенную патентную заявку Японии № 11-282684 и выложенную патентную заявку Японии № 2003-256216).
Что касается вышеприведенного метода, возможно в целях реализации иерархии операционной среды программного обеспечения принять виртуальную машину Java (зарегистрированный товарный знак) в качестве интерпретатора и принять группу API и группу инфраструктур, связанных с Java. Заявитель настоящей заявки коммерциализовал комплексную машину, включающую в себя платформу Java, во встроенном ПО устройства для обработки изображений в 2003 г.
Обычно принтер с возможностью загрузки приложений, имеющий сетевой компьютер, используется для загрузки файла данных для распечатки и приложения, соответствующего файлу данных, из компьютерной сети в принтер. Известен принтер, включающий сетевой компьютер для запуска и исполнения приложения внутри принтера и открывающий файл данных и преобразующий его в растровое изображение для его распечатки. Также известно, что «Java-аплет» используется в этом случае в качестве приложения. Кроме того, описано, что даже в случае проталкивания файла данных для печати от клиента приложение извлекается из сервера приложений принтером (см. выложенную патентную заявку Японии № 11-53132).
Выложенная патентная заявка Японии № 11-306107 раскрывает сетевую коммуникационную систему для соединения серверного устройства, имеющего различное периферийное оборудование, множество оконечных устройств, имеющих программное обеспечение, управляющее периферийным оборудованием, и, по меньшей мере, базу данных, относящуюся к программному обеспечению, управляющему периферийным оборудованием для канала передачи, чтобы выполнять сетевой информационный обмен на основе предварительно определенного коммуникационного протокола, причем периферийное оборудование включает в себя секцию управления клиента для запроса и получения от серверного устройства текущей информации для модуля, соответствующей всему или части программного обеспечения, управляющего периферийным оборудованием, или модуля, используемого программным обеспечением, и агента распределения программного обеспечения для распределения полученного текущего модуля для оконечных устройств. Также раскрыто, что «Java-аплет» и «Java-приложение» могут поставляться как клиентские модули, используемые программным обеспечением, управляющим периферийным оборудованием в этом случае.
Что касается коммерческой системы, то имеются случаи, когда потребность поддержания стабильности всей системы, в которой осуществлен запуск нормальной процедуры, настолько велика, что изменение или обновление версии драйвера принтера и приложения не разрешается простым образом. Среди таких ограничений текущей среды операций печати перед поставщиком принтеров стоит задача удовлетворения различных потребностей потребителей с помощью решений на стороне принтера, а не поиска решений на стороне потребителя. По этой причине имеется метод настройки в соответствии с условиями заказчика встроенного ПО, конфигурирующего принтер и контроллер принтера таким образом, чтобы удовлетворять потребность каждого потребителя. Однако такая настройка встроенного ПО для удовлетворения потребностей потребителя требует длительного периода разработок и больших затрат на разработку устройства, а обновление встроенного ПО влечет за собой проблемы профилактической поддержки, выполняемой обслуживающим персоналом. Таким образом, существует проблема в своевременном удовлетворении потребностей каждого потребителя в аспекте эффективности с учетом затрат.
Что касается комплексной машины, включающей в себя операционную среду программного обеспечения, такой как платформа Java, например, во встроенном ПО инкорпорирующей системы, то можно разработать новое встроенное в устройство приложение, независимое от встроенного ПО в операционной среде программного обеспечения. Также возможно обратиться к функции печати устройства из Java-приложения посредством API. Однако платформа Java позиционирована в иерархии встроенных приложений внутри встроенного ПО, поэтому невозможно переадресовывать функцию приема данных печати и функцию сервера печати, реализованные в той же самой иерархии, как унаследованные встроенные приложения в Java-приложение. Более конкретно необходимо, например, реализовать на стороне Java функцию сервера печати, имеющую различные сервисные протоколы печати для принимаемых данных печати, через реализованную здесь сеть. Таким образом, это является неэффективным в аспекте затрат на разработку, затрат на оценку и объема памяти, требуемого для реализации.
В случае отсутствия иерархии в операционной среде программного обеспечения во встроенном ПО другой инкорпорирующей системы вся инкорпорирующая система конфигурируется для обеспечения возможности динамического связывания и реализации сменности, чтобы получить динамическую конфигурацию. Если исходить из того, что секция, требующая динамических свойств, является всего лишь механизмом для обеспечения гибкости и возможности наращивания за счет добавления препроцессорной обработки перед интерпретацией принятого потока данных PDL, такой традиционный подход не пригоден применительно к дешевой мелкосерийной системе ввиду повышения затрат в связи с непроизводительными расходами на конфигурирование всей системы как динамического программного обеспечения и трудностями в обеспечении качества.
Поэтому предложен способ повышения производительности в настройке в соответствии с требованиями заказчика принтеров PDL, при этом секция фильтрации для выполнения препроцессорной обработки перед интерпретацией потока данных PDL, принимаемого принтером, реализуется как гибкое и наращиваемое программное обеспечение, чтобы четко отделить его от реализации других частей встроенного ПО принтера, требующих стабильности (выложенная заявка Японии № 2004-093215).
В решении, соответствующем выложенной заявке Японии № 2004-093215, необходимо выполнять фильтрацию всего потока данных запроса печати, и поэтому эффективная обработка не реализуется. Более конкретно поток данных запроса печати, принимаемый устройством обработки изображений, главным образом, конфигурируется частью потока данных запроса печати, содержащей инструкции и команды, относящиеся к управлению устройством, такому как определение подачи бумаги и этап выталкивания бумаги в принтере подобно JL (язык заданий), и частью потока изобразительных данных, содержащей инструкции и команды, относящиеся к вычерчиванию, таких как PDL. И фильтрация всегда выполняется над потоком данных, включающим в себя обе части, так что эффективная обработка не может быть выполнена, поскольку весь процесс становится громоздким, и пропускная способность сокращается. Кроме того, не учитывается оперирование с различными потоками данных запроса на обработку, иными, чем PDL, такими как временное хранение данных в устройстве обработки изображений и оперирование с различными потоками данных, например посылка данных изображения, считанных устройством обработки изображений, по электронной почте.
Раскрытие изобретения
Целью настоящего изобретения является устранение недостатков известных решений.
Сущность настоящего изобретения заключается в обеспечении устройства обработки изображений и способа управления для него, причем устройство обработки изображений имеет возможность применения динамической загрузки или связываемого фильтра к входному потоку данных для простой реализации различных процессов в отношении потока данных.
В соответствии с одним аспектом настоящего изобретения обеспечено устройство обработки изображений в собственной (унаследованной) среде, образованной на основе первой группы команд, обрабатываемых процессором, конфигурирующим аппаратные средства и имеющим среду интерпретатора, для динамической реализации программы, сформированной на основе второй группы команд, определенной независимо от первой группы команд, причем устройство содержит:
средство приема потока данных для приема входного потока данных, включающего в себя запрос на обработку от клиента в унаследованной среде,
средство обработки данных для генерации промежуточного потока данных в каждом из множества блоков, на которые разделен входной поток данных при интерпретации в унаследованной среде,
средство фильтрации для фильтрации промежуточного потока данных и генерации отфильтрованного потока данных в среде интерпретатора,
средство интерфейса для извлечения и обратной записи промежуточного потока данных между самим собой и средством фильтрации в унаследованной среде, и
средство управления фильтрацией для переноса промежуточного потока данных, извлеченного через средство интерфейса в унаследованной среде, к соответствующему средству фильтрации в среде интерпретатора и обратной записи отфильтрованного потока данных через средство интерфейса.
Другие признаки и преимущества настоящего изобретения поясняются в последующем детальном описании со ссылками на чертежи, на которых одинаковые ссылочные позиции обозначают те же самые или сходные элементы на всех чертежах.
Краткое описание чертежей
Иллюстрирующие чертежи, которые включены в описание заявки в качестве его составной части, иллюстрируют варианты осуществления изобретения и вместе с описанием служат для пояснения принципов изобретения.
Фиг. 1 - блок-схема для пояснения конфигурации аппаратных средств устройства обработки изображений согласно варианту осуществления настоящего изобретения,
Фиг. 2 - блок-схема иерархии для описания конфигурации программного обеспечения контроллера согласно варианту осуществления изобретения,
Фиг. 3 - схема, показывающая основной поток данных между модулями программного обеспечения контроллера и потоки данных, существующие в каждом модуле, согласно варианту осуществления изобретения,
Фиг. 4 - схема, показывающая основной поток данных между модулями программного обеспечения контроллера и поток данных при фильтрации согласно варианту осуществления изобретения,
Фиг. 5 - диаграмма для описания классов инфраструктуры фильтрации, сформированной в среде интерпретатора согласно варианту осуществления изобретения,
Фиг. 6А и 6В - диаграммы экземпляра объектов, управляемых инфраструктурой фильтрации, сформированной в среде интерпретатора согласно варианту осуществления изобретения, где фиг. 6А показывает соотношение между объектами, управляемыми во время исполнения инфраструктуры фильтрации, когда один фильтр находится в эффективном (действующем) состоянии, и фиг. 6В показывает соотношение между объектами, управляемыми во время исполнения инфраструктуры фильтрации, когда два фильтра находятся в эффективном состоянии,
Фиг. 7А-7С - представления, показывающие примеры пользовательского интерфейса для работы инфраструктуры фильтрации согласно варианту осуществления изобретения,
Фиг. 8 - блок-схема, показывающая основную процедуру процесса фильтрации согласно варианту осуществления изобретения,
Фиг. 9 - блок-схема, показывающая другой пример процедуры процесса фильтрации согласно варианту осуществления изобретения,
Фиг. 10 - диаграмма для описания потока данных запроса на обработку согласно варианту осуществления изобретения,
Фиг. 11 - диаграмма для описания обработки потока изобразительных данных, выполняемой фильтром, согласно варианту осуществления изобретения,
Фиг. 12 - диаграмма для описания обработки фильтрации потока изобразительных данных, выполняемой фильтром согласно варианту осуществления изобретения,
Фиг. 13 - диаграмма для описания обработки потока изобразительных данных, выполняемой посредством фильтра оптимизации согласно варианту осуществления изобретения,
Фиг. 14 - диаграмма для описания обработки потока данных назначения управления устройством, выполняемой фильтром дополнения функций согласно варианту осуществления изобретения,
Фиг. 15 - представление, показывающее пример пользовательского интерфейса для управления фильтром расширения функций, и
Фиг. 16 - диаграмма для описания потока данных передачи согласно второму варианту осуществления изобретения.
Наилучший вариант осуществления изобретения
Предпочтительные варианты осуществления настоящего изобретения подробно описаны ниже со ссылками на иллюстрирующие чертежи. Следует отметить, что варианты осуществления, описанные ниже, не ограничивают изобретение, представленное в формуле изобретения, и что все комбинации признаков, описанные в вариантах осуществления, не обязательно должны быть существенными в качестве средства для реализации изобретения.
На фиг. 1 показана блок-схема для пояснения конфигурации аппаратных средств устройства 1000 обработки изображений согласно варианту осуществления настоящего изобретения.
Устройство 1000 обработки изображений содержит контроллер 1600 устройства обработки изображений (далее называемый контроллером) и конфигурируется устройствами путем управления, осуществляемого различными системами управления. Более точно устройство 1000 обработки изображений согласно настоящему изобретению предполагается принтером.
ЦПБ 1 выполняет действие управления на основе программы управления, сохраненной в перезаписываемой флэш-памяти 3. ЦПБ 1 использует предварительно определенный сетевой коммуникационный протокол для выполнения общего управления различными запросами передачи данных, такими как данные печати и инструкции управления принтером, передаваемые от множества внешних устройств (не показаны), таких как хост-компьютер, соединенный с локальной сетью (LAN 2000) через сетевой контроллер (LANC) 5, связанный с системной шиной 4. ЦПБ 1 также исполняет общее управление доступом к различным устройствам, соединенным с системной шиной 4, на основе программы управления, сохраненной в ПЗУ 9, или программы управления или данных ресурсов (информации о ресурсах), сохраненных во внешней памяти 10, соединенной через контроллер диска (КД) 15. Поэтому он генерирует данные изображений с помощью растрового контроллера 12 на основе принятых данных печати, чтобы вывести данные изображения на механизм 16 разметки (механизм принтера).
ОЗУ 2 используется как область временного хранения главной памяти и рабочая область ЦПБ 1. Флэш-память 3 представляет собой перезаписываемую энергонезависимую память, сохраняющую программу управления, так же как в ПЗУ 9. Системная шина 4 используется для обмена данными между устройствами, включенными в контроллер 1600.
Сетевой контроллер (LANC) 5 соединяет контроллер 1600 с локальной сетью LAN 2000. ЖК дисплей 6 используется в качестве дисплея для указания операционного состояния контроллера 1600, который может показывать различные операционные состояния, такие как состояние электрического соединения (LINK) между сетевым контроллером (LANC) 5 и локальной сетью (LAN) 2000 и сетевой коммуникационный режим (10Base, 100Base, полный дуплексный, полудуплексный) посредством мигающего режима и цвета светодиода 6. Внешняя память 10 сохраняет программу управления и различные данные и соединена с контроллером 1600 через контроллер 15 диска. Накопитель на жестком диске, USB-память и т.д. используются в качестве внешней памяти 10. Растровый контроллер 12 генерирует данные изображения, которые должны выводиться на основе принятых данных печати. Механизм 16 разметки получает данные изображения от растрового контроллера 12 и распечатывает их.
Пульт 18 управления (операционная часть) имеет кнопки для выполнения операций, таких как установка рабочего режима и отмена данных печати устройство 1000 обработки изображений, отображаемую сенсорную панель, накладываемую на жидкокристаллическую панель, причем жидкокристаллическая панель предназначена для указания операционного состояния устройства 1000 обработки изображений, и дисплей, такой как ЖК-дисплей. Блок 19 считывания изображения обеспечивает инструкцию для считывания данных изображения через пульт 18 управления или локальную сеть 2000 для ввода считанных (отсканированных) данных изображения на устройство 1000 обработки изображений.
Механизм 16 маркировки, показанный на фиг. 1, использует известные методы печати, причем предпочтительными примерами являются, например, электрофотографический метод (метод лазерного луча), метод струйной печати и метод сублимационной печати (термопереноса).
Фиг. 2 показывает иерархическую диаграмму, указывающую конфигурацию программного обеспечения контроллера 1600 согласно варианту осуществления настоящего изобретения. Фиг.2 показывает, что модуль высокого порядка, расположенный в верхней части, зависит от модуля низкого порядка, расположенного в нижней части. Он также показывает, что имеется зависимость между модулями, соединенными, в частности, линией.
Модуль 201 унаследованного кода является стандартным модулем, конфигурирующим встроенное ПО устройства 100 обработки изображения, и непосредственно реализован ЦПБ 1. Модуль 201 унаследованного кода статически связывается с единственным модулем загрузки в качестве встроенного ПО при проектировании устройства и сохраняется во флэш-памяти 2 устройства 1000 обработки изображения. Встроенное ПО загружается из флэш-памяти 3 в ОЗУ 2 при запуске устройства 1000 обработки изображения, и ЦПБ 1 считывает последовательно код из ОЗУ 2 в процессе работы устройства 1000 обработки изображения, чтобы осуществлять интерпретацию и обработку кода. Однако никакая динамическая связь не реализуется при выполнении этого процесса. Встроенное ПО может также сохраняться в энергонезависимой памяти, непосредственно считываемой и доступной для ЦПБ 1, например в ПЗУ 9, и содержит код, последовательно считываемый из ПЗУ 9 непосредственно ЦПБ 1 без загрузки его в ОЗУ 2, для интерпретации и выполнения.
Модуль 202 передачи/приема данных принимает поток 350 данных запроса на обработку (фиг. 3) от клиента и передает поток 358 данных передачи (фиг. 3), генерируемый контроллером 1600 к клиенту. Модуль 203 передачи/приема является зависимым от стека 223 протоколов через операционную систему реального времени (ОС РВ) 214. Передача и прием данных клиентом физически выполняются через сеть, такую как Ethernet (зарегистрированный товарный знак), и различные интерфейсы, такие как USB и IEEE 1394, где имеется протокол приложения, предназначенный для выполнения запроса обработки в соответствии с каждым режимом соединения. Модуль 202 передачи/приема данных имеет серверную функцию протоколов приложений, реализованных на нем. Что касается протоколов приложений для сервиса, имеются различные спецификации, такие как LPR, SMB, PAP и NetWare, являющиеся лишь примерами сетевых протоколов, и их реализация требует очень больших объемов затрат на разработку и затрат на оценку качества. Модуль 202 передачи/приема данных поддерживает множество протоколов, включающих в себя протоколы различных существующих сервисов для каждого из множества интерфейсов. Для передачи и приема данных модуль 202 передачи/приема данных может конфигурировать очередь задач в ОЗУ 2 устройства 1000 обработки изображения для получения так называемой функции подкачки, реализованной на нем. В этом случае модуль 202 передачи/приема данных может принимать запрос задания от клиента и сохранять его в очереди для освобождения клиента даже в случае, когда задание не может быть немедленно реализовано, например в процессе выполнения другого задания. Задания, сохраненные таким образом в очереди, последовательно обрабатываются в соответствии с алгоритмом планирования, когда они становятся выполнимыми.
Встроенное приложение 203 представляет собой встроенное приложение для обеспечения центральной функции устройства 1000 обработки изображений и обеспечивает обслуживание в соответствии с запросом от клиента. В случае когда клиентом является приложение и программное обеспечение драйвера на хосте через локальную сеть LAN 2000, клиент генерирует поток 350 данных запроса обработки (фиг. 3) и направляет его во встроенное приложение 203 через модуль 202 передачи/приема данных. Встроенное приложение 203 делит поток 350 данных запроса обработки на поток 351 данных назначения управления устройством (фиг. 3) и поток 352 изобразительных данных (фиг. 3) и направляет их в модуль 205 управления заданием через API 204 управления соответственно. Либо он интерпретирует поток 351 данных назначения управления устройством (фиг. 3) и выдает инструкции в модуль 205 управления заданием относительно обработки, запрошенной клиентом, через API 204 управления, чтобы направить поток 352 изобразительных данных (фиг. 3) на него.
В случае инструкции клиента, введенной через пульт 18 управления устройства 1000 обработки изображений, встроенное приложение 203 генерирует поток 351 данных назначения управления устройством (фиг. 3) и направляет его в модуль 205 управления заданием через API 204 управления. Либо он выдает инструкцию в модуль 205 управления заданием, как запрашивается клиентом, через API 204 управления. Сегмент описания в управлении устройством обычно определяется как JL (язык заданий) и включает в себя данные среды для определения операционного параметра, относящегося к интерпретации и расширению изобразительных данных, спецификацию подачи и переноса бумаги, используемой для печати, спецификацию режима печати, например двусторонняя печать, спецификацию приемного лотка, спецификацию сортировки (сверки) и спецификацию завершающих операций, например стапелирование и брошюрование. Поток изобразительных данных описывается в PDL и в основном содержит описание вычерчивания на каждой странице.
API 204 управления является интерфейсом программирования приложения для обращения к сервису, обеспечиваемому устройством 1000 обработки изображений. Один из основных интерфейсов, конфигурирующих API 204 управления, представляет собой интерфейс для реализации и управления заданием печати и направления потока 351 данных назначения управления устройством (фиг. 3) и потока 352 изобразительных данных (фиг. 3) в модуль 205 управления заданием.
Модуль 205 управления заданием управляет различными заданиями обработки изображений, обеспечиваемыми устройством 1000 обработки изображений. Ниже показан процесс задания печати в качестве примера задания обработки изображения.
Модуль 205 управления заданием управляет устройством в соответствии с инструкциями через API 204 управления. Либо модуль 205 интерпретирует поток 351 данных назначения управления устройством (фиг. 3), введенный в модуль 205 управления заданием через API 204 управления таким образом, чтобы выполнить операцию. Модуль 205 управления заданием управляет транслятором 206, визуализатором 207, модулем 208 управления МР, модулем 209 обработки изображения и модулем управления данными в соответствии с инструкциями, относящимися к управлению устройством, или содержанием описания в потоке 351 данных назначения управления устройством через API 204 управления. В случае задания печати модуль 205 управления заданием имеет поток 352 изобразительных данных (фиг. 3), преобразованный в дисплейный список 355 (фиг. 3) транслятором 206. Дисплейный список 355 (фиг. 3) далее преобразуется в промежуточный поток 356 данных изображения (фиг. 3) посредством визуализатора 207. И затем посредством планирования промежуточный поток 356 данных изображения преобразуется в окончательный поток 356 данных изображения (фиг. 3) с помощью модуля 209 обработки изображений, и окончательный поток 356 данных изображения посылается в модуль 208 управления МР и распечатывается.
В качестве другого примера, ниже приведено описание операции считывания и передачи данных изображения, обеспечиваемых встроенным приложением 203. Если вводится инструкция для считывания и передачи данных изображения с пульта 18 управления, то встроенное ПО 203 выдает инструкцию в модуль 205 управления заданием на считывание и передачу данных изображения через API 204 управления. Эта инструкция на передачу реализуется встроенным ПО 203 путем непосредственной выдачи инструкции в модуль 205 управления заданием через API 204 управления или реализуется встроенным ПО 203 путем генерирования потока 351 данных назначения управления устройством и пропускания его через модуль 205 управления заданием посредством API 204 управления. Модуль 205 управления заданием вводит данные изображения с устройства 19 считывания изображения и удерживает их в ОЗУ 2, чтобы направить в модуль 209 обработки изображения. Это планируется таким образом, чтобы поток 360 данных отсканированного изображения (фиг. 3), генерированный таким образом, проходил через встроенное приложение 203. Встроенное приложение 203 преобразует поток 360 данных сканированного изображения в формат, определенный пультом 18 управления, чтобы генерировать поток 359 данных передачи (фиг. 3) и передавать его через модуль 202 передачи/приема данных. Либо в случае если место назначения, определенное пультом 18 управления, является встроенной внешней памятью 10, то встроенное приложение 203 выдает инструкцию в модуль 205 управления заданием для считывания и сохранения данных изображения через API 204 управления. Эта инструкция реализуется встроенным приложением 203 путем непосредственной выдачи инструкции в модуль 205 управления заданием через API 204 управления или встроенным приложением 203, генерирующим поток 351 данных назначения управления устройством и направляющим его в модуль 205 управления заданием через API 204 управления. Модуль 205 управления заданием вводит данные изображения из устройства 19 считывания изображения и удерживает их в ОЗУ 2, чтобы направить их в модуль 209 обработки изображения. Это регламентируется таким образом, что поток 360 данных отсканированного изображения (фиг. 3), генерируемый модулем 209 обработки изображения, сохраняется во внешней памяти 10 посредством модуля 210 управления данными.
Транслятор 206 интерпретирует поток 352 изобразительных данных (фиг. 3), такой как PDL (язык описания страниц), и преобразует его в промежуточный язык для печати, подходящий для процесса визуализации. Описание данных печати на промежуточном языке для печати, подходящем для процесса визуализации, называется дисплейным списком (набор векторов, используемых для построения изображения на экране) 355 (фиг. 3). Транслятор 206 имеет отличающуюся и однозначно определенную реализацию для каждой из различных спецификаций PDL. Каждый из трансляторов преобразует свой PDL в дисплейный список, однозначно определенный для рендерера (аппаратное устройство, выполняющее рендеринг (визуализацию) изображения) 207.
Рендерер 207 вырабатывает дисплейный список 355 для промежуточного потока 356 данных изображения. Рендерер 207 зависит от драйвера 225 рендерера через операционную систему реального времени (ОС РВ) 214.
Модуль 208 управления механизма разметки (МР) управляет механизмом 16 разметки для формирования изображения на копировальной бумаге в устройстве 1000 обработки изображений. Модуль 208 управления механизма разметки зависит от драйвера 226 МР через операционную систему реального времени (ОС РВ) 214.
Модуль 209 обработки изображения выполняет различную обработку изображения для данных изображения промежуточного потока 356 данных изображения и т.п. устройства 1000 обработки изображений, например обработку полутонового изображения, распространение более светлого цвета в область более темного (для исключения пробельного контура), коррекцию плотности, преобразование цветного в монохроматическое изображение.
Модуль 210 управления данными сохраняет и управляет во внешней памяти 10 потоками данных, такими как промежуточный поток 356 данных изображения (фиг. 3) и окончательный поток 357 данных изображения (фиг. 3) для устройства 1000 обработки изображений. Также возможно выполнять рендеринг потоков данных иных, чем потоки данных изображения, являющиеся сохраняемыми и управляемыми. Интерфейс (I/F) 211 уровней осуществляет обмен потоками данных в устройстве 1000 обработки изображений со средой 215 интерпретатора. Интерфейс (I/F) 211 уровней грубо делится на внутренний уровень I/F 213 и внешний уровень 212 для маркировки фильтрации потоков данных.
Внешний уровень 212 направляет поток 350 данных запроса на обработку, поток 351 данных назначения управления устройством, поток 353 изобразительных данных и потоки 358, 359 данных передачи в среду 215 интерпретатора из модуля 202 передачи/приема данных и встроенного приложения 203, а также направляет потоки данных, обработанные фильтром 221, на модуль 202 передачи/приема данных, встроенное приложение 203 и модуль 205 управления заданием.
I/F 213 внутреннего уровня пропускает дисплейный список 355, промежуточный поток 356 данных изображения, окончательный поток 357 данных изображения и поток 360 данных сканированного изображения, генерируемые модулем 205 управления заданием, выполняющим информационный обмен с транслятором 206, рендерером 207, модулем 208 управления МР, модулем 209 обработки изображений, модулем 210 управления данными и устройством 19 считывания данных через среду 215 интерпретатора. Кроме того, I/F 213 пропускает задание, обработанное фильтром 221, на модуль 205 обработки задания. Понятно, что вышеупомянутые потоки данных могут обмениваться между средой 215 интерпретатора и транслятором 206, рендерером 207, модулем 208 управления МР, модулем 209 обработки изображения, модулем 210 управления данными и устройством 19 считывания изображения, в дополнение к модулю 205 управления заданием.
Операционная система реального времени (ОС РВ) 214 представляет собой платформу для обеспечения среды реализации для унаследованного встроенного ПО кода устройства 1000 обработки изображений. ОС РВ 214 обеспечивает базовый сервис, используемый для создания программного обеспечения для программного обеспечения, работающего на ней, и сервис, для которого имеются ресурсы, абстрагированные от аппаратного обеспечения устройства 1000 обработки изображений. ОС 214 также обеспечивает инфраструктуру для создания драйвера устройства для абстрагирования аппаратных средств устройства 1000 обработки изображений в качестве интерфейса, легко доступного из программного обеспечения. Функции, обеспечиваемые ОС РВ 214, представляют собой управление заданиями, реализующее контекст, абстрагировано от ЦПБ 1, многозадачный механизм для реализации одновременной обработки для виртуальной обработки множества одновременно реализуемых контекстов, внутризадачная коммуникация (очередь сообщений, семафор и т.д.) для обмена сообщениями и выполнения синхронизации между заданиями, различные типы управления памятью, таймеры и тактовые сигналы, управление прерываниями и управление прямым доступом к памяти. Семафор представляет собой механизм для выполнения обработки синхронизации и управления прерываниями между процессами, исполняемыми параллельно.
Среда 215 интерпретатора представляет собой платформу программного обеспечения, основанную на различных средах интерпретатора, то есть в данном случае среда исполнения Java (зарегистрированный товарный знак), и конфигурируется путем добавления группы API и группы инфраструктур, однозначно определенных для устройства 1000 обработки изображений. Эта платформа программного обеспечения обеспечивает операционн