Сжатие текстуры на основании двух оттенков с модифицированной яркостью

Иллюстрации

Показать все

Изобретение относится к обработке изображения, в частности к способам и системам кодирования и декодирования изображений. Техническим результатом является повышение эффективности кодирования изображений, содержащих два различных оттенка с обеспечением высокого качества. Указанный технический результат достигается тем, что входное изображение подвергается декомпозиции на блоки изображения (600), содержащие множество элементов изображения (610). Блоки изображения (600) затем кодируют в закодированные блоки (700), содержащие первое кодовое слово цвета (710), второе кодовое слово цвета (720), кодовое слово модификатора цвета (730) и последовательность индексов цвета (740). Кодовые слова цвета (710, 720) являются представлениями первого и второго основного цвета (10, 20), расположенными на первой линии (40) в цветовом пространстве. Кодовое слово модификатора (730) является представлением по меньшей мере одного модификатора цвета для модификации первого основного цвета (10) вдоль второй линии (12), чтобы получить множество представлений цвета (30, 32, 34, 35, 36, 38) по линии (12). Вторая линия (12) имеет отличное направление (15) по сравнению с первой линией (40). Последовательность индексов (740) содержит индексы цвета, связанные с представлением цвета, выбранным из i) представлений (30, 32, 34, 35, 36, 38) на второй линии (12) и ii) по меньшей мере одного представления (31, 33) на основании второго основного цвета (20). 10 н. и 29 з.п. ф-лы, 27 ил., 5 табл.

Реферат

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

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

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

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

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

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

Схема S3TC (также называемая DXTC) является наиболее популярной [1]. Она использует 64 бита на 4×4 пикселей, и коэффициент составляет 4 бита на пиксель (bpp). Во время декомпрессии используются два основных цвета (сохраненных в 16 битах), и между ними (в пространстве красный, зеленый, синий, - RGB) еще два цвета интерполируют. Это дает цветовую палитру из четырех цветов. Каждый пиксель в блоке 4×4 затем хранит 2-битный индекс в локальной цветовой палитре. Во время интерполяции этих еще двух цветов выполняется умножение на 1/3 и 2/3, что не является идеальным при аппаратной реализации. Кроме того, сжатие, использующее S3TC, является относительно требующим затрат времени.

Недавно, Strom и Akenine-Moller [2] представили схему сжатия текстуры, названную PACKMAN. Она кодирует блок из 2×4 (текселей) элементов текстуры в 32 бита. Только один цвет возможен для блока, но в каждом пикселе этот цвет может быть модифицирован в значение интенсивности. Главная цель PACKMAN состояла в том, чтобы учесть минимальную сложность декомпрессии, и эта цель была достигнута. Однако качество было приблизительно на 2,5 дБ хуже, чем в S3TC в терминах отношения пикового сигнала к шуму (PSNR). Главная проблема в смысле качества был тот факт, что цветность так тяжело квантовалась. Это вводило блочные артефакты.

Чтобы смягчать это, Strom и Akenine-Moller ввели улучшенную версию PACKMAN, названную iPACKMAN или Сжатие Текстуры от Ericsson (ETC) [3, 4]. Основная уловка заключалась в том, чтобы закодировать два 2×4 блока вместе, что разрешено для дифференциального (разностного) кодирования цветов. Это сделало возможным иметь более точное квантование цветов, что привело к увеличению качества на 3 дБ. Это увеличение качества было достигнуто ценой некоторой сложности аппаратного обеспечения, хотя iPACKMAN/ETC является, наиболее вероятно, все еще более низкой в терминах сложности, чем S3TC.

Даже при том, что iPACKMAN/ETC обеспечивает высокое качество в терминах PSNR, все еще желательно обеспечить обработку изображений, которая может или использоваться единственное или использоваться как дополнение для улучшения схемы iPACKMAN/ETC. Эта обработка изображений должна, в частности, быть приспособленной к управлению теми изображениями, для которых iPACKMAN/ETC производит артефакты, которые являются ясно видимыми для зрителя.

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

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

Общей задачей настоящего изобретения является обеспечение способов и системы кодирования изображения и декодирования изображения.

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

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

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

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

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

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

Индекс цвета выбран для предпочтительно каждого элемента изображения в блоке изображения. Этот индекс цвета связан с представлением цвета, выбранным из i) множества представлений цвета вдоль второй линии и ii) по меньшей мере одного представления цвета на основании второго основного цвета.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг.14A - 14D иллюстрируют варианты осуществления закодированного представления блока изображения согласно многорежимному аспекту настоящего изобретения;

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

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

Фиг.17 иллюстрирует блок-схему, иллюстрирующую вариант осуществления этапа формирования согласно фиг.16 более подробно;

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

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

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

Фиг.21 иллюстрирует блок-схему, иллюстрирующую вариант осуществления кодера изображения согласно настоящему изобретению;

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

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

Фиг.24 иллюстрирует блок-схему, иллюстрирующую вариант осуществления декодера изображения согласно настоящему изобретению;

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

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

Фиг.27 является сравнением изображений, сжатых согласно настоящему изобретению, с соответствующими изображениями, сжатыми согласно схемам S3TC и iPACKMAN предшествующего уровня техники.

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

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

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

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

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

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

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

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

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

Сжатие

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

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

В предпочтительном варианте осуществления цветами элементов изображения в блоке, который должен быть сжат, являются цвета RGB (Красный, Зеленый, Синий). В таком случае эти два основных цвета являются предпочтительно также двумя RGB цветами и поэтому два кодовых слова цвета, определенных на этапе S2, представляют две цветовые точки в цветовом пространстве RGB. Однако настоящее изобретение может также использоваться для любого другого частного цветового пространства, обычно используемого в обработке и управлении изображениями и графики, включая в себя пространство YUV или пространство YCrCb. Кодовые слова цвета предпочтительно находятся в одинаковом цветовом формате (пространстве), что и изображение. Однако в некоторых случаях может быть полезно преобразовать изображение к отличному цветовому формату, то есть имеющему кодовые слова цвета в первом цветовом пространстве и первоначальное изображение во втором отличном цветовом пространстве. В предпочтительной реализации настоящего изобретения первоначальные цвета элементов изображения в блоке состоят из трех компонентов цвета, таких как красный, зеленый и синий. В другой предпочтительной реализации эти первоначальные цвета находятся в формате RGB888, подразумевая, что 8 битов используются на (каждый) компонент цвета и что такой компонент цвета может иметь значение в интервале от 0 до 255. Соответственно, первый и второй основные цвета тогда находятся предпочтительно в формате RGB888. В альтернативном варианте осуществления первоначальные цветовые компоненты представлены как допуски или половина допусков.

Первое и второе кодовые слова цвета обычно содержат множество цветовых компонентов, предпочтительно тех же самых цветовых компонентов, что и первоначальные цвета элементов изображения, такие как RGB. Однако по сравнению с первоначальными цветами кодовые слова цвета предпочтительно находятся в квантованной форме, такой как RGBXYZ, где, по меньшей мере одно из X, Y, Z меньше чем 8. Например, два кодовых слова цвета могут быть в формате RGB555, RGB554 или RGB444. Это означает, что первое и второе кодовые слова цвета могут быть тогда расценены как квантованные представления первого и второго основных цветов, соответственно. Во время декомпрессии значения основного цвета в формате RGB888 могут быть получены посредством удлинения или расширения кодовых слов цвета, как описано ниже.

На следующем этапе S3 обеспечивается кодовое слово модификатора цвета. Это кодовое слово модификатора является представлением по меньшей мере одного модификатора цвета, который является применимым во время декомпрессии блока изображения для модификации первого основного цвета, представленного первым кодовым словом цвета вдоль второй линии в цветовом пространстве. Эта вторая линия имеет второе направление, и второе направление отличается от первого направления. Другими словами, первая и вторая линии являются двумя отдельными линиями в цветовом пространстве и являются, кроме того, двумя непараллельными линиями в цветовом пространстве. Это означает, что, если две линии пересекаются, это имеет место при минимальном угле α, где 0°<α<90°.

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

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

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

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

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

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

Фиг.4B является соответствующей диаграммой той же самой части RGB пространства, что и на фиг.4A, и иллюстрирует, как настоящее изобретение может использоваться для представления шестнадцати первоначальных цветов из двух цветовых групп согласно фиг.4A. Согласно настоящему изобретению первое кодовое слово цвета определено как представление первого основного цвета 10, используемое для представления первой цветовой группы 2. Соответственно, второе кодовое слово цвета определено как представление второго основного цвета 20, используемое для представления второй цветовой группы 4. Из этого чертежа очевидно, что первый 10 и второй 20 основные цвета присутствуют на первой линии 40, имеющей первое направление 45 в цветовом пространстве. На фиг.4B это направление 45 было неограничивающим образом проиллюстрировано вектором 45, направленным от второго основного цвета 20 и к первому основному цвету 10. Это однако должно быть замечено как просто иллюстративный пример и направление 45 может быть фактически противоположным тому, что иллюстрировано на этом чертеже, то есть вектором, указывающим от первого основного цвета 10 и ко второму основному цвету 20.

Кодовое слово модификатора цвета является в этом варианте осуществления настоящего изобретения представлением i) по меньшей мере одного модификатора цвета, применимого для модификации первого основного цвета 10 вдоль второй линии 12, имеющей второе направление 15 в цветовом пространстве, и ii) по меньшей мере одного модификатора цвета, применимого для модификации второго основного цвета 20 вдоль третьей линии 22, имеющей третье направление 25 в цветовом пространстве.

Модификация первого основного цвета 10 вдоль второй линии 12 приводит к множеству, двум на этом чертеже, представлениям 30, 32 цвета вдоль второй линии 12. Соответственно, модификация второго основного цвета 20 вдоль третьей линии 22 приводит к множеству, двум на этом чертеже, представлениям 31, 33 цвета вдоль третьей линии 22. В предпочтительном варианте осуществления вторая линия 12 (третья линия 22) пересекает первую линию 40 в точке, где первый основной цвет 10 (второй основной цвет 20) расположен на первой линии 40. Это в свою очередь означает, что первый основной цвет 10 предпочтительно расположен на второй линии 12 в дополнение к первой линии 40, и что второй основной цвет 20 расположен, в этом варианте осуществления как на первой 40, так и третьей 22 линиях. Как также очевидно из этого чертежа, третья линия 22 отличается от второй линии 12, но может, возможно, иметь то же самое направление 25 в цветовом пространстве, как и первая линия 12. Таким образом, третья 22 и вторая 12 линии могут быть параллельны.

Два представления 30, 32 цвета на второй линии 12 предпочтительно расположены с обеих сторон первого основного цвета 10 на этой линии, и эти представления 31, 33 на третьей линии 22, соответственно, предпочтительно расположены с обеих сторон второго основного цвета 20 на третьей линии 22.

В этом иллюстративном примере четыре представления 30, 31, 32, 33 цвета таким образом доступны для представления шестнадцати первоначальных цветов элементов изображения. В типовом реальном случае элементам изображения, имеющим цвета, присутствующие в первой группе 2 на фиг.4A, обычно назначается индекс цвета, связанный с любым из представлений 30, 32 цвета, существующих на второй линии 12 и полученных из первого основного цвета 10. Соответственно, элементам изображения в блоке, имеющем цвета во второй группе 4 на фиг.4A, будет обычно назначаться индекс цвета, связанный с представлением 31 или 33 цвета на третьей линии 22 и получаемый из второго основного цвета 20. Таким образом, два представления 30, 32 цвета являются хорошими приближениями цветовых точек в первой цветовой группе 2, но не цветовыми точками, присутствующими во второй цветовой группе 4. Однако, для последнего, два представления 31, 33 цвета являются хорошими приближениями.

Это означает, что блок изображения, имеющей два отличных оттенка, как иллюстрируется на фиг.4A, может быть выгодно обработан согласно настоящему изобретению. Как видно из фиг.4B, линии 12, 22 между представлениями 30, 31, 32, 33 цвета и линией 40 между двумя основными цветами 10, 20 все вместе формируют H. Как следствие, этот вариант осуществления настоящего изобретения обозначен как шаблон H или режим H.

Фиг.5A представляет соответствующую диаграмму части RB-плоскости пространства RGB. По сравнению с фиг.4A первая цветовая группа 6 содержит большее количество цветовых точек, и эти цветовые точки распределены в удлиненном эллиптическом наборе 6. Однако цветовые точки второй цветовой группы 8 распределены вокруг и близко к цветовой точке. В этом случае модификация первого основного цвета, описанная выше, для получения двух представлений цвета, может быть обычно разумной аппроксимацией цветов первой цветовой группы 6. Однако применение такой процедуры также для второго основного цвета, чтобы получить два представления цвета, может быть обычно расточительным, так как цвета второй цветовой группы 8 могут быть хорошо представлены только одиночным представлением цвета.

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

Результаты такой аппроксимации цветов и представление согласно этому варианту осуществления изобретения представлены на фиг.5B. Подобно вышеупомянутому, первое кодовое слово цвета определено как представление первого основного цвета 10, причем этот основной цвет 10 обычно найден в или близко к первой цветовой группе 6 в цветовом пространстве. Соответственно, второе кодовое слово цвета определяется как представление второго основного цвета 20, который обычно располагается в или близко к второй цветовой группе 8. Два основных цвета 10, 20 расположены на первой линии 40, имеющей первое направление 45 в цветовом пространстве.

В этом варианте осуществления кодовым словом модификатора цвета является представление по меньшей мере одного модификатора цвета, применимого для модификации первого основного цвета 10 вдоль второй линии 12, имеющей второе направление 15, отличное от первого направления 45. Эта модификация цвета приводит к трем представлениям цвета 30, 32, 34, расположенным на второй линии 12. Первое из этих представлений 34 цвета является фактически первым основным цветом 10. Это означает, что для этого представления модификация цвета дает тот же самый выходной результат, что и входной (первый основной цвет 10). Другие два представления 30, 32 цвета предпочтительно расположены с обеих сторон первого представления 34 цвета (первый основной цвет 10) на второй линии 12. Это означает, что три представления 30, 32, 34 цвета являются доступными в качестве аппроксимаций для цветов элемента изображения первой цветовой группы 6.

В этом варианте осуществления одиночное представление цвета 31 получают из второго основного цвета 20, предпочтительно являющегося равным второму основному цвету 20. Таким образом, цвета второй цветовой группы 8 будут затем обычно выбирать индекс цвета, связанный этим представлением 31 цвета.

По сравнению с ситуацией, представленной на фиг.4A и 4B, большее количество представлений цвета обеспечивается в области цветового пространства, где большинство цветов элемента изображения присутствует в пространстве за счет обеспечения меньшего количества представлений цвета в окрестности второго основного цвета.

Как видно из фиг.5B, линии 12 между представлениями 30, 32 цвета и линией 40 между двумя основными цветами 10, 20 все вместе формируют T. Как следствие, этот вариант осуществления настоящего изобретения обозначен шаблон T или режим T.

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

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

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

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

Таблица 1 Таблиц