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

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

Info

Publication number
RU2433478C2
RU2433478C2 RU2008134468/08A RU2008134468A RU2433478C2 RU 2433478 C2 RU2433478 C2 RU 2433478C2 RU 2008134468/08 A RU2008134468/08 A RU 2008134468/08A RU 2008134468 A RU2008134468 A RU 2008134468A RU 2433478 C2 RU2433478 C2 RU 2433478C2
Authority
RU
Russia
Prior art keywords
digital image
color
data
color space
image data
Prior art date
Application number
RU2008134468/08A
Other languages
English (en)
Other versions
RU2008134468A (ru
Inventor
Брайан К. МАКДАУЭЛЛ (US)
Брайан К. МАКДАУЭЛЛ
Надим Й. АБДО (US)
Надим Й. АБДО
Пол КОУЛМАН (US)
Пол КОУЛМАН
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2008134468A publication Critical patent/RU2008134468A/ru
Application granted granted Critical
Publication of RU2433478C2 publication Critical patent/RU2433478C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Color Image Communication Systems (AREA)

Abstract

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

Description

Перекрестная ссылка на связанные заявки
Настоящая заявка испрашивает приоритет предварительной заявки на патент США №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 цифрового изображения включает в себя цветовой компонент, соответствующий каждому из по меньшей мере двух источников данных плоскости. Следует заметить, что другие варианты осуществления, описанные выше применительно к предварительной обработке данных изображения, могут также соответствовать варианту осуществления декомпрессии, описанному в настоящем описании.
Настоящее изобретение может быть воплощено в других конкретных формах без отрыва от его объема и существенных характеристик. Описанные варианты осуществления должны быть рассмотрены во всех отношениях только как иллюстративные, а не ограничительные. Объем изобретения, поэтому, определяется прилагаемой формулой изобретения вместо того, чтобы определяться в соответствии с предшествующим описанием. Все изменения, которые попадают в пределы эквивалентности признаков пунктов формулы изобретения, должны быть охвачены их объемом.

Claims (20)

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. Считываемый компьютером носитель, хранящий выполняемые компьютером команды, которые при выполнении одним или более процессорами вычислительной системы вынуждают вычислительную систему выполнять способ предварительной обработки изображения для улучшенного сжатия данных посредством обеспечения одного или более общих шаблонов в данных изображения, которые являются обычно неузнаваемыми процессором битового потока, когда данные изображения отображаются в форме с чередованием цветовых каналов, содежащий следующие этапы:
прием цифрового изображения, представленного как множество пикселей, причем каждый пиксель определен первым цветовым пространством, включающим в себя по меньшей мере два цветовых канала, которые обычно отображаются так, что размещение множества пикселей проявляется как чередуемая последовательность по меньшей мере двух цветовых каналов;
определение, разделено ли цифровое изображение на по меньшей мере два источника данных плоскости, каждый из которых включает в себя данные цифрового изображения для каждого отдельного из по меньшей мере двух цветовых каналов так, что избыточность или другая распознаваемая последовательность данных цифрового изображения могут быть легко идентифицированы одним или более модулями сжатия данных, которые являются основанными на шаблоне, основанными на статистике, или обоими; и
на основании вышеупомянутого определения посылку по меньшей мере двух источников данных плоскости к одному или более модулям сжатия данных, чтобы помочь одному или более модулям сжатия данных более эффективно сжимать цифровое изображение, чем то, когда цифровое изображение находится в его чередуемой форме.
RU2008134468/08A 2006-02-23 2007-01-16 Предварительная обработка данных изображения для улучшенного сжатия RU2433478C2 (ru)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US77664806P 2006-02-23 2006-02-23
US60/776,648 2006-02-23
US11/469,406 2006-08-31
US11/469,406 US8243340B2 (en) 2006-02-23 2006-08-31 Pre-processing of image data for enhanced compression

Publications (2)

Publication Number Publication Date
RU2008134468A RU2008134468A (ru) 2010-02-27
RU2433478C2 true RU2433478C2 (ru) 2011-11-10

Family

ID=38427885

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008134468/08A RU2433478C2 (ru) 2006-02-23 2007-01-16 Предварительная обработка данных изображения для улучшенного сжатия

Country Status (9)

Country Link
US (2) US8243340B2 (ru)
EP (1) EP1989682A4 (ru)
KR (1) KR20080106185A (ru)
CN (1) CN101416220B (ru)
AU (1) AU2007225420A1 (ru)
CA (1) CA2636241A1 (ru)
RU (1) RU2433478C2 (ru)
TW (1) TW200733737A (ru)
WO (1) WO2007106210A1 (ru)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2488885C1 (ru) * 2012-01-13 2013-07-27 Общество с ограниченной ответственностью "Вокорд СофтЛаб" Способ обработки растровых изображений
RU2648276C1 (ru) * 2014-03-27 2018-03-23 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Корректировка квантования/масштабирования и обратного квантования/масштабирования при переключении цветовых пространств
US10171833B2 (en) 2014-03-04 2019-01-01 Microsoft Technology Licensing, Llc Adaptive switching of color spaces, color sampling rates and/or bit depths
US10182241B2 (en) 2014-03-04 2019-01-15 Microsoft Technology Licensing, Llc Encoding strategies for adaptive switching of color spaces, color sampling rates and/or bit depths
US10687069B2 (en) 2014-10-08 2020-06-16 Microsoft Technology Licensing, Llc Adjustments to encoding and decoding when switching color spaces

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7609882B2 (en) * 2005-05-25 2009-10-27 Himax Technologies Limited Image compression and decompression method capable of encoding and decoding pixel data based on a color conversion method
US8243340B2 (en) 2006-02-23 2012-08-14 Microsoft Corporation Pre-processing of image data for enhanced compression
US8194977B2 (en) * 2008-12-09 2012-06-05 Microsoft Corporation Remote desktop protocol compression acceleration using single instruction, multiple dispatch instructions
CN101478685B (zh) * 2009-01-16 2012-05-23 中兴通讯股份有限公司 一种抗干扰的网络视频传输方法及装置
CN102244779B (zh) * 2010-05-11 2014-07-30 联想(北京)有限公司 数据的发送和接收方法及设备、数据传输系统
US8989507B2 (en) 2010-07-05 2015-03-24 International Business Machines Corporation Bitmap compression for fast searches and updates
KR20130025276A (ko) * 2011-09-01 2013-03-11 삼성전자주식회사 이미지 파일 압축 시스템 및 그 압축 방법
JP6056124B2 (ja) * 2011-09-05 2017-01-11 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
KR101288754B1 (ko) * 2012-03-21 2013-07-23 주식회사트레디오 칼라 채널 코드 인식 장치
CN102821279A (zh) * 2012-07-31 2012-12-12 北京天神互动科技有限公司 一种保留alpha通道的图片压缩方法
US9098887B2 (en) * 2012-10-12 2015-08-04 Mediatek Inc. Image compression method and apparatus for encoding pixel data of frame into interleaved bit-stream, and related image decompression method and apparatus
US8791843B2 (en) 2012-10-15 2014-07-29 Lsi Corporation Optimized bitstream encoding for compression
US9035809B2 (en) 2012-10-15 2015-05-19 Seagate Technology Llc Optimizing compression engine throughput via run pre-processing
US9177393B2 (en) 2013-02-04 2015-11-03 Qualcomm Incorporated Mixed mode for frame buffer compression
US9460527B2 (en) 2013-02-04 2016-10-04 Qualcomm Incorporated Pattern mode for frame buffer compression
US9654777B2 (en) 2013-04-05 2017-05-16 Qualcomm Incorporated Determining palette indices in palette-based video coding
US20150124873A1 (en) * 2013-11-01 2015-05-07 Microsoft Corporation Chroma Down-Conversion and Up-Conversion Processing
US10291827B2 (en) * 2013-11-22 2019-05-14 Futurewei Technologies, Inc. Advanced screen content coding solution
WO2015090219A1 (en) * 2013-12-18 2015-06-25 Mediatek Inc. Method and apparatus for palette initialization and management
EP3090559A2 (en) * 2014-01-02 2016-11-09 VID SCALE, Inc. Two-dimensional palette coding for screen content coding
WO2015143351A1 (en) 2014-03-21 2015-09-24 Futurewei Technologies, Inc. Advanced screen content coding with improved color table and index map coding methods
US10091512B2 (en) 2014-05-23 2018-10-02 Futurewei Technologies, Inc. Advanced screen content coding with improved palette table and index map coding methods
CN105323583B (zh) 2014-06-13 2019-11-15 财团法人工业技术研究院 编码方法、解码方法、编解码系统、编码器与解码器
TWI581616B (zh) * 2014-06-13 2017-05-01 財團法人工業技術研究院 編碼方法、解碼方法、編解碼系統、編碼器與解碼器
US20160234494A1 (en) * 2015-02-10 2016-08-11 Qualcomm Incorporated Restriction on palette block size in video coding
CN105992003B (zh) * 2015-03-01 2021-04-27 上海天荷电子信息有限公司 依据排序或频度对调色板颜色编号的图像压缩方法和装置
US11019365B2 (en) * 2015-07-30 2021-05-25 Zhejiang Dahua Technology Co., Ltd. Methods and systems for image compression
CN106954073B (zh) * 2016-01-07 2020-11-13 海信视像科技股份有限公司 一种视频数据输入和输出方法、装置与系统
US10448024B2 (en) * 2016-01-11 2019-10-15 Qualcomm Incorporated System and methods for calculating distortion in display stream compression (DSC)
CN105930366A (zh) * 2016-04-13 2016-09-07 郑州悉知信息科技股份有限公司 一种统计方法及装置
EP3309744A1 (en) 2016-10-12 2018-04-18 Asc D.O.O. Image processing system and image processing method for processing image data of at least one image frame
CN106803945A (zh) * 2017-01-23 2017-06-06 武汉市瑞达源科技有限公司 处理使用彩色图像传感器采集的图像的方法
US10623692B2 (en) 2018-07-13 2020-04-14 Analog Devices Global Unlimited Company High definition analog video and control link for automotive applications
US10855951B2 (en) 2018-07-13 2020-12-01 Analog Devices Global Unlimited Company Methods and devices for compensating sag effect
US10534948B1 (en) 2019-03-18 2020-01-14 Capital One Services, Llc Optimizing detection of images in relation to targets based on colorspace transformation techniques
US10496862B1 (en) 2019-03-18 2019-12-03 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing ultraviolet light
US10509991B1 (en) 2019-03-18 2019-12-17 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing infrared light
US10496911B1 (en) 2019-03-18 2019-12-03 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing ultraviolet and infrared light
US10523420B1 (en) 2019-04-18 2019-12-31 Capital One Services, Llc Transmitting encoded data along transmission mediums based on colorspace schemes
US10504013B1 (en) 2019-04-24 2019-12-10 Capital One Services, Llc Colorspace encoding multimedia data on a physical page
US10529300B1 (en) 2019-06-20 2020-01-07 Capital One Services, Llc Adaptive image display based on colorspace conversions
US10614635B1 (en) 2019-07-25 2020-04-07 Capital One Services, Llc Augmented reality system with color-based fiducial marker
US10833852B1 (en) 2019-10-03 2020-11-10 Capital One Services, Llc Encoded data along tape based on colorspace schemes
US10715183B1 (en) 2019-10-25 2020-07-14 Capital One Services, Llc Data encoding with error-correcting code pursuant to colorspace schemes
US10867226B1 (en) 2019-11-04 2020-12-15 Capital One Services, Llc Programmable logic array and colorspace conversions
US10762371B1 (en) * 2019-11-14 2020-09-01 Capital One Services, Llc Object detection techniques using colorspace conversions
US10878600B1 (en) 2019-12-10 2020-12-29 Capital One Services, Llc Augmented reality system with color-based fiducial marker utilizing local adaptive technology
US11302036B2 (en) 2020-08-19 2022-04-12 Capital One Services, Llc Color conversion between color spaces using reduced dimension embeddings

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4716453A (en) * 1985-06-20 1987-12-29 At&T Bell Laboratories Digital video transmission system
CN1015859B (zh) * 1990-06-18 1992-03-11 陈长元 彩色信号色名编码方法
US5260783A (en) * 1991-02-21 1993-11-09 Gte Laboratories Incorporated Layered DCT video coder for packet switched ATM networks
JPH04323963A (ja) 1991-04-23 1992-11-13 Canon Inc 画像処理方法及び装置
WO1993014600A1 (en) * 1992-01-21 1993-07-22 Supermac Technology Method and apparatus for compression and decompression of color image data
US5359694A (en) 1992-07-27 1994-10-25 Teknekron Communications Systems, Inc. Method and apparatus for converting image data
US5666137A (en) 1993-08-06 1997-09-09 Intel Corporation Packed YUV9 format for interleaved storage and efficient processing of digital video data
US5363098A (en) 1993-10-25 1994-11-08 Digital Equipment Corporation Byte aligned data compression
US5519794A (en) 1994-04-01 1996-05-21 Rotaventure L.L.C. Computer-generated autostereography method and apparatus
EP0882376A2 (en) 1996-02-20 1998-12-09 Ericsson Inc. Sending graphic images to mobile terminals
US6005546A (en) 1996-03-21 1999-12-21 S3 Incorporated Hardware assist for YUV data format conversion to software MPEG decoder
JP3732900B2 (ja) 1996-08-29 2006-01-11 ペンタックス株式会社 画像圧縮装置および画像伸張装置
US5940080A (en) 1996-09-12 1999-08-17 Macromedia, Inc. Method and apparatus for displaying anti-aliased text
US6970504B1 (en) 1996-12-18 2005-11-29 Thomson Licensing Parallel decoding of interleaved data streams within an MPEG decoder
US5907297A (en) 1997-02-28 1999-05-25 Oracle Corporation Bitmap index compression
JPH11122495A (ja) 1997-10-09 1999-04-30 Olympus Optical Co Ltd 画像符号化装置
US6661839B1 (en) * 1998-03-24 2003-12-09 Advantest Corporation Method and device for compressing and expanding data pattern
US6356588B1 (en) * 1998-04-17 2002-03-12 Ayao Wada Method for digital compression of color images
US6721455B1 (en) * 1998-05-08 2004-04-13 Apple Computer, Inc. Method and apparatus for icon compression and decompression
US6154493A (en) 1998-05-21 2000-11-28 Intel Corporation Compression of color images based on a 2-dimensional discrete wavelet transform yielding a perceptually lossless image
RU2195694C2 (ru) 1998-10-16 2002-12-27 Иванов Анатолий Геннадьевич Способ формирования изображения, устройство для его осуществления и способ формирования видеосигнала
GB9904770D0 (en) 1999-03-02 1999-04-28 Canon Kk Apparatus and method for compression of data
US6476811B1 (en) 1999-09-01 2002-11-05 Ati International, Srl Method and apparatus for compressing parameter values for pixels in a display frame
US6591019B1 (en) 1999-12-07 2003-07-08 Nintendo Co., Ltd. 3D transformation matrix compression and decompression
US6674479B2 (en) 2000-01-07 2004-01-06 Intel Corporation Method and apparatus for implementing 4:2:0 to 4:2:2 and 4:2:2 to 4:2:0 color space conversion
US6717987B1 (en) * 2000-05-04 2004-04-06 Ati International Srl Video compression method and apparatus employing error generation and error compression
US6961063B1 (en) * 2000-06-30 2005-11-01 Intel Corporation Method and apparatus for improved memory management of video images
US6954214B2 (en) 2000-10-30 2005-10-11 Microsoft Corporation Efficient perceptual/physical color space conversion
JP3857534B2 (ja) 2001-03-21 2006-12-13 株式会社リコー 画像圧縮処理装置
US7397851B2 (en) * 2001-05-10 2008-07-08 Roman Kendyl A Separate plane compression
JP4019790B2 (ja) * 2002-05-23 2007-12-12 富士ゼロックス株式会社 画像処理装置および画像処理プログラム
US6831575B2 (en) 2002-11-04 2004-12-14 The Regents Of The University Of California Word aligned bitmap compression method, data structure, and apparatus
CN1190755C (zh) 2002-11-08 2005-02-23 北京工业大学 基于感知器的彩色图像无损压缩方法
US7532765B2 (en) * 2002-12-30 2009-05-12 Intel Corporation Run length encoded digital image
US7602537B2 (en) * 2004-05-06 2009-10-13 Canon Kabushiki Kaisha Gamut mapping with primary color rotation
US7421130B2 (en) 2004-06-25 2008-09-02 Seiko Epson Corporation Method and apparatus for storing image data using an MCU buffer
US7480417B2 (en) * 2004-10-19 2009-01-20 Microsoft Corp. System and method for encoding mosaiced image data employing a reversible color transform
US8243340B2 (en) 2006-02-23 2012-08-14 Microsoft Corporation Pre-processing of image data for enhanced compression
US7773816B2 (en) * 2006-04-17 2010-08-10 Mediatek Inc. Systems and methods for decoding large images

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2488885C1 (ru) * 2012-01-13 2013-07-27 Общество с ограниченной ответственностью "Вокорд СофтЛаб" Способ обработки растровых изображений
US10171833B2 (en) 2014-03-04 2019-01-01 Microsoft Technology Licensing, Llc Adaptive switching of color spaces, color sampling rates and/or bit depths
US10182241B2 (en) 2014-03-04 2019-01-15 Microsoft Technology Licensing, Llc Encoding strategies for adaptive switching of color spaces, color sampling rates and/or bit depths
RU2648276C1 (ru) * 2014-03-27 2018-03-23 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Корректировка квантования/масштабирования и обратного квантования/масштабирования при переключении цветовых пространств
US10116937B2 (en) 2014-03-27 2018-10-30 Microsoft Technology Licensing, Llc Adjusting quantization/scaling and inverse quantization/scaling when switching color spaces
US10687069B2 (en) 2014-10-08 2020-06-16 Microsoft Technology Licensing, Llc Adjustments to encoding and decoding when switching color spaces

Also Published As

Publication number Publication date
CN101416220B (zh) 2016-01-06
US20070195369A1 (en) 2007-08-23
AU2007225420A1 (en) 2007-09-20
CN101416220A (zh) 2009-04-22
US8243340B2 (en) 2012-08-14
KR20080106185A (ko) 2008-12-04
US8837006B2 (en) 2014-09-16
RU2008134468A (ru) 2010-02-27
US20120275697A1 (en) 2012-11-01
WO2007106210A1 (en) 2007-09-20
EP1989682A4 (en) 2011-11-30
EP1989682A1 (en) 2008-11-12
CA2636241A1 (en) 2007-09-20
TW200733737A (en) 2007-09-01

Similar Documents

Publication Publication Date Title
RU2433478C2 (ru) Предварительная обработка данных изображения для улучшенного сжатия
US10136128B2 (en) Cell-based compression with edge detection
US8194977B2 (en) Remote desktop protocol compression acceleration using single instruction, multiple dispatch instructions
US7194128B1 (en) Data compression using principal components transformation
WO2014079036A1 (zh) 图像压缩方法及图像处理装置
US20130251261A1 (en) Method And Apparatus For Image Data Compression
JP2004530341A (ja) Jade−jpegベース適応的文書圧縮エンジン
US20050012645A1 (en) Compression and decompression method of image data
US9838570B2 (en) Cell-based compression with edge detection and interleaved encoding
US20090262126A1 (en) System and Method for Separated Image Compression
JP2009508427A (ja) 画像強調および圧縮
JP2016149763A (ja) 印刷デバイス、コンピュータプログラム及び方法
JP6524930B2 (ja) コンピューティング・デバイス、コンピュータプログラム及び方法
JP2000138836A (ja) 背景画素を含むディジタル画像の圧縮装置
JP2016149761A (ja) 印刷デバイス、プログラム及び方法
CN101378506A (zh) 图像压缩方法
TWI502550B (zh) Differential layered image compression method
JP3347488B2 (ja) 画像処理装置およびその方法
CN116489132A (zh) 虚拟桌面数据传输方法、服务器、客户端和存储介质
WO2023177447A1 (en) Methods and systems for high bit depth and high dynamic range image compression
JP2007104272A (ja) データ変換装置、データ変換方法、及びプログラム
JP2005159474A (ja) 画像符号化装置及び方法、並びに画像復号装置及び方法

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150526

MM4A The patent is invalid due to non-payment of fees

Effective date: 20210117