Предварительная обработка данных изображения для улучшенного сжатия

Настоящее изобретение относится к обработке изображений. Техническим результатом является повышение коэффициентов сжатия данных изображения при их передаче в виде битового потока. Изобретение предусматривает предварительную обработку данных изображения для усовершенствованного сжатия данных, посредством предоставления общего шаблона в данных изображения, которые обычно не распознаются процессором битового потока, когда данные изображения отображаются в форме с чередуемыми цветовыми каналами. Изобретение осуществляется путем того, что принимают цифровое изображение, представленное в виде множества пикселей. Каждый пиксель определен цветовым пространством, включающим в себя цветовые каналы, которые обычно отображаются так, что расположение множества пикселей выглядит как чередуемая последовательность цветовых каналов. Затем определяют, разделено ли цифровое изображение на источники данных плоскости, каждый из которых включает в себя данные цифрового изображения для каждого из отдельных цветовых каналов так, что избыточность или другая распознаваемая последовательность данных цифрового изображения могут быть легко идентифицированы одним или более модулями сжатия данных, которые основаны на шаблоне и/или статистике. Далее источники данных плоскости посылают модулю сжатия, чтобы более эффективно сжимать цифровое изображение, чем когда цифровое изображение находится в своей чередуемой форме. 3 н. и 17 з.п. ф-лы, 7 ил.

 

Перекрестная ссылка на связанные заявки

Настоящая заявка испрашивает приоритет предварительной заявки на патент США №60/776,648, озаглавленной так же и поданной 23 февраля 2006, которая полностью включена в настоящее описание по ссылке.

Область, к которой относится изобретение

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

Уровень техники

Хотя компьютеры ранее были изолированы и имели минимальное или небольшое взаимодействие с другими компьютерами, современные компьютеры взаимодействуют с широким разнообразием других компьютеров через локальные сети (LAN), глобальные сети (WAN), модемные соединения и т.д. С быстрым распространением и ростом Интернет связность между компьютерами становится более важной и открыла много новых приложений и технологий. Рост крупномасштабных сетей и широко распространенная доступность дешевых персональных компьютеров существенно изменили способ, которым множество людей работают, взаимодействуют, обмениваются и играют.

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

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

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

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

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

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

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

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

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

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

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

Фиг.2A иллюстрирует разделение цифрового изображения на источники данных плоскости для повышения коэффициентов сжатия в соответствии с примерными вариантами осуществления;

Фиг.2B иллюстрирует конкретный пример использования источников данных плоскости для улучшенного сжатия в соответствии с примерными вариантами осуществления;

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

Фиг.2D иллюстрирует дополнительные методы для манипулирования данными, чтобы расширить распознавание образов для более эффективного сжатия в соответствии с примерными вариантами осуществления;

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

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

Подробное описание

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

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

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

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

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

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

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

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

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

Независимо от типа цифрового изображения 105, растровое изображение 105 обычно отображается и обрабатывается в форме с чередуемыми цветовыми каналами. Например, как показано на Фиг.2A, цифровое изображение 205 может иметь различные пиксели (например, пиксель А-D) каждым с цветовыми компонентами для цветовых каналов конкретного цветового пространства (например, в этом примере RGB). Как показано, каждый пиксель является перемежаемым с цветовым каналом для каждого цветового компонента красного, зеленого и синего. Следует заметить, что такой чередуемый способ этого цветового пространства, также как и других цветовых пространств, может привести к неоптимальному сжатию. Например, если цифровое изображение 205 имело весь синий фон, то компонент канала синего для каждого пикселя в цифровом изображении 205 может быть полностью или частично подсвечен, в то время как каналы красного и зеленого могут не иметь никакой подсветки. Однако, большинство модулей 135 сжатия данных обычно не распознает такой шаблон, приводящий к недостаточному сжатию. Более конкретно, такие кодеры, как кодер длин серий, могут только идентифицировать красный и зеленые компоненты в пределах единственного пикселя как подходящие для сжатия, но все еще оставляя значения каждого компонента синего несжатыми.

Чтобы преодолеть такие неэффективности, примерные варианты осуществления предусматривают каскад 110 предварительной обработки, который может подвергать обычный(е) шаблон(ы) в данных изображения, которые являются обычно нераспознаваемыми процессором битового потока, когда изображение отображено в форме с чередованием цветового канала. Более конкретно, как показано на Фиг.2A, цифровое изображение 205 может быть разделено или разбито на источники данных плоскости для канала 210 красного, канала 215 зеленого и канала 220 синего. Такое разделение каналов на источники 210, 215, 220 данных плоскости (используя, например, модуль 115 преобразователя в плоскость) позволяет проявиться шаблонам, таким как избыточность или другие распознаваемые последовательности данных цифрового изображения, как описано более подробно ниже. Такое проявление шаблонов позволяет модулям 135 сжатия данных более эффективно сжимать данные до более высоких уровней коэффициента.

Например, как показано на Фиг.2B, цифровое изображение 125 иллюстрирует синий затененный круг 130 на черном фоне (хотя это выглядит на Фиг.2B как белый для целей ясности). Принимая аддитивное смешивание цветов в цветовом пространстве RGB (то есть белый есть отсутствие или обнуление всех цветов в цветовом пространстве), плоскости 235, 240 каналов красного и зеленого будут включать в себя все нули. Плоскость 245 канала синего также будет включать в себя нули, за исключением области, где круг подсвечен, который в этом случае полностью подсвечен, как показано шестнадцатеричным числом "FF". Соответственно, как должно быть понятно, каждый источник данных плоскости (то есть плоскость 235 канала красного, плоскость 240 канала зеленого и плоскость 245 канала синего) может быть теперь сжат по отдельности, используя модули 135 сжатия данных.

Другими словами, посредством разделения компонентов канала на различные плоскости 235, 240, 245, шаблоны для каждого из них являются более легко распознаваемыми. Например, принимая цифровое изображение 125 из приблизительно тысячи пикселей (например, 100x100 пикселей) и используя простой компрессор RLE, плоскости каналов как красного 235, так и зеленого 240 могут иметь коэффициент сжатия приблизительно 1000:1. С другой стороны, плоскость 245 канала синего может иметь только сжатие, скажем 100:1; однако, полное сжатие цифрового изображения 125 без разделения каналов на различные плоскости может быть только немного большим, чем это значение (если не хуже). Соответственно в этом примере имеется приблизительно две трети от лучшего коэффициента сжатия посредством разделения каналов в источники 235, 240, 245 данных плоскости в противоположность оставлению их в их чередуемой форме.

Более конкретно, посредством разделения чередуемого растрового изображения 105 в "плоское" представление, каждая плоскость может быть сжата независимо и часто достигают более высоких коэффициентов сжатия. Это является особенно истинным для каналов, которые, как ожидается, остаются довольно постоянными по всему цифровому изображению 105 в течение большей части времени. Другими словами, примерные варианты осуществления пользуются преимуществом того факта, что часто один канал может испытывать переходы (изменения), в то время как другие поддерживаются довольно постоянными. Например, предположим, что альфа канал был добавлен к цветовому пространству RGB, которое обычно описывает прозрачность пикселя. Часто альфа канал остается константой по всему изображению, или только имеет малое количество пикселей с различными значениями для, скажем, кнопки или маленького глифа. Соответственно, используя вышеописанный вариант осуществления предварительной обработки, имеется приблизительно двадцати пяти процентное увеличения в коэффициенте сжатия чем то, когда растровое изображение 105 оставлено в чередуемом формате. Более конкретно, так как один из этих четырех каналов (в этом примере - альфа канал) может быть сильно сжат, используя только минимальное количество битов относительно количества битов для полного канала, автоматически достигаются двадцать пять процентов экономии в сжатии.

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

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

Использование вышеупомянутого варианта осуществления может быть также расширено посредством преобразования цветового пространства к другой форме и/или манипулирования цветовыми каналами. Например, как показано на Фиг.1, каскад 110 предварительной обработки включает в себя модуль 120 преобразователя цветового пространства, который может использоваться для преобразования цветовых пространств. Более конкретно, некоторые цветовые пространства, такие как некоторые со значениями яркости и цветности, лучше подходят для некоторых типов модулей 135 сжатия данных. Другими словами, посредством преобразования RGB пространства в яркость, цветность (например, YUV, YCoCg, YCbCr, и т.д.) и улучшение коэффициента сжатия может быть достигнуто на величину, равную почти 2:1. Конечно, тип расширения в коэффициенте сжатия может зависеть от типа используемого модуля 135 сжатия данных, текущей формы цифрового изображения 105 или других различных соображений. Дополнительно следует заметить, что хотя вышеупомянутое преобразование было из цветового пространства RGB в цветовое пространство яркости, цветности, другие типы преобразований также рассматриваются здесь и могут включать в себя любое из следующих или других типов известных цветовых пространств: RGB, RGBA, CMYK (голубой, пурпурный, желтый, черный), формы CIE, YUV, YIQ, YDbDr, HLS, HSL (оттенок, насыщенность, яркость), HSV (оттенок, насыщенность, значение), YCbCr, YPbPr, YCoCr, и т.д.

В дополнение к преобразованию изображения 105 из одного цветового пространства в другое, также может быть желательно модифицировать изображение 105 или цветовое пространство, чтобы достичь некоторой приемлемой потери при попытке улучшить распознавание образов модуля 135 сжатия данных, как описано в настоящем описании. Например, некоторые цветовые пространства яркости и цветности (например, YCoCg) разделяют каналы на компоненты на основании чувствительности глаза. Другими словами, глаз рассматривается как более чувствительный к изменениям в яркости (показано на Фиг.2D как 270), чем в значениях цветности (показано в пикселе 265 как элемент C1 и C2 275). Соответственно, пользуясь преимуществом перцепционных различий человеческих глаз, возможно ухудшить информацию в пределах цветового канала для расширения шаблонов, которые модели сжатия могут более эффективно обрабатывать, все же позволяя изображению оставаться перцепционно без потерь.

Как описано в настоящем описании, могут существовать несколько путей разрешения модификации цветовой информации для конкретного цветового пространства или цифрового изображения 105, чтобы увеличить коэффициенты сжатия. Например, один вариант осуществления использует модуль 125 модификации изображения, чтобы разрешить осуществление вспомогательной дискретизации (субдискретизации), как проиллюстрировано с использованием четырех представлений 280 пикселей на Фиг.2D. В таком варианте осуществления выполнения вспомогательной дискретизации одно или более значений цветового канала (например, значение 275 C1 и/или C2 цветности) может быть настроено так, чтобы соответствовать аналогичному значению цветности того же самого типа канала в смежном пикселе. Например, если два смежных пикселя имеют значение 275 цветности для, скажем, Co в цветовом пространстве YCoCb, которые только слегка отличаются, такое значение может быть нормализовано или иначе изменено, чтобы улучшить распознавание образов или избыточности.

В качестве другого примера рассмотрим эти четыре пикселя 280, показанные на Фиг.2D. Каждый имел первоначальное значение для канала конкретного цветового пространства, как показано вверху каждого пикселя (то есть 70, 102, 94, и 82), но посредством осуществления вспомогательной дискретизации каждое было изменено на значение 87 в нижнем углу, которое является средним числом всех этих значений. Как можно видеть, это осуществление вспомогательной дискретизации или модификация пространства изображения может позволить распознать эти четыре пикселя теперь в качестве шаблона при разделении такого значения канала в источники данных плоскости. Следует заметить, что этот вариант осуществления выполнения вспомогательной дискретизации может использовать любое количество известных алгоритмов для нормализации или иного преобразования значений канала, чтобы улучшить распознавание образов. Например, могут использоваться среднее число, среднее или другое статистическое значение, или нормализация может быть основана на других правилах или данных, например, таких что типы изменений будут менее значимыми. Конечно, может существовать любое количество способов модифицировать или нормализовать значения канала (даже используя случайное значение), как описано в настоящем описании; и поэтому вышеупомянутые примеры используются здесь только для иллюстративных целей.

Конечно, другая модификация изображения может быть сделана, используя модуль 125 модификации изображения. Например, квантование значений цветности или другого канала может быть желательно. Например, как показано на фиг.2D, одно значение цветности может быть представлено, используя 9 битов, как показано в сетке 285 линий. Это представление из девяти битов, однако, может требовать некоторой дополнительной обработки и более одного байта для его представления. Соответственно примерные варианты осуществления учитывают значение квантования, которое позволит, например, сократить количество битов, используемых для представления одного и того же диапазона значений. Например, если значение квантования установлено равным трем, представление в девять битов в 285 может быть уменьшено до представления из шести битов, как показано. Следует заметить при таком сокращении, что квантование цветности или другого компонента канала уменьшает размер в битах и таким образом цветовую палитру; однако, диапазон цветов должен остаться постоянным. Также следует заметить, что могут существовать другие способы модифицировать битовые значения для канала; и поэтому использование конкретной математической манипуляции или значения квантования используется здесь только для иллюстративных целей, и как предполагается, не ограничивает или иным образом не сужает объем вариантов осуществления, описанных в настоящем описании, если иначе явно не заявлено.

Имеются другие известные способы для изменения цветности и других каналов в пределах цветового пространства для улучшения распознавания образов при предварительной обработке цифровых изображений 105 в соответствии с примерными вариантами осуществления. Например, параметры 130 управления могут использоваться при установке условий при выполнении вспомогательной дискретизации и/или квантовании для определения приемлемого уровня цвета или другой потери данных в соответствии с примерными вариантами осуществления. Дополнительно могут существовать другие параметры 130 управления, которые определяют тип модулей 135 сжатия данных, которые должны быть использованы и/или служить для установки других желательных предпочтений, которые также могут быть учтены при преобразовании или ином изменении цвета, как описано в настоящем описании. Соответственно вышеупомянутые примеры выполнения вспомогательной дискретизации и квантования используются здесь только для иллюстративных целей и, как предполагается, не ограничивают или иным образом не сужают объем вариантов осуществления, описанных в настоящем описании, если иначе явно не заявлено.

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

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

//----

RawLength=ControlByte>>4;

RunLength=ControlByte&0x0f;

if (RunLength=1)

{

RunLength=16+RawLength;

RawLength=0;}

else if (RunLength=2)

{RunLength=32+RawLength;

RawLength=0;

}

//е----

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

Следует заметить, что в вышеупомянутых примерах, когда чередуемые каналы были разделены на отдельные источники данных плоскости, способы сжатия воспользовались преимуществом избыточности битов для достижения более высоких коэффициентов сжатия. Однако, стоит отметить, что другие шаблоны или распознаваемые последовательности могут также появляться посредством вышеупомянутых и других вариантов осуществления, описанных в настоящем описании. Например, как показано на Фиг.2C, обеспечивается градиентное изображение 250, где светлые цвета синего сверху изображения 250 постепенно изменяются к более темным оттенкам синего внизу 250. После преобразования в плоскую форму плоскости 255 канала синего, это градиентное изображение 250 может быть представлено слева направо (представляя сверху вниз изображения 250) в качестве значения цвета, как оно постепенно изменяется. Соответственно такое изменение формирует наклон от "нуля" до "FF" по всей плоскости 255 канала синего. Соответственно различные компрессоры могут распознавать такой шаблон и более легко сжимать этот шаблон, который иначе не был бы легко распознаваемым, когда другие каналы чередуются с каналом синего.

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

Независимо от типа модуля 135 сжатия данных, используемого для идентификации различных шаблонов, избыточности, последовательности, математических функций и т.д., как упомянуто выше, другие варианты осуществления учитывают различные стадии сжатия. Например, после выполнения вышеупомянутого разделения на плоскости и описанных методов модификации, RLE-компрессор может использоваться для идентификации избыточности отличного канала или источников данных плоскости. Эти сжатые данные можно затем передавать на другой компрессор, который может идентифицировать другие шаблоны или распознаваемые последовательности. Соответственно такой процесс может быть повторно выполнен любое число раз, чтобы достичь более высоких коэффициентов сжатия. Конечно, однако, в некоторый момент может не иметься никаких дальнейших выгод и фактически в некоторый момент дальнейшие попытки сжатия могут фактически уменьшать коэффициент сжатия. Однако варианты осуществления, описанные в настоящем описании, рассматривают использование любого количества модулей 135 сжатия, включая в себя, но не ограничиваясь, RLE, основанные на MPEG, JPEG, GIF, ZIP, основанные на LZ, JBIG, DejaVu, и т.д.

Фактически, следует заметить, что только части полного изображения 105, ранее разделенные и/или модифицированные в плоскую форму, могут быть посланы различным модулям 135 сжатия для обработки. Например, только альфа канал можно передавать на RLE компрессор 135 для обработки, в то время как другие компоненты канала передают на другие компрессоры. Такой механизм может быть выгоден при идентификации того, какие шаблоны или статистические последовательности данных являются наиболее подходящими для конкретного типа механизма сжатия. Как таковые, любое количество компрессоров и любого типа могут быть использованы в отношении различных источниках данных плоскости как необходимо.

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

Фиг.3 и 4 иллюстрируют блок-схемы последовательности этапов для различных примерных вариантов осуществления настоящего изобретения. Нижеследующее описание Фиг.3 и 4 будет иногда относиться к соответствующим элементам на Фиг.1, 2A-D. Хотя ссылка может быть сделана к конкретному элементу на этих чертежах, такие ссылки используются только для иллюстративных целей и как предполагается, не ограничивают или иначе не сужают объем описанных вариантов осуществления, если явно не заявлено.

Фиг.3 иллюстрирует блок-схему последовательности этапов способа 300 предварительной обработки изображение для улучшенного сжатия данных в соответствии с примерными вариантами осуществления. Как показано, способ 300 включает в себя действие по приему 305 цифрового изображения. Например, каскад 110 препроцессора может принимать цифровое изображение 105, которое может быть представлено как множество пикселей, при этом каждый пиксель определен первым цветовым пространством, включающим в себя цветовые каналы, которые обычно отображаются так, что расположение множества пикселей выглядит как чередуемая последовательность цветовых каналов. Другими словами, как показано в цифровом изображении 205, пиксели могут иметь чередующиеся каналы цветового пространства (например, как показано, RGB). Следует заметить, что в большинстве случаев цветовые пространства (например, RGB, RGBA, CMYK, CIELAB, CIELUV, CIE, YUV, YIQ, YDbDr, HLS, HSL, HIS, HSB, YCbCr, YPbPr, YCoCr и т.д.) обычно имеют значения трех или более каналов. Варианты осуществления, однако, рассматривают здесь цветовые пространства, которые могут только иметь значения двух или более каналов.

Способ 200 также включает в себя действие определения 310, должно ли быть цифровое изображение разделено на источники данных плоскости. Более конкретно, как упомянуто выше, цифровое изображение 105 уже может быть в форме, которая разделена на источники данных плоскости (например, канал красного, канал зеленого, канал синего 210, 215, 220). Каждый источник данных плоскости будет включать в себя данные цифрового изображения для каждого из индивидуальных цветовых каналов, так что избыточность или другая распознаваемая последовательность данных цифрового изображения могут быть легко идентифицированы модулями 135 сжатия данных, которые являются основанными на шаблоне, статически основанными или обоими. Далее, модули 135 сжатия могут быть одним или более из RLE, основанных на MPEG, JPEG, GIF, ZIP, основанных на LZ, JBIG, DejaVu, или другого известного шаблона или основанного на статистике механизма сжатия.

На основании вышеупомянутого определения способ 300 также включает в себя действие по посылке 315 источников данных плоскости к модулям сжатия данных. Более конкретно, каскад 110 предварительной обработки может посылать цифровое изображение 105, как только он принял решение, что оно находится в плоскостной форме источника данных, к модулю(ям) 135 сжатия данных. Следует заметить, что посредством разделения каналов на источники данных плоскости, такое разделение помогает модулям 135 сжатия данных более эффективно сжимать цифровое изображение 125, чем когда цифровое изображение находится в чередуемой форме.

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

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

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

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

Фиг.4 иллюстрирует способ 400 декомпрессирования данных цифрового изображения, которое было закодировано как отдельный цветовой канал цветового пространства в соответствии с примерными вариантами осуществления. Способ 400 включает в себя этап для отображения 420 цифрового изображения как чередуемой последовательности декомпрессированных цветовых каналов. Этап 420 включает в себя действие по приему 405 первого набора сжатых данных цифрового изображения, представляющих один источник данных плоскости. Например, удаленное устройство может принимать первый набор сжатых данных цифрового изображения, представляющих один из по меньшей мере двух источников данных плоскости (например, источник 210 данных плоскости канала красного), в котором каждый из по меньшей мере двух источников данных плоскости соответствует цветовому каналу первого цветового пространства для множества пикселей 205 цифрового изображения 105. Каждый из двух источников данных плоскости представляется как данные отдельного цифрового изображения так, что избыточность или любая другая распознаваемая последовательность данных цифрового изображения могут быть легко идентифицированы модулями 135 сжатия данных, которые являются основанными на шаблоне, основанными на статике, или обоими.

После этого этап 420 включает в себя действие по приему 410 второго набора сжатых данных цифрового изображения, представляющих другой источник данных плоскости. Другими словами, удаленное устройство может также принимать источник данных плоскости и источник 215 данных плоскости канала зеленого, который сжат в соответствии с примерными вариантами осуществления, описанными в настоящем описании. После этого этап 420 включает в себя и действие 415 декомпрессирования первого и второго набора сжатых данных цифрового изображения в их соответствующие источники данных плоскости. После декомпрессии источники данных плоскости могут должным образом чередоваться обратно к цифровому изображению 105 и соответственно отображены так, что каждый пиксель 205 цифрового изображения включает в себя цветовой компонент, соответствующий каждому из по меньшей мере двух источников данных плоскости. Следует заметить, что другие варианты осуществления, описанные выше применительно к предварительной обработке данных изображения, могут также соответствовать варианту осуществления декомпрессии, описанному в настоящем описании.

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

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

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

3. Способ по п.1, в котором один или более модулей сжатия данных включает в себя один или более из RLE, основанного на MPEG, JPEG, GIF, ZIP, основанного на LZ, JBIG, Deja Vu, или другого хорошо известного шаблона или основанного на статистике механизма сжатия.

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

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

6. Способ по п.1, в котором первое цветовое пространство является одним из RGB, RGBA, CMYK, CIELAB, CIELUV, CIE, YUV, YIQ, YDbDr, HLS, HSL, HIS, HSB, YCbCr, YPbPr и YCoCr.

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

8. Способ по п.7, в котором первое цветовое пространство является цветовым пространством, которое имеет цветовые каналы яркости и по меньшей мере один компонент цветности и в котором второе цветовое пространство является основанным на RGB.

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

10. Способ по п.9, в котором модификация основана на среднем для значений цветности.

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

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

13. Способ по п.12, в котором первое цветовое пространство является цветовым пространством RGB с альфа-каналом и в котором альфа-канал содержит большое количество данных избыточности, которое передают к RLE.

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

15. Способ по п.14, в котором один или более модулей сжатия данных сжимает по меньшей мере два источника данных плоскости в одну или более из следующих форм: RLE, основанную на MPEG, JPEG, GIF, ZIP, основанную на LZ, JBIG, Deja Vu, или другие хорошо известные формы основанные на шаблоне или статистике.

16. Способ по п.14, в котором первое цветовое пространство является одним из RGB, RGBA, CMYK, CIELAB, CIELUV, CIE, YUV, YIQ, YDbDr, HLS, HSL, HIS, HSB, YCbCr, YPbPr, и YCoCr.

17. Способ по п.14, в котором первое цветовое пространство преобразуют во второе цветовое пространство до отображения цифрового изображения.

18. Способ по п.17, в котором первое цветовое пространство является цветовым пространством, которое имеет цветовые каналы яркости и по меньшей мере один компонент цветности, и в котором второе цветовое пространство является основанным на RGB.

19. Способ по п.14, в котором первое цветовое пространство является RGB цветовым пространством с альфа каналом с большим количеством данных избыточности, и в котором альфа канал принимают как сжатый RLE поток.

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



 

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

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

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

Изобретение относится к вычислительной технике. .

Изобретение относится к области кодирования и декодирования видеосигналов. .

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

Изобретение относится к области обработки изображений. .

Изобретение относится к обработке изображения, в частности к способам и системам кодирования и декодирования изображений. .

Изобретение относится к обработке изображений и, в частности, к системам кодирования и декодирования изображений. .

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

Изобретение относится к системам сжатия аудиосигнала, изображений и видеосигнала

Изобретение относится к области электросвязи

Изобретение относится к средствам оцифровки кадра изображения

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

Изобретение относится к средствам цифровой обработки изображений

Изобретение относится к области обработки изображения и, более конкретно, к способам универсальной корректировки блочности изображения при низком быстродействии (малом количестве миллионов команд в секунду) (MIP)

Изобретение относится к средствам записи и обработки видеоизображения

Изобретение относится к системам для адаптации и представления информации веб-страниц для ее отображения в клиентском устройстве

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

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