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

Иллюстрации

Показать все

Изобретение относится к способам и системам с использованием большого количества выборок данных изображения. Его применение позволяет получить технический результат в виде формирования изображений с более высоким разрешением на устройстве отображения, таком как жидкокристаллический дисплей. Этот результат достигается благодаря тому, что способы включают в себя операции масштабирования, хинтования и сканирующего преобразования. В операции масштабирования данные изображения масштабируют с коэффициентами, равными единице, в направлениях, перпендикулярном и параллельном RGB полосам устройства отображения. Хинтование включает в себя размещение масштабированных данных изображения на сетке, имеющей точки, определенные положениями пикселов устройства отображения, и округление ключевых точек до границы ближайшего целого пиксела в направлении, параллельном полосам, и до ближайшего дробного приращения в направлении, перпендикулярном полосам. Сканирующее преобразование включает в себя масштабирование хинтованных данных изображения с коэффициентом перемасштабирования в направлении, перпендикулярном полосам. Коэффициент перемасштабирования эквивалентен знаменателю дробных приращений сетки. 4 н. и 29 з.п. ф-лы, 11 ил.

Реферат

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

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

Описание известного уровня техники

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

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

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

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

Обычные процессы визуализации, применяемые в ЖКД, проиллюстрированы на фиг.1, где показаны видеоданные 10, преобразуемые в целые пикселы 11 области 12 устройства ЖКД. Видеоданные 10 и часть 12 плоского дисплея (например, ЖКД) показаны как состоящие из соответствующих рядов R(N)-R(N+2) и столбцов C(N)-C(N+2). Часть 12 плоского дисплея содержит пикселы 11, каждый из которых имеет отдельно управляемые красный, зеленый и синий подкомпоненты.

Как часть операции преобразования одна выборка 14, которая характеризует область 15 видеоданных 10, образованную пересечением ряда R(N) и столбца C(N+1), преобразуется в целый пиксел 11А, состоящий из трех частей, который расположен на пересечении ряда R(N) и C(N+1). Значения интенсивности свечения, используемые для освещения красного, зеленого и синего (R, G и В) подкомпонентов пиксела 11А, формируются на основании одной выборки 14. В результате весь пиксел 11А представляет одну область видеоданных, а именно область 15. Хотя R, G и В подкомпоненты пиксела могут управляться отдельно, в обычном процессе визуализации изображения, показанном на фиг.1, эта возможность не используется, а вместо этого все эти подкомпоненты вместе служат для отображения одного цвета, представляющего одну область изображения.

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

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

Краткое изложение сущности изобретения

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

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

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

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

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

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

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

Операция хинтования заключается в наложении масштабированных видеоданных на сетку, имеющую точки, определенные положениями пикселов дисплея, и выравнивании положения ключевых точек на видеоданных (т.е. точек на контуре знака) относительно данной сетки. Ключевые точки округляются до точек сетки, которые имеют дробные положения на сетке. Точки сетки являются дробными в том смысле, что они могут попадать на сетку в местах, не являющихся границами целого пиксела. Знаменатель дробного положения равен коэффициенту перемасштабирования, который используется в описанной выше операции сканирующего преобразования. Иными словами, количество положений сетки в конкретной области сетки, размер которой равен пикселу, по которой можно выравнивать ключевые точки, равно коэффициенту перемасштабирования. Если частота избыточной выборки и коэффициент перемасштабирования процесса сканирующего преобразования равны 16, то видеоданные будут выравниваться в операции хинтования по точкам сетки, имеющим дробные положения 1/16 пиксела. Хинтованные видеоданные можно затем обрабатывать в описанной выше операции сканирующего преобразования.

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

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

Краткое описание чертежей

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

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

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

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

фиг.4А иллюстрирует примерное соотношение пиксел/подкомпонент для плоского дисплея,

фиг.4В изображает более детально часть примерного соотношения пиксел/подкомпонент/, проиллюстрированного на фиг.4А,

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

фиг.6 изображает пример операции масштабирования данных изображения,

фиг.7А изображает пример привязки масштабированных данных изображения к сетке,

фиг.7В изображает пример хинтованных видеоданных, полученных в операции хинтования,

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

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

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

фиг.10В иллюстрирует более подробно растеризатор, изображенный на фиг.10А, и

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

Описание предпочтительных вариантов осуществления изобретения

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

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

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

I. Примерные вычислительные и аппаратные средства

В вариантах воплощения настоящего изобретения может использоваться специализированный или универсальный компьютер, содержащий различные аппаратные компоненты, которые будут более подробно обсуждаться ниже. Варианты, подпадающие под объем изобретения, могут также включать в себя машиночитаемые носители с исполняемыми компьютером командами или структурами данных, хранящимися на них. Таким машиночитаемым (считываемым компьютером) носителем может быть любой имеющийся носитель, к которому возможен доступ со специализированного или универсального компьютера. Например, не ограничиваясь перечисленным, таким считываемым компьютером носителем может быть ОЗУ, ПЗУ, ЭППЗУ, CD-ROM или другие запоминающие устройства в виде оптических дисков, магнитных дисков или других магнитных запоминающих устройств, или любые другие носители, которые можно использовать для переноса или сохранения необходимых программно-кодовых средств в форме исполняемых машиной команд или структур данных, к которым возможен доступ с универсального или специализированного компьютера. Когда информация передается или предоставляется по сети или другому коммуникационному соединению (проводному, беспроводному или комбинации проводного и беспроводного соединения) в компьютер, компьютер соответственно рассматривает данное соединение в качестве считываемого компьютером носителя. Следовательно, такое соединение соответственно называется считываемым компьютером носителем. Под объем считываемого компьютером носителя могут подпадать комбинации перечисленных выше средств. Исполняемые машиной команды включают в себя, например, команды и данные, которые вынуждают универсальный компьютер, специализированный компьютер или специализированный процессор выполнять определенную функцию или группу функций.

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

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

Показанная на фиг.2 примерная система для реализации изобретения содержит универсальное вычислительное устройство в виде обычного компьютера 20, имеющего процессор 21, системную память 22 и системную шину 23, которая соединяет разные компоненты системы, включая системную память 22, с процессором 21. Системная шина 23 может иметь структуру любого типа, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую архитектуру из широкого спектра архитектур шин. Системная память включает в себя постоянное запоминающее устройство (ПЗУ) 24 и оперативное запоминающее устройство (ОЗУ) 25. Базовая система ввода/вывода (BIOS) 26, содержащая основные подпрограммы, которые помогают передаче информации между элементами компьютера 20, например, при запуске, может храниться в ПЗУ 24.

Компьютер 20 может также содержать дисковод 27 магнитного жесткого диска для считывания и записи на магнитный жесткий диск 39, дисковод 28 магнитного диска для считывания или записи на съемный магнитный диск 29, и дисковод 30 оптического диска для считывания или записи на съемный оптический диск 31, такой как CD-ROM или другой оптический носитель. Дисковод 27 магнитного жесткого диска, дисковод 28 магнитного диска и дисковод 30 оптического диска подсоединены к системной шине 23 через интерфейс 32 дисковода жесткого диска, интерфейс 33 дисковода магнитного диска и интерфейс 34 дисковода оптического диска соответственно. Дисководы и связанные с ними машиночитаемые носители обеспечивают энергонезависимое хранение исполняемых машиной команд, структур данных, программных модулей и других данных для компьютера 20. Хотя в описанной примерной среде используется магнитный жесткий диск 39, съемный магнитный диск 29 и съемный оптический диск 31, можно использовать и другие типы машиночитаемых носителей для хранения данных, включая магнитные кассеты, карты флэш-памяти, цифровые видеодиски, картриджи Бернулли, ОЗУ, ПЗУ и т.п.

На жестком диске 39, магнитном диске 29, оптическом диске 31, ПЗУ 24 или ОЗУ 25 могут храниться программно-кодовые средства, содержащие один или несколько программных модулей, включая операционную систему 35, одну или более прикладных программ 36, другие программные модули 37 и программные данные 38. Пользователь может вводить команды и информацию в компьютер 20 через клавиатуру 40, указательное средство 42 или другие устройства ввода (не показаны), такие как микрофон, джойстик, игровая приставка, спутниковая антенна, сканер и т.д. Эти и другие устройства ввода часто подсоединяют к процессору 21 через интерфейс 46 последовательного порта, подсоединенный к системной шине 23. Альтернативно устройства ввода могут быть подсоединены к другим интерфейсам, таким как параллельный порт, игровой порт или универсальная последовательная шина (УПШ). Монитор 47, который может быть плоскопанельным устройством отображения или устройством отображения другого типа, также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. Кроме монитора, персональные компьютеры обычно имеют и другие периферийные устройства вывода (не показаны), такие как динамики и принтеры.

Компьютер 20 может работать в сетевой среде, используя логические соединения с одним или несколькими удаленными компьютерами, такими как удаленные компьютеры 49а и 49b. Каждый удаленный компьютер может быть другим персональным компьютером, сервером, маршрутизатором, сетевым ПК, одноранговым узлом или другим узлом общей сети, и типично содержит многие или все элементы из перечисленных выше для компьютера 20, хотя на фиг.2 проиллюстрированы только запоминающие устройства 50а и 50b и связанные с ними прикладные программы 36а и 36b. Логические соединения, показанные на фиг. 2, включают в себя локальную сеть (LAN) 51 и глобальную сеть (WAN) 52, которые представлены здесь в качестве примера и не должны рассматриваться как ограничения. Такие сетевые среды являются обычными для учрежденческих вычислительных сетей, корпоративных сетей и Интернет.

При использовании в сетевой среде LAN компьютер 20 подсоединен к локальной сети 51 через сетевой интерфейс или адаптер 53. При использовании сетевой среды WAN компьютер 20 может содержать модем 54, беспроводную линию связи или другое средство для установления связи через глобальную сеть 52, такую как Интернет. Модем 54, который может быть встроенным или внешним, подсоединен к системной шине 23 через интерфейс 46 последовательного порта. В сетевой среде программные модули, показанные в составе компьютера 20, или их части могут храниться в удаленном запоминающем устройстве. Понятно, что показанные сетевые соединения являются только примерными и можно использовать другие средства установления связи через глобальную сеть 52.

Как пояснялось выше, настоящее изобретение можно реализовать в вычислительных средах, которые имеют множество видов конфигурации вычислительных систем, такие как персональные компьютеры, портативные устройства, многопроцессорные системы, потребительские электронные аппараты на базе микропроцессора или с возможностью программирования, сетевые ПК, миникомпьютеры, универсальные вычислительные машины и т.п. На фиг.3 представлена одна такая примерная конфигурация вычислительной системы в виде портативного компьютера 60, который содержит дисковод 28 магнитного диска, дисковод 30 оптического диска и соответствующий съемный оптический диск 31, клавиатуру 40, монитор 47, указательное устройство 62 и корпус 64.

В портативных персональных компьютерах, таких как портативный компьютер 60, обычно используются плоскопанельные устройства отображения (плоские дисплеи) для отображения видеоданных (данных отображения), как показано на фиг.3, монитором 47. Одним из примеров плоского дисплея является жидкокристаллический дисплей (ЖКД). Плоские дисплеи обычно имеют меньший размер и вес по сравнению с другими дисплеями, например с дисплеями на электронно-лучевой трубке (ЭЛТ). Кроме того, плоские дисплеи обычно потребляют меньше энергии, чем сопоставимые по размеру дисплеи на ЭЛТ, что делает их более пригодными для применений с питанием от батарей. Поэтому популярность плоских дисплеев непрерывно растет. Поскольку их качество продолжает улучшаться, а цена падает, плоские дисплеи также начинают вытеснять дисплеи на ЭЛТ и в стационарных применениях.

Настоящее изобретение можно осуществить практически с любым ЖКД или другим плоским дисплеем, который имеет отдельно управляемые подкомпоненты пикселов. Для целей иллюстрации изобретение описано в основном в контексте ЖКД, имеющих красные, зеленые и синие подкомпоненты пикселов, расположенные в вертикальных полосах подкомпонентов пикселов одинакового цвета, так как этот тип дисплея в настоящее время наиболее часто используется в портативных компьютерах. Однако изобретение не ограничено использованием в дисплеях, имеющих вертикальные полосы или пикселы точно с тремя подкомпонентами пикселов. В общем изобретение можно реализовать с ЖКД или другим плоским дисплеем, имеющим любой тип расположения пикселов/подкомпонентов или любое количество подкомпонентов в одном пикселе.

На фиг.4А и 4В проиллюстрированы физические характеристики примерного плоского дисплея. На фиг.4А показан цветной ЖКД 70, который содержит множество рядов и множество столбцов. Ряды маркированы R1-R12, а столбцы - С1-С16. В цветных ЖКД используется множество отдельно адресуемых элементов и подэлементов, соответственно называемых пикселами и подкомпонентами пикселов. На фиг.4В, которая более детально иллюстрирует левую верхнюю часть ЖКД 70, продемонстрировано соотношение между пикселами и подкомпонентами пикселов.

Каждый пиксел включает в себя три подкомпонента пиксела, проиллюстрированных соответственно как красный (R) подкомпонент 72, зеленый (G) подкомпонент 74 и синий (В) подкомпонент 76. Подкомпоненты пикселов не квадратные и расположены на ЖКД 70 таким образом, что они образуют вертикальные полосы подкомпонентов одинакового цвета. RGB полосы нормально проходят по всей длине дисплея в одном направлении. Полученные RGB полосы иногда называют "полосами RGB". Обычно у плоских дисплеев, используемых в вычислительной технике, ширина больше, чем высота, и полосы RGB проходят в вертикальном направлении, как показано на ЖКД 70. Они называются "вертикальными полосами". В примерных устройствах, ширина которых больше высоты, используются такие отношения столбцов к рядам, как 640×480, 800×600 или 1024×768.

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

Набор RGB подкомпонентов пикселов образует пиксел. Следовательно, например, набор подкомпонентов 72, 74 и 76 пиксела на фиг.4В образует один пиксел. Иными словами, пересечение ряда и столбца, такое как пересечение ряда R2 и столбца С1, представляет один пиксел, а именно (R2, С1). Кроме того, ширина каждого подкомпонента 72, 74 и 76 пиксела составляет одну треть или приблизительно одну треть ширины пиксела, а его высота равна или приблизительно равна высоте пиксела. Следовательно, три подкомпонента 72, 74 и 74 пиксела вместе образуют один практически квадратный пиксел. Это соотношение пиксела/подкомпонента можно использовать для визуализации текстовых изображений на дисплее, как будет поясняться ниже.

II. Операции обработки видеоданных и визуализации изображений

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

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

Видеоданные 80 подвергаются обработке рядом модулей, показанных на фиг.5. Для пояснения, как каждый модуль воздействует на видеоданные, будет описан следующий пример, соответствующий фиг.6-9, со ссылкой на видеоданные, представленные как заглавная буква "К", проиллюстрированная видеоданными 100 на фиг. 6.

Как будет более подробно поясняться ниже, видеоданные подвергают по меньшей мере частичному масштабированию в модуле 92 перемасштабирования после хинтования согласно изобретению, в отличие от полного масштабирования модулем 86 перед операцией хинтования. Масштабирование видеоданных выполняется таким образом, чтобы модуль 94 избыточной выборки мог получить требуемое количество выборок, которое позволит преобразовать разные части изображения в отдельные подкомпоненты пикселов. Полное масштабирование видеоданных в модуле 86 масштабирования перед хинтованием адекватно подготовит видеоданных для избыточной выборки. Однако было обнаружено, что выполнение полного масштабирования на обычных шрифтах перед хинтованием вместе с процессами визуализации с точностью до подпиксела согласно изобретению может вносить большие искажения в контуры шрифта во время операции. хинтования. Например, искажения шрифта во время хинтования могут возникать в знаках, которые имеют наклонные сегменты, не являющиеся ни вертикальными, ни горизонтальными, например штрихи в букве "К", отходящие от вертикальной ножки. Применение полного масштабирования к таким знакам перед хинтованием приведет к тому, что наклонные сегменты будут иметь почти горизонтальную ориентацию. При попытке сохранить ширину таких штрихов во время хинтования можно радикально изменить координаты точек на штрихах, что приведет к искажению знака. Обычно искажениям подвержены те шрифты, которые не рассчитаны на совместимость с масштабированием с разными коэффициентами в горизонтальном и вертикальном направлениях перед операцией хинтования.

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

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

Как показано на фиг.5, над видеоданными выполняется операция масштабирования, показанная модулем 86 масштабирования. Фиг.6 иллюстрирует один пример операции масштабирования согласно изобретению, показанный как операция 102 масштабирования, в которой видеоданные 100 масштабируются с коэффициентом, равным единице, в направлениях, перпендикулярных и параллельных полосам, для получения масштабированных видеоданных 104. В этом варианте, когда коэффициент масштабирования равен единице и масштабирование выполняется в обоих направлениях, операция масштабирования является тривиальной. Другие примеры операции масштабирования, которые соответствуют настоящему изобретению, не являются тривиальными. Такие примеры включают масштабирование видеоданных в направлениях, перпендикулярных и параллельных полосам, с коэффициентом, не равным единице, или альтернативно масштабирование видеоданных выполняют с одним коэффициентом в направлении, перпендикулярном полосам, и с другим коэффициентом в направлении, параллельном полосам. Целью операции масштабирования и последующих операций хин