УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ИЗОБРАЖЕНИЯ И СПОСОБ УПРАВЛЕНИЯ ДЛЯ НЕГО Российский патент 2008 года по МПК G06F9/45 

Описание патента на изобретение RU2336558C1

Область техники

Настоящее изобретение относится к устройству для обработки изображения и способу управления для него.

Предшествующий уровень техники

Обычно программное обеспечение для выполнения обработки изображений в устройстве обработки изображений, таком как устройство копирования или 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 обработки изображений. Эта платформа программного обеспечения обеспечивает операционную среду программного обеспечения, динамическую для программы, написанной на языке интерпретатора, работающего на ней. Эта среда интерпретатора включает в себя часть, реализованную унаследованным кодом (включенную в часть 201 унаследованного кода), и часть, реализованную как программа, написанная на языке интерпретатора (включенную в часть 220 кода интерпретатора на фиг. 2).

Интерпретатор 216 последовательно считывает инструкции из последовательности инструкций, описанной предварительно определенным набором инструкций, чтобы интерпретировать и исполнять их. В данном случае интерпретатор 216 конфигурирован на виртуальной машине Java и набор инструкций представляет собой байтовый код Java.

Стандартная библиотека API и группа 217 инфрастуктур дополнительно абстрагируют различные абстрагированные вычислительные ресурсы, обеспечиваемые ОС РВ 214, посредством модели, однозначно определенной для среды интерпретатора, так чтобы обеспечить среду исполнения для программы, работающей на ОС РВ 214. Здесь она исполняется посредством группы библиотек стандартного класса, конфигурирующей платформу Java и инфраструктуру OSGi. Платформа Java обеспечивает абстрагированные функции, эквивалентные ОС РВ 214, такие как управление подпроцессами (программными модулями), имеющее контексты исполнения инструкций, абстрагированные виртуальной машиной, многопоточный механизм для виртуального исполнения одновременно множества аспектов реализации, чтобы реализовать одновременную обработку, межпоточная коммуникация для обмена сообщениями и синхронизации между программными модулями, различные виды абстрагированного в высокой степени управления памятью (такого как сбор), таймеры и тактовые сигналы, управление особыми ситуациями, файловая система и сетевой доступ, интерфейс с внешним устройством ввода/вывода. Инфраструктура OSGi исполняет множество Java-приложений (сервисов) на одной виртуальной машине Java. Она также обеспечивает функции управления жизненным циклом приложения и коммуникацией между приложениями. Инфраструктура OSGi имеет множество системных сервисов, предварительно инсталлированных на ней. Что касается подготовленных системных сервисов, то имеются сервис управления сервисами для добавления, обновления и удаления нового приложения в среде интерпретатора, сервис программы просмотра аплетов для отображения класса Java, реализованного согласно Applet-интерфейсу на пульте управления устройства обработки изображений, и исполнения его приведением в действие с пульта 18 управления, и НТТР-сервис для исполнения класса Java, реализованного согласно Servlet-интерфейсу, в качестве Web-приложения, приводимого в действие из программы браузера клиента. В частности, Java-приложение, реализованное в соответствии с Applet-интерфейсом, может непосредственно взаимодействовать с драйвером 227 пульта управления посредством API AWT. Аббревиатура OSGi обозначает Open Service Gateway Initiative (инициатива шлюза открытых сервисов), что указывает на то, что настоящее описание основывается на спецификациях OSGi.

Библиотека 218 управления заданиями обеспечивает интерфейс программирования приложения, имеющий возможность реализации и управления заданиями обработки изображения для программы в зависимости от API 204 управления и исполнения в среде интерпретатора.

Инфраструктура 219 фильтра осуществляет информационный обмен с встроенным ПО 203, так что при реализации задания она может вмешиваться в множество потоков данных устройства 1000 обработки изображений из программы фильтрации, реализованной в среде интерпретатора.

Часть 220 кода интерпретатора реализована как программное обеспечение, написанное на языке интерпретатора, который может интерпретироваться интерпретатором, и включает в себя группу библиотек API, конфигурирующую среду интерпретатора, и программу, исполняемую с частью группы инфраструктуры в среде интерпретатора. Что касается программного обеспечения, помещенного по обе стороны от части 201 унаследованного кода и части 220 кода интерпретатора, то необходимо выполнить кодирование для модуля на границе между соответствующими пространствами согласно однозначно определенной модели инфраструктуры и программирования, предписываемой средой интерпретатора. Здесь программирование граничной части выполняется в соответствии с INT (унаследованный Java-интерфейс).

Фильтр 221 представляет собой программу, реализованную в среде интерпретатора. Он реализован в соответствии с инфраструктурой, соответствующей инфраструктуре 219 фильтра, чтобы выполнять обработку для потока данных запроса на обработку, который должен обрабатываться встроенным приложением 203. Стек 223 протоколов встроен в инфраструктуру ОС РВ 214 для реализации протоколов транспортного уровня и ниже него на внешнем интерфейсе, управляемом драйвером 224 внешнего интерфейса на еще более низком уровне. Например, в случае сетевого интерфейса реализуются протоколы, такие как TCP/IP и UDP/IP, и интерфейс для программирования приложений, такой как Barkley Socket, предоставляется во встроенное приложение 203 через ОС РВ 214. В случае когда внешним интерфейсом является, например, USB, он реализует протокол, например, такой как 1284.4.

Драйвер 224 внешнего интерфейса управляет аппаратными средствами, обеспечивающими соединения с различными интерфейсами, такими как IEEE 1394, USB, RS232C и Centronics. В случае сети он реализует протоколы физического уровня путем управления аппаратными средствами сетевого интерфейса для соединения с сетью, такой как Ethernet.

Драйвер 225 рендерера управляет рендерером 207. Рендерер 207 представляет собой аппаратные средства для создания дисплейного списка 355 (фиг. 3) для потока 356 данных промежуточного изображения. Рендерер 207 может быть реализован посредством программного обеспечения, и созданный поток данных может быть окончательным потоком 357 данных изображения (фиг. 3). Драйвер 226 механизма разметки управляет механизмом разметки для формирования изображения на копировальной бумаге. Драйвер 227 пульта управления обрабатывает вывод на дисплей пульта 18 управления устройства 1000 обработки изображений и событие ввода с клавиши и сенсорной панели.

Фиг. 3 является диаграммой, показывающей базовый поток данных среди модулей программного обеспечения контроллера 1600 в соответствии с этим вариантом осуществления и потоки данных, существующие в каждом модуле. Модули, общие с теми, которые показаны на фиг. 2, обозначены теми же символами, и их описание опущено.

Модуль 202 передачи/приема данных направляет поток 350 данных запроса на обработку, состоящий из потока 351 данных назначения управления устройством и потока 353 изобразительных данных, принимаемых от клиента, во встроенное ПО 203 через канал 301, если не через фильтр 221. Канал 301 реализован межзадачной коммуникационной функцией, такой как очередь сообщений, обеспечиваемой, например, ОС РВ 214. Направление других данных является аналогичным.

В случае когда клиентом является приложение и программное обеспечение на хосте через локальную сеть LAN 2000, клиент генерирует поток 350 данных запроса на обработку и направляет его во встроенное приложение 203 через модуль 202 передачи/приема данных. Встроенное приложение 203 делит поток 350 данных запроса на обработку на поток 351 данных назначения управления устройством и поток 352 изобразительных данных, чтобы направлять их через модуль 205 управления заданиями через API 204 управления соответственно. Либо приложение 203 интерпретирует поток 351 данных назначения управления устройством и выдает инструкцию в модуль 205 управления заданиями в отношении обработки, запрошенной клиентом, посредством API 204 управления, чтобы направлять на него поток 352 изобразительных данных.

В случае выдачи инструкции клиенту через пульт 18 управления устройства обработки изображений встроенное приложение 203 генерирует поток 351 данных назначения управления устройством и направляет его в модуль 205 управления заданиями через API 204 управления. Либо приложение 203 выдает инструкцию в модуль 205 управления заданиями, как запрошено клиентом, посредством API 204 управления. Описательная часть управления устройства обычно определяется как LJ (язык задания) и включает в себя данные среды для определения операционного параметра, относящегося к интерпретации и созданию изобразительных данных, определения подачи копировальной бумаги, используемой для печати, определения режима печати, такого как двусторонняя печать, определения приемного лотка, определения сортировки и определения заключительных операций, таких как стапелирование и брошюрование. Поток 352 изобразительных данных описывается в PDL и в основном описывает печать на каждой странице.

Модуль 205 управления заданиями управляет устройством 1000 в соответствии с инструкциями через API 204 управления. Либо модуль 205 интерпретирует поток 351 данных назначения управления устройством, введенный в модуль 205 управления заданиями через API 204 управления, для выполнения операции. Модуль 205 управления заданиями через API 204 управления управляет транслятором 206, рендерером 207, модулем 208 управления МР, модулем 209 обработки изображений и модулем 210 управления данными через канал 290 в соответствии с инструкциями, относящимися к управлению устройством 1000, или содержанием описания потока 351 данных назначения управления устройством через API 204 управления. В случае задания печати модуль 205 управления заданиями получает поток 352 изобразительных данных, преобразованный в дисплейный список 355 посредством транслятора 206. Дисплейный список 355 преобразуется в промежуточный поток 356 данных изображения посредством рендерера 207. Это регламентируется таким образом, чтобы промежуточный поток 356 данных изображения преобразовывался в окончательный поток 357 данных изображения посредством модуля 209 обработки изображения, так что окончательный поток 357 данных изображения поступает в модуль 208 управления МР и распечатывается.

В качестве другого примера ниже приведено описание операции считывания и передачи данных изображения, обеспечиваемых встроенным приложением 203. При получении инструкции на считывание и передачу данных с пульта 18 управления встроенное приложение 203 выдает инструкцию в модуль 205 управления заданиями для считывания и передачи данных изображения через API 204 управления. Эта инструкция реализуется встроенным приложением 203 путем непосредственной выдачи инструкции в модуль 205 управления заданиями через API 204 управления или путем генерации встроенным приложением 203 потока 351 данных назначения управления устройством и направления его на модуль 205 управления заданиями через API 204 управления. Модуль 205 управления заданиями вводит данные изображения, считанные устройством 19 считывания изображения, и сохраняет их в ОЗУ 2, чтобы направить их на модуль 209 обработки изображения. Это регламентируется таким образом, что поток 360 данных отсканированного изображения, генерируемый модулем 209 обработки изображения, пропускается на встроенное приложение 203. Встроенное приложение 203 преобразует поток 360 данных отсканированного изображения в формат, указанный пультом 18 управления, чтобы генерировать поток 359 данных передачи. И приложение 203 передает поток 359 данных передачи в виде потока 359 данных передачи через модуль 202 передачи/приема данных. Либо в случае если место назначения, указанное пультом 18 управления, представляет собой встроенную внешнюю память 10, то встроенное приложение 203 выдает инструкцию в модуль 205 управления заданиями на считывание и сохранение данных изображения через API 204 управления. Эта инструкция реализуется встроенным приложением 203, непосредственно выдающим инструкцию в модуль 205 управления заданиями через API 204 управления, или встроенным приложением 203, генерирующим поток 351 данных назначения управления устройством и направляющим его на модуль 205 управления заданиями через API 204 управления. Модуль 205 управления заданиями вводит данные изображения, считанные считывающим устройством 19, по каналу 390 и сохраняет их в ОЗУ 2, чтобы направить их на модуль 209 обработки изображения. Это регламентируется таким образом, что поток 360 данных отсканированного изображения, генерируемый таким образом, сохранялся во внешней памяти 10 посредством модуля 210 управления данными.

Все описанные выше процессы реализуются в секции 201 унаследованного кода (фиг. 2).

Фиг. 4 представляет диаграмму для описания основного потока данных между модулями программного обеспечения контроллера 1600 и потока данных при фильтрации в соответствии с вариантом осуществления изобретения. Потоки данных модулей те же самые, что и показанные на фиг. 3, и элементы, общие с описанными со ссылками на предыдущие чертежи, обозначены теми же ссылочными позициями.

В случае фильтрации потока данных модуль 202 передачи/приема данных направляет обрабатываемый поток данных на внешний уровень 212 по каналу 306. Канал 306 направляется с использованием функции межзадачной коммуникации, такой как очередь сообщений, обеспечиваемой, например, посредством ОС РВ 214. Возможно и иное направление данных. Внешний уровень 212 пропускает поток 350 данных запроса на обработку в виде потока данных, по существу принимаемого извне относительно устройства 1000 обработки изображений через локальную сеть LAN 2000, поток 351 данных назначения управления устройством и поток 352 изобразительных данных, причем поток 350 данных запроса на обработку разделяется в устройстве 1000 обработки изображений, поток 359 данных передачи преобразован и сформирован встроенным приложением, и поток 358 данных передачи окончательно передается с модуля 202 передачи/приема данных, в частности, в среду 215 интерпретатора I/F 211 уровней. Эти потоки данных могут извлекаться из внешней памяти 10 модулем 210 управления данными.

Внешний уровень 212 направляет принятые потоки данных на инфраструктуру 219 фильтра через канал 307. Модуль рабочего цикла инфраструктуры 219 фильтра управляет группой 221 программ фильтрации, реализованной в среде 215 интерпретатора. Инфраструктура 219 фильтра направляет потоки данных в фильтр 221 по каналу 308. По каналу 308 они пропускаются функцией межпотоковой (межтредовой) коммуникации, обеспечиваемой, например, средой 215 интерпретатора. Это выполняется аналогично тому, как осуществляется обмен данными в среде 215 интерпретатора, описанный ниже. Если используется множество фильтров 221, то потоки данных направляются к соответствующим им фильтрам с использованием функции межтредовой коммуникации, обеспечиваемой средой 215 интерпретатора. Модуль рабочего цикла представляет собой модуль программного обеспечения, требуемый при реализации программы.

Фильтр 221 выполняет предварительно определенный процесс для потока данных, принимаемого в качестве входного потока, и выводит его. Поток данных, выводимый фильтром 221, направляется в инфраструктуру 219 фильтра через канал 309. Инфраструктура 219 фильтра пропускает поток данных, полученный от фильтра 221, на внешний уровень 212 через канал 310. Таким образом, внешний уровень 212 пропускает поток данных на встроенное приложение 203 через канал 311. Либо также возможна конфигурация, в которой внешний уровень направляет поток данных в модуль 202 передачи/приема данных через канал 370, чтобы направить поток данных во встроенное приложение 203 по каналу 301, как описано выше.

Каналы 312 и 372 управления представляют собой каналы для управления потоком данных от модуля 202 передачи/приема данных во встроенное приложение в соответствии с состоянием инфраструктуры 219 фильтра. В случае когда фильтр 221, управляемый инфраструктурой 219 фильтра, переведен в эффективное (действующее) состояние, вышеописанные каналы 306 и 307 становятся эффективными, так что предварительная обработка выполняется фильтром 221. В случае если инфраструктура 219 фильтра не имеет эффективного состояния фильтра 221, то канал 301 становится эффективным, так что поток данных направляется непосредственно из потока 202 передачи/приема данных во встроенное приложение 203. В этом случае можно избежать служебных сигналов вследствие вмешательства инфраструктуры 219 фильтра, чтобы обеспечить характеристики обработки данных устройства 1000 обработки изображений в стандартном состоянии, без настройки в соответствии с требованиями заказчика, выполняемой фильтром 221.

В случае когда встроенное приложение 203 выполняет фильтрацию потока данных, поток данных направляется на внешний уровень 212 по каналу 314. Направление по каналу 314 осуществляется посредством функции межзадачной коммуникации, такой как очередь сообщений, обеспечиваемой, например, посредством ОС РВ 214. Направление других данных является аналогичным. Как описано выше, внешний уровень 212 пропускает поток 350 данных запроса на обработку как поток данных, принимаемый, по существу, извне относительно устройства 1000 обработки изображений через локальную сеть LAN 2000, поток 351 данных назначения управления устройством и поток 352 изобразительных данных, при этом поток 350 данных запроса на обработку разделен в устройстве 1000 обработки изображений, поток 359 данных передачи преобразован и сформирован встроенным приложением и поток 358 данных передачи окончательно передается с модуля 202 передачи/приема данных, в частности, в среду 215 интерпретатора I/F 211 уровней. Эти потоки данных могут извлекаться из внешней памяти 10 модулем 210 управления данными. Внешний уровень 212 направляет принятые потоки данных на инфраструктуру 219 фильтра через канал 307. Модуль рабочего цикла инфраструктуры 219 фильтра управляет группой 221 программ фильтрации, реализованной в среде 215 интерпретатора. Инфраструктура 219 фильтра направляет потоки данных в фильтр 221 по каналу 308. Канал 308 реализуется функцией межтредовой коммуникации, обеспечиваемой, например, средой 215 интерпретатора. Это выполняется аналогично тому, как осуществляется обмен данными в среде 215 интерпретатора, описанный ниже. Если используется множество фильтров 221, то потоки данных направляются к соответствующим им фильтрам с использованием функции межтредовой коммуникации, обеспечиваемой средой 215 интерпретатора.

Фильтр 221 выполняет предварительно определенный процесс для принимаемого потока данных и выводит его. Поток данных, выводимый фильтром 221, направляется в инфраструктуру 219 фильтра через канал 309. Инфраструктура 219 фильтра пропускает поток данных, полученный от фильтра 221, на внешний уровень 212 через канал 310. Таким образом, внешний уровень 212 пропускает поток данных в модуль 205 управления заданиями по каналу 315. Также возможна конфигурация, в которой внешний уровень 212 направляет поток данных во встроенное приложение 203 по каналу 371 таким образом, чтобы направить поток данных на модуль 205 управления заданиями через канал 313, как описано выше.

Каналы 316 и 372 управления представляют собой каналы для управления потоком данных от встроенного приложения 203 к модулю 205 управления в соответствии с состоянием инфраструктуры 219 фильтра. В случае когда фильтр 221, управляемый инфраструктурой 219 фильтра, переведен в эффективное состояние, каналы 314 и 307 становятся эффективными, так что предварительная обработка выполняется фильтром 221. В случае если инфраструктура 219 фильтра не имеет эффективного состояния фильтра 221, то канал 313 становится эффективным, так что поток данных направляется непосредственно в модуль 205 управления заданиями. В этом случае можно избежать служебных сигналов вследствие вмешательства инфраструктуры 219 фильтра, чтобы обеспечить характеристики обработки данных устройства 1000 обработки изображений в стандартном состоянии, без настройки в соответствии с требованиями заказчика, выполняемой фильтром 221.

Ниже приведено описание для случая, когда модуль 205 управления заданиями выполняет фильтрацию потока данных. В этом случае поток данных направляется на I/F 213 внутреннего уровня по каналу 318. Направление по каналу 318 выполняется посредством функции межзадачной коммуникации, такой как очередь сообщений, обеспечиваемая, например, ОС РВ 214. Пропускание других данных является сходным. I/F 213 внутреннего уровня пропускает потоки данных, генерируемые устройством 1000 обработки изображений, такие как дисплейный список 355, генерируемый потоком 352 изобразительных данных, обработанным транслятором 206, промежуточный поток 356 данных изображения, генерируемый дисплейным списком 355, обработанным рендерером 207, окончательный поток 357 данных изображения, генерируемый с использованием промежуточного потока 356 данных изображения, обработанного модулем 209 обработки изображений, поток 360 данных отсканированного изображения, считанный с устройства 19 считывания изображения посредством среды 215 интерпретатора 215, в частности I/F 211 уровней. Эти потоки данных могут быть считаны из внешней памяти 10 модулем 210 управления данными. I/F 213 внутреннего уровня направляет потоки данных, принятые по каналу 318, в инфраструктуру 219 фильтра. Модуль рабочего цикла инфраструктуры 219 фильтра управляет фильтром 221, реализованным в среде 215 интерпретатора. Процесс фильтрации в секции 220 кода интерпретатора тот же, что и описанный выше процесс, поэтому его описание опущено.

Инфраструктура 219 фильтра направляет поток данных, полученный от фильтра 221, на I/F 213 внутреннего уровня по каналу 310. I/F 213 внутреннего уровня направляет поток данных в модуль 205 управления заданиями по каналу 319. Также возможно использовать конфигурацию, в которой I/F 213 внутреннего уровня непосредственно пропускает его на транслятор 206, рендерер 207, модуль 209 обработки изображения, модуль 208 управления МР и модуль 210 управления данными.

Каналы 320 и 372 управления представляют собой каналы для управления потоками данных в соответствии с состоянием инфраструктуры 219 фильтра. В случае когда фильтр 221, управляемый инфраструктурой 210 фильтра, установлен в эффективное состояние, каналы 318 и 307 становятся эффективными, так что препроцессорная обработка выполняется фильтром 221. В случае когда инфраструктура 219 фильтра не имеет эффективного фильтра 221, канал 317 становится эффективным, так что поток данных направляется непосредственно к следующему модулю, регламентируемому модулем 205 управления заданиями. В этом случае можно избежать служебных сигналов, обусловленных вмешательством инфраструктуры 219 фильтра, чтобы привести характеристики обработки данных устройства обработки изображений в стандартное состояние, характеризуемое отсутствием настройки в соответствии с требованиями заказчика, выполняемой фильтром 221.

На фиг. 5 представлена диаграмма для описания классов инфраструктуры 219 фильтра, созданной в среде 215 интерпретатора в данном варианте осуществления.

Класс «администратор фильтра» 401 является классом объекта для реализации среды исполнения инфраструктуры 219 фильтра. Класс «администратор фильтра» 401 имеет в качестве состава один объект класса «соединитель» 405. Он также имеет последовательный список, состоящий из ссылок на множество (n) объектов абстрактного класса «фильтр» 402 и ссылок на множество {(n)-1} объектов класса «конвейер» 406. Он также имеет атрибут «инсталлированный фильтр» 410 для диспетчеризации конкретных классов из множества классов 402 инсталлированных классов в рабочем цикле инфраструктуры 219 фильтра.

Абстрактный класс «фильтр» 402 является абстрактным классом для абстрагирования различных классов фильтров. Абстрактный класс «фильтр» 402 имеет атрибут «имя» для указания имени фильтра. Он также имеет ссылки на объекты класса, следующие в абстрактном классе «входной поток» 403 в качестве входного атрибута. Он также имеет ссылки на объекты класса, следующие в абстрактном классе «выходной поток» 404 в качестве выходного атрибута. Конкретный класс абстрактного класса «фильтр» 402 имеет реализуемый интерфейс «работоспособный» 411, а также имеет метод «исполнения». Когда объект класса «администратор фильтра» 401 генерирует различные экземпляры администрируемого абстрактного класса «фильтр» 402 и помещает их для обработки фильтрации потока данных, он генерирует цепочку выполняемых задач (подпроцесс) соответственно каждому помещенному объекту «фильтр» и реализует метод исполнения объекта «фильтр» в контексте реализации подпроцесса, исполняемого параллельно (более конкретно объект «фильтр» направляется к параметру конструктора (функции-члена класса с тем же именем, что и сам класс, создающей и инициализирующей объект данного класса) для генерации объекта Java.lang.Thread и запускает его). Таким образом, каждый индивидуальный объект «фильтр» исполняется автономно.

Абстрактный класс «входной поток» 403 является абстрактным классом входного источника потока данных и имеет метод считывания, имеющий возможность считывания данных последовательно по вызову каждый раз.

Абстрактный класс «выходной поток» 404 является абстрактным классом выходного места назначения потока данных и имеет метод записи, предназначенный для записи данных последовательно по вызову каждый раз.

Класс «соединитель» 405 представляет собой класс объектов, представляющих контакт для обмена потоками данных между объектом среды интерпретатора и унаследованным кодом. Класс «соединитель» 405 имеет объекты класса «входной поток соединителя» 412, который является конкретным классом, последующим в абстрактном классе «входной поток» 403 по составу, и может последовательно считывать поток 306 данных, направляемый из модуля 202 передачи/приема данных секции 201 унаследованного кода, с помощью соответствующего метода считывания. Класс «соединитель» 405 также имеет объекты класса «выходной поток соединителя» 413, последующего в абстрактном классе «выходной поток» 404 по составу, и поток данных, последовательно записываемый посредством соответствующего метода записи, направляется как поток данных в модуль 205 управления заданиями секции 201 унаследованного кода.

Класс «конвейер» 406 является классом объектов, используемых для соединения последовательности объектов абстрактного класса «фильтр» 402 при выполнении множества процессов фильтрации в поток данных. Класс «конвейер» 406 имеет соответствующие объекты класса «распараллеленный выходной поток» 414, последующего в абстрактном классе «выходной поток» 404, и класса «распараллеленный входной поток» 415, последующего в абстрактном классе «входной поток» 403 по составу. Объект класса «распараллеленный выходной поток» 414 и объект класса «распараллеленный входной поток» 415 в качестве объектов конвейера соединены таким образом, чтобы реализовать межпотоковую коммуникацию. Более конкретно поток данных, последовательно записанный в объект «распараллеленный выходной поток» определенного объекта конвейера методом записи посредством определенного объекта фильтра, может последовательно считываться из объекта «распараллеленный входной поток» данного объекта конвейера соответствующим методом считывания посредством другого объекта фильтра.

Фиг. 6А и 6В показывают представления объектов, администрируемых инфраструктурой 219 фильтра, созданной в среде 215 интерпретатора, причем на фиг. 6А показано соотношение между объектами, администрируемыми рабочим циклом инфраструктуры 219 фильтра, когда один фильтр находится в действующем состоянии.

Объект «соединитель» 501 является объектом класса «соединитель» 405. Объект «фильтр» 502 является объектом конкретного класса, который конкретизировал абстрактный класс «фильтр» 402. Атрибут «вход» объекта «фильтр» 502 имеет ссылку на объект «входной поток соединителя» объекта «соединитель» 501. Атрибут «выход» имеет атрибут объекта «выходной поток соединителя» объекта «соединитель» 501. Объект «фильтр» 502 выполняет процесс фильтрации для потока данных, считанного из объекта «входной поток соединителя», указанного «входом». Он записывает поток данных, подвергнутый таким образом процессу фильтрации, в объект «выходной поток соединителя», указанный «выходом».

Поток данных печати пропускается между объектами (широкие стрелки на фиг. 6А), как описано выше.

Фиг. 6В показывает соотношение между объектами, администрируемыми рабочим циклом инфраструктуры 219 фильтра, когда два фильтра находятся в эффективном (действующем) состоянии.

Объект «фильтр 1» 503 является объектом конкретного класса, который конкретизировал абстрактный класс «фильтр» 402. Атрибут «вход» объекта «фильтр 1» 503 имеет ссылку на объект «входной поток соединителя» объекта «соединитель» 501. Объект «фильтр 1» 503 выполняет процесс фильтрации для потока данных, считанного из объекта «входной поток соединителя», указанного входом. Атрибут «выход» объекта «фильтр 1» 503 имеет ссылку на объект «распараллеленный выходной поток» объекта «конвейер» 504, и объект «фильтр 1» 503 записывает поток данных, подвергнутый процессу фильтрации, в объект «распараллеленный выходной поток», указанный выходом.

Объект «конвейер» 504 является объектом класса «конвейер» 406. Объект «конвейер» 504 имеет объект «распараллеленный выходной поток» и объект «распараллеленный входной поток» в соединенном состоянии. Поток данных, направляемый посредством вызова метода записи объекта «распараллеленный выходной поток» объекта «конвейер» 504, может считываться как поток данных вызовом метода считывания объекта «распараллеленный входной поток» объекта «конвейер» 504.

Объект «фильтр 2» 505 является объектом конкретного класса, который конкретизировал абстрактный класс 402 «фильтр». Атрибут «вход» этого объекта имеет ссылку на объект «входной поток соединителя» объекта «конвейер» 504. Он выполняет процесс фильтрации для потока данных, считанного из объекта «конвейер» 504, указанного входом. Атрибут «выход» объекта «фильтр 2» 505 имеет ссылку на объект «выходной поток соединителя» объекта «соединитель» 501, и он записывает поток данных, подвергнутый процессу фильтрации, в «выходной поток соединителя» объекта «соединитель» 501, указанный выходом.

Поток данных печати пропускается между объектами (широкие стрелки на фиг. 6В), как описано выше. Также можно поместить больше объектов «фильтр» для обработки потока данных при аналогичном размещении объекта «конвейер» между ними.

На фиг. 7А-7С показаны представления, описывающие примеры пользовательского интерфейса для функционирования инфраструктуры 219 фильтра в соответствии с данным вариантом осуществления изобретения. Пользовательский интерфейс для функционирования инфраструктуры фильтра реализован как Web-приложение (Serwlet) посредством НТТР-сервиса, включенного в стандартную библиотеку, и инфраструктуры 217 (фиг. 1), и управляется из Web-браузера, функционирующего на клиенте. Либо он может быть реализован как сервис Applet-типа, который должен приводиться в действие с пульта 18 управления устройства 1000 обработки изображений.

Фиг. 7А изображает пользовательский интерфейс клиента для дополнительного инсталлирования нового фильтра 221 на инфраструктуре 219 фильтра устройства обработки изображений в этом варианте осуществления. Этот экран 601 инсталлирования фильтра имеет поле 602 ввода имени фильтра, кнопку 603 ссылки и кнопку 604 инсталлирования.

Пользователь вводит в поле 602 ввода имени фильтра путь файла для файла класса абстрактного класса «фильтр» 402, подлежащего инсталлированию, который заранее сохранен в файловой системе клиентского компьютера.

Если пользователь выполняет щелчок на кнопке 603 ссылки на клиентском компьютере, то открывается диалог выбора файла, обеспечиваемый Web-браузером на клиентском компьютере, чтобы выполнить просмотр файловой системы на клиентском компьютере и выбрать файл класса абстрактного класса «фильтр» 402, который должен инсталлироваться. Путь файла для файла, выбранного пользователем с помощью диалога выбора файла, автоматически вводится в поле 602 ввода имени фильтра.

Если пользователь выполняет затем щелчок на кнопке 604 инсталлирования, то Web-браузер клиентского компьютера посылает файл класса для пути класса, введенного в поле 602 ввода имени фильтра, в Web-приложение для инсталлирования нового фильтра в режиме ожидания на устройстве 1000 обработки изображений. Web-приложение, получив класс файла, сохраняет принятый класс файла в энергонезависимой памяти 3 устройства 1000 обработки изображений. Оно также загружает файл класса динамически в среду 215 интерпретатора для генерации экземпляра объекта. Оно также помещает сформированный объект «фильтр» в самую нижнюю позицию в списке последовательностей действующих фильтров, администрируемых рабочим циклом инфраструктуры фильтрации (если некоторый действующий объект «фильтр» уже существует в последовательности фильтров, то оно генерирует новый объект «конвейер» для привязки нового объекта «фильтр»).

В случае когда такой пользовательский интерфейс реализован как Web-приложение, спецификация загрузки файла на основе HTML-формы, предписываемой RFC, используется при загрузке класса «реализация фильтра» в устройство 1000 обработки изображений. Поэтому в этом случае поле 602 ввода имени фильтра и кнопка 603 ссылки отображаются Web-браузером клиентского компьютера и кнопка 604 инсталлирования соответствует отсылке формы.

В случае реализации пользовательского интерфейса как сервис Applet-типа экран 601 отображается на дисплее пульта 18 управления устройства 1000 обработки изображений. Что касается файла, определенного в поле 602 ввода имени фильтра, то в случае когда устройство 1000 обработки изображений имеет съемный носитель для хранения данных, можно определить путь файла в съемном носителе для хранения данных. Либо можно определить посредством URL совместно используемый файл, считываемый и доступный из устройства 1000 обработки изображений через сеть с помощью протоколов передачи, таких как HTTP и FTP.

Фиг. 7В иллюстрирует представление для описания пользовательского интерфейса для помещения фильтров, инсталлированных на инфраструктуре 219 фильтра устройства 1000 обработки изображений согласно данному варианту осуществления изобретения.

На этом экране 605 размещения фильтра таблица 606 отображает список групп фильтров, инсталлированных в рабочем цикле инфраструктуры 219 фильтра. Каждая строка таблицы 606 соответствует каждому из инсталлированных фильтров. Строка «выбор» таблицы 606 имеет отмечаемые экранные кнопки, где фильтр отмеченной строки выбирается в качестве субъекта операции, упомянутой ниже. Строка «порядок» таблицы 606 показана как «неэффективная», если фильтр находится в недействующем состоянии. В случае когда он находится в действующем состоянии, отображаются числа, приведенные в возрастающем порядке, сверху вниз, в этом процессе обработки потока данных. И строка «имя» таблицы 606 отображает имя фильтра, описанное как атрибут имени объекта «фильтр».

Ссылочные позиции 607-611 обозначают кнопки для определения операции для выбранного фильтра и определяют операцию для фильтра отмеченной строки в выбранной строке таблицы 606. Если пользователь выполняет щелчок на детальном плане 607 отображения, то отображается детальная информация по фильтру, выбранному в таблице 606. Детальная информация может включать в себя имя фильтра, версию, описание, имя класса, имя файла класса источника инсталлирования (путь файла или URL) и дату и время инсталлирования.

Если отмечается кнопка 608 «вверх», то положение выбранного фильтра в строке фильтра смещается на одну ступеньку вверх в процессе обработки потока данных. Если отмечается кнопка 609 «вниз», то положение выбранного фильтра в строке фильтра смещается на одну ступеньку вниз в процессе обработки потока данных. Если отмечается кнопка 610 переключателя (элемента управления интерфейса, имеющего два фиксированных состояния), то выбранный фильтр в действующем состоянии переходит в недействующее состояние, и переходит в действующее состояние, если он находится в недействующем состоянии. Объект «фильтр», ставший недействующим, удаляется. Однако класс «фильтр» 402 (фиг. 5) остается инсталлированным и сохраняется под управлением рабочего цикла инфраструктуры фильтрации. Если отмечается кнопка 611 отмены инсталлирования, файл класса выбранного фильтра удаляется из среды интерпретатора устройства 1000 обработки изображений.

Фиг. 7С изображает представление примера пользовательского интерфейса для выбора того, какой поток данных является объектом фильтрации.

Возможно при исполнении для отображения экрана 601 инсталлирования фильтра и экрана 605 помещения фильтра отобразить экран 612 выбора целевого потока данных и обеспечить пользователю выбор для определения потока данных, желательного для пользователя, чтобы инсталлировать его и настроить соответственно процессу фильтрации.

Список 613 представляет собой пользовательский интерфейс для выбора потоков данных, существующих в устройстве 1000 обработки изображений, в формате списка. Поле 614 отображает выбранный поток данных из списка 613. Кнопка 615 принятия решения является кнопкой для принятия решения относительно инсталлирования и администрирования фильтра по отношению к потоку данных, определенному в поле 614. Если кнопка 615 нажата, то отображаются экран 601 инсталлирования фильтра и экран 605 помещения фильтра соответствующего потока данных.

Что касается другого метода выбора потока данных, подлежащего обработке в процессе фильтрации, также возможно предоставить атрибут фильтра в абстрактный класс «фильтр» 402 или сослаться на атрибут фильтра при инсталлировании или администрировании фильтра так, чтобы определить фильтрацию целевого потока данных.

На фиг. 8 показана блок-схема, представляющая основную процедуру процесса фильтрации в соответствии с вариантом осуществления изобретения.

Эта процедура реализуется как способ исполнения конкретного класса фильтра. Инфраструктура 219 фильтра генерирует объект класса «действующий фильтр» и устанавливает его входной поток и выходной поток и затем назначает цепочку программных модулей (объект «тред») для реализации метода исполнения данного объекта. Таким образом, данная процедура автономно реализуется в параллельной обработке по каждому объекту «фильтр», управляемому инфраструктурой 219 фильтра.

Сначала выполняется необходимая препроцессорная обработка на этапе S1. Эта препроцессорная обработка включает в себя инициализацию атрибута, используемого внутренним образом фильтром 221, препроцессорную обработку для описания шаблона, используемого для согласования шаблонов, и процесс преобразования потока классом «модификация» (конкретным классом Java.io.FilterInputStream (входной поток фильтра) или Java.io.FilterOutputStream (выходной поток фильтра)) для добавления функции облегчения использования входного потока и выходного потока (например, преобразующей входной поток в предварительно читаемый и расширяющий буферизацию для эффективного использования системных ресурсов). Затем данные в необходимом объеме для процесса согласования шаблонов считываются из входного потока, установленного на атрибут «вход», на этапе S2. И на этапе S3 выполняется согласование шаблонов, чтобы выявить появление шаблона данных для обработки этим фильтром из входного потока данных. Шаблон данных, подлежащий обработке этим фильтром, может представлять собой либо собственно фиксированную строку данных, либо описание на формальном языке, такое как регулярное выражение. Имеется множество широко известных реализаций для отыскания появления согласования данных с описанием шаблона из потока данных. Например, хорошо известны такие процедуры, как grep, sed, AWK, Perl.

Алгоритм для эффективного выполнения согласования шаблонов хорошо изучен. В случае фиксированной строки данных имеются хорошо известные методы, такие как метод сравнения соответствующих хеш-функций описания шаблона и парциального потока данных для определения полного согласования, только если их значения хеш-функции совпадают, такие как метод Knuth-Morris-Pratt и метод Boyer-Moor. В случае описания шаблона путем регулярного выражения имеются различные известные алгоритмы, основой которых является теория формального языка, такая как теория конечных автоматов. Сравнительно недавно разработанная платформа Java имеет библиотеку классов для обработки регулярного выражения в качестве стандарта (Java.util.regex). Например, в случае когда статус изменяется в соответствии с шаблоном «вверх» потока данных, интерпретация шаблона «вниз» должна изменяться в соответствии с измененным статусом и требуемое согласование шаблонов настолько сложно, что его описание в виде регулярного выражения затруднительно, можно написать сам алгоритм для оценки шаблона в виде программы Java. Таким образом, можно реализовать согласование шаблонов без проблем независимо от того, насколько сложным оно является.

Затем на этапе S4 определяются результаты согласования шаблонов. В случае когда согласование данных с описанием шаблона найдено в потоке данных, осуществляется переход на этап S5. В противном случае осуществляется переход на этап S6. На этапе S5 выполняется операция в соответствии с целью этого фильтра над парциальной строкой данных потока данных, совпадающей с описанием шаблона, чтобы заменить ее полученным результатом. Затем на этапе S6 обработанная парциальная строка данных (то есть строка данных, в которой не выявлено появление контролируемого шаблона, или строка данных, включающая в себя контролируемый шаблон, после обработки, выполненной на этапе S5) записывается в выходной поток. На этапе S7 определяется, закончен ли входной поток. Он заканчивается в случае завершения. В противном случае осуществляется возврат на этап S2 и процедура повторяется.

На фиг. 9 показана блок-схема другого примера процедуры фильтрации в соответствии с вариантом осуществления изобретения.

Эта процедура реализуется как метод исполнения конкретного класса «фильтр». Инфраструктура 219 фильтра генерирует объект класса «действующий фильтр» и устанавливает его входной поток и выходной поток, затем назначает цепочку программных модулей (объект «тред») для реализации метода исполнения данного объекта. Таким образом, данная процедура автономно реализуется в параллельной обработке по каждому объекту «фильтр», управляемому инфраструктурой фильтра.

Сначала выполняется необходимая препроцессорная обработка на этапе S11. Эта препроцессорная обработка включает в себя инициализацию атрибута, используемого внутренним образом фильтром 221, препроцессорную обработку для описания шаблона, используемого для согласования шаблонов, и процесс преобразования потока классом «модификация» (конкретным классом Java.io.FilterInputStream (входной поток фильтра) или Java.io.FilterOutputStream (выходной поток фильтра)) для добавления функции облегчения использования входного потока и выходного потока (например, преобразующей входной поток в предварительно читаемый и расширяющий буферизацию для эффективного использования системных ресурсов). Затем новый парциальный поток данных генерируется на этапе S12. Затем на этапе S13 предварительно определенный объем данных считывается из входного потока, установленного на атрибут «вход». На этапе S14 парциальная строка данных, сформированная на этапе S12, добавляется к считанному потоку данных. Затем на этапе S15 обработанная парциальная строка данных записывается в выходной поток. На этапе S16 остальные данные, имеющиеся во входном потоке, записываются в выходной поток.

На фиг. 10 показана диаграмма для описания потока данных запроса на обработку в соответствии с вариантом осуществления изобретения.

Ссылочной позицией 801 обозначен поток данных запроса на обработку. Клиент выполняет запрос на обработку в устройстве 1000 обработки изображений путем создания потока 801 данных запроса на обработку и передает его в устройство 1000 обработки изображений. Запрошенная обработка реализуется за счет того, что поток 801 данных запроса на обработку обрабатывается устройством 1000 обработки изображений. Поток 801 данных запроса на обработку может быть грубо разделен на поток 802 данных назначения управления устройством (эквивалентный обозначенному ссылочной позицией 351 на фиг. 3) и поток 803 изобразительных данных (эквивалентный обозначенному ссылочной позицией 352 на фиг. 3).

Часть потока 802 данных назначения управления устройством содержит указания относительно запроса на обработку для устройства 1000 обработки изображений иные, чем описанные в нем изобразительные данные. Более конкретно общеизвестно, что выдаются следующие указания, которые предписываются функцией устройства 1000 обработки изображений. Атрибут «тип задания» в первой строке может принимать значения, такие как «печать», «защищенная печать» и «получение изображения», представляющие различные типы заданий устройства 1000 обработки изображений. Если запрос на обработку не дает никаких указаний относительно изобразительных данных, таких как «получение изображения», то поток 803 изобразительных данных обычно не включается в такой поток 801 данных запроса на обработку. Атрибут «копии» во второй строке представляет число копий отпечатанного материала, которые должны быть сформированы. Атрибут «конфигурация страницы» в третьей строке представляет спецификации конфигурации страницы, включая спецификации по помещению нескольких страниц на одном листе бумаги, например «1 страница на лист», «2 страницы на лист» или «4 страницы на лист», или спецификации по увеличению одной страницы и разделению ее на несколько листов бумаги, чтобы печатать ее как «плакат (2 × 2)» или «плакат (3 × 3)». Атрибут «порядок размещения» в четвертой строке может принимать такие значения, как «сверху слева направо», «сверху слева вниз», «сверху справа налево» или «сверху справа вниз», представляя спецификации размещения поверхностей на конфигурации страницы. Атрибут «метод печати» в пятой строке может принимать такие значения, как «односторонняя печать», «двусторонняя печать», «печать с брошюрованием», представляя метод печати. Атрибут «направление брошюрования» в шестой строке может принимать такие значения, как «брошюрование по широкой стороне (слева)», «брошюрование по широкой стороне (справа)», «брошюрование по узкой стороне (сверху)», «брошюрование по узкой стороне (снизу)», представляя направления для скрепления множества листов бумаги при завершающей обработке. Атрибут «метод выдачи бумаги» в седьмой строке может принимать значения: «не определен», «сортировка», «стапелирование» и «пробивка отверстий», представляющие завершающую операцию. Атрибут «подача бумаги» в восьмой строке может принимать значения: «автоматическая», «вручную с лотка», «с бобины» и «пачка» или «обыкновенная бумага», «толстая бумага», «цветная бумага» и «ОНР», представляющие спецификации подачи бумаги в качестве субъекта формирования изображения. Атрибут «использовать PDL» в девятой строке используется в случае, содержание запроса на обработку представляет указание вычерчивания (формирования изображения), представляющее тип PDL, используемый для потока изобразительных данных.

Часть 803 потока изобразительных данных используется в случае, когда содержание запроса на обработку представляет собой указание вычерчивания, и поток изобразительных данных в общем случае конфигурируется путем PDL.

На фиг. 11 представлена диаграмма описания обработки для потока 803 изобразительных данных, выполняемого фильтром согласно возможному варианту осуществления.

Совместимый фильтр 901 указывает объект класса «фильтр» потока 803 изобразительных данных и выполняет процесс для разрешения проблемы совместимости потока 803 изобразительных данных, появляющегося во входном потоке данных, чтобы записать его в выходной поток данных. Что касается проблемы совместимости потока 803 изобразительных данных, ниже приведено описание в отношении проблемы спецификации PostScript для Adobe в качестве одного из репрезентативных PDL на основе различий среди поставщиков в интерпретации устройств обработки изображений, реализуемых поставщиками, и пример решения этой проблемы.

В случае когда опция «DeferredMediaSelection» (отложенный выбор носителя) в «setpagedevice» (устройство установки страницы) в PostScript истинна, устройство обработки изображений определенного поставщика отображает запрос на бумагу в качестве настройки опции обработки бумаги на пульте 18 управления. Если она ложна, то она реализуется по прерыванию путем поиска бумаги фиксированного формата в пределах ± 5 от определенного размера и следования стратегии PostScript, если фиксированные форматы отсутствуют. Что касается устройства обработки изображений другого поставщика, в случае когда опция «DeferredMediaSelection» истинна, то бумага фиксированного формата отыскивается в определенном размере (без допусков) и обрабатывается как бумага, формат которой настроен по заказу, если бумага с фиксированными форматами отсутствует. В случае если она ложна, то она реализуется путем поиска бумаги фиксированного формата в пределах ± 5 и следования стратегии PostScript, если фиксированные форматы отсутствуют. Здесь среда инфраструктуры для системы, поставляемой другим поставщиком, конструируется в предположении поведения, основанного на последней интерпретации. В этом случае прежнее устройство обработки изображений обрабатывает запрос на печать как на бумагу заказного формата, и таким образом, пульт управления отображает «бумага отсутствует» и печать не выполняется. Поэтому от поставщика прежнего устройства обработки изображений требуется решение проблемы совместимости максимально дешевым и быстродействующим способом. Можно удовлетворить такую потребность, по меньшей мере, временно путем преобразования параметра «/DeferredMediaSelection» для «setpagedevice», появляющегося в потоке данных запроса на печать с истинного на ложное. Фильтр 901 совместимости представляет собой объект «фильтр», действующий для решения такой проблемы, и выполняет согласование шаблонов с «setpagedevice» с параметром «/DeferredMediaSelection», определенным как «истинно», из входного потока данных, и выводит поток данных передачи с заменой на «ложно», если имеет место согласование.

Ссылочная позиция 902 обозначает данные печати, описанные в PostScript, в качестве примера входного потока данных для фильтра. Согласование парциальных данных с вышеуказанным шаблоном появляется на второй строке данных печати. Ссылочная позиция 903 обозначает пример потока выходных данных, выведенного, если входной поток 901 данных обработан фильтром, и показан как обработанные фильтром данные печати объекта PostScript. В потоке 903 данных передачи символьная строка «истинно» изменена на «ложно» в данных второй строки.

Фиг. 12 представляет диаграмму для описания процесса фильтрации для потока изобразительных данных, выполняемого фильтром согласно конкретному варианту осуществления.

Вышеприведенный пример использовал метод согласования шаблонов и замену потока данных фильтром для решения проблемы совместимости на основе различий в спецификациях среди разных устройств обработки изображений. Также можно использовать тот же метод, чтобы избежать отказа в реализации устройства обработки изображений (например, сбоя во встроенном ПО). Например, учитывается случай, когда выпуск определенной версии и определенного устройства обработки изображений имеет дефект, при котором ошибка в вычерчивании происходит, если только ширина изображения, определенная посредством «команды защиты области изображения (VDM)» для языка LIPS (зарегистрированный товарный знак), равна значению, кратному 8.

Ссылочная позиция 1001 обозначает фильтр исключения сбоев, который находит шаблон для выражения ошибки из потока 1002 данных LIPS (ширина изображения VDM не равна кратному 8, а равна «225») и преобразует его в поток данных, обозначенный ссылочной позицией 1003, чтобы реализовать эквивалентную функцию без актуализации ошибки. Здесь ширина изображения VDM преобразуется в «232» в качестве значения, кратного 8 и большего, чем «225».

На фиг. 13 показана диаграмма для описания процесса для потока данных изображения, выполняемого фильтром оптимизации в соответствии с возможным вариантом осуществления.

Фильтр 1101 оптимизации обозначает объект «фильтр оптимизации» для потока изобразительных данных и считывает входной поток для отыскания избыточным образом описанных данных DPL, появляющихся в потоке данных, чтобы преобразовать их в более эффективные данные той же функции и записать их в поток данных передачи. Поток данных PDL, генерируемых драйвером устройства обработки изображений, стремится, по существу, включить шаблон процесса с избыточностью, такого как повторение, ввиду системы запроса печати клиента и удобства на стороне приложения. Такой шаблон избыточного описания распознается как некоторый тип «идиомы», чтобы заменить его некоторым эквивалентным выражением более высокой эффективности.

Ссылочная позиция 1102 обозначает пример входного потока данных, вводимого в фильтр 1101. Как обозначено ссылочной позицией 1103, входной поток 1102 данных описывается для обеспечения повторения закрашивания трех квадратов для закрашивания прямоугольника ландшафтного (горизонтального) формата изображения. Ссылочная позиция 1104 обозначает пример потока данных передачи с фильтра 1101 оптимизации. Здесь фильтр 1101 обнаруживает шаблоны повторения избыточности и переписывает их в один эквивалентный этому закрашенный прямоугольник 1105 горизонтального формата изображения.

На фиг. 14 показана диаграмма для описания обработки потока данных назначения управления устройством, выполняемой фильтром добавления функции, в соответствии с возможным вариантом осуществления.

Ссылочная позиция 1201 обозначает пример объекта класса «фильтр расширения функции» для потока 351 данных назначения управления устройством. Фильтр 1201 расширения функции считывает входной поток 1202 данных и выполняет процессы, такие как преобразование данных и добавление данных, для добавления новой функции в соответствии с входным потоком данных, чтобы записать его в поток данных передачи. В качестве примера расширения функции описан случай, когда клиентская система имеет специализированный драйвер PDL, который не готов для выполнения новых функциональных возможностей нового устройства обработки изображений, например, таких как двусторонняя печать и различные типы заключительных операций, при этом новые функции устройства 1000 обработки изображений поддерживаются путем манипулирования с его фильтром без смены драйвера.

Фильтр 1201 расширения функции имеет в качестве своего атрибута «установку назначения управления устройством» для поддержки новых функциональных возможностей устройства обработки изображений, на котором действует фильтр 1201. Значение атрибута объекта «фильтр» также сохранено в энергонезависимой памяти 3 устройства, так что статус объекта сохраняется, даже если в устройстве выключается питание и затем оно запускается вновь. Более точно, это предписывается функциями устройства обработки изображений, как описано выше.

Входной поток 1202 данных представляет собой поток данных для ввода в фильтр 1201 расширения функции потока данных печати и является потоком 351 данных назначения управления устройством, в котором поток данных запроса на обработку, генерируемый обычным приложением или драйвером устройства обработки изображений и принимаемый устройством 1000 обработки изображений, разделяется в устройстве обработки изображений.

Выходной поток 1203 данных обозначает поток данных, последовательно обрабатываемый и затем выводимый фильтром 1201 расширения функции потока данных назначения управления устройством. В дополнение к обычному потоку данных запроса на обработку, существующему во входных данных, он содержит различные данные описания заданий печати для полного использования новых функций устройства 1000 обработки изображений. Описание задания печати может представлять вложенную структуру, где различные атрибуты, подобные атрибуту фильтра 1201 расширения функции, могут быть определены в каждой из иерархий блока задания, блока обработки, такого как заключительная обработка для множества документов, компонуемых вместе, и блока индивидуального документа.

В выходном потоке 1203 данных «установка задания» в первой строке представляет запуск установки блока задания. «Данные установки задания» во второй строке указывают, что в данном месте существуют данные установки различных блоков задания. «Запуск компоновщика» в третьей строке представляет запуск блока, имеющего множество документов, компонуемых вместе. «Установка компоновщика» в четвертой строке представляет запуск установки для блока, имеющего множество документов, скомпонованных вместе. «Данные установки пачки документов» в пятой строке указывают, что в этом местоположении имеются данные установки для блока, имеющего множество документов, скомпонованных вместе. «Запуск документа» в седьмой линии представляет запуск документа. «Установка документа» в седьмой линии представляет начало установки блока документа. «Данные установки документа» в восьмой строке указывают, что в этом местоположении существуют данные установки для документа в качестве блока.

Фиг. 15 показывает представление примера пользовательского интерфейса для функционирования фильтра 1201 расширения функции.

Пользовательский интерфейс для функционирования фильтра реализован как Web-приложение (Servlet) посредством сервиса НТТР, включенного в стандартную библиотеку и инфраструктуру 217, и приводится в действие из Web-браузера, работающего на клиентском устройстве. Либо он может быть реализован как сервис applet-типа, приводимый в действие с пульта 18 управления устройства 1000 обработки изображений.

Ссылочная позиция 1301 обозначает основной операционный экран фильтра 1201 расширения функции, который может использоваться для выполнения операций проверки и изменения атрибута объекта «фильтр». Ссылочная позиция 1302 используется для манипулирования атрибутом «тип задания». Ссылочная позиция 1312 используется для манипулирования атрибутом «копии». Ссылочная позиция 1303 используется для установки атрибута «конфигурация страницы». Ссылочная позиция 1304 используется для установки атрибута «порядок размещения». Ссылочная позиция 1305 используется для установки метода печати. Ссылочная позиция 1306 используется для установки атрибута «направление брошюрования». Ссылочная позиция 1307 используется для установки атрибута «метод выдачи бумаги». Ссылочная позиция 1308 используется для установки атрибута «подача бумаги». Кнопка 1309 «помощь» используется для отображения описаний использования, функций и значений атрибутов этого фильтра. Кнопка 1310 «возврат к стандартным установкам» указывает, когда различные атрибуты возвращаются в их значения, устанавливаемые по умолчанию. Кнопка 1311 «применить» используется для применения операции смены значения атрибута и действительной установки нового значения в качестве атрибута объекта «фильтр». Ссылочная позиция 1313 обозначает пиктограмму предварительного просмотра, которая отображает форматы кадра для некоторых важных атрибутов в соответствии со статусами их значений, чтобы проверить различные атрибуты на экране.

Как описано выше, первый вариант осуществления позволяет обеспечить следующие результаты.

(1) Сервер, принимающий запрос на печать, статически реализуется как встроенное ПО и имеет интерфейс для направления потока данных, принимаемого принимающим сервером, на программное обеспечение фильтрации, обеспечивающее возможность динамической загрузки и динамического связывания, реализованного во встроенной среде Java. Поэтому возможно четко отделить стабильную часть от динамической части, чтобы предотвратить неэффективную обработку, такую как замена всего встроенного ПО устройства динамическим и избыточным программным обеспечением, или неэффективность за счет его дублирования путем реализации на стороне среды Java. Инфраструктура фильтрации, реализованная таким образом, является рациональной в смысле как затрат так и нагрузки, связанных с разработкой. Кроме того, легко динамически добавить или заменить фильтр для поставляемого устройства, чтобы удовлетворить требованиям клиента при более низких затратах на поддержку и более быстро.

(2) Когда фильтр реализуется в более сложной среде Java, легко реализовать сложный алгоритм согласования шаблонов, причем динамическое распределение памяти, обычно затруднительное в инкорпорирующей системе, является эффективным. Он реализуется как программное обеспечение с высокой степенью повторного использования в усложненных модулях, так что может быть легко принята схема проектирования на основе объектно-ориентированной парадигмы. Следовательно, возможна реализация секции фильтрации с высокой производительностью.

(3) Имеется возможность отыскать с помощью фильтра данные PDL проблематичные с точки зрения совместимости с другой реализацией из входного потока данных с использованием согласования шаблонов, чтобы надлежащим образом изменить данные PDL. Это решило проблему совместимости и отказов при низких затратах. В частности, этого можно достичь непосредственно путем манипулирования на стороне устройства обработки изображений, не оказывая влияния на систему, помещенную в среду клиента, приложения и драйвера устройства обработки изображений. В случае если не помещается никакого фильтра, можно за счет конфигурации избежать непроизводительных затрат из-за вмешательства в инфраструктуру фильтрации. Поэтому возможно поддерживать исходные характеристики обработки данных устройства обработки изображений даже в отсутствие фильтра.

(4) Имеется возможность с помощью фильтра, гибко наращиваемого в среде Java, распознавать шаблон избыточного описания типа «идиомы», чтобы заменять его на эквивалентное выражение с более высокой эффективностью. Таким образом, характеристики процесса печати можно улучшить, не оказывая влияния на основную часть системы обработки PDL. Поскольку он выполняет процесс оптимизации на стороне устройства обработки изображений, нет необходимости в преобразовании системы среды клиента, приложения и драйвера устройства обработки изображений. Фильтр имеет высокую производительность, и его поддержка, включая инсталлирование, проста, так что оптимизация может быть выполнена в соответствии с формой использования каждого индивидуального клиента.

(5) Имеется возможность добавлять данные, необходимые для продвижения новых функций в фильтр, гибко расширяемый в среде Java, чтобы полностью использовать новые функции даже в случае комбинирования их с системой среды клиента, приложения и драйвера устройства обработки изображений, не готового для новых функций устройства обработки изображений.

(6) Фильтр имеет пользовательский интерфейс для манипулирования установкой дополнительных функций для фильтра, работающего на встроенном ПО в качестве дополнительного уровня платформы программного обеспечения встроенного ПО в среде Java. Таким образом, также имеется возможность обеспечения функции наращивания, поддерживающей форму использования каждого индивидуального клиента.

(7) Имеется возможность выполнять оптимальный процесс фильтрации для части потока данных управления устройством, состоящей из инструкций и команд, относящихся к управлению устройством, и части потока изобразительных данных, состоящей из инструкций и команд, относящихся к вычерчиванию, например PDL.

Второй вариант осуществления

На фиг. 16 показана схема для описания потока 1401 данных согласно второму варианту осуществления настоящего изобретения. Конфигурация аппаратных средств и конфигурация программного обеспечения, относящиеся ко второму варианту осуществления, являются такими же, как и описанные выше со ссылками на фиг. 1-4, так что их описание опущено.

Устройство 1000 обработки изображений передает данные изображений и т.д. в место назначения, указанное клиентом в соответствии с запросом на обработку от клиента. В этом случае устройство 1000 обработки изображений генерирует поток 1401 данных передачи и передает его из модуля 202 передачи/приема данных. Поток 1401 данных передачи может быть грубо разделен на часть 1402 потока данных, имеющую тип задания для потока данных передачи, указанного в нем, и поток 103 данных изображения. Часть 1402 потока данных имеет информацию иную, чем собственно данные изображения, описанные в нем. Формат части 1402 потока данных предписан функциями устройства 1000 обработки изображений. При выполнении процесса передачи данных часть 1402 потока данных добавляется к данным изображения модулем 205 управления заданием или встроенным приложением 203 и передается как поток данных передачи от модуля 202 передачи/приема данных. Часть 1403 потока данных изображения генерируется путем ввода потока 360 отсканированных данных изображения (фиг. 3) из устройства 19 считывания изображений и обработки его модулем 209 обработки изображения. Здесь можно, как описано выше, обрабатывать в фильтре поток 1401 данных передачи, часть 1402 потока данных и поток 1403 данных изображения.

В соответствии со вторым вариантом осуществления, описанным выше, возможен процесс оптимальной фильтрации в отношении каждого из упомянутых потока 360 отсканированных данных изображения, потока данных изображения и потока 359 данных передачи, существующих в устройстве обработки изображений.

Другой вариант осуществления

Что касается потоков данных, существующих в устройстве обработки изображений, иных, чем описанные выше, имеется дисплейный список 355, генерируемый обработкой PDL, поток 357 окончательных данных изображения, окончательно генерируемый в устройстве обработки изображений, и поток 356 промежуточных данных изображения, генерируемый в целях формирования потока 357 окончательных данных изображения и т.д. Они имеет соответствующие форматы, предписанные функциями устройства обработки изображений. Можно выполнить процесс оптимальной фильтрации для каждого из потоков данных в той же конфигурации, что и описанная ранее.

Также можно конфигурировать фильтр расширения функции для обнаружения появления конкретного шаблона последовательности символов из данных последовательности символов материала для печати вместо контроля данных в потоке данных печати и при совпадении с конкретным шаблоном последовательности символов генерирования данных управления, эквивалентных этой последовательности символов, для их замены или вставки. В этом случае, когда клиент вводит конкретную последовательность символов как текст, например, с использованием приложения, такого как тестовый процессор, и распечатывает ее посредством обычного драйвера устройства обработки изображений, то можно, например, преобразовать конкретную последовательность символов в последовательность инструкций, таких как инструкция вычерчивания вектора, для вычерчивания соответствующего изображения (графического знака, метки или водяного знака), в фильтре на стороне устройства обработки изображений.

В вышеописанном варианте осуществления среда виртуальной машины Java используется как среда интерпретатора внутри встроенного ПО. Однако настоящее изобретение не ограничивается этим. Даже в случае конфигурирования его путем включения среды интерпретатора, такого как язык скрипта, во встроенное ПО можно получить те же самые эффекты, такие как добавление динамического фильтра и отделение части встроенного ПО.

Имеется множество других сред интерпретаторов, обеспечивающих высокоэффективное развитие, например, объектно-ориентированная среда, что может быть использовано для получения тех же самых эффектов, что касается производительности фильтра, и т.д. В частности, такие альтернативы, как sed, AWK, Perl, также пригодны для обработки потока данных на основе согласования шаблонов.

Другой вариант осуществления

Выше приведено детальное описание вариантов осуществления настоящего изобретения. Настоящее изобретение применимо к системе, конфигурируемой посредством множества устройств, а также применимо к устройству, конфигурируемому одним устройством.

Настоящее изобретение включает в себя случаи, когда программа программного обеспечения для реализации функций вышеописанных вариантов осуществления вводится в систему или устройство непосредственно или дистанционно, так что компьютер или устройство считывает и реализует введенный программный код для его выполнения. В этом случае форма не должна представлять собой программу, если она имеет функции программы. Поэтому настоящее изобретение также реализуется собственно программным кодом, инсталлированным на компьютере, для реализации функциональной обработки согласно настоящему изобретению на компьютере. Более конкретно настоящее изобретение включает в себя собственно программу для реализации функциональной обработки согласно настоящему изобретению. В этом случае программа может быть в любой форме, если она имеет функции программы, такой как объектный код, программа, реализованная интерпретатором, или данные скрипта, вводимые в ОС.

Носитель для хранения данных для ввода программы может быть гибким диском, жестким диском, оптическим диском, магнитно-оптическим диском, МО, CD-ROM, CD-R, CD-RW, магнитной лентой, картой энергонезависимой памяти, ROM или DVD (DVD-ROM, DVD-R). В качестве другого метода доставки программы она может быть доставлена путем соединения с исходной страницей сети Интернет с использованием браузера на клиентском компьютере и загрузки компьютерной программы как таковой, соответствующей настоящему изобретению, или сжатого файла, содержащего функцию автоматического инсталлирования из исходной страницы на носитель для хранения данных, такой как жесткий диск. Это также может быть реализовано путем разделения программного кода, конфигурирующего программу, соответствующую настоящему изобретению, на множество файлов и загрузки соответствующих файлов с различных исходных страниц. Более конкретно настоящее изобретение также предусматривает WWW-сервер для загрузки множеству пользователей программных файлов для реализации функциональной обработки, соответствующей настоящему изобретению, на компьютере.

Также является возможным шифровать программу, соответствующую настоящему изобретению, и сохранять ее на носителе для хранения данных, таком как CD-ROM, для распространения ее пользователям, использования информации ключей для ее дешифрования при загрузке пользователю при выполнении предварительно определенных условий с исходной страницы через Интернет и реализации зашифрованной программы с использованием информации ключей, чтобы инсталлировать и реализовать ее на компьютере.

Функции вышеупомянутых вариантов осуществления реализуются путем считывания программы, реализованной компьютером. Вышеуказанные функции вариантов осуществления также могут быть реализованы путем обработки с использованием части или всех действительных процессов, выполняемых ОС и т.п., работающих на компьютере на основе инструкций программы.

Кроме того, функции вышеуказанных вариантов осуществления реализуются после считывания программы с носителя для хранения данных, записи ее в память, при условии что плата расширения функций введена в компьютер или блок расширения функций подсоединен к компьютеру, путем обработки с использованием всех или части процессов, выполняемых ЦПБ, и т.д., предоставляемых в плату расширения функций или блок расширения функций, на основе инструкций программы.

Поскольку различные варианты осуществления настоящего изобретения могут быть реализованы без отклонения от его сущности и объема, то понятно, что изобретение не ограничивается конкретными вариантами его осуществления, кроме как в соответствии с приведенной формулой изобретения.

Испрашивание приоритета

Настоящая патентная заявка испрашивает приоритет согласно патентной заявке Японии № 2004-231433 от 6 августа 2004, которая включена в настоящий документ посредством ссылки.

Похожие патенты RU2336558C1

название год авторы номер документа
ИНТЕРФЕЙС ПРОГРАММИРОВАНИЯ ДЛЯ КОМПЬЮТЕРНОЙ ПЛАТФОРМЫ 2004
  • Богдан Джеффри Л.
  • Релая Роберт А.
RU2371758C2
ИНТЕРФЕЙС ПРОГРАММИРОВАНИЯ ДЛЯ КОМПЬЮТЕРНОЙ ПЛАТФОРМЫ 2004
  • Богдан Джеффри Л.
  • Релая Роберт А.
RU2365978C2
РАСШИРЕНИЕ ВОЗМОЖНОСТЕЙ СОТРУДНИЧЕСТВА ПРИ ИСПОЛЬЗОВАНИИ ВНЕШНИХ ДАННЫХ 2010
  • Кэмпбелл Джонатан
  • Чоу Ирей
  • Кроу Говард М. Iii
  • Харвуд Питер К.
  • Хоген Тодд
  • Джонсон Кристофер Фостер
  • Назееруддин Мохаммед
RU2546322C2
ДВУНАПРАВЛЕННОЕ ОБНОВЛЕНИЕ GRID-ТАБЛИЦЫ И АССОЦИИРОВАННЫХ ВИЗУАЛИЗАЦИЙ 2009
  • Мартинез Эдвард А.
  • Раи Сиддхартха
  • Джагадеба Рамани Ранджан
  • Вишванатх Адитхиа Ниттор
  • Корасала Каладхар Бапу Вс
  • Бхатиа Тусхар
  • Говинд Рисхаб
  • Мукхиджа Нитин
  • Агарвал Абхишек
  • Савхни Сонал
  • Келлеран Джеффри Р.
RU2541216C2
ОСНОВАННОЕ НА МОДЕЛИ УПРАВЛЕНИЕ КОМПЬЮТЕРНЫМИ СИСТЕМАМИ И РАСПРЕДЕЛЕННЫМИ ПРИЛОЖЕНИЯМИ 2004
  • Макколлум Реймонд В.
  • Паланка Раду Р.
  • Пфеннинг Йорг Т.
  • Саттон Александр М.
  • Браун Марк Р.
RU2375744C2
ИНТЕРФЕЙС ПРОГРАММИРОВАНИЯ ДЛЯ КОМПЬЮТЕРНОЙ ПЛАТФОРМЫ 2004
  • Гузак Крис Дж.
  • Каратал Керем Б.
  • Миллер Марк М.
  • Шелдон Майкл Г.
  • Макки Тимоти П.
RU2365972C2
СИСТЕМА УПРАВЛЕНИЯ ТЕСТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 2021
  • Аксёнов Денис Олегович
  • Хафизов Евгений Уралович
  • Рябов Михаил Александрович
RU2774659C1
СИСТЕМА И СПОСОБ ВИРТУАЛИЗАЦИИ ФУНКЦИИ МОБИЛЬНОЙ СЕТИ 2014
  • Сиф Мехди
  • Рамчандран Пракаш
  • Тянь Хунбо
  • Хань Хоусяо
  • Ли Хунлинь
  • Хуан Марк С.
  • Сунавала Фархад
  • Дэвис Гален Ким
RU2643451C2
СИСТЕМА И СПОСОБ ПРОЕЦИРОВАНИЯ ДАННЫХ ОТ ОДНОГО КО МНОГИМ 2004
  • Гупта Рохит
  • Манион Тодд Р.
RU2412478C2
СИСТЕМА И СПОСОБ ОБРАБОТКИ ДАННЫХ ГРАФОВ 2015
  • Волынский Петр Евгеньевич
  • Цыпляев Максим Викторович
RU2708939C2

Иллюстрации к изобретению RU 2 336 558 C1

Реферат патента 2008 года УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ИЗОБРАЖЕНИЯ И СПОСОБ УПРАВЛЕНИЯ ДЛЯ НЕГО

Изобретение относится к средствам обработки изображения. Технический результат заключается в повышении производительности обработки. Устройство обработки данных имеет среду интерпретатора для динамической реализации программы, сформированной на основе группы команд, определенной независимо от унаследованной группы команд, в унаследованной среде, образованной на основе унаследованной группы команд, обрабатываемых процессором, конфигурирующим аппаратные средства. Устройство генерирует промежуточный поток данных в каждом из множества блоков, на которые разделен входной поток данных при интерпретации в унаследованной среде и фильтрует промежуточный поток данных для генерации отфильтрованного потока данных в среде интерпретатора. Способ описывает работу устройств. 8 н. и 24 з.п. ф-лы, 16 ил.

Формула изобретения RU 2 336 558 C1

1. Устройство обработки изображений в унаследованной среде, образованной на основе первой группы команд, обрабатываемых процессором, конфигурирующим аппаратные средства и имеющим среду интерпретатора, для динамической реализации программы, сформированной на основе второй группы команд, определенной независимо от первой группы команд, причем устройство содержит

средство приема потока данных для приема входного потока данных, включающего в себя запрос процесса от клиента в собственной среде, средство обработки данных для генерации промежуточного потока данных в каждой из множества блоков, на которые разделен входной поток данных при интерпретации в унаследованной среде, средство фильтрации для фильтрации промежуточного потока данных и генерации отфильтрованного потока данных в среде интерпретатора, средство интерфейса для извлечения и обратной записи промежуточного потока данных между самим собой и средством фильтрации в унаследованной среде и

средство управления фильтрацией для переноса промежуточного потока данных, извлеченного через средство интерфейса в унаследованной среде, к соответствующему средству фильтрации в среде интерпретатора и обратной записи отфильтрованного потока данных через средство интерфейса.

2. Устройство обработки изображений по п.1, дополнительно содержащее средство передачи для передачи промежуточного потока данных, обработанного средством фильтрации, на устройство обработки информации.3. Устройство обработки изображений по п.1, в котором клиент встроен в устройство обработки информации, соединенное через сеть или устройство обработки изображений.4. Устройство обработки изображений по п.1, в котором промежуточный поток данных содержит поток данных назначения управления устройством для выдачи назначения управления на устройство обработки изображений, поток изобразительных данных для выдачи назначения формирования изображения в устройство обработки изображений, промежуточный поток данных изображения, генерируемый путем обработки потока данных назначения управления устройством и потока изобразительных данных, и окончательный поток данных изображения, генерируемый путем обработки промежуточного протока данных изображения.5. Устройство обработки изображений по п.1, в котором фильтрация средством фильтрации включает в себя процесс добавления нового потока данных к промежуточному потоку данных.6. Устройство обработки изображений по п.1, в котором фильтрация средством фильтрации включает в себя обработку замены конкретного потока данных промежуточного потока данных другим потоком данных.7. Устройство обработки изображений по п.1, дополнительно содержащее средство для манипулирования параметром обработки средства фильтрации с использованием пользовательского интерфейса среды интерпретатора.8. Устройство обработки изображений по п.1, в котором среда интерпретатора обеспечивает механизм подпроцессов для программы, действующей в среде интерпретатора, и средство фильтрации выполняет фильтрацию автономным образом в независимом контексте реализации механизма подпроцессов.9. Устройство обработки изображений по п.1, в котором среда интерпретатора основана на платформе Java (зарегистрированный товарный знак).10. Устройство обработки изображений, содержащее средство приема потока данных для приема входного потока данных, включающего в себя запрос на обработку, от клиента, средство обработки данных для интерпретации входного потока данных путем разделения его на множество блоков и генерации промежуточного потока данных в каждом из блоков, чтобы выполнить обработку в соответствии с содержанием, указанным во входном потоке данных, средство фильтрации для фильтрации промежуточного потока данных и генерации отфильтрованного потока данных, средство интерфейса для извлечения и обратной записи потока данных между самим собой и средством фильтрации, средство выбора для выбора функции фильтрации средства фильтрации, средство выбора для выбора потока данных, подлежащего фильтрации средством фильтрации, и

средство управления фильтрацией для извлечения потока данных, выбранного средством выбора через средство интерфейса, передачи его к соответствующему средству фильтрации, выбранному средством выбора, и обратной записи отфильтрованного потока данных через средство интерфейса.

11. Устройство обработки изображений по п.10, дополнительно содержащее средство передачи для передачи промежуточного потока данных, обработанного средством фильтрации, на устройство обработки информации.12. Устройство обработки изображений по п.10, в котором клиент встроен в устройство обработки информации, соединенное с сетью или устройством обработки изображений.13. Устройство обработки изображений по п.10, в котором фильтрация средством фильтрации включает в себя процесс добавления нового потока данных к промежуточному потоку данных.14. Устройство обработки изображений по п.10, в котором фильтрация средством фильтрации включает в себя обработку замены конкретного потока данных промежуточного потока данных другим потоком данных.15. Способ управления устройством обработки изображений в унаследованной среде, образованной на основе первой группы команд, обрабатываемых процессором, конфигурирующим аппаратные средства и имеющим среду интерпретатора, для динамической реализации программы, сформированной на основе второй группы команд, определенной независимо от первой группы команд, причем способ содержит

этап приема потока данных для приема входного потока данных, включающего в себя запрос на обработку от клиента в унаследованной среде,

этап обработки данных для генерации промежуточного потока данных в каждом из множества блоков, на которые разделен входной поток данных при интерпретации в унаследованной среде,

этап фильтрации для фильтрации промежуточного потока данных и генерации отфильтрованного потока данных в среде интерпретатора,

этап интерфейса для извлечения и обратной записи промежуточного потока данных между самим собой и средством фильтрации в унаследованной среде и

этап управления фильтрацией для переноса промежуточного потока данных, извлеченного через средство интерфейса в унаследованной среде, на соответствующий этап фильтрации в среде интерпретатора и обратной записи отфильтрованного потока данных через средство интерфейса.

16. Способ управления по п.15, дополнительно содержащий этап передачи для передачи промежуточного потока данных, обработанного на этапе фильтрации, на устройство обработки информации.17. Способ управления по п.15, в котором клиент встроен в устройство обработки информации, соединенное через сеть или устройство обработки изображений.18. Способ управления по п.15, в котором промежуточный поток данных содержит поток данных назначения управления устройством для выдачи назначения управления на устройство обработки изображений, поток изобразительных данных для выдачи назначения формирования изображения в устройство обработки изображений, промежуточный поток данных изображения, генерируемый путем обработки потока данных назначения управления устройством и потока изобразительных данных, и окончательный поток данных изображения, генерируемый путем обработки промежуточного потока данных изображения.19. Способ управления по п.15, в котором фильтрация на этапе фильтрации включает в себя процесс добавления нового потока данных к промежуточному потоку данных.20. Способ управления по п.15, в котором фильтрация на этапе фильтрации включает в себя обработку замены конкретного потока данных промежуточного потока данных другим потоком данных.21. Способ управления по п.15, дополнительно содержащий этап манипулирования параметром обработки на этапе фильтрации с использованием пользовательского интерфейса среды интерпретатора.22. Способ управления по п.15, в котором среда интерпретатора обеспечивает механизм подпроцессов для программы, действующей в среде интерпретатора, и этап фильтрации выполняет фильтрацию автономным образом в независимом контексте реализации механизма подпроцессов.23. Способ управления по п.15, в котором среда интерпретатора основана на платформе Java (зарегистрированный товарный знак).24. Способ управления устройством обработки изображений, содержащий

этап приема потока данных для приема входного потока данных, включающего в себя запрос на обработку от клиента,

этап обработки данных для интерпретации входного потока данных путем разделения его на множество блоков и генерации промежуточного потока данных в каждом из блоков, чтобы выполнить обработку в соответствии с содержанием, указанным во входном потоке данных,

этап фильтрации для фильтрации промежуточного потока данных и генерации отфильтрованного потока данных,

этап интерфейса для извлечения и обратной записи потока данных между самим собой и этапом фильтрации,

этап выбора для выбора функции фильтрации средства фильтрации, этап выбора для выбора потока данных, подлежащего фильтрации средством фильтрации, и

этап управления фильтрацией для извлечения потока данных, выбранного средством выбора через этап интерфейса, передачи его на соответствующий этап фильтрации, выбранный на этапе выбора, и обратной записи отфильтрованного потока данных посредством этапа интерфейса.

25. Способ управления по п.24, дополнительно содержащий этап передачи для передачи промежуточного потока данных, обработанного на этапе фильтрации, на устройство обработки информации.26. Способ управления по п.24, в котором клиент встроен в устройство обработки информации, соединенное через сеть или устройство обработки изображений.27. Способ управления по п.24, в котором фильтрация на этапе фильтрации включает в себя процесс добавления нового потока данных к промежуточному потоку данных.28. Способ управления по п.24, в котором фильтрация на этапе фильтрации включает в себя обработку замены конкретного потока данных промежуточного потока данных другим потоком данных.29. Устройство обработки данных в первой программной среде, образованной на основе первой группы команд, обрабатываемых процессором, конфигурирующим аппаратные средства и имеющим вторую программную среду для динамической реализации программы, сформированной на основе второй группы команд, определенной независимо от первой группы команд, причем устройство содержит

средство приема потока данных для приема входного потока данных, включающего в себя запрос на обработку от клиента в первой программной среде,

средство обработки данных для генерации промежуточного потока данных в каждом из множества блоков, на которые разделен входной поток данных при интерпретации в первой программной среде,

средство фильтрации для фильтрации промежуточного потока данных и генерации отфильтрованного потока данных во второй программной среде, средство интерфейса для извлечения и обратной записи промежуточного потока данных между самим собой и средством фильтрации в первой программной среде, и

средство управления фильтрацией для переноса промежуточного потока данных, извлеченного через средство интерфейса в первой программной среде, к соответствующему средству фильтрации во второй программной среде и обратной записи отфильтрованного потока данных через средство интерфейса.

30. Устройство обработки данных, содержащее

средство приема потока данных для приема входного потока данных, включающего в себя запрос на обработку от клиента,

средство обработки данных для интерпретации входного потока данных путем разделения его на множество блоков и генерации промежуточного потока данных для каждого из блоков для выполнения обработки в соответствии с содержанием, указанным входным потоком данных,

средство фильтрации для фильтрации промежуточного потока данных и генерации отфильтрованного потока данных,

средство интерфейса для извлечения и обратной записи потока данных между самим собой и средством фильтрации,

средство выбора для выбора функции фильтрации средства фильтрации,

средство выбора для выбора потока данных, подлежащего фильтрации средством фильтрации, и

средство управления фильтрацией для извлечения потока данных, выбранного средством выбора через средство интерфейса, переноса его к соответствующему средству фильтрации, выбранному средством выбора, и обратной записи отфильтрованного потока данных через средство интерфейса.

31. Устройство обработки изображений в первой среде, образованной на основе первой группы команд, обрабатываемых процессором, конфигурирующим аппаратные средства и имеющим вторую среду, для динамической реализации программы, сформированной на основе второй группы команд, определенной независимо от первой группы команд, причем устройство содержит

средство приема потока данных для приема входного потока данных, включающего в себя запрос на обработку от клиента в первой среде, средство обработки данных для генерации промежуточного потока данных в каждом из множества блоков, на которые разделен входной поток данных при интерпретации в первой среде,

средство фильтрации для фильтрации промежуточного потока данных и генерации отфильтрованного потока данных во второй среде, средство интерфейса для извлечения и обратной записи промежуточного потока данных между самим собой и средством фильтрации в первой среде, и

средство управления фильтрацией для переноса промежуточного потока данных, извлеченного через средство интерфейса в первой среде, к соответствующему средству фильтрации во второй среде и обратной записи отфильтрованного потока данных через средство интерфейса.

32. Способ управления устройством обработки изображений в первой среде, образованной на основе первой группы команд, обрабатываемых процессором, конфигурирующим аппаратные средства и имеющим вторую среду, для динамической реализации программы, сформированной на основе второй группы команд, определенной независимо от первой группы команд, причем способ содержит

этап приема потока данных для приема входного потока данных,

включающего в себя запрос на обработку от клиента в первой среде,

этап обработки данных для генерации промежуточного потока данных в каждом из множества блоков, на которые разделен входной поток данных при интерпретации в первой среде,

этап фильтрации для фильтрации промежуточного потока данных и генерации отфильтрованного потока данных во второй среде,

этап интерфейса для извлечения и обратной записи промежуточного потока данных между самим собой и этапом фильтрации в первой среде, и

этап управления фильтрацией для переноса промежуточного потока данных, извлеченного через средство интерфейса в первой среде, к соответствующему средству фильтрации во второй среде и обратной записи отфильтрованного потока данных посредством этапа интерфейса.

Документы, цитированные в отчете о поиске Патент 2008 года RU2336558C1

СИСТЕМА ЦИФРОВОГО ТЕЛЕВИДЕНИЯ 2001
  • Волков Б.И.
RU2208917C2
УСТРОЙСТВО ДЛЯ СИСТЕМЫ РАСПРЕДЕЛЕНИЯ ТЕЛЕВИЗИОННЫХ ПРОГРАММ И СПОСОБ РАСПРЕДЕЛЕНИЯ ТЕЛЕВИЗИОННЫХ ПРОГРАММ В СИСТЕМЕ РАСПРЕДЕЛЕНИЯ ТЕЛЕВИЗИОННЫХ ПРОГРАММ 1993
  • Джон С.Хендрикс
  • Альфред Е.Боннер
RU2138923C1
JP 2003256216 А, 10.09.2003
Устройство для измерения коэффициента отражения в СВЧ-диапазоне 1986
  • Шварцман Артур Маркусович
SU1385089A1

RU 2 336 558 C1

Авторы

Танеда Масаказу

Наказава Тосиюки

Окуцу Тосихиса

Цунода Масами

Ито Йосинори

Асахара Хидео

Даты

2008-10-20Публикация

2005-07-29Подача