ОБРАБОТКА ИЗОБРАЖЕНИЙ Российский патент 2008 года по МПК G06T9/00 H04N9/64 G09G5/00 

Описание патента на изобретение RU2317587C1

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

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

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

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

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

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

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

Delp и Mitchell [1] описывают простую схему, называемую усеченным блочным кодированием (BTC), для кодирования изображений. Эта схема кодирует изображения шкалы уровней серого посредством учитывания блока в 4 пиксела x 4 пиксела за раз. Для каждого такого блока генерируется два 8-битных значения шкалы уровней серого, и каждый пиксел в блоке затем использует один бит для того, чтобы индексировать одну из этих шкал уровней серого. Это приводит к скорости сжатия в 2 бита на пиксел (bpp). Тем не менее, BTC страдает от искажений изображения, главным образом, в зонах вокруг краев и в областях малого контраста, содержащих наклонный уровень серого. Более того, края в изображении шкалы уровней серого, обработанном посредством BTC, имеют тенденцию быть неровными.

Простое расширение BTC, называемое сжатием по цветным ячейкам (CCC), представлено Campbell и другими [2]. Вместо использования двух 8-битных значений шкалы уровней серого для каждого блока изображения два 8-битных значения используются в качестве индексов в цветовой палитре. Эта палитра содержит 256 цветов, представляемых посредством 8 бит для каждого компонента R, G и B. 8-битный индекс в таком случае указывает на (24-битный) цвет в палитре. Это дает возможность сжатия изображений при 2 bpp. Тем не менее, это требует поиска памяти в палитре. Помимо этого, палитра ограничена по размеру. Схема CCC также предоставляет большие цветовые "неровности" и плохо кодирует в случае, когда более двух цветов существует в блоке изображений.

В описании к патенту [3], Iourcha и другие, раскрывается схема сжатия текстур, называемая S3TC (сжатие текстур S3) или DXTC (сжатие текстур DirectX), которая может рассматриваться как расширение CCC. Изображение разлагается на ряд блоков изображения по 4 пиксела x 4 пиксела. Каждый такой блок изображения кодируется в последовательности бит по 64 бита, тем самым приводя к скорости сжатия в 4 bpp. 64-битная последовательность содержит два основных цвета или цветовых кодовых слова (16 бит каждое) и 32-битную последовательность из 2-битных индексов, один индекс для каждого пиксела в блоке изображений. В ходе декодирования генерируется цветовая палитра из четырех цветов. Первые два RGB- (красный, зеленый и синий) цвета палитры соответствуют двум основным цветам (кодовым словам). Два дополнительных цвета, расположенных между основными цветами в RGB-пространстве, затем из них интерполируются. Каждый 2-битный индекс в таком случае идентифицирует для каждого пиксела один из четырех цветов палитры для того, чтобы использовать для этого пиксела.

Хотя схема S3TC работает достаточно хорошо для вычислительных терминалов, она плохо адаптирована для мобильных устройств и других тонких клиентов. Такие мобильные устройства в лучшем случае типично имеют шины памяти в 16 или 32 разряда. Таким образом, по меньшей мере, два, а возможно, до четырех обращений к памяти требуется для того, чтобы считать 64-битную сжатую версию блока изображений, если S3TC реализована в мобильном устройстве. Помимо этого, в ходе интерполяции двух дополнительных цветов цветовой палитры выполняется умножение на 1/3 и 2/3, что не является оптимальным для аппаратных средств. Сжатие с помощью S3TC также требует относительно больших временных затрат, по меньшей мере, в мобильном терминале.

Akenine-Moller и Strom [4] разработали вариант S3TC, называемый POOMA, который специально предназначен для мобильных телефонов. В POOMA блок изображений в 3 пиксела x 2 пиксела кодируется в 32 бита, обеспечивая 5,33 bpp. Кодированное 32-битное представление блока изображения адаптировано для шин памяти мобильных телефонов, которые типично в лучшем случае имеют 32 разряда. Таким образом, пиксел может быть подготовлен к просмотру с помощью только одного обращения к памяти в сравнении с двумя обращениями в S3TC. POOMA использует два основных цвета, но один дополнительный цвет, интерполированный между основными цветами, давая цветовую палитру в три цвета.

Основной недостаток POOMA заключается в размере блока 3x2 пиксела. Как результат, вычисление адреса блока для конкретного пиксела или тексела (элемента текстуры) требует деления на 3, что не является оптимальным для архитектуры аппаратных средств. Более того, ширина и высота текстур (изображений) в графике типично всегда является степенью двух, что означает, что блок шириной в 3 является неудобным. Что касается S3TC, кодирование с помощью POOMA требует относительно больших затрат времени, в частности, когда реализовано в мобильном терминале.

Fenny [5] раскрывает схему кодирования изображений, используемую в графической аппаратной платформе MBX для мобильных телефонов. Эта схема использует два изображения низкого разрешения, при этом одно изображение обычно является отфильтрованной по низким частотам версией исходного изображения. В ходе кодирования создается билинейное увеличение (масштабирование с увеличением) этих двух изображений. Каждый пиксел также сохраняет коэффициент плавного перехода между этими двумя масштабированными с увеличением изображениями. 64 бита используются для кодирования каждого блока изображений и описывается скорость в 2 bpp и 4 bpp. Необходима информация из соседних блоков изображения, что усложняет декодирование.

Сущность изобретения

Настоящее изобретение преодолевает эти и другие недостатки структур предшествующего уровня техники.

Общая задача настоящего изобретения - предоставить эффективную обработку изображений.

Другая задача изобретения - предоставить эффективное кодирование изображений и декодирование изображений.

Еще одна задача изобретения - предоставить кодирование и декодирование изображений, адаптированное для использования в тонких клиентах с низким объемом и пропускной способностью памяти.

Дополнительная задача изобретения - предоставить кодирование и декодирование изображений, адаптированное для трехмерной (3D) графики и изображений.

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

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

Согласно изобретению изображение, которое должно быть закодировано, разлагается на ряд блоков изображения, содержащих несколько элементов изображения (пикселов или элементов текстуры, текселов). Блок изображения предпочтительно содержит восемь элементов изображения и имеет размер в 2mx2n элементов изображения, где m=3-n, n=0, 1, 2, 3. Каждый элемент изображения в блоке отличается цветом, к примеру 12-битным RGB- (красный, зеленый, синий) цветом. Блоки изображения затем кодируются.

В этом блочном кодировании с потерями определяется цветовое кодовое слово для блока изображения. Цветовое кодовое слово является представлением цветов элементов изображения блока изображения. Предпочтительное представление - это среднее значение цветов элементов изображения в блоке, квантованное на 12 бит (4 бита для каждого из трех цветовых компонентов RGB-цвета). Таким образом, одно и то же цветовое кодовое слово (т.е. представление цвета) генерируется для блока изображения, т.е. для всех элементов изображения блока изображения. Далее кодовое слово интенсивности предоставляется для блока изображения. Это кодовое слово интенсивности является представлением набора из нескольких модификаторов интенсивности, которые используются (в ходе декодирования) для модифицирования или модуляции интенсивности элементов изображения в блоке изображения. После того как кодовое слово интенсивности предоставлено, представления интенсивности для элементов изображения в блоке изображения выбираются. Каждое такое представление интенсивности ассоциативно связано с модификатором интенсивности из набора модификаторов интенсивности. Другими словами, представление интенсивности предоставляет возможность идентификации того, какой модификатор интенсивности из набора использовать для конкретного элемента блока изображения.

Получившийся кодированный блок изображения в таком случае содержит цветовое кодовое слово, предпочтительно в 12 слов, кодовое слово интенсивности, предпочтительно 4 бита, и последовательность представлений интенсивности, предпочтительно, 8x2=16 бит. Получившийся размер кодированного блока изображения составляет, таким образом, только 32 бита и получается скорость сжатия в 4 бита на пиксел (элемент изображения). Этот небольшой 32-битный размер хорошо адаптирован для тонких клиентов, таких как мобильные устройства и телефоны, которые типично имеют шины памяти в 16 или 32 разряда. Как результат, только одно или, в худшем случае, два обращения к памяти затем требуются для того, чтобы считать кодированный блок изображения из ячейки памяти.

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

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

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

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

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

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

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

Изобретение предлагает следующие преимущества:

хорошо адаптировано для соответствия зрительной системы человека, поскольку компонент яркости сохраняется лучше, чем компоненты цветности;

обеспечивает высокое качество (пиковое соотношение "сигнал/шум") для различных типов изображений;

аппаратная реализация декодирования чрезвычайно проста;

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

возможно полное кодирование на допустимой скорости на вычислительной машине;

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

Другие преимущества, предлагаемые настоящим изобретением, будут приняты во внимание при прочтении нижеприведенного описания вариантов осуществления изобретения.

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

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

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

фиг.2 иллюстрирует вариант осуществления блока изображения согласно настоящему изобретению;

фиг.3 иллюстрирует другой вариант осуществления блока изображения согласно настоящему изобретению;

фиг.4 иллюстрирует вариант осуществления кодированного представления блока изображения согласно настоящему изобретению;

фиг.5 - это схема последовательности операций, иллюстрирующая этап определения цветового кодового слова, представленный на фиг.1;

фиг.6 - это схема последовательности операций, иллюстрирующая этап предоставления кодового слова интенсивности и этап выбора представления интенсивности, представленные на фиг.1;

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

фиг.8 - это схема последовательности операций, иллюстрирующая этапы предоставления набора модификаторов интенсивности и генерирования представления цвета на фиг.7;

фиг.9 - это схема последовательности операций, подробнее иллюстрирующая этап модификации интенсивности на фиг.7;

фиг.10 схематически иллюстрирует пример абонентского терминала с кодером и декодером изображений согласно настоящему изобретению;

фиг.11 - это блок-схема, схематично иллюстрирующая вариант осуществления кодера изображений согласно настоящему изобретению;

фиг.12 - это блок-схема, схематично иллюстрирующая другой вариант осуществления кодера изображений согласно настоящему изобретению;

фиг.13 - это блок-схема, схематично иллюстрирующая вариант осуществления блочного кодера согласно настоящему изобретению;

фиг.14 - это блок-схема, схематично иллюстрирующая другой вариант осуществления блочного кодера согласно настоящему изобретению;

фиг.15 - это блок-схема, подробнее схематически иллюстрирующая квантователь цветов блочного кодера фиг.13 и 14;

фиг.16 - это блок-схема, схематично иллюстрирующая вариант осуществления декодера изображений согласно настоящему изобретению;

фиг.17 - это блок-схема, схематично иллюстрирующая другой вариант осуществления декодера изображений согласно настоящему изобретению;

фиг.18 - это блок-схема, схематично иллюстрирующая вариант осуществления блочного декодера согласно настоящему изобретению;

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

фиг.20 - это блок-схема аппаратных средств, подробнее иллюстрирующая вариант осуществления расширителей бит на фиг.19;

фиг.21 - это блок-схема аппаратных средств, подробнее иллюстрирующая вариант осуществления табличного поиска на фиг.19; и

фиг.22 - это блок-схема аппаратных средств, подробнее иллюстрирующая вариант осуществления фиксаторов на фиг.19.

Подробное описание изобретения

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

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

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

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

Настоящее изобретение хорошо адаптировано для использования с трехмерной (3D) графикой, такой как игры, трехмерные карты и сцены, трехмерные сообщения, к примеру анимированные сообщения, хранители экрана, человеко-машинные интерфейсы (MMI) и т.д., но не ограничено этим. Таким образом, изобретение также может быть использовано для кодирования других типов изображений или графики, к примеру одномерных (1D) или двумерных (2D) изображений.

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

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

Фиг.1 иллюстрирует способ кодирования (без потерь) изображения согласно настоящему изобретению. На первом этапе S1 изображение разлагается или делится на ряд блоков изображения. Каждый такой блок изображения в таком случае содержит несколько элементов изображения. В предпочтительном варианте осуществления изобретения блок изображения содержит восемь элементов изображения (пикселов или текселов) и имеет размер в 2mx2n элементов изображения, где m=3-n, а n=0, 1, 2, 3. Более предпочтительно, n равно 1 или 2. Фиг.2 и 3 схематически иллюстрируют два примера блока 600 изображения с восемью элементами 610 изображения согласно настоящему изобретению. На фиг.2 высота составляет два элемента 610 изображения, а ширина - четыре элемента 610 изображения, т.е. m=1 и n=2, тогда как для блока 600 изображения на фиг. 3 m=2 и n=1. Возвращаясь к фиг.1, весь блок изображения предпочтительно разлагается на (неперекрывающиеся) блоки изображения на этапе S1. Тем не менее, в некоторых вариантах применения только часть изображения кодируется и, таким образом, только эта часть разлагается на блоки изображения.

Следующие этапы S2-S4 выполняют кодирование или сжатие блоков изображения. Сначала на этапе S2 цветовое кодовое слово определяется для блока изображения. Это цветовое кодовое слово является представлением цветов элементов изображения в блоке изображения. В предпочтительном варианте осуществления цветовое кодовое слово является представлением среднего цвета элементов изображения блока. Цветом может быть RGB- (красный, зеленый, синий) цвет, цвет в пространстве YUV или пространстве YCrCb либо любом другом собственном цветовом пространстве, используемом при обработке и управлении изображениями и графики. Цветовое кодовое слово предпочтительно содержится в том же формате (пространстве) цветов, что и изображение. Тем не менее, в некоторых случаях может быть полезно преобразовать изображение в другой формат цвета, т.е. иметь цветовое кодовое слово в первом цветовом пространстве и исходное изображение - во втором другом цветовом пространстве. Цветовое кодовое слово - это предпочтительно 12-битная последовательность представления цвета. Например, кодовое слово RGB-цвета может содержать 4 бита для красного цветового компонента, 4 бита для зеленого цветового компонента и 4 бита для синего цветового компонента.

Соответственно, кодовое слово YUV-цвета может включать в себя 6 бит, 3 бита и 3 бита соответственно для трех различных компонентов.

Заметим, что одно и то же цветовое кодовое слово (т.е. представление цвета) генерируется для блока изображения, т.е. для всех элементов изображения блока изображения.

Далее предоставляется кодовое слово интенсивности на этапе S3. Это кодовое слово интенсивности является представлением набора из нескольких модификаторов интенсивности, которые используются (в ходе декодирования) для модифицирования интенсивности элементов изображения в блоке изображения.

В предпочтительном варианте осуществления изобретения кодовое слово интенсивности - это индекс интенсивности, предоставляющий возможность идентификации набора модификаторов интенсивности. Этот индекс в таком случае может идентифицировать или указывать на набор в таблице или словаре кодов, содержащем несколько различных наборов модификаторов интенсивности. Каждый набор содержит два или более значения модификаторов интенсивности, предпочтительно, по меньшей мере, четыре значения модификаторов. Помимо этого, значения модификаторов набора предпочтительно являются математически дополнительными значениями, т.е. каждый набор предпочтительно является симметричным. Например, возможным набором модификаторов интенсивности может быть [-a, -b, b, a], где a и b - это положительные целые числа и a>b.

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

Фактические значения модификаторов интенсивности наборов в таблице могут быть найдены посредством начала со случайными значениями и последующей оптимизации этих значений с помощью ряда различных схем и алгоритмов оптимизации, таких как версии LBG-алгоритма (Linde, Buzo и Gray) [6], модельная "закалка" и координатный поиск, которые известны специалистам в данной области техники. Небольшое количество изображений различных типов, к примеру фотографий, текстур типов игр, текста и т.д. может быть использовано в качестве обучающих данных.

Чтобы сделать аппаратную реализацию таблицы интенсивности менее дорогой, модификаторы интенсивности набора могут принудительно быть сделаны симметричными, как описано выше, и/или модификаторы интенсивности данного набора могут быть копией модификаторов интенсивности другого набора, модифицированного на коэффициент, к примеру, два.

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

Таблица 1

НаборКодовое словоЗначение модификатора интенсивности10000bin-8-22820001bin-12-441230010bin-31-663140011bin-34-12123450100bin-50-885060101bin-47-19194770110bin-80-28288080111bin-127-424212791000bin-16-4416101001bin-24-8824111010bin-62-121262121011bin-68-242468131100bin-100-1616100141101bin-94-383894151110bin-160-5656160161111bin-254-8484254

В таблице 1 наборы 9-16 модификаторов интенсивности - это копия наборов 1-8, умноженных на коэффициент два.

Если таблица интенсивности содержит, самое большее, 16 различных наборов модификаторов интенсивности, кодовое слово интенсивности - это, предпочтительно, 4-битный индекс (0000bin-1111bin), идентифицирующий один из (16) наборов, к примеру [-8, -2, 2, 8] для кодового слова 0000bin (0000 база 2) таблицы. Благодаря тщательному подбору значений модификаторов в наборах (симметричные наборы и половина наборов - это коэффициент два оставшейся половины) вся таблица 1 может быть восстановлена с помощью только 16 значений модификаторов, а оставшиеся 48 значений могут быть вычислены из них.

Настоящее изобретение, тем не менее, не ограничено использованием таблицы 1, но может использовать другие таблицы с другими наборами и значениями модификаторов интенсивности. Более того, для более или менее 16 наборов в таблице размер кодового слова интенсивности может потребоваться изменить. Например, если таблица содержит два (3-4, 5-8 или более 16) наборов модификаторов интенсивности, размер кодового слова может быть ограничен одним битом (двумя битами, тремя битами или более чем четырьмя битами). Помимо этого, число значений модификаторов интенсивности может отличаться от четырех, к примеру, пять значений может быть использовано на набор, давая пример из [-8, -2, 0, 2, 8]. Значения интенсивности наборов в таблице могут быть определены с помощью нескольких различных типов изображений в качестве обучающих данных, как описано выше. Тем не менее, если только конкретный тип изображения должен быть закодирован, значения модификатора могут быть определены с помощью обучающих данных, соответствующих этому типу изображения, т.е. предоставлением таблицы интенсивности, выделенной для конкретного типа изображения. Также может быть возможно иметь таблицу интенсивности со значениями модификаторов интенсивности, адаптированными для конкретного изображения. В этих случаях, т.е. таблица, выделенная для изображения или типа изображения, может быть необходимо включить значения модификаторов интенсивности в сжатый файл кодированных блоков изображения или иным образом связать их с ними.

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

Заметим, что один и тот же набор модификаторов интенсивности используется для блока изображения.

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

В случае набора модификаторов интенсивности, содержащего четыре значения модификаторов, такие как -8, -2, 2, 8, представлением интенсивности может быть 2-битная последовательность, идентифицирующая одно из этих четырех значений, к примеру, 11bin соответствует -8, 10bin соответствует to -2, 00bin соответствует 2, а 01bin соответствует 8. Если более четырех значений модификаторов интенсивности используются на набор, то более двух битов необходимо для каждого элемента интенсивности, чтобы идентифицировать корректный модификатор.

Этап S4 предпочтительно повторяется для всех элементов изображения в блоке изображения (схематически проиллюстрированном линией 1). Результат кодирования этапов S2-S4 - это кодированный блок изображений или, более точно, (сжатое) представление кодированного блока изображения. Такое представление 700 кодированного блока проиллюстрировано на фиг.4. Представление 700 (кодированный блок изображений) содержит цветовое кодовое слово 710, кодовое слово 720 интенсивности и последовательность или растр 730 представлений интенсивности (предпочтительно одно представление интенсивности для каждого элемента изображения в блоке). Заметим, что взаимный порядок цветового кодового слова 710, кодового слова 720 интенсивности и последовательности 730 представления интенсивности кодированного блока 700 изображения может отличаться от проиллюстрированного на чертеже.

Если блок изображения содержит восемь элементов изображения (см., к примеру, фиг.2 и 3), и каждое представление интенсивности составляет 2 бита, размер последовательности 730 составляет 16 бит. Более того, предположим, что соответствующие размеры цветовых кодовых слов и кодовых слов интенсивности составляют 12 и 4 бита соответственно. Общий размер кодированного представления 700 блока изображения составляет в таком случае 32 бита, и получается скорость сжатия в 4 бита на пиксел (элемент изображения) (bpp). Этот небольшой (32 бита) размер представления 700 хорошо адаптирован для тонких клиентов, таких как мобильные устройства и телефоны, которые типично имеют шины памяти в 16 или 32 бита. Как результат, только одно или, в худшем случае, два обращения к памяти затем требуются для того, чтобы считать кодированное представление 700.

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

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

Фиг.5 иллюстрирует вариант осуществления этапа S2 с фиг.1. На этапе S10 определяется средний цвет элементов изображения в блоке изображения. Далее предполагается, что цвет пиксела или тексела (элемента изображения) изображения представлен посредством 24 бит RGB-цвета, т.е. 8 бит красного компонента, 8 бит зеленого компонента и 8 бит синего компонента. Тем не менее, изобретение не ограничено этим конкретным примером, но может быть применено к любому представлению цвета пикселов и текселов. Средний цвет в таком случае определяется как:

(1)

где Ri, Gi, Bi - это R, G, B компонент элемента изображения i, а N - это общее число элементов изображения в блоке изображения.

После того как средний цвет определен на этапе S10, следующий этап S11 квантует средний цвет. (24-битный) средний цвет предпочтительно квантуется на 12-битную последовательность (цветовое кодовое слово). Другими словами, каждый 8-битный средний компонент квантуется на 4-битный средний компонент. Например, если средний цвет вычисляется как:

,

4-битная квантованная версия может быть сгенерирована из:

,

т.е. [A, 5, 1]hex=[1010, 0101, 0001]bin может быть использовано в качестве (12-битного) цветового кодового слова. Способ затем переходит к этапу S3 фиг.1.

Фиг.6 иллюстрирует вариант осуществления этапов S3 и S4 с фиг.1. На этапе S20 изучают различные наборы модификаторов интенсивности таблицы и различные значения наборов и вычисляют значение ошибки для каждого такого набора модификаторов и проверки значений модификаторов. На основе этих значений ошибки набор модификаторов и значения модификаторов интенсивности набора, который приводит к наименьшему значению ошибки, выбирается на этапе S21. Это описано подробнее далее. На этом способ завершается.

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

Простое кодирование

Чтобы закодировать блок изображения согласно этому варианту осуществления изобретения, в основном выбирается цветовое кодовое слово и корректный набор модификаторов интенсивности. После того как это сделано, кодирование каждого элемента изображения в блоке изображения выполняется посредством попытки использования всех четырех модификаторов интенсивности набора и вычисления ошибки. Предположим, что исходный (24-битный) цвет элемента изображения - это (R, G, B), и что цветовое кодовое слово (квантованный средний цвет, 12 бит) - это , а также что выбранный набор модификаторов - это [-a, -b, b, a]. Значение ошибки в таком случае может быть определено как:

(2)

где α [-a, -b, b, a]. Для каждого из элементов изображения в блоке изображения выбирается значение a, которое минимизирует ошибку ε2. Это может быть реализовано посредством вычисления значения ошибки для первого варианта значений модификаторов элементов изображения и сохранения этого первого значения ошибки (и выбранного варианта значений модификаторов). Затем вычисляется значение ошибки для другого варианта значений модификатора. Это значение ошибки после этого сравнивается с сохраненным значением. Если оно меньше сохраненного значения, сохраненное значение заменяется этим новым значением ошибки и значения модификаторов, используемые при расчете этого значения ошибки, также сохраняются. Далее это повторяется для всех сочетаний модификаторов и наборов.

Уравнение (2) обеспечивает наилучшую производительность в отношении пикового соотношения "сигнал/шум" (PSNR), поскольку оно минимизирует среднеквадратическую ошибку изображения. При восприятии, тем не менее, это может не обеспечить наилучший результат. Для некоторых пикселов (элементов изображения) p1 и p2, где p1 кажется ярче p2 в исходном изображении, p2 может казаться ярче p1 в декодированной версии изображения. Причина этого заключается в том, что красный, зеленый и синий компоненты не вносят равный вклад в то, что зрительная система человека воспринимает как интенсивность. Поскольку зеленый компонент обеспечивает непропорциональный вклад в восприятие интенсивности, его аппроксимация должна быть представлена с большей определенностью (более точно), чем аппроксимации красного и синего. Как результат, взвешенное значение ошибки может быть использовано, например:

(3)

где wR, wG, wB - это различные весовые коэффициенты цветовых компонентов. Помимо этого, wG предпочтительно больше wR и wB. Например, wR=5/16, wG=9/16, а wB=2/16 или wR=0,299, wG=0,587, а wB=0,114.

В этом простом кодировании средний цвет восьми элементов изображения в блок, квантованный до 4 бит на цветовой компонент, используется в качестве цветового кодового слова. Корректный набор модификаторов интенсивности затем выбирается посредством поиска методом полного перебора, т.е. все 16 наборов в таблице проверяются, и выбирается набор, который минимизирует значение ошибки. Это требует 16x4=64 оценок на элемент изображения. Если весовые коэффициенты равны wR=5/16, wG=9/16, а wB=2/16, целочисленная арифметика может быть использована, и кодирование выполняется быстро. Для этого варианта весовых коэффициентов кодирование изображения из 128x128 пикселов (элементов изображения) с помощью простого кодирования занимает примерно 60 мс на настольной ПЭВМ 1,2 ГГц.

Полное кодирование

При описанном выше простом декодировании квантованный средний цвет просто использовался как представление (цветовое кодовое слово) цветов элементов изображения в блоке изображения. В этом варианте осуществления полного кодирования согласно изобретению и цвета, и наборы модификаторов интенсивности (в том числе значения модификаторов) выбираются, т.е. рассматривается каждая возможная комбинация. Для данного элемента изображения дополнительная итерация через все 12 бит цвета добавляется помимо предыдущей итерации всех 4 бит набора модификаторов интенсивности и 2 бит представления интенсивности, что вместе дает 218 шагов. Кодирование изображения в 128x128 пикселов занимает примерно 5 минут с помощью такой же настольной ПЭВМ, что и для простого сжатия. Хотя это может быть слишком долго для приложений динамического режима, это не является препятствием для автономного кодирования. Сравнение результатов полного кодирования с результатами вышеописанного простого кодирования показывает разницу в PSNR примерно в 1,5 дБ. Визуально изображения отличаются в том, что некоторые области изображений, закодированные с помощью схемы простого кодирования, показывают изменения цвета. Отдельные блоки изображений в других областях серого внезапно получают слегка зеленоватую тень. Причина этого заключается в том, что в простой схеме компоненты R, G и B цветного кодового слова квантуются по-отдельному, что является субоптимальным.

Объединенное квантование

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

Если Rlow и Rhigh означают 4-битные уровни квантования или значения, которые непосредственно ниже и выше соответственно, так что Rlowhigh. В таком случае задача - выбрать как Rlow или Rhigh. То же применимо для зеленого и синего компонентов.

Сначала вычисляется значение ошибки с помощью

. (4)

Это может быть упрощено до:

, (5)

где , и . Дополнительно предположим, что α (модификатор интенсивности) может быть выбран легко, т.е. равен оптимуму . Вставка этого оптимума в уравнение (5) дает после упрощения:

, (6)

где ξ - это выражение в скобках.

Тем не менее, если вместо этого выбирается более высокое значение для красного компонента, т.е. , и используется тот факт, что , уравнение (5) может быть перезаписано как:

. (7)

Это выражение может быть дополнительно упрощено посредством вставки оптимума для этого случая в:

(8)

Чтобы определить, какой из этих двух квантованных цветов (цветовых кодовых слов) (Rlow, Glow, Blow) или (Rhigh, Glow, Blow) является оптимальным, т.е. дает наименьшее значение ошибка, изучается дополнительное выражение в квадратных скобках уравнения (8). Иными словами, если <0, должно быть выбрано (Rhigh, Glow, Blow), в противном случае выбирается (Rlow, Glow, Blow) (в случае =0 либо кодовое слово может быть выбрано). Эта процедура затем повторяется для всех возможных сочетаний высокого и низкого квантования трех цветовых компонентов, т.е. для всех соседних квантованных цветов среднего цвета. Результат представлен в таблице 2 ниже.

Таблица 2Цветовое кодовое словоЗначение ошибки ε2Rlow, Glow, BlowRhigh, Glow, BlowRlow, Ghigh, BlowRlow, Glow, BhighRlow, Ghigh, BhighRhigh, Glow, BhighRhigh, Ghigh, BlowRhigh, Ghigh, Bhigh

Заметим, что ξ необязательно должно быть явно вычислено, только выражения (представления ошибки) в квадратных скобках таблицы 2 должны быть вычислены для того, чтобы выбрать уровни квантования (цветовое кодовое слово), чтобы использовать. Дополнительно отметим, что цветовое кодовое слово (Rlow, Glow, Blow) и (Rhigh, Ghigh, Bhigh) дают одинаковое значение ошибки. Это при допущении, что только α (значение модификатора интенсивности) может быть достигнуто. Тем не менее, в действительности α ограничено значениями модификаторов интенсивности используемых наборов модификаторов, к примеру значений модификаторов таблицы 1. Согласно таблице 1 меньшие значения модификаторов (α) могут быть заданы с большей точностью, чем большие значения, что означает, что лучше выбирать (Rhigh, Ghigh, Bhigh), чем (Rlow, Glow, Blow), если ближе к (Rhigh, Ghigh, Bhigh), чем к (Rlow, Glow, Blow), и наоборот. Объединенное квантование этого варианта осуществления изобретения увеличивает PSNR примерно на 1 дБ по сравнению с простым кодированием. Таким образом, PSNR только примерно на 0,5 дБ ниже, чем результат (оптимальной) схемы полного кодирования.

Общее время кодирования не изменилось существенно по сравнению с простым кодированием, т.е. изображение 128x128 пикселов по-прежнему сжимается примерно за 60 мс.

Также можно создать таблицу, соответствующую таблице 2, с помощью персептивно взвешенного сообщения об ошибке из уравнения (3). Оптимум α в таком случае равен для . Если значения ошибки для Rlow, Glow, Blow и Rhigh, Ghigh, Bhigh "нормализованы" в 0 (в первую очередь соответствует вычитанию из значения ошибки ε2 для всех различных вариантов R, G и B в таблице 2), следующая таблица нормализованного значения ошибки получается. Заметим, что нормализованные значения ошибки для цветовых кодовых слов, отличные от Rlow, Glow, Blow и Rhigh, Ghigh, Bhigh табл. 3, соответствуют выражениям в квадратных скобках таблицы 2.

Таблица 3Цветовое кодовое словоНормализованное значение ошибки ε2Rlow, Glow, Blow0Rhigh, Glow, Bloww2R[17(w2G+w2B)-2w2GGR)-2w2BBR)]Rlow, Ghigh, Bloww2G[17(w2R+w2B)-2w2RRG)-2w2BBG)]Rlow, Glow, Bhighw2B[17(w2R+w2G)-2w2RRB)-2w2GGB)]Rlow, Ghigh, Bhighw2R[17(w2G+w2B)-2w2GGR)-2w2BBR)]Rhigh, Glow, Bhighw2G[17(w2R+w2B)-2w2RRG)-2w2BBG)]Rhigh, Ghigh, Bloww2B[17(w2R+w2G)-2w2RRB)-2w2GGB)]Rhigh, Ghigh, Bhigh0

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

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

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

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

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

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

Этапы S32 и S33 могут быть выполнены для нескольких элементов изображения в блоке изображения (схематически проиллюстрированном линией 3). Изобретением предполагается, что в некоторых вариантах применения только один элемент изображения декодируется из конкретного блока изображения, несколько элементов изображения конкретного блока изображения декодируется, и/или все элементы изображения конкретного блока декодируются.

Этапы S30-S33 в этом случае предпочтительно повторяются для всех блоков изображения, которые содержат элементы изображения, которые должны быть декодированы (схематически проиллюстрированные линией 4). Это означает, что цикл этапов S30-S33 может быть выполнен один раз, но чаще всего несколько раз для различных кодированных блоков изображения и/или несколько раз для конкретного кодированного блока изображения.

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

Фиг.8 иллюстрирует вариант осуществления этапов S30 и S31 с фиг.7. На этапе S40 корректный набор модификаторов интенсивности идентифицируется и выбирается из таблицы интенсивности посредством кодового слова интенсивности. Если набор модификаторов интенсивности, сохраненный в таблице интенсивности, содержит первый поднабор значений интенсивности, к примеру [a, b], второй поднабор значений модификатора интенсивности может быть определен из значений первого поднабора, к примеру [-a, -b]. На следующем этапе S41 квантованный цвет цветового кодового слова, предпочтительно 12 бит, расширяется или удлиняется до предпочтительно 24 бит. Для случая с RGB-цветов каждый квантованный 4-битный цветовой компонент цветового кодового слова далее удлиняется до 8-битного цветового компонента. Это расширение цвета может быть реализовано посредством умножения квантованных 4-битных цветовых компонентов на 17 для реализации с 256 различными цветами . Это то же самое, что повторение 4-битного шаблона до первых (верхних) и последних (нижних) 4 бит удлиненного 8-битного цветового слова. Другими словами, 4-битный цветовой компонент 1010bin расширяется до 1010 1010bin. Если цветовое кодовое слово вместо этого содержит 15 бит (5 бит для каждого компонента R, G, B), расширение приведет к 30-битному цвету. Это может быть реализовано посредством умножения (5-битного) цветового компонента на 33 или повторения 5-битного шаблона до верхних и нижних 5 бит расширенного 10-битного цветового слова. На этапе S42 расширенный цвет далее назначается элементам изображения блока изображения, которые должны быть декодированы. Способ затем переходит к этапу S32 на фиг.7.

Фиг.9 иллюстрирует вариант осуществления этапа S33 с фиг.7. На этапе S50 идентифицированное и выбранное значение модификатора интенсивности добавляется к расширенному цвету. Таким образом, это значение модификатора добавляется ко всем компонентам (всем трем для RGB-цвета) цвета элемента изображения. Это может быть реализовано как простое прибавление значения модификатора ко всем цветовым компонентам. Тем не менее, в некоторых вариантах осуществления может быть предпочтительно взвешено значение модификатора перед его добавлением к компонентам. В этом случае различные весовые коэффициенты могут быть использованы для различных цветовых компонентов. В альтернативном варианте осуществления другой тип модификации, отличный от простого сложения, может быть использован, к примеру умножение, операция XOR или другая модификация. В этом случае одинаковая модуляция выполняется для всех компонентов расширенного цвета с помощью одного и того же значения модификатора интенсивности, хотя это значение может быть по-разному взвешено для компонентов. На следующем этапе S51 результирующие значения модифицированных по интенсивности цветовых компонентов фиксируются между минимальным порогом цвета и максимальным порогом цвета. Например, если после прибавления (возможно, взвешенного) значения модификатора интенсивности к цветовому компоненту результирующее значение меньше минимального порога, значение фиксируется равным значению этого порога. Соответственно, если результирующее значение больше максимального порога, вместо него должно быть использовано значение порога для этого компонента. Неограничивающий пример минимального и максимального порога - это 0 и 255 соответственно для случая с 256 различными цветами. Соответствующие пороги для 1024 могут быть равны 0 и 1023. Способ затем переходит к этапу S34 на фиг.7.

Декодирование кодированного блока изображения дополнительно иллюстрируется примером ниже. В этом примере предполагается представление кодированного блока, проиллюстрированное на фиг.4, и блок изображения, проиллюстрированный на фиг.2.

Кодированное представление блока изображения соответствует 1010 0101 0001 0111 11 01 10 00 10 01 00 00bin (a517D890hex), где бит 0-3 - это красный компонент цветового кодового слова, бит 4-7 - это зеленый компонент цветового кодового слова, бит 8-11 - это синий компонент цветового кодового слова, бит 12-15 - это кодовое слово интенсивности, а бит 16-31 - это последовательность представлений интенсивности элементов изображения блока.

Цветовое кодовое слово после этого декодируется (расширяется) для того, чтобы сгенерировать представление цвета блока изображения. Каждый цветовой компонент в цветовом кодовом слове выражен в 4 битах, но расширяется до 8 посредством умножения на 17 (17=11hex), что является тем же самым, что и повторение 4-битного шаблона до верхних и нижних 4 бит 8-битного слова:

Этот расширенный цвет в таком случае назначается элементам изображения блоков изображения, давая:

(170, 85, 17)(170, 85, 17)(170, 85, 17)(170, 85, 17)(170, 85, 17)(170, 85, 17)(170, 85, 17)(170, 85, 17)

Корректный набор модификаторов интенсивности для использования выбирается из таблицы 1 на основе кодового слова интенсивности. Как видно в таблице 1, кодовое слово интенсивности 0111bin соответствует модификаторам интенсивности [-127, -42, 42, 127].

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

Первое представление интенсивности - это 11bin, что означает, что первое значение модификатора интенсивности, -127, должно быть прибавлено ко всем компонентам первого элемента изображения:

Результирующие компоненты затем фиксируются между 0 и 255, тем самым давая (43, 0, 0). Частично декодированный блок изображения теперь следующий:

(43, 0, 0)(170, 85, 17)(170, 85, 17)(170, 85, 17)(170, 85, 17)(170, 85, 17)(170, 85, 17)(170, 85, 17)

Для следующего элемента изображения представление интенсивности - это 01bin, т.е. модификатор интенсивности 127 должен быть прибавлен ко всем трем цветовым компонентам. Результат после фиксирования составляет (255, 212, 144). Повторение этой процедуры для всех элементов изображения в блоке создает окончательный декодированный блок изображения, показанный ниже:

(43, 0, 0)(255, 212, 144)(128, 43, 0)(212, 127, 59)(128, 43, 0)(255, 212, 144)(212, 127, 59)(212, 127, 59)

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

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

Мобильное устройство 100 содержит (центральный) процессор (ЦП) 200 для обработки данных, в том числе данных изображений, в мобильном устройстве 100. Графическая система 130 предусмотрена в мобильном устройстве 100 для управления данными изображений и графикой. В частности, графическая система 130 подходит для подготовки к просмотру или отображению изображений на подключенном экране 120 или другом дисплейном устройстве. Мобильное устройство 100 также содержит устройство хранения или память 140 для сохранения данных на нем. В этой памяти 140 могут быть сохранены данные изображений, в частности данные кодированных изображений (кодированные блоки изображений) согласно настоящему изобретению. Вследствие небольшого общего размера блоков изображения (32 бита) и высокой скорости сжатия (4 bpp) данные изображений могут быть эффективно сохранены в памяти 140 также в случаях с мобильным устройством 100 с ограниченным объемом памяти.

Кодер 210 изображений согласно настоящему изобретению предусмотрен в мобильном устройстве 100. Этот кодер 210 сконфигурирован для кодирования изображения или текстуры в кодированное представление изображения (или текстуры). Как описано выше, такое кодированное представление содержит последовательность или файл нескольких декодированных блоков изображения. Этот кодер 210 изображений может быть предусмотрен как программное обеспечение, запущенное на ЦП 200, как проиллюстрировано на чертеже. Альтернативно или помимо этого, кодер 210 может быть размещен в графической системе 130 или в другом блоке мобильного устройства 100.

Кодированное представление изображения из блочного кодера 210 может быть предоставлено в память 140 по шине 150 памяти для хранения в ней до последующего построения изображения. Альтернативно или помимо этого данные кодированных изображений могут быть переадресованы устройству 110 ввода-вывода для (беспроводной или проводной) передачи другим внешним терминалам или устройствам. Это устройство 110 ввода-вывода также может быть адаптировано для приема данных изображения от внешнего устройства. Эти данные изображения могут быть изображением, которое должно быть кодировано кодером 210 изображений, или данными кодированного изображения, которое должно быть декодировано. Также может быть возможно сохранять кодированное представление изображения в выделенной памяти текстур, предусмотренной, например, в графической системе 130. Более того, части кодированного изображения также, или альтернативно, могут быть (временно) сохранены в кэш-памяти текстур, к примеру в графической системе 130.

Если шина 150 (памяти) имеет максимальную пропускную способность в 32 бита, одно обращение к памяти требуется для извлечения или считывания кодированного представления изображения изобретения из памяти 140. Тем не менее, если шина 150 имеет большую пропускную способность, к примеру 64 бита или даже 128 бит, несколько кодированных представлений изображения могут быть извлечены при одном обращении к памяти. Например, допустим 64-битную шину 150 и размер блока изображения согласно фиг.2. Если блоки изображения собраны "друг на друге", блок изображения вместе с последующим блоком изображения в памяти 140 формирует квадрат элементов изображения 4x4. Тем не менее, если блоки размещены "рядом", блок изображения вместе со следующим блоком формирует прямоугольник 2x8. Квадрат 4x4 более предпочтителен, поскольку вероятность нахождения требуемого элемента изображения в квадрате 4x4 больше, чем в прямоугольнике 2x8, если используется определенная форма системы кэширования текстур, которая хорошо известна специалистам в данной области техники.

Декодер 220 изображений согласно настоящему изобретению предусмотрен в мобильном устройстве 100 для декодирования кодированного изображения, чтобы сгенерировать декодированное представление изображения. Это декодированное представление может соответствовать всему исходному изображению или его части. Декодер 220 изображений предоставляет данные декодированных изображений в графическую систему 130, которая, в свою очередь, типично обрабатывает данные до того, как они подготавливаются к просмотру или представляются на экране 120. Декодер 220 изображений может быть размещен в графической системе 130, как проиллюстрировано на чертеже. Альтернативно или помимо этого, декодер 200 может быть предусмотрен как программное обеспечение, запущенное на ЦП 200 или в другом блоке мобильного устройства 100.

Мобильное устройство 100 может быть оснащено кодером 210 изображений и декодером 220 изображений, как проиллюстрировано на чертеже. Тем не менее, для некоторых терминалов 100 может быть возможно включать только кодер 210 изображений. В этом случае данные кодированного изображения могут быть переданы другому терминалу, который выполняет декодирование и, возможно, подготовку к просмотру изображения. Соответственно, терминал 100 может включать в себя только декодер 220 изображений, т.е. не иметь кодера. Такой терминал 100 затем принимает сигнал, содержащий данные кодированного изображения, от другого терминала и декодирует его для того, чтобы сгенерировать декодированное представление изображения. Таким образом, сигнал кодированного изображения может быть беспроводным способом передаваем между терминалами с помощью радиопередающего и приемного устройства. Альтернативно, другие методики распределения изображений и кодированных представлений изображений между терминалами согласно изобретению могут быть использованы, такие как ИК-методики, использующие ИК-порты и проводную передачу данных изображений между терминалами. Кроме того, карты или микросхемы памяти, которые могут быть подключаемыми и взаимозаменяемыми между терминалами, могут быть использованы для этого распределения между терминалами данных изображений.

Модули 110, 130, 200, 210 и 220 мобильного устройства 100 могут быть предусмотрены как программное обеспечение, аппаратные средства или их сочетание.

Фиг.11 иллюстрирует блок-схему варианта осуществления кодера 210 изображений согласно настоящему изобретению. Кодер 210 типично содержит средство 215 разложения изображений для разложения входного изображения на несколько блоков изображения. Средство 215 разложения предпочтительно сконфигурировано для разложения изображения на блоки изображения, содержащие восемь элементов изображения (пикселов или текселов), т.е. имеющие общий размер изображения 8x1 или 8x1 элементов изображения, более предпочтительно, 4x2 или 2x4 элемента изображения. Средство 215 разложения может быть адаптировано для разложения различных входных изображений на блоки изображения различных размеров. Например, для первого типа изображения используется размер блока изображения из 4x2 элементов изображения, тогда как для второго типа может быть использован размер блока 8x1. В этом случае средство 215 разложения предпочтительно принимает входную информацию, обеспечивающую возможность идентификации того, какой формат блоков изображения использовать для данного изображения.

Этот вариант осуществления кодера 210 изображений содержит один блочный кодер 300. Этот блочный кодер 300 кодирует блоки изображения, принимаемые от средства разложения изображений, чтобы генерировать кодированные представления блоков. Это представление блока изображения содержит цветовое кодовое слово, кодовое слово интенсивности и последовательность представлений интенсивности. Общий размер представления блока гораздо меньше, чем соответствующий размер некодированного блока изображения. Блочный кодер 300 предпочтительно сконфигурирован для последовательной обработки (кодирования) каждого блока изображения из средства 215 разложения.

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

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

Модули 215 и 300 кодера 210 изображений могут быть предоставлены как программное обеспечение, аппаратные средства или их сочетание. Модули 215, 300 и 500 могут быть реализованы вместе в кодере 210 изображений. Альтернативно, распределенная реализация также возможна для некоторых из блоков, предусмотренных в другом модуле мобильного устройства.

Фиг.12 иллюстрирует блок-схему другого варианта осуществления кодера 210 изображений согласно настоящему изобретению. Кодер 210 изображений содержит средство 215 разложения изображений как вариант осуществления фиг.11, которое не описывается дополнительно. Тем не менее, кодер 210 включает в себя несколько (M, где M - это положительное целое число, больше одного) блочных кодеров 300-1-300-M. Каждый такой блочный кодер 300-1-300-M в основном соответствует блочному кодеру кодера изображений на фиг.11. Посредством предоставления нескольких блочных кодеров 300-1-300-M в кодере 210 изображений несколько блоков изображения из средства 215 разложения могут быть обработаны (закодированы) параллельно, что уменьшает общее время кодирования изображений.

Каждый блочный кодер 300-1-300-M может содержать таблицу 500 интенсивности. Таблицы 500 интенсивности в различных кодерах 300-1-300-M могут все включать в себя идентичные значения модификаторов интенсивности. Альтернативно, различные блочные кодеры могут включать в себя различные таблицы. В этом случае один из нескольких блочных кодеров может быть адаптирован для конкретного типа изображения, тогда как другие блочные кодеры адаптированы для других типов изображения. В альтернативной реализации одна таблица 500 интенсивности размещена в кодере 210 изображений и подключена ко всем блочным кодерам 300-1-300-M.

Модули 215 и 300-1-300-M кодера 210 изображений могут быть предоставлены как программное обеспечение, аппаратные средства или их сочетание. Модули 215, 300-1-300-M и 500 могут быть реализованы вместе в кодере 210 изображений. Альтернативно, также возможна распределенная реализация для некоторых из блоков, предусмотренных в другом модуле мобильного устройства.

Фиг.13 иллюстрирует блок-схему варианта осуществления блочного кодера 300 согласно настоящему изобретению, такого как блочный кодер кодера изображений по фиг.11 или один из блочных кодеров кодера изображений по фиг.12. Кодер 300 содержит квантователь 310 цветов, который определяет представление цвета элементов изображения в блоке изображения и квантует это представление цвета. Представление цвета - это предпочтительно 24-битный средний цвет элемента изображения, и оно далее квантуется к 12-битному представлению цвета, т.е. к цветовому кодовому слову посредством квантователя 310.

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

Модули 310, 320 и 330 блочного кодера 330 могут быть предоставлены в виде программного обеспечения, аппаратных средств или их сочетания. Модули 310, 320, 330 и 500 могут быть реализованы вместе в блочном кодере 300. Альтернативно, также возможна распределенная реализация для некоторых из модулей, предусмотренных в другом модуле мобильного устройства.

Фиг.14 иллюстрирует блок-схему другого варианта осуществления блочного кодера 300 согласно настоящему изобретению. Этот блочный кодер 300 содержит средство 340 оценки ошибок для оценки значений ошибок в целях выбора набора и значений модификаторов интенсивности и, возможно, значения квантованного цвета, чтобы использовать для блока изображений. Это средство 340 оценки предпочтительно выполнено с возможностью вычисления значения ошибки при первом выборе набора и значений модификаторов интенсивности (и цвета в случае полного кодирования) для элементов изображения в блоке изображения. После этого данное первое значение ошибки сохраняется. Вычисление ошибки затем повторяется для всех возможных вариантов выбора набора и значений модификаторов (и цвета), и после каждого вычисления оцененное значение ошибки сравнивается с сохраненным значением. Если оно меньше сохраненного значения, то заменяет ранее сохраненную ошибку. Помимо этого, выбор набора и значений модификаторов (и цвета), ассоциативно связанных со значением ошибки, также сохраняется. После того, как все комбинации протестированы, вариант выбора, приводящий к наименьшей ошибке, используется для генерирования кодового слова интенсивности (и цвета) и представлений интенсивности. Селектор 322 набора модификаторов интенсивности и селектор 330 интенсивности затем выбирает набор модификаторов и значения модификаторов, которые ассоциативно связаны с наименьшей ошибкой. Оставшиеся модули блочного кодера 300 имеют соответствия на фиг.13 и не описываются дополнительно. Альтернативно, этот вариант осуществления блочного кодера 300 может работать согласно объединенному квантованию, как описано выше. В этом случае квантователь 310 цветов предоставляет соседние квантованные цвета вычисленного среднего цвета блока изображений. Средство 340 оценки ошибок определяет представления ошибок для каждого такого соседнего квантованного цвета, к примеру, как проиллюстрировано в таблице 2 или 3, и соседний квантованный цвет, который приводит к наименьшему представлению ошибки, выбирается в качестве цветового кодового слова блока изображения.

Модули 310, 320, 322, 330 и 340 блочного кодера 330 могут быть представлены в виде программного обеспечения, аппаратных средств или их сочетания. Модули 310, 320, 322, 330, 340 и 500 могут быть реализованы вместе в блочном кодере 300. Альтернативно, также возможна распределенная реализация для некоторых из модулей, предусмотренных в другом модуле мобильного устройства.

Предпочтительная реализация квантователя 310 цветов согласно настоящему изобретению проиллюстрирована на блок-схеме фиг.15. Квантователь 310 содержит средство 312, сконфигурированное для определения среднего из цветов элементов изображения в блоке изображения. Этим средним цветом предпочтительно является RGB-цвет, но может быть любой другой формат, используемый при обработке изображений. Данный определенный средний цвет затем предоставляется средству 314 квантования, которое квантует средний цвет. Квантователь 314 предпочтительно сконфигурирован для квантования 24-битного среднего RGB-цвета из средства усреднения 312 цветов в 12-битный RGB-цвет.

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

Фиг.16 иллюстрирует блок-схему варианта осуществления блочного декодера 220 согласно настоящему изобретению. Блочный декодер 220 предпочтительно содержит селектор 222 блоков, который адаптирован для выбора, к примеру из памяти, тех блоков кодированного изображения, которые должны быть предоставлены блочному декодеру 400 для декодирования. Селектор 222 блоков предпочтительно принимает входную информацию, ассоциативно связанную с данными кодированного изображения, к примеру, из заголовка или ядра подготовки к просмотру. Адрес кодированного блока изображения, имеющего требуемые элементы изображения, затем вычисляется на основе входной информации. Этот вычисленный адрес предпочтительно зависит от координат изображение-элемент (пиксел или тексел) в изображении. С помощью адреса селектор 222 блоков идентифицирует кодированный блок изображения из памяти. Этот идентифицированный кодированный блок изображения из устройства хранения предоставляется блочному декодеру 400.

(Случайный) доступ к элементам изображения блока изображения предпочтительно предоставляет возможность выборочного декодирования только тех частей изображения, которые требуются. Более того, изображение может быть декодировано в любом порядке, в котором требуются данные. Например, при наложении текстуры только части текстуры могут быть необходимы, и эти части, как правило, требуются в непоследовательном порядке. Таким образом, декодирование изображений настоящего изобретения может быть преимущественно применено для того, чтобы обрабатывать только часть или секцию изображения. Выбранный кодированный блок изображения после этого переадресуется блочному декодеру 400. Помимо блока изображения декодер 400 предпочтительно принимает информацию, указывающую, какие элементы блока изображения должны быть декодированы. Информация может задавать, что весь блок изображения, т.е. все элементы изображения в нем, должен быть декодирован. Тем не менее, принятая информация может идентифицировать только один или несколько элементов изображения, которые должны быть декодированы. Блочный декодер 400 затем генерирует декодированное представление элементов изображения в блоке. Этим декодированным представлением предпочтительно является P-битный цвет, где P - это число бит на элемент изображения в исходном изображении, к примеру 24-битный RGB-цвет. Блочный декодер 400 предпочтительно содержит таблицу 500 интенсивности, которая используется в ходе процедуры декодирования. Альтернативно, таблица 500 интенсивности может быть предоставлена в другом блоке декодера 220 изображений. Использование различных таблиц интенсивности для различных типов изображений, описанных выше в связи с фиг.11, также применяется к декодеру 220 изображений.

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

Модули 222, 224 и 400 блочного декодера 220 могут быть представлены в виде программного обеспечения, аппаратных средств или их сочетания. Модули 222, 224, 400 и 500 могут быть реализованы вместе в блочном декодере 220. Альтернативно, также возможна распределенная реализация для некоторых из модулей, предусмотренных в другом модуле мобильного устройства.

Фиг.17 иллюстрирует блок-схему другого варианта осуществления декодера 220 изображений согласно настоящему изобретению. Селектор 222 блоков и компоновщик 224 изображений аналогичны соответствующим модулям фиг.16 и не описываются дополнительно.

Декодер 220 изображений содержит несколько блочных декодеров 400-1-400-Q (Q - это положительное целое число больше одного). Посредством осуществления доступа к нескольким блочным декодерам 400-1-400-Q декодер 220 изображений может обрабатывать (декодировать) несколько блоков кодированного изображения параллельно. Эти несколько блочных декодеров 400-1-400-Q предоставляют возможность параллельной обработки, что увеличивает производительность обработки и эффективность декодера 220 изображений. Например, одного декодированного элемента изображения, в общем, достаточно для интерполяции методом "ближайшего соседа", тогда как четыре (восемь) элементов изображения необходимо для билинейной (трилинейной) интерполяции. Каждый блочный декодер 400-1-400-Q может содержать таблицу 500 интенсивности, используемую для декодирования. Альтернативно, одна таблица 500 размещается в декодере 220 изображений и подключается ко всем блочным декодерам 400-1-400-Q. Дополнительное описание использования различных типов таблиц интенсивности (см. выше в связи с фиг.12) также применяется для декодера 220 изображений.

Модули 222, 224 и 400-1-400-Q декодера 220 изображений могут быть представлены в виде программного обеспечения, аппаратных средств или их сочетания. Модули 222, 224, 400-1-400-Q и 500 могут быть реализованы вместе в декодере 220 изображений. Альтернативно, распределенная реализация также возможна для некоторых из модулей, предусмотренных в другом модуле мобильного устройства.

Фиг.18 - это иллюстрация варианта осуществления блочного декодера 400 согласно настоящему изобретению. Блочный декодер 400 содержит средство 410 предоставления набора модификаторов интенсивности из ассоциативно связанной таблицы 500 интенсивности на основе кодового слова интенсивности. Это средство 410 предоставления может быть сконфигурировано для извлечения поднабора значений модификаторов из таблицы 500 интенсивности и определения второго поднабора модификаторов на основе первого поднабора. Генератор 420 цветов генерирует одно представление цвета для всех элементов изображения в блоке изображения на основе цветового кодового слова. Этот генератор 420 предпочтительно расширяет 12-битный цвет кодового слова до 24-битного (RGB) цвета.

Селектор 430 модификаторов интенсивности выполнен с возможностью выбора одного из значений модификаторов интенсивности из набора модификаторов интенсивности, предоставляемого средством 410. Селектор 430 модификаторов сконфигурирован для выбора корректных значений модификаторов для элементов изображения в кодированном блоке изображения на основе последовательности представлений интенсивности. Расширенный цвет из генератора 420 цветов и модифицированное значение из селектора 430 модификаторов передается в модулятор или модификатор 440 интенсивности, который модифицирует интенсивность цветовых компонентов расширенного цвета с помощью значения модификатора. Модификатор 440 может использовать взвешенное значение модификатора интенсивности с различными весовыми коэффициентами для различных цветовых компонентов. Более того, после того как цветовые компоненты модифицированы, модификатор 440 предпочтительно фиксирует компоненты между максимальным и минимальным порогом, к примеру между 0 и 255.

Модули 410, 420, 430 и 440 блочного декодера 400 могут быть представлены в виде программного обеспечения, аппаратных средств или их сочетания. Модули 410, 420, 430, 440 и 500 могут быть реализованы вместе в блочном декодере 400. Альтернативно, также возможна распределенная реализация для некоторых из модулей, предусмотренных в другом модуле мобильного устройства.

Фиг.19 схематически иллюстрирует аппаратную реализацию блочного декодера 400 согласно настоящему изобретению. Входящими данными для блочного декодера 400 является это представление 700 кодированного блока, содержащее 12-битное цветовое кодовое слово 710 (4 бита для каждого из красного, зеленого и синего компонента), 4-битное кодовое слово 720 интенсивности и 16-битная последовательность интенсивности 730.

Цветовое кодовое слово предоставляется генератору 420 цветов, который реализован посредством трех расширителей 422-426 бит. Первый расширитель 422 бит принимает 4-битный красный компонент, второй 424 и третий 426 расширитель принимает 4-битный зеленый и синий компонент соответственно. Выход из соответствующего расширителя 422-426 - это 8-битный цветовой компонент. 8-битный компонент получается просто посредством умножения входного компонента на 17 или умножения компонента на 16 и последующего прибавления компонента. Альтернативно, расширители 422-426 могут быть реализованы как средства сдвига бит и или шлюзы, к примеру (1011bin<<4) или 1011bin=1011 0000bin или 1011bin=1011 1011bin, где <<4 соответствует сдвигу четырех бит слова влево.

Селектор 430 модификаторов реализован как мультиплексор 435. 3-битный индекс адреса входит в этот мультиплексор 435. На основе индекса адреса мультиплексор 435 выбирает, какие из восьми элементов изображения декодировать. 2-битное представление интенсивности, ассоциативно связанное с выбранным элементом изображения, затем переадресуется для табличного поиска 415. Этот табличный поиск соответствует средству 410 предоставления наборов модификаторов и таблице 500 интенсивности фиг.18. С помощью входного кодового слова интенсивности и представления интенсивности поиск 415 извлекает корректное значение модификатора интенсивности из одного набора интенсивности в таблице. Это 9-битное значение модификатора со знаком (положительное или отрицательное) далее предоставляется модификатору 440 интенсивности. В данной аппаратной реализации модификатор 440 содержит три сумматора 441-443 и три фиксатора 444-446. Значение модификатора входит в соответствующий сумматор 441-443. Первый сумматор 441 прибавляет значение модификатора интенсивности к 8-битному компоненту красного из расширителя 422 бит. Соответственно, сумматор 442 и сумматор 443 прибавляет значение модификатора к 8-битному зеленому и синему компоненту из расширителя 424 и 426 бит соответственно. В альтернативной реализации сумматоры 441-443 могут быть заменены на другие элементы модифицирования, к примеру умножители или XOR-шлюзы. Вывод от сумматоров 441-443 переадресуется фиксаторам 444-446, которые фиксируют модифицированные цветовые компоненты между 0 и 255. Вывод от фиксаторов 444-446 - это распакованный или декодированный 24-битный цвет элемента изображения.

Фиг.20 схематически иллюстрирует возможную аппаратную реализацию расширителей 422, 424, 426 бит по фиг.19. Эти расширители принимают 4-битный (красный, зеленый или синий) цветовой компонент и выводят расширенный соответствующий 8-битный цветовой компонент. В выводимом 8-битном цветовом компоненте самые старшие биты (MSB) составляют входной 4-битный цветовой компонент, "пятый MSB" соответствует MSB входного компонента, "шестой MSB" соответствует "второму MSB" входного компонента, а оставшиеся два самых младших бита (LSB) соответствуют двум LSB входного компонента.

Фиг.21 схематически иллюстрирует возможную аппаратную реализацию табличного поиска 415 фиг.19. Три LSB 4-битных входных кодовых слова интенсивности входят в два мультиплексора 411 и 412 для выбора одного 7-битного значения модификатора интенсивности из восьми возможных значений модификаторов для каждого мультиплексора 411 и 412. Из этих 16 модификаторов интенсивности оставшиеся 48 значений могут быть рассчитаны при использовании таблицы интенсивности согласно таблице 1. Выбранные значения модификаторов интенсивности из мультиплексоров 411 и 412 входят в другой мультиплексор 413, который выбирает одно из этих значений на основе 1-битных входных данных (1 бит 2-битного представления интенсивности) из мультиплексора 435 на фиг.19. Выбранное значение модификатора затем переадресуется в мультиплексор 416 и средство 414 отрицания, которое выполняет операцию отрицания со значением модификатора. Кроме того, это значение с отрицанием переадресуется в мультиплексор 416. Этот мультиплексор 416 выбирает либо положительное 7-битное значение модификатора интенсивности, либо значение с отрицанием на основе оставшегося бита представления интенсивности из мультиплексора 435 на фиг.19. Выбранное (8-битное) значение модификатора затем предоставляется в мультиплексор 418 и средство 417 сдвига бит, которое сдвигает один бит значения модификатора влево, что приводит к 9-битному модификатору интенсивности (соответствует умножению значения на два в десятеричной системе счисления). После того мультиплексор 418 выбирает либо 8-битное значение модификатора, либо 9-битное значение модификатора на основе MSB из кодового слова интенсивности. Результат выбора - это 9-битное значение модификатора интенсивности из 64 возможных значений модификатора для того, чтобы использовать для конкретного элемента изображения.

Фиг.22 схематически иллюстрирует возможную аппаратную реализацию фиксаторов 444, 445, 446 по фиг.19. Вход в фиксатор 444, 445, 446 - это 10-битное значение модифицированного по интенсивности цветового компонента. Восемь LSB этого входного значения предоставляются в мультиплексор 447. Другой вход в мультиплексор - это максимальное пороговое значение (255; 8 бит). Мультиплексор 447 выбирает либо 8-битное входное значение, либо максимальное пороговое значение на основе второго MSB модифицированного по интенсивности цветового компонента. Другими словами, если этот второй MSB равен одному, мультиплексор 447 выводит пороговое значение, в противном случае (второй MSB равен) 8-битное входное значение выводится во второй мультиплексор 448. Этот второй мультиплексор 448 сравнивает вывод из первого мультиплексора 447 с минимальным пороговым значением (0; 8 бит) на основе MSB цветового компонента. Если этот MSB или бит знака равен одному, вывод из первого мультиплексора 447 является отрицательным и минимальное пороговое значение должно быть выбрано вторым мультиплексором 448. Тем не менее, если бит знака равен нулю, вывод из первого мультиплексора 447 также должен быть выведен из второго мультиплексора 448.

Аппаратное решение блочного кодера 400 на фиг.19 очень простое, оно, по сути, содержит только три операции сложения, одно отрицание и 12 мультиплексоров, если расширители 422, 424, 426 бит, табличный поиск 415 и фиксаторы 444, 445, 446 реализованы согласно фиг.20, фиг.21 и фиг.22 соответственно.

Это должно быть сравнено с распаковкой с использованием схемы S3TC [3], которая требует до 42 сложений и двух мультиплексоров.

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

Источники информации

1. E. J. Delp and O. R. Mitchell, Image compression using block truncation coding, IEEE Transactions on Communications, том COM-2, номер 9, стр. 1335-1342, сентябрь 1979 г.

2. G. Campbell, T. A. DeFanti, J. Frederiksen, S. A. Joyce, L. A. Leske, J. A. Lindberg и D. J. Sandin, Two bit/pixel full color encoding, SIGGRAPH '86 Conference Proceedings, том 20, номер 4, стр. 215-223, август 1986 г.

3. Патент (США) № 5956431.

4. T. Akenine-Moller и J. Strom, Graphics for the masses: A hardware architecture for mobile phones, ACM Transactions on Graphics, том 22, номер 3, Proceedings of ACM SIGGRAPH 2003, стр. 801-808, июль 2003 г.

5. S. Fenney, Texture compression using low-frequency signal modulation, Graphics Hardware 2003, стр. 84-91, июль 2003 г.

6. Y. Linde, A. Buzo и R. Gray, An algorithm for vector quantizer design, IEEE Transactions on Communications, том 28, стр. 84-94, январь 1980 г.

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

название год авторы номер документа
СЖАТИЕ ТЕКСТУРЫ НА ОСНОВАНИИ ДВУХ ОТТЕНКОВ С МОДИФИЦИРОВАННОЙ ЯРКОСТЬЮ 2006
  • Стрем Якоб
  • Петтерссон Мартин
RU2407223C2
ОБРАБОТКА ИЗОБРАЖЕНИЙ НА ОСНОВЕ ВЕСОВ 2006
  • Стрем Якоб
RU2407222C2
КОДИРОВАНИЕ КОЭФФИЦИЕНТОВ ПРЕОБРАЗОВАНИЯ В КОДЕРАХ И/ИЛИ ДЕКОДЕРАХ ИЗОБРАЖЕНИЯ И ВИДЕОДАННЫХ 2003
  • Карчевич Марта
  • Курчерен Рагип
RU2354073C2
КОДИРОВАНИЕ КОЭФФИЦИЕНТОВ ПРЕОБРАЗОВАНИЯ В КОДЕРАХ И/ИЛИ ДЕКОДЕРАХ ИЗОБРАЖЕНИЯ/ВИДЕОСИГНАЛА 2003
  • Курсерен Рагип
  • Карчевич Марта
RU2335845C2
УПРАВЛЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ СЛОЖНОСТЬЮ И ТОЧНОСТЬЮ В МУЛЬТИМЕДИЙНОМ КОДЕКЕ, ОСНОВАННОМ НА ПРЕОБРАЗОВАНИИ 2008
  • Сринивасан Сридхар
  • Ту Чэнцзе
  • Регунатхан Шанкар
RU2518417C2
КОДИРОВАНИЕ ПЕРЦЕПЦИОННО-КВАНТОВАННОГО ВИДЕОКОНТЕНТА В МНОГОУРОВНЕВОМ КОДИРОВАНИИ VDR 2014
  • Су, Гань-Мин
  • Чэнь, Цянь
  • Кёпфер, Хьюберт
  • Цюй, Шэн
RU2619886C2
ГИБКОЕ КВАНТОВАНИЕ 2012
  • Ту Чэнцзе
  • Сринивасан Сридхар
RU2619908C2
СПОСОБ И УСТРОЙСТВО ДЛЯ ФИЛЬТРАЦИИ ИЗОБРАЖЕНИЙ С АДАПТИВНЫМИ КОЭФФИЦИЕНТАМИ МНОЖИТЕЛЯ 2018
  • Есенлик, Семих
  • Котра, Ананд, Мехер
  • Чжао, Чжицзе
  • Чэнь, Цзяньлэ
RU2772313C2
ЭФФЕКТИВНОЕ КОДИРОВАНИЕ И ДЕКОДИРОВАНИЕ БЛОКОВ ПРЕОБРАЗОВАНИЯ 2006
  • Сринивасан Сридхар
RU2417518C2
КОДИРОВАНИЕ И ДЕКОДИРОВАНИЕ ПЕРЦЕПЦИОННО КВАНТОВАННОГО ВИДЕОСОДЕРЖИМОГО 2015
  • Фрёлих Ян
  • Аткинс Робин
  • Ван Цювэй
  • Су Гань-Мин
  • Инь Пэн
RU2648634C1

Иллюстрации к изобретению RU 2 317 587 C1

Реферат патента 2008 года ОБРАБОТКА ИЗОБРАЖЕНИЙ

Изобретение относится к системам обработки изображений, в частности к способам и системам кодирования и декодирования изображений. Техническим результатом является повышение эффективности обработки, кодирования/декодировния изображений для адаптации в мобильных устройствах с малым объемом и производительностью памяти, достигаемый за счет того, что входное изображение разделяют на несколько блоков (600) изображения, содержащих несколько элементов (610) изображения, далее блоки (600) изображения кодируются в кодированные представления (700) блоков, содержащие цветовое кодовое слово (710), кодовое слово (720) интенсивности и последовательность (730) представлений интенсивности. Цветовое кодовое слово (710) является представлением цветов элементов (610) блока (600) изображения. Кодовое слово (720) интенсивности является представлением набора из нескольких модификаторов интенсивности для модификации интенсивности элементов (610) в блоке (600) изображения, а последовательность (730) представлений включает в себя представление интенсивности для каждого элемента (610) в блоке (600) изображения, при этом последовательность идентифицирует один из модификаторов интенсивности в наборе модификаторов интенсивности. В процессе декодирования кодовые слова (710, 720) цветов и интенсивности и представления (730) интенсивности используются для того, чтобы генерировать декодированное представление элементов (610) в блоке (600) изображения. 9 н. и 46 з.п. ф-лы, 3 табл., 22 ил.

Формула изобретения RU 2 317 587 C1

1. Способ кодирования изображения, при этом способ содержит этапы, на которых разлагают упомянутое изображение на блоки изображения, причем каждый блок изображения содержит несколько элементов изображения; и определяют для, по меньшей мере, одного блока изображения кодированное представление посредством этапов, на которых определяют цветовое кодовое слово, которое является представлением цветов упомянутых элементов изображения в упомянутом блоке изображения; предоставляют кодовое слово интенсивности, которое является представлением набора из нескольких модификаторов интенсивности, для модификации интенсивности упомянутых элементов изображения в упомянутом блоке изображения; и выбирают для каждого элемента изображения в упомянутом блоке изображения представление интенсивности, ассоциативно связанное с модификатором интенсивности, из упомянутого набора модификаторов интенсивности.2. Способ по п.1, в котором упомянутый этап определения упомянутого кодированного представления выполняется для каждого блока изображения.3. Способ по п.1, в котором упомянутое кодированное представление упомянутого блока изображения представляет собой 32-битную последовательность, в которой упомянутое цветовое кодовое слово содержит 12 бит, упомянутое кодовое слово интенсивности содержит 4 бита, а последовательность упомянутых представлений интенсивности содержит 16 бит.4. Способ сжатия блока изображения, содержащего несколько элементов изображения, при этом упомянутый способ содержит этапы, на которых определяют цветовое кодовое слово, которое является представлением цветов упомянутых элементов изображения в упомянутом блоке изображения; предоставляют кодовое слово интенсивности, которое является представлением набора из нескольких модификаторов интенсивности, для модификации интенсивности упомянутых элементов изображения в упомянутом блоке изображения; и выбирают для каждого элемента изображения в упомянутом блоке изображения представление интенсивности, ассоциативно связанное с модификатором интенсивности, из упомянутого набора модификаторов интенсивности.5. Способ по п.4, в котором упомянутый этап определения упомянутого цветового кодового слова содержит этапы, на которых определяют средний цвет упомянутых элементов изображения в упомянутом блоке изображения и квантуют упомянутый средний цвет.6. Способ по п.5, в котором упомянутый этап квантования упомянутого среднего цвета содержит этапы, на которых определяют для каждого соседнего квантованного цвета упомянутого среднего цвета представление ошибки и выбирают соседний квантованный цвет, ассоциативно связанный с наименьшим представлением ошибки, в качестве упомянутого квантованного среднего цвета.7. Способ по п.6, в котором упомянутое представление ошибки представляет собой взвешенное представление ошибки.8. Способ по п.6, в котором упомянутый этап определения упомянутого представления ошибки содержит этапы, на которых сжимают для каждого соседнего квантованного цвета упомянутый блок изображения и определяют для каждого соседнего квантованного цвета упомянутое представление ошибки на основе сравнения упомянутого блока изображения и упомянутого сжатого представления упомянутого блока изображения.9. Способ по п.4, в котором упомянутый набор модификаторов интенсивности содержит математически дополнительные значения модификаторов интенсивности.10. Способ по п.4, в котором этап представления упомянутого кодового слова интенсивности содержит этап, на котором выбирают упомянутый набор модификаторов интенсивности из таблицы интенсивности, содержащей несколько наборов модификаторов интенсивности, причем упомянутое кодовое слово интенсивности предоставляет возможность идентификации упомянутого набора модификаторов интенсивности, выбранного из упомянутой таблицы.11. Способ по п.10, в котором упомянутые этапы выбора упомянутого набора модификаторов интенсивности и выбора упомянутого представления интенсивности содержат этапы, на которых определяют для каждого элемента изображения в упомянутом блоке изображения разность между значением исходного цвета и средним цветом, модифицированным по интенсивности с помощью модификатора интенсивности из набора модификаторов интенсивности упомянутой таблицы интенсивности; оценивают значение ошибки на основе упомянутых определенных разностей и выбирают набор модификаторов интенсивности и модификаторы интенсивности, которые минимизируют упомянутое значение ошибки.12. Способ по п.11, в котором упомянутое значение ошибки представляет собой взвешенное значение ошибки, причем весовой коэффициент данного цветового компонента равен упомянутому исходному и упомянутому среднему цвету.13. Способ по п.10, в котором упомянутые этапы определения упомянутого цветового кодового слова, выбора упомянутого набора модификаторов интенсивности и выбора упомянутого представления интенсивности содержат этапы, на которых определяют для каждого элемента изображения в упомянутом блоке изображения разность между значением исходного цвета и квантованным цветом, модифицированным по интенсивности с помощью модификатора интенсивности из набора модификаторов интенсивности упомянутой таблицы интенсивности; оценивают значение ошибки на основе упомянутых определенных разностей и выбирают квантованный цвет, набор модификаторов интенсивности и модификаторы интенсивности, которые минимизируют упомянутое значение ошибки, причем упомянутое цветовое кодовое слово содержит упомянутый выбранный квантованный цвет.14. Способ по п.13, в котором упомянутое значение ошибки представляет собой взвешенное значение ошибки, причем весовой коэффициент данного цветового компонента равен упомянутому исходному и упомянутому квантованному цвету.15. Способ по п.4, в котором упомянутый блок изображения содержит 2m×2n элементов изображения, где m=3-n и n=0, 1, 2, 3.16. Способ по п.4, в котором сжатое представление упомянутого блока изображения представляет собой 32-битную последовательность, в которой упомянутое цветовое кодовое слово содержит 12 бит, упомянутое кодовое слово интенсивности содержит 4 бита, а последовательность упомянутых представлений интенсивности содержит 16 бит.17. Способ декодирования кодированного изображения, которое содержит кодированные представления блоков изображения, содержащих несколько элементов изображения, причем кодированное представление содержит цветовое кодовое слово, кодовое слово интенсивности и последовательность представления интенсивности, и упомянутый способ содержит для, по меньшей мере, одного кодированного представления блока изображения этапы, на которых предоставляют набор из нескольких модификаторов интенсивности на основе упомянутого кодового слова интенсивности; для, по меньшей мере одного элемента изображения в упомянутом блоке изображения генерируют представление цвета на основе упомянутого цветового кодового слова; выбирают модификатор интенсивности из упомянутого набора модификаторов интенсивности на основе упомянутой последовательности представления интенсивности; и модифицируют интенсивность упомянутого, по меньшей мере, одного элемента изображения на основе упомянутого выбранного модификатора интенсивности и генерируют декодированное представление упомянутого кодированного изображения посредством компоновки нескольких модифицированных по интенсивности и цвету элементов изображения.18. Способ обработки сжатого представления блока изображения, содержащего несколько элементов изображения, причем упомянутое сжатое представление содержит цветовое кодовое слово, кодовое слово интенсивности и последовательность представления интенсивности, и упомянутый способ содержит этапы, на которых предоставляют набор из нескольких модификаторов интенсивности на основе упомянутого кодового слова интенсивности; для, по меньшей мере, одного элемента изображения в упомянутом блоке изображения генерируют представление цвета на основе упомянутого цветового кодового слова; выбирают модификатор интенсивности из упомянутого набора модификаторов интенсивности на основе упомянутой последовательности представления интенсивности и модифицируют интенсивность упомянутого, по меньшей мере, одного элемента изображения на основе упомянутого выбранного модификатора интенсивности.19. Способ по п.18, в котором упомянутый набор модификаторов интенсивности содержит математически дополнительные значения модификаторов интенсивности.20. Способ по п.18, в котором упомянутый этап предоставления упомянутого набора модификаторов интенсивности содержит этап, на котором выбирают на основе упомянутого кодового слова интенсивности упомянутый набор модификаторов интенсивности из таблицы интенсивности, содержащей несколько наборов модификаторов интенсивности.21. Способ по п.20, в котором упомянутая таблица содержит первый поднабор наборов модификаторов интенсивности, при этом упомянутый способ дополнительно содержит этап, на котором определяют модификаторы интенсивности из наборов модификаторов интенсивности для второго поднабора на основе модификаторов интенсивности из наборов модификаторов интенсивности в упомянутом первом поднаборе.22. Способ по п.18, в котором упомянутая последовательность представления интенсивности представляет собой последовательность, содержащую для каждого элемента изображения в упомянутом представлении упомянутого блока изображения индекс интенсивности, предоставляющий возможность идентификации того, какие из упомянутых нескольких модификаторов интенсивности упомянутого набора модификаторов интенсивности использовать для упомянутого элемента изображения.23. Способ по п.18, в котором упомянутый этап модификации интенсивности содержит этап, на котором прибавляют выбранное значение модификатора интенсивности ко всем значениям цветовых компонентов упомянутого представления цвета.24. Способ по п.18, в котором упомянутый этап модификации интенсивности содержит этап, на котором прибавляют выбранное значение модификатора интенсивности, умноженное на весовые коэффициенты, конкретные для компонента, ко всем значениям цветовых компонентов упомянутого представления цвета.25. Способ по п.23, дополнительно содержащий этап, на котором фиксируют суммы упомянутого значения модификатора интенсивности и упомянутых значений цветовых компонентов между минимальным пороговым значением и максимальным пороговым значением.26. Способ по п.18, в котором упомянутый блок изображения содержит 2m×2n элементов изображения, где m=3-n и n=0, 1, 2, 3.27. Способ по п.18, в котором упомянутое представление упомянутого блока изображения представляет собой 32-битную последовательность, в которой упомянутое цветовое кодовое слово содержит 12 бит, упомянутое кодовое слово интенсивности содержит 4 бита, а упомянутая последовательность представлений интенсивности содержит 16 бит.28. Представление сигнала блока изображения, содержащего несколько элементов изображения, при этом упомянутое представление сигнала содержит цветовое кодовое слово, которое является представлением цветов упомянутых элементов изображения в упомянутом блоке изображения; кодовое слово интенсивности, которое является представлением набора из нескольких модификаторов интенсивности, для модификации интенсивности упомянутых элементов изображения в упомянутом блоке изображения; и последовательность представлений интенсивности, где представление интенсивности ассоциативно связано, для элемента изображения в упомянутом блоке изображения, с модификатором интенсивности из упомянутого набора модификаторов интенсивности.29. Представление сигнала по п.28, в котором упомянутый блок изображения содержит 2m×2n элементов изображения, где m=3-n и n=0, 1, 2, 3.30. Представление сигнала по п.28, при этом упомянутое представление сигнала представляет собой 32-битную последовательность, в которой упомянутое цветовое кодовое слово содержит 12 бит, упомянутое кодовое слово интенсивности содержит 4 бита, а последовательность упомянутых представлений интенсивности содержит 16 бит.31. Система кодирования изображений, содержащая средство разложения изображений для разложения изображения на блоки изображения, при этом каждый блок изображения содержит несколько элементов изображения; и блочный кодер для кодирования блока изображения для того, чтобы сгенерировать кодированное представление упомянутого блока изображения, при этом упомянутый блочный кодер содержит квантователь цветов для определения цветового кодового слова, которое является представлением цветов упомянутых элементов изображения в упомянутом блоке изображения; квантователь интенсивности для предоставления кодового слова интенсивности, которое является представлением набора из нескольких модификаторов интенсивности, для модификации интенсивности упомянутых элементов изображения в упомянутом блоке изображения; и селектор представления интенсивности, для выбора для каждого элемента изображения в упомянутом блоке изображения, представления интенсивности, ассоциативно связанного с модификатором интенсивности, из упомянутого набора модификаторов интенсивности.32. Система по п.31, в которой упомянутое кодированное представление упомянутого блока изображения (600) представляет собой 32-битную последовательность, в которой упомянутое цветовое кодовое слово содержит 12 бит, упомянутое кодовое слово интенсивности содержит 4 бита, а последовательность упомянутых представлений интенсивности содержит 16 бит.33. Система сжатия блока изображения, содержащего несколько элементов изображения, при этом упомянутая система содержит квантователь цветов для определения цветового кодового слова, которое является представлением цветов упомянутых элементов изображения в упомянутом блоке изображения; квантователь интенсивности для предоставления кодового слова интенсивности, которое является представлением набора из нескольких модификаторов интенсивности, для модификации интенсивности упомянутых элементов изображения в упомянутом блоке изображения; и селектор представления интенсивности для выбора, для каждого элемента изображения в упомянутом блоке изображения, представления интенсивности, ассоциативно связанного с модификатором интенсивности, из упомянутого набора модификаторов интенсивности.34. Система по п.33, в которой упомянутый квантователь цветов содержит средство для определения среднего цвета упомянутых элементов изображения в упомянутом блоке изображения и средство для квантования упомянутого среднего цвета.35. Система по п.34, в которой упомянутое средство квантования выполнено с возможностью предоставления соседних квантованных цветов упомянутого среднего цвета, причем упомянутая система дополнительно содержит средство оценки ошибок для определения для каждого соседнего квантованного цвета упомянутого среднего цвета представления ошибки и для выбора соседнего квантованного цвета, ассоциативно связанного с наименьшим представлением ошибки, в качестве упомянутого квантованного среднего цвета.36. Система по п.35, в которой упомянутое представление ошибки представляет собой взвешенное представление ошибки.37. Система по п.35, в которой упомянутое представление ошибки представляет собой взвешенное представление ошибки.38. Система по п.33, в которой упомянутый набор модификаторов интенсивности содержит математически дополнительные значения модификаторов интенсивности.39. Система по п.33, дополнительно содержащая таблицу интенсивности, содержащую несколько наборов модификаторов интенсивности, а упомянутый квантователь интенсивности содержит селектор для выбора упомянутого набора модификаторов интенсивности из упомянутой таблицы интенсивности, посредством чего упомянутое кодовое слово интенсивности обеспечивает возможность идентификации упомянутого выбранного набора модификаторов интенсивности из упомянутой таблицы.40. Система по п.39, дополнительно содержащая средство для определения для каждого элемента изображения в упомянутом блоке изображения разности между значением исходного цвета и средним цветом, модифицированным по интенсивности с помощью модификатора интенсивности из набора модификаторов интенсивности упомянутой таблицы интенсивности; средство оценки ошибок для оценки значения ошибки на основе упомянутых определенных разностей, и упомянутый селектор набора интенсивности и упомянутый селектор представления выполнены с возможностью выбора набора модификаторов интенсивности и модификаторов интенсивности, которые минимизируют упомянутое значение ошибки.41. Система по п.40, в которой упомянутое средство оценки ошибок выполнено с возможностью оценки взвешенного значения ошибки, причем весовой коэффициент данного цветового компонента равен упомянутому исходному и упомянутому среднему цвету.42. Система по п.39, дополнительно содержащая средство для определения для каждого элемента изображения в упомянутом блоке изображения разности между значением исходного цвета и квантованным цветом, модифицированным по интенсивности с помощью модификатора интенсивности из набора модификаторов интенсивности упомянутой таблицы интенсивности; средство оценки ошибок для оценки значения ошибки на основе упомянутых определенных разностей, и упомянутый квантователь цветов, упомянутый селектор набора интенсивности и упомянутый селектор представления выполнены с возможностью выбора квантованного цвета, набора модификаторов интенсивности и модификаторов интенсивности, которые минимизируют упомянутое значение ошибки, посредством чего упомянутое цветовое кодовое слово содержит упомянутый выбранный квантованный цвет.43. Система по п.42, в которой упомянутое средство оценки ошибок выполнено с возможностью оценки взвешенного значения ошибки, причем весовой коэффициент данного цветового компонента равен упомянутому исходному и упомянутому квантованному цвету.44. Система по п.33, в которой упомянутый блок изображения содержит 2m×2n элементов изображения, где m=3-n и n=0, 1, 2, 3.45. Система по п.33, в которой сжатое представление упомянутого блока изображения представляет собой 32-битную последовательность, в которой упомянутое цветовое кодовое слово содержит 12 бит, упомянутое кодовое слово интенсивности содержит 4 бита, а последовательность упомянутых представлений интенсивности содержит 16 бит.46. Система декодирования кодированного изображения, которое содержит кодированные представления блоков изображения, содержащих несколько элементов изображения, причем кодированное представление содержит цветовое кодовое слово, кодовое слово интенсивности и последовательность представления интенсивности, при этом упомянутая система содержит средство для предоставления для блока изображения набора из нескольких модификаторов интенсивности на основе упомянутого кодового слова интенсивности; генератор цветов для генерирования представления цвета для, по меньшей мере, одного элемента изображения в упомянутом блоке изображения на основе упомянутого цветового слова; селектор для выбора для упомянутого, по меньшей мере, одного элемента изображения модификатора интенсивности из упомянутого идентифицированного набора модификаторов интенсивности на основе упомянутой последовательности представления интенсивности; модификатор интенсивности для модификации интенсивности упомянутого, по меньшей мере, одного элемента изображения на основе упомянутого выбранного модификатора интенсивности; и средство для компоновки нескольких модифицированных по интенсивности и цвету элементов изображения для того, чтобы сгенерировать декодированное представление упомянутого кодированного изображения.47. Система для обработки сжатого представления блока изображения, содержащего несколько элементов изображения, причем упомянутое сжатое представление содержит цветовое кодовое слово, кодовое слово интенсивности и последовательность представления интенсивности, и упомянутая система содержит средство для предоставления набора из нескольких модификаторов интенсивности на основе упомянутого кодового слова интенсивности; генератор цветов для генерирования представления цвета для, по меньшей мере, одного элемента изображения в упомянутом блоке изображения на основе упомянутого цветового кодового слова; селектор для выбора, для упомянутого, по меньшей мере, одного элемента изображения, модификатора интенсивности из упомянутого идентифицированного набора модификаторов интенсивности на основе упомянутой последовательности представления интенсивности; и модификатор интенсивности для модификации интенсивности упомянутого, по меньшей мере, одного элемента изображения на основе упомянутого выбранного модификатора интенсивности.48. Система по п.47, дополнительно содержащая таблицу интенсивности, содержащую несколько наборов модификаторов интенсивности, а упомянутое средство представления упомянутого набора модификаторов интенсивности выполнено с возможностью выбора упомянутого набора модификаторов интенсивности из упомянутой таблицы интенсивности на основе упомянутого кодового слова интенсивности.49. Система по п.47, в которой упомянутый набор модификаторов интенсивности содержит математически дополнительные значения модификаторов интенсивности.50. Система по п.47, в которой упомянутая последовательность представления интенсивности представляет собой последовательность, содержащую для каждого элемента изображения в упомянутом представлении упомянутого блока изображения индекс интенсивности, предоставляющий возможность идентификации того, какие из упомянутых нескольких модификаторов интенсивности упомянутого набора модификаторов интенсивности использовать для упомянутого элемента изображения.51. Система по п.47, в которой упомянутый модификатор интенсивности выполнен с возможностью прибавления выбранного значения модификатора интенсивности, умноженного на весовые коэффициенты, конкретные для компонента, ко всем значениям.52. Система по п.47, в которой упомянутый модификатор интенсивности выполнен с возможностью прибавления выбранного значения модификатора интенсивности, умноженного на весовые коэффициенты, конкретные для компонента, ко всем значениям цветовых компонентов упомянутого представления цвета.53. Система по п.51, в которой упомянутый модификатор интенсивности выполнен с возможностью фиксации сумм упомянутого значения модификатора интенсивности и упомянутых значений цветовых компонентов между минимальным пороговым значением и максимальным пороговым значением.54. Система по п.47, в которой упомянутый блок изображения содержит 2m×2n элементов изображения, где m=3-n и n=0, 1, 2, 3.55. Система по п.47, в которой упомянутое представление упомянутого блока изображения представляет собой 32-битную последовательность, в которой упомянутое цветовое кодовое слово содержит 12 бит, упомянутое кодовое слово интенсивности содержит 4 бита, а последовательность упомянутых представлений интенсивности содержит 16 бит.

Документы, цитированные в отчете о поиске Патент 2008 года RU2317587C1

СПОСОБ АНАЛИЗА ИЗОБРАЖЕНИЯ ТЕКСТУРЫ ОБЪЕКТА 1995
  • Гуревич Е.Я.
  • Березная И.Я.
  • Страхович Э.В.
  • Ампилова Н.Б.
RU2105351C1
US 6658146 B1, 02.12.2003
US 6404923 В1, 11.06.2002
Устройство для переноса холста с холстовых стоек на холстовый валик чесальной машины 1975
  • Лачев Георгий Леонидович
  • Щитиков Владимир Витальевич
  • Виноградов Александр Сергеевич
  • Капустин Юрий Михайлович
  • Рыжиков Игорь Иванович
  • Коробков Николай Иванович
SU739139A1
US 5444800 A, 22.08.1995
СПОСОБ ПОЛУЧЕНИЯ МЕТАЛЛИЧЕСКОГО БАРИЯ В ЭЛЕКТРОВАКУУМНЫХ ПРИБОРАХ 1940
  • Григорьев М.В.
  • Иванов А.А.
SU60479A1
US 4975861 A, 04.12.1990
US 5748904 A, 05.05.1998
S.Fenney, "Texture compression using low-frequency signal modulation", Graphics Hardware 2003, с.84-91.

RU 2 317 587 C1

Авторы

Стрем Якоб

Акенине-Меллер Томас

Даты

2008-02-20Публикация

2004-07-08Подача