Область техники, к которой относится изобретение
Настоящее изобретение относится к системам и способам отображения изображений на устройстве отображения. Более конкретно, настоящая информация относится к системам и способам отображения символов текста на устройстве отображения, имеющем отдельно управляемые подкомпоненты элементов изображения (пикселей), с выбираемыми краями символов, помещаемыми на границах высокого контраста подкомпонентов элементов изображения.
Предшествующий уровень техники
Ключевым аспектом многих технологий, особенно компьютерных, является требование визуального взаимодействия с конечным пользователем. Фактически, данные и информация, отображаемая с помощью многих прикладных программ, специально предназначены для того, чтобы иметь визуально приятный и эстетический внешний вид. Текстовые редакторы, например, обычно стремятся имитировать реальный лист бумаги, заставляя экран отображать графическое изображение листа бумаги. Когда текстовой редактор создает документ, текст и изображения размещаются на графическом листе бумаги по мере их появления при физической визуализации. Поэтому визуальное взаимодействие конечного пользователя с устройством отображения является неотъемлемой частью многих технологий.
Важным аспектом визуального взаимодействия с конечным пользователем является возможность отображать цвет. Типичное устройство отображения имеет экран, имеющий большое количество элементов изображения, и каждый элемент изображения обычно содержит красный, зеленый и синий подэлементы изображения. Поскольку элементы изображения являются относительно маленькими, различаемый человеческим глазом цвет представляет собой смесь красного, зеленого и синего света каждого элемента изображения. Посредством изменения интенсивности красного, зеленого и синего света устройство отображения потенциально способно отображать миллионы различных цветов.
Обычным устройством отображения, используемым для отображения цвета, является устройство отображения на электронно-лучевой трубке (ЭЛТ). Элементы изображения устройства отображения на ЭЛТ расположены в конкретной конфигурации, где каждый элемент изображения состоит из трех люминофоров, которые испускают свет при возбуждении лучом электронов. Для устройств отображения на ЭЛТ величины интенсивности света, задаваемые для люминофоров, рассчитываются вместе, и три люминофора в элементе изображения управляются вместе, чтобы произвести в элементе изображения цвет, воспринимаемый пользователем, как имеющий выбранный цветовой тон, интенсивность и насыщенность.
Другое устройство отображения, которое обычно используется для портативных компьютеров, представляет собой жидкокристаллический дисплей (ЖКД). Устройства отображения на ЖКД являются предпочтительными по сравнению с устройствами отображения на ЭЛТ во многих случаях, прежде всего потому, что устройства отображения на ЖКД обычно имеют меньший размер, меньший вес и потребляют меньшее количество электроэнергии, чем имеющие сравнительно такие же размеры устройства отображения на ЭЛТ. В компьютерах, в которых электропитание осуществляется от аккумуляторных батарей, это является существенным преимуществом. Технология устройств отображения на ЖКД позволяет им конкурировать с устройствами отображения на ЭЛТ в отношении четкости и разрешающей способности.
Однако между устройствами отображения на ЖКД и ЭЛТ существует несколько различий. Элементы изображения устройств отображения на ЖКД, в отличие от элементов изображения устройств отображения на ЭЛТ, состоят из множества подкомпонентов элементов изображения (обычно трех), которые отдельно адресуются и по существу отдельно управляются. Кроме того, элементы изображения в устройстве отображения на ЖКД обычно располагают так, что они образуют горизонтальные или вертикальные полосы из подкомпонентов элементов изображения одного и того же цвета, тогда как конфигурация люминофоров в элементе изображения устройства отображения на ЭЛТ часто бывает треугольной. В большинстве устройств отображения на ЖКД, используемых с портативными компьютерами, подкомпоненты элементов изображения расположены вертикально, что приводит к красным, зеленым и синим вертикальным полосам подкомпонентов элементов изображения одного и того же цвета. Другие устройства отображения на ЖКД имеют подкомпоненты элементов изображения, расположенные так, что образуют красные, зеленые и синие горизонтальные полосы из подкомпонентов элементов изображения одного и того же цвета. Можно использовать другие конфигурации, но вертикальные и горизонтальные расположения являются наиболее обычными.
Способность устройства отображения на ЖКД или другого устройства отображения обеспечивать высокую разрешающую способность зависит отчасти от размера и количества элементов изображения в устройстве отображения на ЖКД, и во многих ситуациях разрешение устройств отображения на ЖКД не достаточна для обеспечения плавно очерченных или визуализированных символов текста на устройстве отображения на ЖКД. Ограниченное разрешение устройства отображения на ЖКД может иметь существенное визуальное воздействие на пользователя, когда текст или данные изображения визуализируются на ЖКД или другом устройстве отображения.
В частности, символы текста или шрифтовые комплекты представляют исключительные проблемы. Технология позволяет сохранять шрифт в компьютере с высоким разрешением, и когда символ с высоким разрешением визуализируется на устройстве отображения с низким разрешением или грубом устройстве отображения (с малым числом строк), символ подгоняется к сетке элементов изображения устройства отображения. Это приводит к потере информации, касающейся символов, и часто ставит под угрозу форму символов, что противоречит намерению художника-шрифтовика.
Более конкретно, когда символ визуализируется на устройстве отображения или сеткой элементов изображения с низким разрешением, некоторые части символа, поскольку он хранится в электронном устройстве, могут не попадать точно на границы элементов изображения. В результате, форма символа сильно изменяется, приспосабливаясь к границам элементов изображения в сетке элементов изображения. Окончательное воздействие на символ заключается в том, что символ может оказаться смещенным в некотором направлении или ножки, засечки и другие детали символа могут быть несколько толще или тоньше, чем первоначально разработанные художником-шрифтовиком.
Обычный процесс визуализации текста, который приводит к тому, что символы текста отображаются на устройствах отображения, был первоначально разработан для соответствия модели ЭЛТ элементов изображения, имеющих три люминофора, которые управляются вместе, чтобы отображать один цвет и представлять одну часть изображения. С появлением больших количеств портативных персональных компьютеров, существующий процесс визуализации текста, разработанный для устройств отображения на ЭЛТ, просто применили непосредственно для устройств отображения на ЖКД. Такой обычный процесс визуализации текста, когда применяется для устройств отображения на ЖКД, использует каждый элемент изображения для представления одной части изображения и не пользуется преимуществом свойства отдельной адресуемости подкомпонентов элементов изображения.
Ввиду вышеизложенного, в технике имеется необходимость в технических приемах визуализации текста на устройствах отображения на ЖКД, которые могут улучшить разрешение текста. Желательно обеспечить системы и способы, способные увеличивать удобочитаемость текста и уменьшать искажение символов, которое прежде возникало из-за изменения положения краев символов на границах целых элементов изображения устройств отображения на ЖКД.
Краткое изложение сущности изобретения
Настоящее изобретение относится к системам и способам визуализации текста и других изображений на устройствах отображения на ЖКД или других устройствах отображения, имеющих элементы изображения с отдельно управляемыми подкомпонентами элемента изображения. В соответствии с изобретением, отдельные подкомпоненты элементов изображения представляют разные части символа текста или другого изображения вместо того, чтобы целый элемент изображения представлял единую часть. Это выполняют посредством отображения пространственно различных наборов одной или более выборок данных изображения в отдельные подкомпоненты элементов изображения. Поскольку подкомпоненты элементов изображения адресуются и управляются отдельно, устройство отображения на ЖКД, используемое согласно изобретению, визуализирует изображения с улучшенным разрешением по сравнению с разрешением, обеспечиваемым с помощью обычных процессов визуализации.
Хотя принципы изобретения можно использовать для визуализирования любого изображения, изобретение описано здесь прежде всего в контексте символов текста. В качестве части изобретения, данные символов хинтуют, или подгоняют к сетке так, чтобы выбранные края символа попадали на границы высокого контраста между подкомпонентами элементов изображения, тем самым дополнительно улучшая внешний вид и удобочитаемость текста. Таким образом, не только части символа отображаются с разрешением подэлементов изображения, но выбранные края символа также располагаются таким образом, чтобы уменьшить ошибки цветной окантовки (ореола) или эффекты, которым они подвергались в противном случае.
Процесс хинтования по изобретению включает в себя анализ топологии контура символа во время выполнения процесса, с целью идентификации краев символа, которые подлежат перемещению к границам высокого контраста между подкомпонентами элементов изображения. Хотя изобретение распространяется на прямой и полный анализ топологии символа, часто более эффективно в вычислительном отношении анализировать части определения символа в файле шрифтов, с целью идентификации контрольных точек на символе, которые следует подогнать к границам высокого контраста, и промежутков между контрольными точками.
Дополнительные преимущества изобретения будут сформулированы в нижеследующем описании и частично станут очевидными из описания, или их можно изучить путем практического применения изобретения. Преимущества изобретения можно реализовать и получить посредством инструментальных средств и комбинаций, в частности, указанных в прилагаемой формуле изобретения. Эти и другие особенности настоящего изобретения станут более очевидными из нижеследующего описания и прилагаемой формулы изобретения или они могут быть изучены путем практического применения изобретения, как сформулировано ниже.
Краткое описание чертежей
Для того, чтобы получить способ, при котором достигаются вышеупомянутые и другие преимущества изобретения, представлено более конкретное описание изобретения, кратко описанного выше, со ссылками на его определенные варианты осуществления, которые иллюстрируются на прилагаемых чертежах. Следует понимать, что эти чертежи изображают только типичные варианты осуществления изобретения и не должны рассматриваться как ограничивающие его возможности. Изобретение описано и пояснено дополнительными особенностями и деталями с помощью прилагаемых чертежей, на которых:
фиг.1 иллюстрирует примерную систему, которая обеспечивает подходящую операционную среду для настоящего изобретения;
фиг.2а и 2b изображают часть устройства отображения на ЖКД и показывают отдельно управляемые подкомпоненты элементов изображения устройства отображения на ЖКД;
фиг.3 представляет блок-схему, иллюстрирующую процесс визуализации или растеризации данных изображения на устройстве отображения;
фиг.4а представляет иллюстрацию символа до его расположения на границах элементов изображения;
фиг.4b представляет иллюстрацию символа после его расположения на границах элементов изображения;
фиг.4с представляет иллюстрацию символа после его фазового регулирования и выравнивания ножек по границам высокого контраста подкомпонентов элементов изображения;
фиг.5а представляет иллюстрацию промежутков и размеров, связанных с символом;
фиг.5b представляет иллюстрацию ориентированного ациклического графа, используемого для представления промежутков, связанных с символом;
фиг.6 представляет иллюстрацию контура и контрольных точек, которые определяют символ;
фиг.7 представляет блок-схему процесса хинтования; и
фиг.8 представляет более подробную блок-схему, иллюстрирующую способ фазового регулирования символа.
Подробное описание предпочтительных вариантов осуществления
Одной из основных проблем, связанных с отображением информации, такой как текст, на экране устройства отображения, является то, что устройство отображения имеет крупную сетку элементов изображения, имеющую разрешение, которая значительно ниже разрешения информации, подлежащей отображению. В результате этого несоответствия, процесс визуализации или растеризации обычно искажает и ухудшает отображаемую информацию. В случае текста, формы символов изменяются так, чтобы "вписать" их в сетку элементов изображения устройства отображения. На визуальное представление и разборчивость текста или другой информации на экране частично направлен процесс хинтования или указаний, который направлен на решение проблем разборчивости цвета, удобочитаемости, промежутков, плотности, выравнивания строк, симметрии и фактических форм растровых изображений каждого символа, выравнивая типографские характеристики символов в шрифте по границам элементов изображения или подкомпонентов элементов изображения.
В случае черного текста на белом фоне и других комбинаций, цвет относится к балансу между черным и белым на экране. Ровный и постоянный цвет приводит к более разборчивому тексту. На цвет влияет контраст между плотностью толстых и тонких ножек, размер промежутка, который является внутренним в символах, плавность диагонального штриха и другие факторы. Ровный цвет меньше отвлекает внимание читателя. Хинтование улучшает баланс между белым и черным на устройстве отображения, так что отображаемое изображение приближается к ровному цвету.
Удобочитаемость относится к идентифицируемости конкретного символа. Совокупности символов, которые часто упоминаются как шрифтовые комплекты ("шрифты"), обычно содержат множество глифов (образов символов в битовой карте) или символов, которые представлены одним или больше контурами. При низких значениях разрешения и небольших размерах шрифта трудно разборчиво представлять символ и часто бывает необходимо изменить растровое изображение, которое представляет глиф или символ. Надлежащий промежуток также вносит вклад в разборчивость, особенно при низких значениях разрешения. Неподходящий промежуток обычно возникает из-за того, что контур символа обычно округляется в большую или меньшую сторону, чтобы приспосабливаться к сетке элементов изображения с низким разрешением устройства отображения. Однако, данные текста являются более разборчивыми, если промежуток между символами и между словами читателю кажется постоянным.
Плотность символа в общем относится к толщине символа и элементов символа. Например, шрифт, который является жирным, имеет большую плотность, чем тот же самый шрифт, который не является жирным. Большая часть трудностей в отношении плотности возникает между прописными буквами и строчными буквами. Неравная плотность может привести к тому, что прописные буквы будут привлекать к себе слишком много внимания или к невозможности отличать заголовки от текста.
Выравнивание (линирование) строки относится к высотности или высоте элементов изображения символов. Символы следует сохранять выровненными, особенно при маленьких размерах, где разница в высоте элементов изображения более заметна, потому что текст, который должным образом не выровнен, кажется волнистым и отвлекает читателя. Симметрия символа обычно представляет собой проблему, связанную с символами, имеющими диагональные элементы (штрихи), хотя симметрия является проблемой, которая относится к символам, имеющим другие типы элементов, включая закругленные кривые. Управление симметрией может улучшать внешний вид отдельных символов и усиливать тон текста. В целом, хинтование шрифта или символа улучшает разборчивость и внешний вид шрифта, как описано выше.
Ниже изобретение описано посредством использования диаграмм для иллюстрирования либо структуры, либо обработки вариантов осуществления, применяемых для реализации систем и способов по настоящему изобретению. Использование диаграмм таким образом для представления изобретения не следует рассматривать, как ограничение его объема. Настоящее изобретение охватывает и способы, и системы для автоматической оптимизации размещения типографских деталей по границам высокого контраста.
I. Пример вычислительного и аппаратного окружения
Варианты осуществления настоящего изобретения могут содержать специализированный или универсальный компьютер, включающий в себя различные аппаратные средства вычислительной системы, как более подробно описано ниже.
Варианты осуществления в объеме настоящего изобретения также включают в себя пригодный для считывания компьютером носитель информации для переноса или хранения выполняемых компьютером команд или структур данных, хранящихся на нем. Таким пригодным для считывания компьютером носителем информации может быть любой доступный носитель информации, к которому может обращаться специализированный или универсальный компьютер. Посредством примера, а не в качестве ограничения, такой пригодный для считывания компьютером носитель информации может содержать ОЗУ (оперативное запоминающее устройство), ПЗУ (постоянное запоминающее устройство), ЭСППЗУ (электрически стираемое программируемое ПЗУ), ПЗУ на компакт-диске или другие устройства носителей на оптических дисках, носители на магнитных дисках или других магнитных запоминающих устройствах, или любой другой носитель информации, который можно использовать для переноса или хранения требуемых средств программного кодирования в форме выполняемых компьютером команд или структур данных, и к которому может обращаться специализированный или универсальный компьютер. Когда информация передается или обеспечивается по сети или другому каналу связи (либо проводному, беспроводному, либо по комбинации проводных или беспроводных каналов связи) для компьютера, компьютер должным образом рассматривает соединение как пригодный для считывания компьютером носитель информации. Таким образом, любое такое соединение (связь) должным образом называется пригодным для считывания компьютером носителем информации. Комбинации вышеупомянутых носителей информации также должны быть включены в число пригодных для считывания компьютером носителей информации. Выполняемые компьютером команды содержат, например, команды и данные, которые заставляют универсальный компьютер, специализированный компьютер или специализированное устройство для обработки выполнять определенную функцию или группу функций.
Фиг.1 и последующее описание предназначены для обеспечения краткого, общего описания подходящей вычислительной среды, в которой может быть воплощено изобретение. Хотя это не требуется, изобретение описано в общем контексте выполняемых компьютером команд, таких как программные модули, выполняемые компьютерами в сетевых средах. Обычно программные модули включают в себя операции, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Выполняемые компьютером команды, связанные структуры данных и программные модули представляют собой примеры средств программного кодирования для выполнения этапов раскрытых здесь способов. Конкретная последовательность таких выполняемых команд или связанных структур данных представляет примеры соответствующих действий для осуществления функций, описанных в таких этапах.
Специалистам в данной области техники должно быть понятно, что изобретение может быть осуществлено в сетевых вычислительных средах с многими типами конфигураций вычислительных систем, включая персональные компьютеры, переносные устройства, многопроцессорные системы, основанную на микропроцессоре или программируемую бытовую электронику, сетевые персональные компьютеры, миникомпьютеры, универсальные ЭВМ и т.п. Изобретение также можно осуществлять в распределенных вычислительных средах, где задачи выполняются локальными и удаленными устройствами для обработки, которые связаны (либо посредством проводных линий связи, беспроводных линий связи, либо посредством комбинации проводных или беспроводных линий связи) через коммуникационную сеть. В распределенной вычислительной среде программные модули могут быть расположены и в локальных, и в удаленных запоминающих устройствах.
Рассмотрим фиг.1, на которой примерная система для воплощения изобретения включает в себя универсальное вычислительное устройство в форме обычного компьютера 20, включающего в себя блок 21 обработки, системную память 22 и системную шину 23, которая подсоединяет различные компоненты системы, включая системную память 22, к блоку 21 обработки. Системная шина 23 может иметь любую из нескольких типов шинных структур, включая шину памяти или контроллера памяти, периферийную шину и локальную шину, используя любую из множества шинных архитектур. Системная память включает в себя постоянное запоминающее устройство (ПЗУ) 24 и оперативное запоминающее устройство (ОЗУ) 25. Базовая система ввода/вывода (БСВВ, BIOS) 26, содержащая основные операции, которые помогают передавать информацию между элементами в пределах компьютера 20, например, во время загрузки, может храниться в ПЗУ 24.
Компьютер 20 также может включать в себя накопитель (привод) 27 на жестких магнитных дисках, предназначенный для считывания с жесткого магнитного диска 39 и записи на него, накопитель (привод) 28 на магнитных дисках для считывания со сменного магнитного диска 29 или записи на него и накопитель (привод) 30 на оптических дисках для считывания со сменного оптического диска 31 или записи на него, типа ПЗУ на компакт-диске, компакт-диска с однократной записью, компакт-диска с многократной перезаписью или других оптических носителей информации. Накопитель 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. В качестве альтернативы, устройства ввода могут быть подсоединены посредством других устройств сопряжения, типа параллельного порта, игрового порта или универсальной последовательной шины (УПШ, USB). Монитор 47 или другое устройство отображения также связано с системной шиной 23 через устройство сопряжения, типа видеоадаптера 48. В дополнение к монитору, персональные компьютеры обычно включают в себя другие периферийные выходные устройства (не показанные), типа громкоговорителей и принтеров.
Компьютер 20 может работать в сетевой среде, используя логические соединения с одним или более удаленными компьютерами, типа удаленных компьютеров 49а и 49b. Каждый из удаленных компьютеров 49а и 49b может быть другим персональным компьютером, сервером, маршрутизатором, сетевым персональным компьютером, одноранговым устройством или другим общесетевым узлом и обычно включает в себя многие или все элементы, описанные выше относительно компьютера 20, хотя на фиг.1 показаны только запоминающие устройства 50а и 50b и связанные с ними прикладные программы 36а и 36b. Логические соединения, изображенные на фиг.1, включают в себя локальную вычислительную сеть (ЛВС) 51 и глобальную сеть (ГС) 52, которые представлены здесь посредством примера, а не ограничения. Такие организации сетевой среды являются обычными в компьютерных сетях масштаба офиса или предприятия, интрасетях и Интернете.
При использовании в организации сетевой среды ЛВС компьютер 20 связан с локальной сетью 51 через сетевое устройство сопряжения или адаптер 53. При использовании в организации сетевой среды ГС компьютер 20 может включать в себя модем 54, беспроводную линию связи или другие средства для установления связи через глобальную сеть 52, типа Интернета. Модем 54, который может быть встроенным или внешним, подсоединен к системной шине 23 через устройство 46 сопряжения последовательного порта. В сетевой среде программные модули, изображенные относительно компьютера 20, или их части, могут храниться в удаленном запоминающем устройстве. Следует понимать, что показанные сетевые связи являются примерными, и можно использовать другие средства установления связи через глобальную сеть 52.
Фиг.2а и 2b иллюстрируют физические характеристики примерного устройства отображения на ЖКД, которое можно использовать для отображения символов, обрабатываемых с использованием операций хинтования по изобретению. Изображенная на фиг.2а часть ЖКД 70 включает в себя множество строк R1-R12 и множество столбцов С1-С16. В цветных ЖКД используется множество различно адресуемых элементов и подэлементов, упоминаемых здесь как элементы изображения и подкомпоненты элементов изображения, соответственно. Фиг.2b, которая иллюстрирует более подробно верхнюю левую часть ЖКД 70, демонстрирует соотношение между элементами изображения и подкомпонентами элементов изображения.
Каждый элемент изображения включает в себя три подкомпонента элемента изображения, иллюстрируемые, соответственно, как красный (R) подкомпонент 72, зеленый (G) подкомпонент 74 и синий (В) подкомпонент 76. Подкомпоненты элементов изображения не квадратные и расположены на ЖКД 70 так, что образуют вертикальные полосы из подкомпонентов элементов изображения одного и того же цвета. Полосы RGB обычно проходят по всей ширине или высоте экрана устройства отображения в одном направлении. Обычные устройства отображения на ЖКД, используемые в настоящее время в большинстве портативных компьютеров, имеют большую ширину, чем высоту, и в них имеется тенденция иметь полосы RGB, проходящие в вертикальном направлении, как показано на ЖКД 70. Примеры таких устройств, которые имеют большую ширину, чем высоту, имеют отношения столбцов к строкам, например, 640×480, 800×600 или 1024×768. Устройства отображения на ЖКД также изготавливают с подкомпонентами элементов изображения, расположенными в других конфигурациях, включая горизонтальные полосы подкомпонентов элементов изображения одного и того же цвета, зигзагообразные конфигурации или треугольные конфигурации. Кроме того, некоторые устройства отображения на ЖКД имеют элементы изображения с множеством подкомпонентов элементов изображения, отличающихся от трех подкомпонентов элементов изображения. Настоящее изобретение можно использовать с любым таким устройством отображения на ЖКД или плоскопанельным устройством отображения до тех пор, пока элементы изображения устройства отображения имеют отдельно управляемые подкомпоненты элементов изображения.
Набор подкомпонентов RGB элемента изображения составляет элемент изображения. Таким образом, термин "подкомпонент элемента изображения", как он используется здесь, относится к одному из множества отдельно управляемых элементов, которые включены в элемент изображения. Рассмотрим фиг.2b, на которой набор подкомпонентов 72, 74 и 76 элемента изображения образует отдельный элемент изображения. Другими словами, пересечение строки и столбца, например, пересечение строки R2 и столбца С1, представляет один элемент изображения, а именно (R2, С1). Кроме того, каждый подкомпонент 72, 74 и 76 элемента изображения представляет собой одну треть, или приблизительно одну треть, ширины элемента изображения, в то же время являясь равным по высоте или приблизительно равным высоте элемента изображения. Таким образом, три подкомпонента 72, 74 и 76 элемента изображения объединяются для образования одного по существу квадратного элемента изображения. Это отношение элемента изображения/подкомпонента можно использовать для визуализации изображений текста на устройстве отображения, как будет дополнительно пояснено ниже.
II. Хинтование и другие операции по обработке изображения
Фиг.3 представляет блок-схему, иллюстрирующую процесс растеризации или процесс визуализации текста на устройстве отображения. Процесс визуализации, изображенный на фиг.3, способен отображать символы на устройствах отображения на ЖКД с точностью до подэлементов изображения. Другими словами, размеры деталей символов, особенно в направлении, перпендикулярном направлению нанесения полос устройства отображения, не ограничены кратным целым числом соответствующего размера целых элементов изображения. Вместо этого, каждый отдельно управляемый подкомпонент элемента изображения из элементов изображения представляет отличающуюся часть отображаемого символа.
В качестве части процесса визуализации, варианты осуществления способов по изобретению включают в себя этап хинтования данных изображения так, что типографская деталь (например, ножка) подгоняется к положению на сетке, соответствующему границе высокого контраста между подкомпонентами элементов изображения. Сетка, как дополнительно описано ниже, имеет местоположения сетки, определяемые элементами изображения и подкомпонентами элементов изображения устройства отображения. Этап хинтования данных изображения и действия, которые соответствуют ему, ниже описаны более подробно.
Процесс на фиг.3 начинается с вывода 101 текста, который можно обеспечивать с помощью прикладной программы, например текстового редактора, или это может быть электронная структура данных, которая представляет документ. Данные 102 символов обычно располагаются в массиве данных, типа файла шрифтов, и обычно содержат информацию, описывающую конкретный набор символов.
Данные 102 символов могут содержать, например, контур каждого глифа в наборе символов. Контуры представляют собой математические описания форм глифов в наборе символов или шрифте, с использованием линий и кривых. Помимо этого, каждый контур имеет несколько контрольных точек, которые необходимы для масштабирования глифа относительно требуемого кегля шрифта и разрешения. Некоторые из контрольных точек являются точками на кривой, а другие точки представляют собой точки вне кривой. Для определения края символа выбирают, например, одну или больше контрольных точек на кривой. Аналогично этому, пара контрольных точек может устанавливать границы ножки символа. Точки на кривой подгоняются к сетке в процессе хинтования, а точки вне кривой располагаются, используя команды интерполирования. Также можно использовать контрольные точки, чтобы указывать определенные размеры и промежутки, типа ширины ножки. В процессе хинтования затрагиваемая точка относится к точке, которая хинтуется или подгоняется к сетке, а не затрагиваемая точка относится к точке, которая не хинтуется или не подгоняется к сетке. Поэтому можно и затрагиваемые, и не затрагиваемые точки упоминать, либо как точки на кривой, либо как точки вне кривой. Термины "на кривой" и "вне кривой" относятся к геометрической форме символов, а термины "затрагиваемые" и "не затрагиваемые" обычно относятся к стратегии хинтования или подгонки к сетке.
Вывод 101 текста и данные 102 символов вместе представляют данные 100 изображения, которые принимаются масштабирующим модулем 104. Масштабирующий модуль 104 масштабирует данные 100 изображения так, что последующие операции по обработке могут воспользоваться преимуществом более высокого разрешения, которое можно достичь, используя подкомпоненты элементов изображения. Поскольку сетка элементов изображения может иметь, например, либо горизонтальное направление нанесения полос, либо вертикальное направление нанесения полос, масштабирование обычно выполняется с более высокой скоростью в направлении, перпендикулярном направлению нанесения полос сетки.
После того, как было выполнено масштабирование данных 100 изображения, они хинтуются или подгоняются к сетке с помощью модуля 106 хинтования. Модуль 106 хинтования функционирует, частично, чтобы сохранять, в максимально возможной степени, регулярность местоположений символов и промежутков, сохранять размеры символов и управлять оцифрованным представлением. Однако во многих случаях сетка элементов изображения устройства отображения имеет низкое разрешение, по сравнению с высоким разрешение символа, и необходимо принимать некоторые компромиссные решения. Например, трудно иметь и правый, и левый края ножки символа в правильном месте и поддерживать надлежащую плотность или толщину ножки.
В общем, модуль 106 хинтования выравнивает символы по границам подкомпонентов элементов изображения, независимо от того, являются ли границы подкомпонентов элементов изображения также границами между целыми элементами изображения. Это выполняется посредством изменения или искажения контура глифа, с целью гарантирования, что правильные элементы изображения и подкомпоненты элементов изображения затрагиваются или не затрагиваются, когда глиф растеризуется. Как.только глиф подогнан к сетке, контрольные точки, которые обычно нумеруются, не изменяются, но координаты этих контрольных точек могут сдвигаться.
Модуль 108 сканирующего преобразования представляет собой процесс преобразования масштабированного и хинтованного символа в растровое изображение. Поскольку символы или данные текста можно хинтовать к границам подкомпонентов элементов изображения, каждый подкомпонент элемента изображения может отображаться отдельно. Это позволяет визуализировать символ с более высоким разрешением. Модуль 108 сканирующего преобразования определяет, какой подкомпонент элемента изображения должен быть затронут, а какие подкомпоненты элементов изображения не должны быть затронуты. Модуль 108 сканирующего преобразования производит растровое изображение 110, которое отображается на устройстве 112 отображения. Системы и способы по настоящему изобретению описаны здесь в отношении устройства отображения, имеющего вертикальное направление нанесения полос, но их можно применять для устройств отображения, имеющих элементы изображения, расположенных в других конфигурациях, включая, но не ограничиваясь этим, горизонтальное направление нанесения полос.
Операции сканирующего преобразования могут приводить к одной выборке, отображаемой в каждой из подкомпонентов элемента изображения. В качестве альтернативы, в подкомпоненты элементов изображения можно отображать любое количество выборок. В общем, различные в пространственном отношении наборы одной или более выборок отображаются в каждый подкомпонент элемента изображения. Процесс отображения наборов выборок в подкомпоненты элементов изображения можно понять, как процесс фильтрации. Фильтры соответствуют положению и количеству выборок, включенных в наборы выборок, отображаемые в отдельных подкомпонентах элементов изображения. Фильтры, соответствующие различным цветам подкомпонентов элементов изображения, могут иметь один и тот же размер или разные размеры. Выборки, включенные в фильтры, могут быть взаимоисключающими (например, каждая из выборок пропускается только через один фильтр), или фильтры могут совмещаться (например, некоторые выборки включены больше, чем в один фильтр). В общем, фильтры, используемые в процессе сканирующего преобразования, можно адаптировать для образования требуемых цветных эффектов на отображаемых изображениях.
Фиг.4а иллюстрирует сетку 200 элементов изображения, которая представляет положение элементов изображения на устройстве отображения на ЖКД. Данные изображения, представляющие символ 205 текста, масштабированы с коэффициентом, равным трем, в перпендикулярном направлении относительно полос устройства отображения и с коэффициентом, равным единице, в направлении, параллельном полосам. Масштабирование проводится таким образом, чтобы подготовить символ текста для процесса сканирующего преобразования, в котором выборки отображаются в отдельных подкомпонентах элементов изображения. Сетка 200 представляет собой вычислительный инструмент, используемый в процессе визуализации для регулирования выбранных краев символа к границам высокого контраста между подкомпонентами элементов изображения.
Сетка 200 элементов изображения соответствует множеству элементов 201 изображения устройства отображения на ЖКД (например, устройства 70 отображения из фиг.2а), где каждый элемент 201 изображения имеет красный подкомпонент 202 элемента изображения, синий подкомпонент 203 элемента изображения и зеленый подкомпонент 204 элемента изображения. Как часто имеет место в процессе визуализации изображения, контур символа 205 не совпадает с границей подкомпонентов элементов изображения. Например, край 206 не совпадает с границей подкомпонентов элементов изображения. Поскольку символ 205 не соответствует элементам 201 изображения и подкомпонентам 202, 203 и 204 элементов изображения, во время процесса растеризации форму и расположение символа 205 можно изменить или подогнать к сетке.
Фиг.4b иллюстрирует символ 205 после того, как он был подогнан к сетке 200 элементов изображения. Как показано, во время процесса растеризации символ 205 физически переместили вниз и влево, а ножки 209 слегка сузили. Этот эффект округления, как иллюстрируется на фиг.4b, происходит на границах элементов изображения.
Фиг.4с иллюстрирует символ 205 после того, как он был подогнан в сетке к границам подкомпонентов элементов изображения. Край 206 символа был привязан к границе 208 между зеленым подкомпонентом элемента изображения и синим подкомпонентом элемента изображения. Было отдано предпочтение границе 208, а не границе 207 между красными и зелеными подкомпонентами элементов изображения, потому что граница 208 имеет более высокий контраст, хотя изобретение также может охватывать привязку краев символа к границам между смежными красными и зелеными подкомпонентами элементов изображения. Способность настоящего изобретения подгонять в сетке символ 205 к границам подкомпонентов элементов изображения обеспечивает дополнительную точность в процессе визуализации. В дополнение к подгонке символов к границам подкомпонентов элементов изображения было обнаружено, что выбор границ высокого контраста улучшает удобочитаемость отображаемых символов. Также было установлено, что выравнивание левого края ножек (например, края 206) часто является более важным в образовании символов с хорошей удобочитаемостью, чем выравнивание с границами высокого контраста других частей символа.
Изобретение охватывает любой процесс, посредством которого выбранные края символов перемещаются к границам высокого контраста подкомпонентов элементов изображения во время операции хинтования. Прямой и полный анализ топологии символа во время выполнения процесса представляет собой один из путей идентификации деталей символа, который подлежит перемещению согласно изобретению. Хотя можно использовать этот тип полного топологического анализа, часто бывает неэффективно или непрактично в вычислительном отношении выполнять его. В соответствии с этим, можно использовать любой доступный технический прием для проведения только частичного топологического анализа во время выполнения процесса, таким образом сокращая время вычислений и ресурсы.
Многие наборы символов или шрифтовых комплектов имеют определения шрифтов или другую информацию, которые сами приспосабливаются при использовании к проведению частичного анализа топологии символов во время выполнения процесса, достаточного для того, чтобы выбранные края или части символов могли быть перемещены к границам высокого контраста подкомпонентов элементов изображения при операции хинтования. Такая информация о шрифте, которую можно использовать для этой цели, включает в себя любую информацию, определяющую положение и промежуток некоторых типографских деталей, типа краев символа и ширины ножек.
Хотя изобретение можно использовать по существу с любым типом шрифта, определенный пример выполнения частичного топологического анализа контура символа во время выполнения будет представлен в контексте шрифтов True Type. Файлы шрифтов True Type включают в себя таблицы контрольных значений (ТКЗ). ТКЗ представляет собой таблицу, которая получена на основании информации, закодированной в файлах, включая файлы шрифтов True Type, в которой перечислены цвет промежутков, а также размеры для различных деталей букв, например ширины ножек. ТКЗ позволяет проектировщику шрифтов обращаться к конкретным промежуткам по наименованию, а не как к абстрактному промежутку. Ширина ножки символа, например, может называться "толщиной вертикальной ножки". Таблица контрольных значений, как она используется здесь, предназначена для предоставления информации, связанной с символами, которая описывает определенные промежутки и размеры символа. Часто промежутки и размеры описываются в терминах ключевых контрольных точек на контуре символа.
Одна деталь таблиц ТКЗ, которую можно удобно использовать для описания топологии символов текста, представляет собой описание некоторых промежутков в символе с помощью цвета. Горизонтальный промежуток символа, как описано в ТКЗ, может быть черным промежутком, белым промежутком или серым промежутком. Черные промежутки описывают промежутки, которые являются внутренними относительно графической формы буквы (например, ширина ножки), белые промежутки описывают промежутки, которые соответствуют областям, находящимся в общем вне тела символа (например, левый и правый опорные элементы, промежутки между ножками, открытый внутренний просвет буквы "О" и т.д.), а серые промежутки описывают промежутки, которые включают в себя белый и черный промежуток.
Фиг.5а иллюстрирует эти промежутки в отношении символа 205. Символ 205 имеет две ножки 209. Первая ножка начинается в точке А и заканчивается в точке В, а вторая ножка начинается в точке С и заканчивается в точке D. Промежутки от точки А до точки В и от точки С до точки D являются черными промежутками, потому что они внутренние относительно графической формы или контура символа 205, и обозначены черными стрелками 211. Горизонтальный промежуток от левой опорной точки 210 до точки А является белым промежутком, потому что промежуток внешний относительно графической формы символа 205 и обозначен белой стрелкой 212. Аналогично этому, горизонтальный промежуток 219 между точкой D и правой опорной точкой 220 является белым промежутком. Промежуток 218 также обозначен, как белый промежуток, поскольку это промежуток между ножками 209 символа 205. Промежуток от точки А до точки С, показанный серой стрелкой 213, является серым промежутком, потому что промежуток включает в себя черный промежуток 211 от точки А до точки В и белый промежуток 218 от точки В до точки С.
Черные, белые и серые промежутки представлены относительно друг друга и могут быть показаны, как имеющие родительскую/дочернюю иерархию в ориентированном ациклическом графе (ОАГ), как иллюстрируется на фиг.5b. Таким образом, точку А рассчитывают от левой опорной точки 210, и она также является дочерней относительно левой опорной точки 210. В свою очередь, точка А является родительской относительно точек В и С, а точки В и С - дочерние относительно точки А. Неотъемлемая структура ширины и промежутков, которая связана с графической формой букв, позволяет идентифицировать во время выполнения процесса релевантные типографские детали, даже если промежутки и размеры не расположены удобно в таблице контрольных значений.
Перед дополнительным описанием настоящего изобретения представим краткое описание глифа. На фиг.6 показана блок-схема, иллюстрирующая контур и контрольные точки глифа. Контур 214 определен рядом контрольных точек 250, некоторые из которых могут находиться на кривой, а некоторые - вне кривой. Если две последовательные контрольные точки находятся на кривой, они определяют прямую линию. Контрольные точки нумеруются последовательно, в этом примере, и если следовать по кривой в направлении увеличивающихся номеров точек, закрашенная область всегда будет справа от контрольной точки. Ключевые контрольные точки, которые определяют черный промежуток ширины ножки, представляют собой на фиг. 6 точки 1 и точки 22.
На фиг. 7 представлена блок-схема, более подробно поясняющая модуль 106 хинтования, описанный выше в отношении фиг.3. Модуль 106 хинтования можно рассмотреть для выполнения этапа хинтования данных изображения таким образом, чтобы типографская деталь (например, ножка) оказывалась подогнанной в положение на сетке, соответствующее границе высокого контраста между подкомпонентами элементов изображения. Фиг.7 иллюстрирует примеры действий, которые соответствуют этапу хинтования, как дополнительно поясняется ниже.
Модуль 106 хинтования принимает данные изображения после их масштабирования и затем выполняет подгонку символа к точкам сетки, определенным элементами изображения и подкомпонентами элементов изображения. На этапе 260 модуль 106 хинтования обрабатывает команды хинтования, которые обеспечиваются художником-шрифтовиком, и перемещает некоторые ключевые контрольные точки в соответствующие точки сетки так, что графическая форма буквы становится визуально приятной и разборчивой. На этапе 260 некоторые части или контрольные точки символа перемещаются, а другие части и контрольные точки остаются незатронутыми. В соответствии с одним вариантом осуществления изобретения, операция подгонки к сетке данных изображения, как представлено этапом 260, является одним примером части этапа хинтования данных изображения.
Фазовое управление 270 включает в себя перемещение хинтованных точек от этапа 260 на границы подкомпонентов элементов изображения высокого контраста. Часто хинтованные точки, перемещаемые при фазовом управлении 270, определяют левый край ножки символа. В соответствии с вариантом осуществления изобретения, иллюстрируемым на фиг.7, операция фазового регулирования типографской детали является такой, что типографская деталь совпадает с местоположением сетки, которая представляет границу высокого контраста между подкомпонентами элементов изображения, как представлено с помощью операции 270, являющейся одним из примеров части этапа хинтования данных изображения.
Как только соответствующие контрольные точки, такие как точки, которые определяют левый край ножек символа, помещены на границы высокого контраста между подкомпонентами элементов изображения, другие контрольные точки масштабированных данных изображения подгоняются (регулируются) по мере необходимости. Например, правые края ножек могут быть перемещены в сетку так, чтобы придать ножкам ширину, имеющую значения, которые не могут быть целым числом ширины целых элементов изображения устройства отображения. При операции 280 какие-либо точки или участки контура, которые не были перемещены во время операции 260 и фазового управления 270, теперь перемещаются в новые местоположения на сетке элементов изображения, используя интерполяцию. Таким образом, в этом варианте осуществления операция интерполяции остающихся контрольных точек является одним из примеров части этапа хинтования данных изображения.
Используя операции, иллюстрируемые на фиг.7, процесс хинтования приводит к тому, что выбранные края символа выравниваются с границами высокого контраста подкомпонентов элементов изображения, в то же время позволяя символу иметь размеры в направлении, перпендикулярном направлению нанесения полос устройства отображения, имеющие значения подэлементов изображения, или, другими словами, значения, которые не обязательно являются кратными целыми числами соответствующего размера целых элементов изображения.
Фиг.8 представляет подробную блок-схему фазового управления, осуществляемого модулем 106 хинтования на фиг.1, согласно одному варианту осуществления изобретения, и дополнительно иллюстрирует операции, которые соответствуют, по меньшей мере, части этапа хинтования данных изображения в соответствии с одним вариантом осуществления изобретения. Как было упомянуто выше, изобретение можно осуществлять, используя любой процесс, который во время выполнения полностью или частично анализирует топологию глифа. Фиг.8 касается использования ориентированного ациклического графа, например, связанного с фиг.5а и фиг.5b. На этапе 271 получают ОАГ символа 205 из интерпретации команд хинтования, которые используют ТКЗ и иллюстрируются на фиг.5b.
На этапе 272 при фазовом управлении 270 осуществляется поиск отличительных типографских деталей. Например, во время фазового управления 270 может пытаться располагать вертикальные ножки символа посредством поиска чередующихся образцов черных и белых горизонтальных промежутков, если сетка элементов изображения имеет вертикальное направление нанесения полос. Если сетка элементов изображения имеет горизонтальное направление нанесения полос, при фазовом управлении 270 можно пытаться располагать горизонтальные линейные участки в символе посредством поиска чередующихся образцов черных и белых вертикальных промежутков. В общем, на этапе 272 осуществляется поиск конкретных типографских деталей, включая, но не ограничиваясь ими, ножки или горизонтальные участки. Это осуществляется во время выполнения программы, потому что промежутки и размеры символов имеются в таблице ТКЗ.
Например, ножки 209 символа 205 на фиг.5а получают посредством определения, что черные промежутки, представленные стрелками 211, чередуются с белыми промежутками от левой опорной точки 210 до точки А и от точки В до точки С. Также можно использовать серый промежуток, обозначенный стрелкой 213, вместо белого промежутка от точки В до точки С, чтобы сделать логический вывод о присутствии вертикальной ножки.
На этапе 273, ОАГ проходится, что ножки могут быть с помощью фазового регулирования подогнаны или помещены на границу высокого контраста подкомпонента элемента изображения. Первый узел ОАГ 300 на фиг.5b, который указывает ножку, представляет собой точку А. Ножка перемещается так, что левый край ножки попадает на границу высокого контраста, например, границу между зелеными и синими подкомпонентами элементов изображения. Таким образом, зеленый подкомпонент элемента изображения является внешним относительно графической формы буквы, а синий подкомпонент элемента изображения является внутренним по отношению к графической форме буквы. Подобным образом, другие ножки символа также хинтуют к границе высокого контраста.
Одно соображение, которое часто возникает при выполнении операций хинтования по изобретению, касается коррекции потенциальной ошибки, которую может вводить процесс хинтования. Поскольку регулирование положений взаимозависимых узлов производится, когда проходится ОАГ, получающееся в результате размещение правой опорной точки символа может оказаться смещенным. Эта ошибка может также оказывать влияние на полную ширину визуализируемого символа. Однако контрастность символа улучшается. Таким образом, улучшенная контрастность может приводить к символам, имеющим ошибочную полную ширину, которая может включать смещенную правую опорную точку.
Настоящее изобретение может быть воплощено в других определенных формах без отступления от его сущности или существенных характеристик. Описанные варианты осуществления следует рассматривать во всех отношениях только как иллюстративные, а не ограничительные. Поэтому объем изобретения определен прилагаемой формулой изобретения, а не вышеизложенным описанием. Все изменения, которые подпадают под смысл и диапазон эквивалентности формулы изобретения, должны быть включены в объем изобретения.
название | год | авторы | номер документа |
---|---|---|---|
АППАРАТНОЕ УСКОРЕНИЕ ГРАФИЧЕСКИХ ОПЕРАЦИЙ ПРИ ПОСТРОЕНИИ ИЗОБРАЖЕНИЙ НА ОСНОВЕ ПИКСЕЛЬНЫХ ПОДКОМПОНЕНТОВ | 2003 |
|
RU2312404C2 |
СПОСОБ И СИСТЕМА ДЛЯ АСИММЕТРИЧНОЙ РАСТЕРИЗАЦИИ ДАННЫХ ИЗОБРАЖЕНИЯ С ИЗБЫТОЧНОЙ ВЫБОРКОЙ | 2001 |
|
RU2258264C2 |
ПЕРЕДАЧА СИМВОЛОВ В ПОДПИКСЕЛЬНОМ РАЗРЕШЕНИИ | 2007 |
|
RU2439676C2 |
СИСТЕМА И СПОСОБ АВТОМАТИЧЕСКОГО ИЗМЕРЕНИЯ ВЫСОТЫ СТРОКИ, РАЗМЕРА И ДРУГИХ ПАРАМЕТРОВ МЕЖДУНАРОДНОГО ШРИФТА | 2008 |
|
RU2464631C2 |
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЙ, СПОСОБ И КОМПЬЮТЕРНАЯ ПРОГРАММА ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2008 |
|
RU2437152C2 |
ТРЕХМЕРНЫЙ ТЕКСТ В ИГРОВОЙ МАШИНЕ | 2003 |
|
RU2344483C9 |
СПОСОБ ВЫБОРА ШРИФТА | 2003 |
|
RU2316814C2 |
СИСТЕМА И СПОСОБ АВТОМАТИЧЕСКОГО ИЗМЕРЕНИЯ ВЫСОТЫ СТРОКИ, РАЗМЕРА И ДРУГИХ ПАРАМЕТРОВ МЕЖДУНАРОДНОГО ШРИФТА | 2003 |
|
RU2323470C2 |
СИСТЕМА И СПОСОБ АВТОМАТИЧЕСКОГО ИЗМЕРЕНИЯ ВЫСОТЫ СТРОКИ, РАЗМЕРА И ДРУГИХ ПАРАМЕТРОВ МЕЖДУНАРОДНОГО ШРИФТА | 2008 |
|
RU2451331C2 |
МОДУЛЬНЫЙ ФОРМАТ ДОКУМЕНТОВ | 2004 |
|
RU2368943C2 |
Изобретение относится к способам визуализации текстовой информации на экране. Его применение позволяет получить технический результат в виде обеспечения автоматического размещения типографских деталей на границах высокого контраста подкомпонентов элементов изображения, экономии времени обработки и ресурсов. Указанный результат достигается посредством выполнения частичного, а не полного топологического анализа символа. Так как установлено, что в устройствах отображения, имеющих вертикальные полосы подкомпонентов элементов изображения одного и того же цвета, удобочитаемость символа увеличивается, когда левые края ножек выровнены с границами высокого контраста между подкомпонентами элементов изображения, то способ содержит операции, направленные на достижение этого. 5 н. и 35 з.п. ф-лы, 8 ил.
Дорожная спиртовая кухня | 1918 |
|
SU98A1 |
Авторы
Даты
2005-08-10—Публикация
2001-04-09—Подача