УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И УСТРОЙСТВО ПЕЧАТИ
IMAGE DECODING DEVICE, IMAGE DECODING METHOD AND PRINTING DEVICE

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к устройству декодирования изображения, которое декодирует информацию изображения, кодированную со сжатием, на основании кодированной кодовой информации и информации опорных пикселей, и к соответствующему способу декодирования изображения. В частности, настоящее изобретение относится к устройству декодирования изображения, которое обеспечивает высокоскоростной процесс декодирования за счет подавления ввода/вывода данных в/из внешней памяти одновременно с процессом декодирования, и к соответствующему способу декодирования изображения, и к устройству печати.
УРОВЕНЬ ТЕХНИКИ
В настоящее время такие устройства, как персональные компьютеры (ПК) и копировальные аппараты, получили широкое распространение. Устройства формирования изображения, например устройство струйной печати и устройство электрофотографической печати для печати цифровых изображений, быстро развиваются и распространяются. По мере того как устройства приобретают все более развитые функции, они получают более широкие возможности работать с цветными данными. Вместе с этим разрабатываются системы формирования изображения, например система цветной струйной печати и система цветной электрофотографической печати.
Рассмотрим пример системы формирования изображения, в которой применяется метод струйной печати.
Такая система формирования изображения часто содержит контроллер формирования изображения и движок формирования изображения. На фиг.4 показан пример этой системы формирования изображения. Контроллер 115 формирования изображения в системе 116 формирования изображения имеет интерфейс для обмена информацией изображения и разнообразной информацией управления с драйвером 411 принтера на хост-ПК 101. Контроллер 115 формирования изображения генерирует данные о формировании изображения на основании входной информации изображения. Движок 114 формирования изображения в системе 116 формирования изображения переносит среду печати, приводит в движение каретку и управляет печатающей головкой для формирования изображения.
Система формирования изображения содержит устройство декодирования изображения, которое разуплотняет информацию изображения путем декодирования кодированной кодовой информации. В качестве метода кодирования, применяемого в системе формирования изображения, предложено много методов кодирования, использующих корреляцию со значениями соседних пикселей, например код по длинам серий или код сжатия Delta Row. Код по длинам серий используется для кодирования длины серии и значения пикселя, когда одно и то же значение пикселя распространяется в направлении растра (горизонтальном направлении). Код сжатия Delta Row используется для кодирования длины серии, когда то же самое значение пикселя, что и в непосредственно предшествующем (более высоком) растре, распространяется в вертикальном направлении.
Эти методы кодирования опираются на тот факт, что пиксели, имеющие одно и то же значение пикселя (близкие значения пикселя), с высокой степенью вероятности распространяются в горизонтальном или вертикальном направлении. Также разработан способ получения высокого коэффициента сжатия за счет осуществления кодирования с использованием корреляции между горизонтальным и вертикальным направлениями (см., например, выложенную патентную заявку Японии № 2002-223360). Метод кодирования, раскрытый в выложенной патентной заявке Японии № 2002-223360, предусматривает кодирование на основании левых и верхних пикселей и особенно пригоден для системы формирования изображения, которая обрабатывает растровое сканированное изображение. Когда верхние, верхние левые и верхние правые пиксели используются в качестве опорных пикселей, процессу декодирования для одного растра требуются пиксели одного более высокого растра в качестве опорных пикселей.
Поток данных в контроллере формирования изображения будет раскрыт со ссылкой на фиг.5.
Контроллер формирования изображения принимает кодовую информацию, кодированную со сжатием, от хоста-ПК и осуществляет процесс декодирования 501 для разуплотнения многоуровневой информации RGB изображения. Контроллер формирования изображения осуществляет обработку 502 цветов, например CSC или гамма-коррекцию для преобразования многоуровневой информации RGB изображения в многоуровневые данные цветов чернил (например, C, M, Y и K). Кроме того, контроллер формирования изображения осуществляет обработку 503 псевдополутонов с использованием диффузии или размывания ошибок для преобразования многоуровневых данных в двоичные данные (данные формирования изображения) для каждого цвета чернил. Таким образом, многоуровневые данные изображения преобразуются в данные формирования изображения на уровне (в этом примере двоичном), который можно выводить из движка формирования изображения (печатающей головки).
Когда обработка данных изображения, например процесс декодирования 501, обработка 502 цветов и обработка 503 псевдополутонов, выполняется в системной БИС, выступающей в роли ядра управления всей системой, желательно, чтобы оперативная память, подключенная вне системной БИС, совместно использовалась для снижения стоимости.
Однако если рассматривать обработку данного пикселя в процессе декодирования для одного растра, который опирается на пиксели одного более высокого растра, для осуществления декодирования для одного растра, производится обращение к памяти (памяти опорного растра) для считывания значения опорного пикселя для каждого цвета, подлежащего обработке. Например, при обработке трех цветов, R, G и B, необходимо обращаться к памяти опорного растра три раза. Таким образом, например, когда процесс осуществляется с тактовой частотой 200 МГц по четыре цикла на пиксель, запрашиваемая скорость доступа составляет (200 МГц/4 цикла)×3×16 битов=300 Мбайт/с.
Много проблем возникает при обращении к памяти опорного растра при очень высокой скорости доступа в процессе декодирования. Первая проблема - это влияние на сам процесс декодирования. Возможности процесса декодирования могут не в полной мере использоваться вследствие обращения к памяти опорного растра при очень высокой скорости доступа. Вторая проблема - это влияние на систему в целом. В системе, где оперативная память физически обобществлена между памятью, необходимой для обработки других данных и управления системой, и памятью опорного растра в целях снижения стоимости, частое обращение к области памяти опорного растра может влиять на обработку других данных и управление системой.
Во избежание этих проблем предложена конфигурация, предусматривающая буфер на кристалле, способный хранить опорный растр, когда необходим высокоскоростной процесс, и подавлять доступ к оперативной памяти для обеспечения высокой производительности (см., например, японский патент № 3083493).
В последнее время функциональная интеграция дополнительно способствует миниатюризации и снижению стоимости устройств. Растет количество устройств, в которых единая системная БИС реализует основные функции контроллера формирования изображения. В частности, одна системная БИС осуществляет сетевое управление между устройством и хостом-ПК, анализ языка принтера, процесс декодирования, обработку цветов и обработку псевдополутонов. При вводе/выводе данных, связанных с генерацией данных формирования изображения, которые определяются путем обращения к памяти опорного растра для считывания значения опорного пикселя в процессе декодирования, используется очень большая полоса. По этой причине возникла потребность в построении оптимальной системы памяти системной БИС для достижения высокой производительности и снижения стоимости.
Как описано выше, конфигурация, имеющая буфер на кристалле, способный хранить опорный растр, может препятствовать расходованию полосы при обращении к оперативной памяти. Однако крупноформатный принтер, имеющий большую ширину печати, увеличивает размер и стоимость кристалла. Исходя из того что каждый из цветов R, G и B кодируется в 16 битах, когда в буфере на кристалле сохраняется верхний опорный растр в процессе декодирования, необходимая емкость памяти равна количеству пикселей одного растра × 48 битов. Для обработки информации изображения высокого разрешения, например текста или изображения линий, требуется особенно большая емкость памяти. Например, емкость памяти 3,3 Мбит необходима для того, чтобы работать с разрешением 1,200 dpi (точек на дюйм) и максимальной шириной печати 60 дюймов.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Настоящее изобретение призвано ликвидировать традиционные недостатки и предусматривает устройство декодирования изображения, которое может обеспечивать высокую производительность и снижение стоимости благодаря эффективному подавлению считывания опорных данных из оперативной памяти в процессе декодирования, необходимом во многих методах сжатия без потерь. Настоящее изобретение предусматривает способ декодирования изображения для устройства декодирования изображения и устройство печати.
Согласно первому аспекту настоящего изобретения предусмотрено устройство декодирования изображения для приема кодированной информации изображения и декодирования кодированной информации изображения, содержащее: блок хранения, выполненный с возможностью хранения информации изображения; первый декодер, выполненный с возможностью принимать из блока хранения первые данные изображения, подлежащие декодированию, из информации изображения, хранящейся в блоке хранения, и данные соседнего изображения для области изображения вблизи первых данных изображения, подлежащих декодированию, и с возможностью декодирования первых данных изображения, подлежащих декодированию, на основании данных соседнего изображения; второй декодер, выполненный с возможностью принимать данные декодированного изображения, декодированные первым декодером, и с возможностью принимать из блока хранения дополнительные данные изображения, подлежащие декодированию, на основании данных декодированного изображения, и с возможностью декодировать дополнительные данные изображения, принятые из блока хранения, на основании данных декодированного изображения; а также контроллер декодирования, выполненный с возможностью управления первым декодером и вторым декодером для периодического выполнения декодирования первых данных изображения первым декодером и декодирования дополнительных данных изображения вторым декодером параллельно.
В предпочтительном варианте осуществления изобретения устройство дополнительно содержит буфер, выполненный с возможностью сохранения данных декодированного изображения, декодированных первым декодером, причем первый декодер выполнен с возможностью принимать данные изображения, подлежащие декодированию, и данные соседнего изображения, и второй декодер выполнен с возможностью принимать данные декодированного изображения из буфера и принимать из блока хранения дополнительные данные изображения, подлежащие декодированию, на основании данных декодированного изображения.
В предпочтительном варианте осуществления согласно изобретению первый декодер выполнен с возможностью отслеживать объем информации, хранящийся в буфере, и с возможностью выводить данные декодированного изображения в буфер в соответствии с объемом информации.
В предпочтительном варианте осуществления согласно изобретению второй декодер выполнен с возможностью отслеживать объем информации, хранящийся в буфере, и с возможностью принимать данные декодированного изображения из буфера в соответствии с объемом информации.
В предпочтительном варианте осуществления согласно изобретению первый декодер и второй декодер отслеживают объем информации, хранящийся в буфере, и устройство декодирования изображения дополнительно содержит контроллер, выполненный с возможностью управления вводом данных декодированного изображения в буфер и выводом данных декодированного изображения из буфера, чтобы, предпочтительно, выводить данные изображения, декодированные первым декодером, когда объем информации не меньше первого порогового значения, и, предпочтительно, вводить данные изображения, декодированные вторым декодером, когда объем информации не больше второго порогового значения, которое меньше первого порогового значения.
Согласно второму аспекту настоящего изобретения предусмотрен способ декодирования изображения для устройства декодирования изображения, которое принимает кодированную информацию изображения и декодирует кодированную информацию изображения, содержащий: этап сохранения, на котором сохраняют информацию изображения в памяти; первый этап декодирования, на котором принимают из памяти первые данные изображения, подлежащие декодированию, из информации изображения, хранящейся в памяти, и данные соседнего изображения для области изображения вблизи данных изображения, подлежащих декодированию, декодируют первые данные изображения, подлежащие декодированию, на основании данных соседнего изображения; второй этап декодирования, на котором принимают данные декодированного изображения, декодированные на первом этапе декодирования, и принимают из памяти дополнительные данные изображения, подлежащие декодированию, на основании данных декодированного изображения, и декодируют дополнительные данные изображения, принятые из памяти, на основании данных декодированного изображения; и периодически декодируют первые данные изображения на первом этапе декодирования и декодируют дополнительные данные изображения на втором этапе декодирования параллельно.
Согласно третьему аспекту настоящего изобретения предусмотрено устройство печати, имеющее блок декодирования изображения, которое внешне принимает информацию изображения из внешнего источника и декодирует кодированную информацию изображения, в котором блок декодирования изображения содержит блок хранения, выполненный с возможностью хранения информации изображения, первый декодер, выполненный с возможностью принимать из блока хранения первые данные изображения, подлежащие декодированию, из информации изображения, хранящейся в блоке хранения, и данные соседнего изображения для области изображения вблизи данных изображения, подлежащих декодированию, и с возможностью декодировать первые данные изображения, подлежащие декодированию, на основании данных соседнего изображения, второй декодер, выполненный с возможностью принимать данные декодированного изображения, декодированные первым декодером, принимать из блока хранения дополнительные данные изображения, подлежащие декодированию, на основании данных декодированного изображения, и декодировать дополнительные данные изображения, принятые из блока хранения, на основании данных декодированного изображения, и контроллер декодирования, выполненный с возможностью управления первым декодером и вторым декодером для периодического выполнения декодирования первых данных изображения первым декодером и декодирования дополнительных данных изображения вторым декодером параллельно, и блок печати, выполненный с возможностью печати информации изображения, декодированной блоком декодирования изображения.
Согласно четвертому аспекту настоящего изобретения предусмотрен компьютерно-считываемый носитель информации, на котором хранится компьютерная программа, которая, при выполнении компьютером, предписывает компьютеру осуществлять способ внешнего приема кодированной информации изображения и декодирования кодированной информации изображения, содержащий: этап сохранения, на котором сохраняют информацию изображения в памяти; первый этап декодирования, на котором принимают из памяти данные изображения, подлежащие декодированию, из информации изображения, хранящейся в памяти, и данные соседнего изображения для области изображения вблизи данных изображения, подлежащих декодированию, и декодируют данные изображения, подлежащие декодированию, на основании данных соседнего изображения; второй этап декодирования, на котором принимают данные декодированного изображения, декодированные на первом этапе декодирования, и принимают из памяти данные изображения, подлежащие декодированию, на основании данных декодированного изображения, и декодируют данные изображения, принятые из памяти, на основании данных декодированного изображения; и этап управления, на котором управляют периодическим выполнением декодирования данных изображения на первом этапе декодирования и декодирования данных изображения на втором этапе декодирования параллельно.
Кроме того, признаки настоящего изобретения явствуют из нижеследующего описания иллюстративных вариантов осуществления со ссылкой на прилагаемые чертежи.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - блок-схема контроллера формирования изображения, применимая к настоящему изобретению.
Фиг.2 - блок-схема блока декодирования согласно первому варианту осуществления настоящего изобретения.
Фиг.3 - блок-схема блока декодирования согласно второму варианту осуществления настоящего изобретения.
Фиг.4 - блок-схема, поясняющая основную конфигурацию системы формирования изображения.
Фиг.5 - блок-схема, поясняющая основной поток данных контроллера формирования изображения.
Фиг.6 - логическая блок-схема иллюстративного способа декодирования изображения, отвечающего настоящему изобретению.
Фиг.7 - схематический вид в перспективе, демонстрирующий внешний вид конструкции устройства струйной печати в качестве одного примера системы формирования изображения согласно типичному варианту осуществления настоящего изобретения.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Предпочтительные варианты осуществления настоящего изобретения будут подробно описаны ниже со ссылкой на чертежи. Заметим, что относительная конфигурация компонентов, ссылочные позиции и численные выражения, указанные в этих вариантах осуществления, не ограничивают объем настоящего изобретения, если конкретно не указано обратное.
Первый вариант осуществления
Система формирования изображения согласно варианту осуществления использует метод струйной печати. Струйная система формирования изображения согласно варианту осуществления содержит каретку, которая поддерживает печатающую головку и чернильницу, блок переноса, который переносит среду печати, например бумагу, и блок управления, который управляет этими компонентами.
Печатающая головка, которая выбрасывает капельки чернил из совокупности отверстий, сканирует в направлении, перпендикулярном направлению переноса среды печати, и осуществляет печать вплоть до конца среды печати. Затем блок переноса переносит среду печати на предварительно определенное расстояние (ширину). Сканирование печати и перенос среды печати повторяются для формирования печатного изображения.
Система формирования изображения согласно варианту осуществления содержит четыре печатающие головки для черных, голубых, малиновых и желтых чернил соответственно. Каждая печатающая головка имеет матрицу сопел, в которой 2,048 сопел размещены с интервалом 1,200 dpi. Каждое сопло выбрасывает капельку чернил объемом 4 пл за одну операцию выброса. Капельки чернил четырех цветов накладываются друг на друга для формирования цветного изображения.
Согласно фиг.4 система формирования изображения согласно настоящему варианту осуществления содержит контроллер формирования изображения и движок формирования изображения. Контроллер 115 формирования изображения имеет интерфейс для обмена информацией изображения и разнообразной информацией управления с хостом-ПК 101 и тому подобное. Контроллер 115 формирования изображения генерирует данные формирования изображения на основании входной информации изображения. Движок 114 формирования изображения переносит среду печати, приводит в движение каретку и управляет печатающей головкой для формирования изображения.
На фиг.7 показан схематический вид в перспективе, демонстрирующий внешний вид конструкции устройства струйной печати в качестве одного примера системы формирования изображения согласно типичному варианту осуществления настоящего изобретения.
Согласно фиг.7 устройство струйной печати (именуемое здесь устройством печати) содержит печатающую головку 3, которая осуществляет печать, выбрасывая чернила согласно методу струйной печати. Передаточный механизм 4 передает движущее усилие, генерируемое мотором М1 каретки, на каретку 2, поддерживающую печатающую головку 3, для обеспечения возвратно-поступательного движения каретки 2 в направлениях, указанных стрелкой A в качестве главного направления сканирования (возвратно-поступательного сканирования). Одновременно с этим возвратно-поступательным сканированием среда Р печати, например бумага для печати, подается через средство 5 подачи бумаги и переносится в позицию печати. В позиции печати печатающая головка 3 печатает путем выброса чернил на среду Р печати.
Каретка 2 устройства печати поддерживает не только печатающую головку 3, но также чернильницу 6, которая содержит чернила, подаваемые в печатающую головку 3. Чернильница 6 может отсоединяться от каретки 2.
Устройство печати, показанное на фиг.7, может печатать в цвете. С этой целью каретка 2 поддерживает четыре чернильницы, которые соответственно содержат малиновые (M), голубые (C), желтые (Y) и черные (K) чернила. Четыре чернильницы отсоединяются независимо.
Каретка 2 и печатающая головка 3 могут обеспечивать и поддерживать предварительно определенное электрическое соединение за счет правильного приведения их контактных поверхностей в контакт друг с другом. Печатающая головка 3 избирательно выбрасывает чернила через совокупность отверстий и печатает путем подачи энергии в соответствии с сигналом печати. В частности, печатающая головка 3 согласно варианту осуществления применяет метод струйной печати, предусматривающий выброс чернил с использованием тепловой энергии, и содержит электротепловой преобразователь для выработки тепловой энергии. Электрическая энергия, поступающая на электротепловой преобразователь, преобразуется в тепловую энергию. Чернила выбрасываются из отверстий с использованием изменения давления с подъемом и сжатием пузырьком за счет пленочного кипения, генерируемого при подводе тепловой энергии к чернилам. Электротепловой преобразователь размещен в соответствии с каждым отверстием, и чернила выбрасываются из соответствующего отверстия за счет подачи импульсного напряжения на соответствующий электротепловой преобразователь в соответствии с сигналом печати.
Согласно фиг.7 каретка 2 подключена к части приводного ремня 7 передаточного механизма 4, который передает движущее усилие мотора М1 каретки. Каретка 2 направляется с возможностью скольжения и поддерживается на направляющем валу 13 в направлениях, указанных стрелкой A. Каретка 2 совершает возвратно-поступательное движение по направляющему валу 13 за счет нормального вращения и обратного вращения мотора М1 каретки. Шкала 8, представляющая позицию каретки 2, ориентирована в главном направлении сканирования (в направлениях, указанных стрелкой A) каретки 2.
Устройство печати имеет валик (не показан), обращенный к поверхности перфорации печатающей головки 3, имеющей отверстия (не показаны). Каретка 2, поддерживающая печатающую головку 3, совершает возвратно-поступательное движение за счет движущего усилия мотора М1 каретки. Одновременно с этим печатающая головка 3 принимает сигнал печати для выброса чернил и печати по всей ширине среды Р печати, перенесенной на валик.
В устройстве печати блок 10 восстановления для восстановления печатающей головки 3 после сбоя выброса размещен в положении вне области возвратно-поступательного движения (вне области печати) для операции печати каретки 2, поддерживающей печатающую головку 3.
Блок 10 восстановления содержит средство 11 укупоривания, которое укупоривает поверхность перфорации печатающей головки 3, и средство очистки 12, которое очищает поверхность перфорации печатающей головки 3. Блок 10 восстановления осуществляет операцию восстановления выброса. Например, блок 10 восстановления принудительно выбрасывает чернила из отверстий с помощью блока всасывания (всасывающего насоса и т.п.) в блоке восстановления синхронно с укупориванием поверхности перфорации с помощью средства 11 укупоривания. Соответственно, блок 10 восстановления удаляет чернила с высокой вязкостью или пузырьками из чернильного канала печатающей головки 3.
В операции отсутствия печати и т.п. средство 11 укупоривания укупоривает поверхность перфорации печатающей головки 3 для защиты печатающей головки 3 и предотвращения испарения и высыхания чернил. Средство 12 очистки размещено вблизи средства 11 укупоривания и вытирает капельки чернил, приставшие к поверхности перфорации печатающей головки 3.
Устройство печати может выполнять предварительный выброс путем выброса чернил независимо от печати на средства 11 укупоривания.
Состояние выброса чернил печатающей головки 3 может оставаться нормальным благодаря операции всасывания и операции предварительного выброса с использованием средства 11 укупоривания и операции вытирания с использованием средства 12 очистки.
На фиг.7 показана конструкция, в которой чернильница 6 и печатающая головка 3 разделены, но можно предложить вариант осуществления картриджа головки, который объединяет в себе чернильницу и печатающую головку.
На фиг.1 показана блок-схема, схематически демонстрирующая конфигурацию контроллера формирования изображения. Контроллер 115 формирования изображения подключен к движку 114 формирования изображения для построения системы 116 формирования изображения.
ЦП 102 подключен к хосту-ПК 101 через интерфейс 103 связи. ЦП 102 обращается к ПЗУ 105, в котором хранятся программы управления, ЭСППЗУ 106, в котором хранятся различные постоянные данные и пр., и ОЗУ 104 для хранения командных сигналов и информации изображения, принятой от хоста-ПК 101. На основании фрагментов информации, хранящихся в этих запоминающих устройствах, ЦП 102 управляет операцией печати и пр.
Емкость памяти ОЗУ 104 можно увеличивать с использованием порта расширения. Управление интерфейсом связи, анализ языка принтера, процесс декодирования, обработка цветов, обработка псевдополутонов, связь с внешним движком и пр. в контроллере формирования изображения, в основном, реализуется потоком данных через ОЗУ 104.
Информация инструкций, введенная при помощи кнопок рабочей панели 108, поступает на ЦП 102 через интерфейс 107 рабочей панели. Аналогично, инструкции от ЦП 102 управляют операцией включения СИД и работой ЖКД рабочей панели 108 через интерфейс 107 рабочей панели.
Интерфейс 109 платы расширения расширяет функции посредством подключения платы 110 расширения, например HDD или ускорителя обработки, повышающего качество изображения.
Блок 111 декодирования изображения (блок декодирования) разуплотняет (декодирует) информацию изображения на основании кодовой информации, кодированной со сжатием, принятой от хоста-ПК 101. Блок 111 декодирования будет подробно описан ниже.
Блок 112 обработки изображения осуществляет преобразование цветов, коррекцию цветов и обработку псевдополутонов для декодированной информации изображения и генерирует данные формирования изображения для каждого цвета чернил в соответствии с особенностями движка 114 формирования изображения. Блок 112 обработки изображения передает данные формирования изображения на движок 114 формирования изображения через интерфейс 113 движка.
Блок 111 декодирования будет описан со ссылкой на фиг.2, где показана блок-схема блока 111 декодирования.
Блок 201 управления входом шинного интерфейса подключен к ОЗУ 104 и осуществляет управление шинным интерфейсом, связанное с входным переносом кода сжатия и опорных данных. Блок 202 управления выходом шинного интерфейса подключен к ОЗУ 104 и осуществляет управление шинным интерфейсом, связанное с выходным переносом данных разуплотненного изображения, выступающих в роли результата декодирования. Блок 203 декодирования А и блок 204 декодирования В параллельно выполняют процессы декодирования для двух последовательных растров. Блок 205 общего управления отслеживает состояние каждого блока и управляет блоком 111 общего декодирования в соответствии с фрагментами внутренней и внешней информации управления.
Блок 201 управления входом шинного интерфейса принимает запрос входного переноса от блока 203 декодирования А и запрос входного переноса от блока 204 декодирования В, избирательно реагирует циклической диспетчеризацией и осуществляет процесс переноса. Аналогично, блок 202 управления выходом шинного интерфейса принимает запрос выходного переноса от блока 203 декодирования А и запрос выходного переноса от блока 204 декодирования В, избирательно реагирует циклической диспетчеризацией и осуществляет процесс переноса.
При одновременной подаче запросов переноса блок 201 управления входом шинного интерфейса и блок 202 управления выходом шинного интерфейса выполняют арбитражное управление, чтобы реагировать на запросы по порядку. При неодновременной подаче запросов переноса блок 201 управления входом шинного интерфейса и блок 202 управления выходом шинного интерфейса быстро реагируют на запросы и осуществляют процесс переноса.
Первый вариант осуществления в порядке иллюстрации предусматривает код сжатия Delta Row для метода сжатия. Как описано выше, код сжатия Delta Row используется для кодирования длины серии при распространении того же самого значения, что и у более высокого растра, выступающего в роли непосредственно предшествующего растра. Заметим, что настоящее изобретение не ограничивается кодированием Delta Row и применимо к процессам декодирования согласно многим другим методам сжатия при осуществлении кодирования с использованием соседних пикселей, например левого, верхнего и верхнего правого пикселей в качестве опорных пикселей.
DMAC (A) 231 опорных данных осуществляет управление переносом DMA (прямого доступа к памяти), связанное с входным переносом опорных данных блока декодирования А. DMAC 232 кода сжатия (A) осуществляет управление переносом DMA, связанное с входным переносом кода сжатия блока декодирования А. Буфер 233 опорных данных (A) - это буфер малой емкости, в котором временно хранятся опорные данные блока декодирования А и который сглаживает интенсивность входного потока данных. Буфер 234 кода сжатия (A) - это буфер малой емкости, в котором временно хранится код сжатия блока декодирования А и который сглаживает интенсивность входного потока данных. Ядро 235 декодирования (A), выступающее в роли первого блока декодирования, обеспечивает функцию декодирования в блоке декодирования А. Ядро 235 декодирования (A) осуществляет процесс декодирования на основании кода сжатия и опорных данных для вывода разуплотненного изображения. Иными словами, ядро декодирования 235 (A) принимает данные изображения (код сжатия), подлежащие декодированию, и данные изображения (опорные данные) вблизи данных изображения, подлежащих декодированию, в изображении, сформированном на основании информации изображения, хранящейся в ОЗУ 104. Ядро 235 декодирования (A) декодирует данные конечного изображения на основании опорных данных и выводит данные декодированного изображения. Буфер 236 выходных данных (A) - это буфер малой емкости, в котором временно хранятся данные разуплотненного изображения блока декодирования А и который сглаживает интенсивность выходного потока данных. DMAC (A) 237 выходных данных осуществляет управление переносом DMA, связанное с выходным переносом данных разуплотненного изображения блока декодирования А.
DMAC (B) 242 кода сжатия осуществляет управление переносом DMA, связанное с входным переносом кода сжатия блока декодирования В. Буфер 243 опорных данных (B) - это буфер малой емкости, в котором временно хранятся опорные данные блока декодирования В и который сглаживает интенсивность входного потока данных. Буфер 244 кода сжатия (B) - это буфер малой емкости, в котором временно хранится код сжатия блока декодирования В и который сглаживает интенсивность входного потока данных. Ядро 245 декодирования (B), выступающее в роли второго блока декодирования, обеспечивает функцию декодирования в блоке декодирования В. Ядро 245 декодирования (B) осуществляет процесс декодирования на основании кода сжатия и опорных данных для вывода разуплотненного изображения. Иными словами, ядро 245 декодирования (B) принимает, в качестве опорных данных, данные изображения, декодированные ядром 235 декодирования (A), и принимает, от ОЗУ 104, данные изображения (код сжатия), подлежащие декодированию, на основании опорных данных из информации изображения, хранящейся в ОЗУ 104. Ядро 245 декодирования (B) декодирует данные изображения, принятые от ОЗУ 104, на основании опорных данных и выводит данные декодированного изображения. Буфер 246 выходных данных (B) - это буфер малой емкости, в котором временно хранятся данные разуплотненного изображения блока декодирования В и который сглаживает интенсивность выходного потока данных. DMAC (B) 247 выходных данных осуществляет управление переносом DMA, связанное с выходным переносом данных разуплотненного изображения блока декодирования В.
Перейдем к подробному рассмотрению операций, выполняемых за счет соединения блока 203 декодирования А и блока 204 декодирования В, что является признаком настоящего изобретения.
Как описано выше, блок 203 декодирования А и блок 204 декодирования В параллельно выполняют процессы декодирования для двух последовательных растров #(N+1) и #(N+2). Ядро 235 декодирования (A) принимает код сжатия, опорный растр #N, соответствующий растру #(N+1), из ОЗУ 104, выступающего в роли внешней памяти. Ядро 235 декодирования (A) выводит разуплотненный растр #(N+1) в ОЗУ 104, а также передает его в качестве опорного растра #(N+1) ядру 245 декодирования (B). Ядро 235 декодирования (A) и ядро 245 декодирования (B) соединены последовательно, и буфер малой емкости (буфер 243 опорных данных (B)) размещен между ними для временного хранения опорного растра #(N+1). Помимо опорного растра #(N+1) ядро 245 декодирования (B) принимает код сжатия, соответствующий растру #(N+2), из ОЗУ 104, выступающего в роли внешней памяти, и выводит разуплотненный растр #(N+2) в ОЗУ 104.
Ядро 235 декодирования (A) отслеживает оставшуюся емкость буферов (объем информации, хранящийся в буферах) для буфера 233 опорных данных (A), буфера 234 кода сжатия (A) и буфера 236 выходных данных (A). Ядро 235 декодирования (A) действует только тогда, когда необходимый объем опорных данных подготовлен в буфере 233 опорных данных (A), и необходимый объем кодов сжатия подготовлен в буфере 234 кода сжатия (A). Условием работы ядра 235 декодирования (A) является резервирование свободной области, необходимой для хранения выходных данных в буфере 236 выходных данных (A).
Аналогично, ядро 245 декодирования (B) отслеживает оставшуюся емкость буферов для буфера 243 опорных данных (B), буфера 244 кода сжатия (B) и буфера 246 выходных данных (B). Ядро 245 декодирования (B) действует только тогда, когда необходимый объем опорных данных подготовлен в буфере 243 опорных данных (B), и необходимый объем кодов сжатия подготовлен в буфере 244 кода сжатия (B). Условием работы ядра 245 декодирования (B) является резервирование свободной области, необходимой для хранения выходных данных в буфере 246 выходных данных (B).
Различные буферы способны удовлетворительно сглаживать интенсивность потока данных за единицу времени во входном переносе или выходном переносе. В частности, каждый буфер берет двойную буферную структуру, имеющую емкость в две единицы переноса данных между буфером и ОЗУ 104. Например, буфер, который предусматривает 4-битовый перенос по 64-разрядной шине данных, имеет емкость 64 бита×8=512 битов.
При сохранении верхнего опорного растра в буфере на кристалле в процессе декодирования емкость памяти 3,3 Мбит необходима для работы с 16 битами для каждого из R, G и B, разрешением 1,200 dpi и максимальной шириной печати 60 дюймов. Однако поскольку ОЗУ 104, выступающее в роли внешней памяти, совместно используется как память опорного растра и применяется блок декодирования, имеющий вышеописанную конфигурацию, доступ к ОЗУ 104, выступающему в роли памяти опорного растра, может быть снижен без размещения памяти опорного растра большой емкости на кристалле. В частности, доступ к ОЗУ 104 при осуществлении процесса декодирования для двух последовательных растров может быть снижен (наполовину) до доступа к одному растру. Одновременно с этим высокоскоростной обработки данных можно добиться, управляя декодированием для периодического выполнения процессов декодирования параллельно ядром 235 декодирования (A) и ядром 245 декодирования (B).
Как описано выше, два ядра декодирования соединены последовательно, и разуплотненное изображение, выводимое с одного ядра декодирования, непосредственно поступает в качестве опорного изображения на другое ядро декодирования. Эта конфигурация может обеспечивать высокую производительность и снижение стоимости за счет эффективного подавления ввода/вывода данных (запрашиваемой полосы) в/из внешней памяти без организации памяти опорных данных на кристалле для каждого растра.
Второй вариант осуществления
В первом варианте осуществления два ядра декодирования соединены через буфер и действуют параллельно согласно оставшейся емкости соединяющего буфера. Запросы входного и выходного переноса на два ядра декодирования арбитрируются посредством циклической диспетчеризации.
Скорость обработки в процессе декодирования в значительной степени зависит от строки кода сжатия. В общем случае, код сжатия можно разделить на части команд и данных. Интерпретация командной части может образовывать узкое место в процессе декодирования, поэтому если интерпретация командных частей происходит часто, скорость процесса снижается.
Свойство строки кода сжатия, на микроскопическом уровне, зависит от характеристики всего изображения, подлежащего обработке, но, на микроскопическом уровне, имеет тенденцию к изменению. Изменения иногда проявляются в виде относительной разности скоростей между двумя ядрами декодирования в коротком цикле. Поскольку два ядра декодирования соединены через буфер, их процессы декодирования осуществляются параллельно согласно ограничениям. Таким образом, снижение локальной скорости в одном ядре декодирования также влияет на работу другого ядра декодирования.
Второй вариант осуществления предусматривает способ осуществления арбитражного управления для входного переноса и выходного переноса в/из двух ядер декодирования согласно оставшейся емкости буфера, который соединяет блок декодирования А и блок декодирования В.
Основная конфигурация системы формирования изображения согласно второму варианту осуществления такая же, как в первом варианте осуществления (фиг.4). Основная конфигурация контроллера формирования изображения также аналогична первому варианту осуществления (фиг.1).
Соединение и параллельная работа двух ядер декодирования, которые образуют блок 111 декодирования, что является признаком настоящего изобретения, будут подробно объяснены ниже. На фиг.3 показана блок-схема конфигурации блока 111 декодирования. Главным образом, будет объяснено различие между первым и вторым вариантами осуществления.
Как описано выше, второй вариант осуществления выполняет входной перенос и выходной перенос на основании приоритетного управления в соответствии с оставшейся емкостью буфера, который соединяет два ядра декодирования. Внутренние конфигурации и основные операции блока 203 декодирования А и блока 204 декодирования В такие же, как в первом варианте осуществления.
Блок 301 управления входом шинного интерфейса имеет блок 311 адаптивного арбитража оставшейся емкости буфера. Блок 301 управления входом шинного интерфейса принимает запрос входного переноса от блока 203 декодирования А и запрос входного переноса от блока 204 декодирования В. Блок 301 управления входом шинного интерфейса избирательно реагирует через блок 311 адаптивного арбитража оставшейся емкости буфера согласно оставшейся емкости буфера 243 опорных данных (B). Затем блок 301 управления входом шинного интерфейса выполняет процесс переноса. Аналогично, блок 302 управления выходом шинного интерфейса содержит блок 321 адаптивного арбитража оставшейся емкости буфера. Блок 302 управления выходом шинного интерфейса принимает запрос выходного переноса от блока 203 декодирования А и запрос выходного переноса от блока 204 декодирования В. Блок 302 управления выходом шинного интерфейса избирательно реагирует через блок 321 адаптивного арбитража оставшейся емкости буфера согласно оставшейся емкости буфера 243 опорных данных (B). Затем блок 302 управления выходом шинного интерфейса выполняет процесс переноса.
В частности, арбитражное управление производится для ответа, предпочтительно, блоку декодирования В, когда оставшаяся емкость буфера больше или равна первому порогу для одновременно подаваемых запросов переноса, и блоку декодирования А, когда оставшаяся емкость буфера меньше или равна второму порогу. Когда оставшаяся емкость буфера меньше первого порога и больше второго порога, выполняется циклическая диспетчеризация. Когда запросы подаются не одновременно, блок 301 управления входом шинного интерфейса и блок 302 управления выходом шинного интерфейса быстро реагируют и выполняют процесс переноса.
Если 235 скорости процессов пиксельного разуплотнения в ядре 235 декодирования (A) и ядре 245 декодирования (B) отличаются друг от друга, оставшаяся емкость буфера 243 опорных данных (B), который соединяет их, изменяется. Таким образом, в случае относительной задержки процесса в ядре 235 декодирования (A) оставшаяся емкость буфера уменьшается, в конечном итоге, до пустого состояния, и процесс декодирования ядра 245 декодирования (B) стагнирует. Напротив, в случае относительной задержки процесса в ядре 245 декодирования (B), оставшаяся емкость буфера увеличивается, в конечном итоге, до полного состояния, и процесс декодирования ядра 235 декодирования (A) стагнирует.
Когда процесс декодирования блока 204 декодирования В испытывает относительную задержку и оставшаяся емкость буфера возрастает, становясь большей или равной первому порогу, входной перенос и выходной перенос, предпочтительно, выполняются в блоке 204 декодирования В. Когда процесс декодирования блока 203 декодирования А испытывает относительную задержку и оставшаяся емкость буфера снижается, становясь меньшей или равной второму порогу, входной перенос и выходной перенос, предпочтительно, выполняются в блоке 204 декодирования В.
Эта конфигурация позволяет выявлять ядро декодирования, страдающее относительной задержкой процесса, и эффективно осуществлять высокоскоростную обработку данных за счет параллельных процессов декодирования. По аналогии с первым вариантом осуществления доступ к ОЗУ 104 при осуществлении процесса декодирования для двух последовательных растров может быть снижен (наполовину) до доступа к одному растру.
Как подробно описано выше, два ядра декодирования соединены последовательно, и разуплотненное изображение, выводимое с одного ядра декодирования, непосредственно поступает в качестве опорного изображения на другое ядро декодирования. Кроме того, входной/выходной перенос данных управляется согласно оставшейся емкости соединяющего буфера. Эта конфигурация может обеспечивать высокую производительность и снижение стоимости за счет эффективного подавления ввода/вывода данных (запрашиваемой полосы) в/из внешней памяти без организации памяти опорных данных на кристалле для каждого растра.
Другие варианты осуществления
В качестве процесса декодирования вышеописанные варианты осуществления иллюстрируют процесс декодирования для кодирования Delta Row, которое опирается на один непосредственно предшествующий (верхний) растр. Настоящее изобретение не ограничивается кодированием Delta Row и также применимо к кодированию, которое опирается на совокупность более высоких растров, и кодированию, которое также опирается на обрабатываемый растр.
В вышеприведенном примере обрабатываются пиксели сканированного изображения в горизонтальном направлении (направлении растра). Однако настоящее изобретение также применимо к случаю, когда пиксели последовательно обрабатываются в вертикальном направлении (направлении столбца). В этом случае ссылка осуществляется не только на обрабатываемый столбец, но и на один непосредственно предшествующий столбец или совокупность предыдущих столбцов.
Согласно вышеописанным вариантам осуществления устройство декодирования изображения применяется к системе формирования изображения, в которой применяется метод струйной печати, согласно которому изображение представляется только двумя тоновыми уровнями. Однако настоящее изобретение не зависит от способа формирования изображения. Настоящее изобретение также применимо к методу струйной печати, способному представлять несколько тоновых уровней, или к другому методу, например электрофотографическому методу.
Согласно вышеописанным вариантам осуществления контроллер формирования изображения объединен с движком формирования изображения с образованием системы формирования изображения. Однако настоящее изобретение также применимо к устройству обработки изображения, в котором контроллер формирования изображения размещен отдельно от движка формирования изображения. Кроме того, настоящее изобретение применимо к устройству обработки изображения, в котором устройство декодирования изображения в контроллере формирования изображения размещено отдельно. Настоящее изобретение также применимо к копировальному устройству, объединенному с устройством считывания, или к факсимильному устройству, имеющему функцию связи.
Пример способа декодирования изображения для устройства формирования изображения согласно настоящему изобретению будет описан со ссылкой на логическую блок-схему, показанную на фиг.6.
На этапе S110 устройство формирования изображения принимает кодированную информацию изображения из внешнего устройства, например ПК. На этапе S120 информация изображения сохраняется в памяти, например ОЗУ 104. На этапе S130 данные изображения, подлежащие декодированию, в информации изображения и данные изображения (опорные данные) вблизи данных изображения, подлежащих декодированию, в изображении, сформированном на основании информации изображения, считываются из памяти. Первый блок декодирования декодирует данные конечного изображения на основании опорных данных. На этапе S140 данные изображения, декодированные первым блоком декодирования, поступают из первого блока декодирования, и данные изображения, подлежащие декодированию, путем обращения к данным изображения, декодированным первым блоком декодирования, считываются из памяти. Второй блок декодирования декодирует данные изображения, считанные из памяти, на основании данных изображения, декодированных первым блоком декодирования. Этапы S130 и S140 повторяются параллельно, пока не будут декодированы все данные изображения из кодированной информации изображения. После этого процесс заканчивается (этап S150).
Программа для выполнения соответствующих этапов способа декодирования изображения и носитель информации, на котором хранится программа, также отвечают объему настоящего изобретения.
Устройство декодирования изображения согласно настоящему изобретению содержит два ядра декодирования для выполнения процесса декодирования. Два ядра декодирования соединены последовательно для одновременного выполнения процессов декодирования параллельно, для непосредственной подачи разуплотненного изображения, выводимого с одного ядра декодирования, в качестве опорного изображения, для ввода в другое ядро декодирования. Устройство декодирования изображения согласно настоящему изобретению может эффективно подавлять доступ к внешней памяти и обрабатывать данные с высокой скоростью без размещения памяти опорного растра на кристалле. В результате, устройство декодирования изображения может обеспечивать высокую производительность и снижение стоимости.
Заметим, что настоящее изобретение можно применять к устройству, содержащему единичный блок, или к системе, образованной совокупностью блоков.
Кроме того, изобретение можно реализовать посредством обеспечения программы, которая реализует функции вышеописанных вариантов осуществления, прямо или косвенно, в системе или устройстве считывания обеспеченного программного кода с помощью компьютера системы или устройства, с последующим выполнением программного кода. В этом случае, пока система или устройство имеет функции программы, режим реализации не обязан опираться на программу.
Соответственно, поскольку функции настоящего изобретения реализованы посредством компьютера, программный код, установленный на компьютере, также реализует настоящее изобретение. Иными словами, формула настоящего изобретения также охватывает компьютерную программу с целью реализации функций настоящего изобретения.
В этом случае, пока система или устройство имеет функции программы, программа может выполняться в любой форме, например, объектного кода, программы, выполняемой интерпретатором, или данных скрипта, передаваемых в операционную систему.
Примеры носителей информации, которые можно использовать для обеспечения программы, включают в себя флоппи-диск, жесткий диск, оптический диск, магнитооптический диск, CD-ROM, CD-R, CD-RW, магнитную ленту, карту памяти энергонезависимого типа, ПЗУ и DVD (DVD-ROM и DVD-R).
В качестве способа обеспечения программы компьютер-клиент можно подключать к веб-сайту в Интернете с использованием браузера компьютера-клиента и компьютерную программу, отвечающую настоящему изобретению, или автоматически устанавливаемый сжатый файл программы можно загружать на носитель записи, например жесткий диск. Кроме того, программу, отвечающую настоящему изобретению, можно обеспечивать путем деления программного кода, составляющего программу, на совокупность файлов и загрузки файлов с разных веб-сайтов. Иными словами, WWW (World Wide Web) сервер, который загружает множественным пользователям файлы программы, которые реализуют функции настоящего изобретения посредством компьютера, также отвечает формуле настоящего изобретения.
Можно также шифровать и сохранять программу, отвечающую настоящему изобретению, на носителе информации, например CD-ROM, распространять носитель информации между пользователями, позволять пользователям, которые отвечают определенным требованиям, загружать информацию ключей дешифрования с веб-сайта через Интернет, позволять этим пользователям дешифровать зашифрованную программу с использованием информации ключа и, таким образом, устанавливать программу на компьютере пользователя.
Кроме случаев, когда вышеупомянутые функции согласно вариантам осуществления реализуются путем выполнения программы считывания компьютером, операционная система и т.п., реализуемая на компьютере, может осуществлять полностью или частично фактическую обработку, благодаря чему функции вышеописанных вариантов осуществления можно реализовать посредством этой обработки.
Кроме того, после того как программа, считанная с носителя информации, записана в функциональную плату расширения, вставленную в компьютер, или в память, обеспеченную в функциональном блоке расширения, подключенном к компьютеру, ЦП и т.п., установленный на функциональной плате расширения или функциональном блоке расширения, осуществляет полностью или частично фактическую обработку, благодаря чему функции вышеописанных вариантов осуществления можно реализовать посредством этой обработки.
Хотя настоящее изобретение было описано со ссылкой на иллюстративные варианты осуществления, следует понимать, что изобретение не ограничивается раскрытыми иллюстративными вариантами осуществления. Объем нижеследующей формулы изобретения соответствует широчайшей интерпретации, поэтому охватывает все подобные модификации и эквивалентные структуры и функции.