СЖАТИЕ ПОИСКОВОЙ ТАБЛИЦЫ ЦВЕТОВ
COMPRESSING COLOR LOOKUP TABLE

УРОВЕНЬ ТЕХНИКИ
[1] Системы диспетчеризации цветов обеспечивают управляемое преобразование между цветовыми представлениями различных устройств, например, сканера изображения, цифровой камеры, компьютерных мониторов, принтеров и соответствующих носителей. Профили устройств обеспечивают системы диспетчеризации цветов информацией для преобразования цветовых данных между цветовыми пространствами, например, между естественными цветовыми пространствами устройств и независимыми от устройства цветовыми пространствами, между независимыми от устройства цветовыми пространствами и естественными цветовыми пространствами устройств, и между цветовыми пространствами исходного устройства и непосредственно в цветовые пространства целевого устройства.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[2] Фиг. 1 - блок-схема, демонстрирующая иллюстративное запоминающее устройство, имеющее сжатую цветовую таблицу.
[3] Фиг. 2 - блок-схема, демонстрирующая иллюстративный способ сжатия цветовой таблицы для запоминающего устройства, показанного на фиг. 1.
[4] Фиг. 3 - блок-схема, демонстрирующая иллюстративный способ, имеющий дополнительные признаки иллюстративного способа, показанного на фиг. 2.
[5] Фиг. 4 - блок-схема, демонстрирующая другое иллюстративное запоминающее устройство, имеющее сжатую цветовую таблицу.
[6] Фиг. 5 - блок-схема, демонстрирующая иллюстративный способ декодирования сжатой цветовой таблицы.
[7] Фиг. 6 - блок-схема, демонстрирующая иллюстративную систему, включающую в себя примеры способов, показанных на фиг. 2, 3 и 4, и запоминающих устройств, показанных на фиг. 1 и 4.
[8] Фиг. 7 - блок-схема, демонстрирующая иллюстративную систему, включающую в себя примеры способов, показанных на фиг. 5, и запоминающих устройств, показанных на фиг. 1 и 2.
ПОДРОБНОЕ ОПИСАНИЕ
[9] В нижеследующем подробном описании делается ссылка на прилагаемые чертежи, которые образуют его часть, и в котором показаны в порядке иллюстрации в порядке конкретных примеров, в которых изобретение можно осуществлять на практике. Следует понимать, что можно использовать другие примеры и можно делать структурные или логические изменения, не выходя за рамки объема настоящего изобретения. Поэтому нижеследующее подробное описание не рассматриваются в ограничительном смысле, и объем настоящего изобретения задается нижеследующей формулой изобретения. Следует понимать, что признаки различных описанных здесь примеры можно комбинировать, частично или полностью, друг с другом, если конкретно не указано обратное.
[10] Цветовое пространство является системой, имеющей оси, и которая численно описывает цвет. Некоторые устройства вывода, например, устройства двухмерной и трехмерной печати (аддитивного производства), могут использовать тип цветового пространства голубой-пурпурный-желтый-черный (CMYK), тогда как некоторые прикладные программы и устройства отображения могут использовать тип цветового пространства красный-зеленый-синий (RGB). Дополнительно, некоторые программируемые устройства могут использовать монохроматическое или в шкале серого цветовое пространство. Например, цвет, представленный в цветовом пространстве CMYK, имеет значение голубого, значение пурпурного, значение желтого и значение черного, которые комбинируются, численно представляя цвет.
[11] Цветовые таблицы, которые обеспечивают преобразования между различными цветовыми пространствами широко используются в диспетчеризации цветов, общими примерами которой являются преобразования из независимых от устройства цветовых пространств (например, CIELAB, т.е. L*a*b*) в зависимые от устройств цветовые пространства (например, RGB или CMYK) и наоборот. Отображения могут задаваться с использованием таблиц, например, одной или более одно- или многомерных поисковых таблиц, к которым может применяться интерполяция, или через ряд параметров для преобразований. Цветовая таблица может включать в себя массив или другую структуру данных на запоминающем устройстве, которая заменяет вычисления в ходе выполнения более простым массивом, индексирующим операцию как поисковую таблицу цветов. В целях этого изобретения, цветовые таблицы также могут включать в себя монохроматические и в шкале серого цветовые таблицы.
M
[12] Например, цветовая таблица может включать в себя набор из  узлов, которые могут вмещать в себя M цветов из диапазона полных цветов. Каждый узел включает в себя конкретное значение цвета, представленное как набор битов или байтов. Цветовая таблица 256 цветов в цветовом пространстве RGB может быть представлена 256 узлами, каждый из которых имеет глубину 18 битов, т.е. шесть битов для каждого значения красного, зеленого и синего.
[13] Цветовой профиль представляет собой файл данных, который характеризует преобразование между разными цветовыми пространствами. В одном примере, цветовой профиль может описывать цветовые атрибуты конкретного устройства или спецификации наблюдения с отображением между зависящим от устройства цветового пространства, например, исходным или целевым цветовым пространством, и не зависящим от устройства цветовым пространством, например, пространством соединения профилей (PCS), и наоборот. Устройства и программы - включающие в себя принтеры, мониторы, телевизоры, операционные системы, браузеры и другое устройство и программное обеспечение - которые захватывают или отображают цвет, могут включать в себя профили, которые содержат различные комбинации оборудования и программного обеспечения.
[14] Профиль ICC является иллюстративным цветовым профилем, который является набором данных, которые характеризуют цветовое пространство согласно стандартам, выдвинутым Международным консорциумом по цвету (ICC). Структура профиля ICC использовалась в качестве стандарта осуществления связи и обмена между различными цветовыми пространствами. Профиль ICC включает в себя несколько записей данных, которые могут изменяться в зависимости от типа устройства. Некоторые записи, например, включающие в себя поисковые таблицы цветов, обеспечивают данные для использования в цветовых преобразованиях. Запись поисковой таблицы цветов включает в себя несколько компонентов, которые обеспечивают параметры для цветовых преобразований между пространством устройства и PCS. Поисковые таблицы могут включать в себя матрицы цветового преобразования, одномерные поисковые таблицы и многомерные поисковые таблицы. Количество каналов на входе и выходе поисковой таблицы будут изменяться в зависимости от используемого цветового пространства.
[15] Профили ICC часто внедряются в цветные документы как различные комбинации оборудования и программного обеспечения для достижения точности воспроизведения цвета между разными устройствами, что увеличивает полный размер этих документов. Каждый графический элемент, т.е. фигура или изображение в цветном документе может иметь свой собственный профиль ICC. Размер цветовых таблиц в цветовых профилях также будет увеличиваться с утоньшением дискретизации пространств и увеличением битовых глубин. Для таких устройств, как цветные принтеры, цветовые таблицы часто внедряются в программно-аппаратное обеспечение или другое оборудование принтера, где цветовые таблицы расходуют компьютерную память в запоминающих устройствах.
N
CLUT
CLUT
CLUT
.
J
J
J
1
2
n
out
in
out
[16] В общем случае, профиль может включать в себя  цветовых таблиц, подлежащих обработке, например ,,  Несколько цветовых таблиц, представляющих разные цели визуализации, часто включаются с одним профилем ICC. Дополнительно, входное цветовое пространство включает в себя каналы, и выходное цветовое пространство включает в себя  каналов, и во многих примерах профиля ICC  и  могут составлять один или более каналов. Для каждого выходного канала, соответствующая поисковая таблица содержит  узлов.
[17] В некоторых сценариях, объем памяти программно-аппаратного обеспечения, расходуемый для хранения этих цветовых таблиц может становиться проблемной, особенно, когда количество поисковых таблиц в цветных устройствах увеличивается для поддержки нескольких цветовых пространств, носителей печати и предпочтений. Тенденция к более тонкой дискретизации пространств и увеличенным битовым глубинам также приводит к увеличению размеров таблиц, дополнительно обостряя эти проблемы памяти. Дополнительно, проблемы эффективного использования памяти и расходования пространства хранения применимы для цветовых таблиц, которые внедрены в цветные документы, например, исходные профили ICC. В применениях, в которых используются внедренные профили, внедренные профили представляют издержки.
[18] Фиг. 1 демонстрирует иллюстративное запоминающее устройство 100, включающее в себя сжатую цветовую таблицу 102. Сжатая цветовая таблица 102 может быть сжатой исходной цветовой таблицей. Исходная цветовая таблица включает в себя набор узлов. В одном примере, запоминающее устройство 100 может быть включено в картридж принтера или принтер. В другом примере, запоминающее устройство 100 включено во взаимодействующие части, например, одну часть на картридже принтера и другую часть на принтере, которые можно обрабатывать совместно. Сжатая цветовая таблица 102 обеспечивается на запоминающем устройстве 100 как включающая в себя сжатую разностную таблицу 104 и таблицу 106 остатков. В сжатой цветовой таблице 102 может храниться набор файлов, включающий в себя двоичные файлы, или как битовые потоки. Разностная таблица 104 включает в себя множество разностных узлов, в котором каждый узел представляет разность между значением узла исходной цветовой таблицы и значением узла опорной таблицы. Опорная таблица включает в себя узлы, имеющие заранее выбранное или заранее определенное значение. В одном примере, значения узлов опорной таблицы представляют узлы исходной цветовой таблицы. Таблица 106 остатков включает в себя множество узлов остатка, в котором каждый узел представляет разность между значением узла исходной цветовой таблицы и значением узла реконструированной сжатой разностной таблицы.
[19] Иллюстративное запоминающее устройство 100 может быть реализовано включающим в себя комбинацию из одного или более энергозависимых или энергонезависимых компьютерных носителей данных. Компьютерные носители данных могут быть реализованы согласно любому подходящему способу или технологии хранения информации, например, компьютерно-считываемых инструкций, структур данных, программных модулей или других данных. Распространяющийся сигнал сам по себе не считается носителем данных или запоминающим устройством. Запоминающее устройство может быть включено как часть системы, включающей в себя процессор и память для хранения набора компьютерных инструкций, предписывающих процессору осуществлять цветовое преобразование. Примеры включают в себя запоминающее устройство, включенное как часть картриджа принтера, которая может считываться принтером для осуществления цветовых преобразований на основании таких спецификаций, как параметры чернил или носителей или спецификаций устройства.
M
[20] Фиг. 2 демонстрирует иллюстративный способ 200, который может использоваться для сжатия цветовой таблицы или исходной цветовой таблицы. Примеры описаны со ссылкой на одномерные цветовые таблицы, т.е. цветовые таблицы, имеющие один входной канал, один выходной канал, и, таким образом  узлов, хотя принципы могут распространяться на многомерные цветовые таблицы или другие записи цветового профиля. Разностная таблица сжимается на этапе 202. Разностная таблица включает в себя множество разностных узлов, представляющих разность значений узлов цветовой таблицы и узлов опорной таблицы. Сжатая разностная таблица реконструируется и применяется для генерации таблицы остатков на этапе 204. Таблица остатков включает в себя множество узлов остатка, представляющих разность значений узлов цветовой таблицы и узлов реконструированной сжатой разностной таблицы. Сжатая разностная таблица и таблица остатков могут храниться как файлы данных на запоминающем устройстве, например, устройстве 100.
[21] В одном примере, разностная цветовая таблица сжимается на этапе 202 с использованием дискретного косинусного преобразования, или DCT, которое выражает конечную последовательность точек данных в отношении суммы косинусных функций, колеблющихся на разных частотах, хотя могут использоваться и другие системы. Сжатие DCT могут особенно подходить для примеров, в которых цветовые таблицы могут выражаться в одном или нескольких измерениях. В других примерах, разностная цветовая таблица может сжиматься с использованием системы, которая может базироваться на вейвлетах, например, SPIHT (Set Partitioning In Hierarchical Trees) и SPECK (Set Partitioned Embedded bloCK).
[22] Иллюстративный способ 200 может быть реализован для включения комбинации одного или более аппаратных устройств и программ для управления системой, например, вычислительным устройством, имеющим процессор и память, для осуществления способа 200 для сжатия цветовой таблицы в файл или битовый поток. Файл или битовый поток может подразделяться на дополнительные файлы или битовые потоки. Способ 200 может быть реализован как набор исполнимых инструкций для управления процессором. Другие способы изобретения также могут быть реализованы в виде комбинации оборудования и программного обеспечения для управления системой.
[23] Сжатие данных включает в себя кодирование информации с использованием меньшего количества битов, чем в исходном представлении. Беспотерьное сжатие и потерьное сжатие являются двумя формами сжатия данных. При беспотерьном сжатии, между исходными данными и реконструированными беспотерьно сжатыми данными не существует цифровой разности. Напротив, участок исходных данных теряется после реконструкции потерьно сжатых данных.
[24] В иллюстративном способе 200 конкретная система беспотерьного сжатия может использоваться для применения конкретных характеристик исходной цветовой таблицы, подлежащей сжатию. К исходной цветовой таблице может применяться конкретное беспотерьное сжатие в файлы, которые могут реконструироваться в цветовую таблицу без цифрового отличия от исходной цветовой таблицы. Общая система беспотерьного сжатия может использоваться для сжатия любого рода данных. Один или более из этих файлов может дополнительно сжиматься посредством общей системы беспотерьного сжатия для дополнительного уменьшения размера файлов.
[25] Фиг. 3 демонстрирует иллюстративный способ 300 сжатия исходной цветовой таблицы аналогично способу 200. Иллюстративный способ 300 может быть реализован в стадиях включающих в себя конкретную стадию беспотерьного сжатия, где применяются конкретные характеристики данных цветовой таблицы и общую стадию беспотерьного сжатия для высокого сжатия данных. В одном примере, стадии способа осуществляются последовательно.
M
j
j
j
j
M.
[26] Процесс 300 генерирует разностную таблицу из исходной цветовой таблицы и опорной таблицы на этапе 302. Разностная таблица включает в себя множество разностных узлов, в котором каждый узел включает в себя значение, которое представляет разность значения узла исходной цветовой таблицы и значения узла опорной таблицы. В одном примере, каждая из исходной цветовой таблицы и опорной таблицы включают в себя  узлов. Значение каждого узла исходной цветовой таблицы вычитается из значения соответствующего узла в опорной таблице для обеспечения значения на соответствующем узле в разностной таблице. Таким образом, значение в положении узла  исходной цветовой таблицы вычитается из значения в положении узла  опорной таблицы для обеспечения значения в положении узла  разностной цветовой таблицы, где  является положением узла от 1 до
M-
[27] Опорная таблица включает в себя узлы, имеющие заранее выбранное или заранее определенное значение, которое может представлять узлы исходной цветовой таблицы. В одном примере, чем меньше значения для разностных узлов, тем меньше значения узлов в остаточной таблице, что может обеспечивать эффективное сжатие. В одном примере, значения для опорных узлов могут быть {0, 1, 2... (1)} для опорной таблицы.
M
M
M
[28] Разностная таблица сжимается на этапе 304. В примере, разностная таблица сжимается посредством DCT для генерации набора коэффициентов, которые могут дополнительно обрабатываться для генерации набора квантованных коэффициентов на этапе 306. Разностная таблица, имеющая  узлов, будет генерировать  коэффициентов. Каждый из коэффициентов в наборе коэффициентов можно делить на, или квантовать, с фиксированным размером Δ шага и округлять до ближайшего целого числа для обеспечения набора из  квантованных коэффициентов на этапе 306. Квантованные коэффициенты могут записываться в двоичный файл на этапе 308.
M
[29] Сжатая разностная таблица реконструируется и применяется к опорной таблице для генерации первоначально реконструированной таблицы на этапе 310. Например, квантованные коэффициенты из 306 используются для генерации реконструированной разностной таблицы. В примере, квантованные коэффициенты, умноженные на размер Δ шага, применяются в процессе обратного DCT и округляются до ближайшего целого числа для получения значений на узлах реконструированной разностной таблицы. Реконструированная разностная таблица прибавляется к опорной таблице для получения первоначально реконструированной таблицы на этапе 310. В одном примере, каждая из реконструированной разностной таблицы и опорной таблицы включают в себя  узлов, и значение каждого узла реконструированной разностной таблицы прибавляется к значению на соответствующем узле в опорной таблице для обеспечения значения на соответствующем узле в первоначально реконструированной таблице.
M
[30] Первоначально реконструированная таблица вычитается из исходной цветовой таблицы для получения таблицы остатков на этапе 312. В одном примере, каждая из первоначально реконструированной таблицы и исходной таблицы включает в себя  узлов, и значение каждого узла первоначально реконструированной таблицы вычитается из значения соответствующего узла в исходной таблице для обеспечения значения на соответствующем узле в таблице остатков. Таблица остатков может записываться в двоичный файл на этапе 314. В одном примере, таблица остатков прибавленная к первоначально реконструированной таблице, создает цветовую таблицу, которая не имеет или в целом не имеет цифрового отличия от исходной цветовой таблицы. В другом примере таблица остатков определяется таким образом, что в случае прибавления к первоначально реконструированной таблице, она создает приближение исходной цветовой таблицы.
[31] Квантованные коэффициенты и таблица остатков используются для вычисления соответствующих таблиц назначения битов. Квантованные коэффициенты используются для вычисления таблицы назначения битов коэффициента (CBAT) на этапе 316, которую можно использовать для декодирования квантованных коэффициентов, записанный в двоичный файл на этапе 308. Аналогично, значения таблицы остатков могут использоваться для вычисления таблицы назначения битов остатка (RBAT) на этапе 318, которую можно использовать для декодирования таблицы остатков, записанных в двоичный файл на этапе 314. Одномерная исходная цветовая таблица будет включают в себя одну CBAT и одну RBAT.
L
,
[32] В CBAT и RBAT, сгенерированных на этапах 316, 318, хранится информация, указывающая, сколько битов назначаются каждому квантованному коэффициенту или значению остатка, соответственно. Например,  битов используется для квантования действительного числа в пределах от -0,5 до L - 0,5 в целочисленное значение, где  представляет функцию верхнего округления логарифма  по основанию 2, и функция верхнего округления отображает действительное число в наименьшее следующее целое число. Дополнительный бит обеспечен для знака в CBAT и RBAT, поскольку коэффициенты и значения остатка могут быть отрицательными числами.
Q
N)
j
M)
B
Q
B
=
Q
Q
i
,
j
i
,
j
i,j
i,j
i,j
i,j
[33] Иллюстративный процесс может применяться для вычисления таблицы назначения битов для каждой из CBAT и RBAT на этапах 316, 318. Для данного выходного канала, квантованный коэффициент DCT выходного канала обозначается как ,где i (от 1 до  - номер цветовой таблицы, и  (от 1 до  - номер узла для одномерной исходной цветовой таблицы (и от 1 до  для многомерной цветовой таблицы). Количество битов , необходимых для , равно 0, если  равно 0, и , если  не равно 0.
a
j,
L
,
B
N).
a
j
M).
aM
j
i,j
[34] В одном примере, фиксированное количество битов  может назначаться каждому узлу соответствующих таблиц назначения битов и использоваться для определения размера каждой таблицы назначения битов. Значение таблиц назначения битов в положении узла или  может определяться из наибольшего количества битов ,необходимого для каждой цветовой таблицы i (от 1 до  Фиксированное количество битов  может определяться из наибольшего числа , определенного для каждого положения узла  (от 1 до  Таким образом, в примере, полный размер одной таблицы назначения битов для одномерной цветовой таблицы составляет  битов.
[35] Полный размер CBAT и RBAT можно значительно уменьшить посредством общего беспотерьного сжатия. Общее беспотерьное сжатие может быть реализовано с использованием различных систем сжатия, включающих в себя процесс алгоритма цепей Лемпеля-Зива-Маркова (или LZMA), процесс GZIP (или GNU-zip), или других подходящих систем беспотерьного сжатия, которые могут применяться для получения беспотерьного сжатия файлов данных. CBAT может сжиматься на этапе 320, и RBAT может сжиматься на этапе 322 путем беспотерьного сжатия, например, LZMA.
[36] В некоторых примерах, двоичные файлы квантованных коэффициентов и остатка могут сжиматься путем общего беспотерьного сжатия, но LZMA может не иметь столь же хорошей производительности сжатия для квантованных коэффициентов и таблицы остатков, как для таблиц назначения битов, которые могут включать в себя высокую избыточность.
opt
[37] Выбранный размер Δ шага, используемый для генерации квантованных коэффициентов на этапе 306 может влиять на степень сжатия. Коэффициент сжатия может определяться из размера исходной цветовой таблицы, деленного на размер всех файлов, т.е. размер квантованных коэффициентов, таблицы остатков и таблиц назначения битов. Больший размер Δ шага достигает меньших квантованных коэффициентов DCT, но более высоких значений остатка, но меньший размер шага Δ достигает более высоких квантованных коэффициентов DCT, но меньших значений остатка. Оптимизированный коэффициент сжатия уравновешивает размер файла квантованных коэффициентов и размер файла таблицы остатков. При вычислении коэффициента сжатия как функции размера Δ шага, было определено, что коэффициент сжатия сначала увеличивается, достигает пика при оптимизированном размере Δ шага, и уменьшается, когда размер шага Δ увеличивается. В одном примере, в целом высокий коэффициент сжатия может достигаться при размере Δ шага, выбранном приблизительно равном 2.
J
i
j
k=c
in
[38] Сжатие DCT также может быть особенно пригодно для примеров, в которых цветовые таблицы могут выражаться в нескольких измерениях. При дополнительной обработке многомерная цветовая таблица на этапе 306, -мерные квантованные коэффициенты можно переупорядочивать в одномерный поток данных выбранного порядка. Выбранный порядок может базироваться на многомерном зигзагообразном упорядочении, например, трехмерном зигзагообразном упорядочении, которое может использоваться для переупорядочения квантованных коэффициентов, поскольку энергия после DCT-преобразования концентрируется в низкочастотной области. При осуществлении трехмерного упорядочения, обходы могут конфигурироваться таким образом, что плоскости ++ посещаются в порядке увеличения c, и в каждой плоскости осуществляется двухмерное зигзагообразное движение. Такие обходы квантованных коэффициентов от низко- до высокочастотных могут вносить большую величину избыточности в таблицу назначения битов коэффициента, что может обеспечивать эффективную упаковку данных при сжатии. Полученный одномерный поток данных квантованных коэффициентов из многомерной цветовой таблицы может записываться в двоичный файл на этапе 308.
J
J
out
out
[39] В случае многомерной таблицы, каждый выходной канал может соответствовать отдельной таблице назначения битов коэффициента. Соответственно, профиль, имеющий  выходных каналов, будет включать в себя таблиц назначения битов коэффициента. Узлы в каждой таблице назначения битов соответствуют узлам исходной цветовой таблицы.
[40] Фиг. 4 демонстрирует иллюстративное запоминающее устройство 400, включающее в себя сжатую цветовая таблица 402, которая может соответствовать сжатой цветовой таблице 102, показанную на фиг. 1. Сжатая цветовая таблица 402, хранящаяся на запоминающем устройстве 400, включает в себя битовые потоки квантованных коэффициентов 404, сжатую таблицу 406 назначения битов коэффициента (CBAT), таблицу 408 остатков и сжатую таблицу 410 назначения битов остатка (RBAT). Например, битовый поток квантованных коэффициентов 404 может определяться способом 300 на этапе 308, битовый поток сжатой CBAT 406, определенной на этапе 320, битовый поток таблицы 408 остатков, определенной на этапе 312, и битовый поток сжатой RBAT 410, определенной на этапе 322, которые сохраняются на запоминающем устройстве 400. В одном примере, CBAT и RBAT сжимаются в процессе LZMA, и сжатая CBAT 406 и сжатая RBAT 410 сохраняются как файлы .lzma на запоминающем устройстве 400. В одном примере, квантованные коэффициенты 404 и таблица 408 остатков сохраняются как двоичный файл (.bin) на запоминающем устройстве 400. (В другом примере, квантованные коэффициенты и таблицы остатков, сгенерированные на этапах 308, 312, сжимаются общим методом сжатия, например, LZMA и файлы 404 и 408 сохраняются на запоминающем устройстве 400 как файлы .lmza.) Запоминающее устройство 400 может быть примером запоминающего устройства 100.
[41] Фиг. 5 демонстрирует иллюстративный способ 500 декодирования сжатой исходной цветовой таблицы 402, например, файлов 404-410 на запоминающем устройстве 400.
[42] Если один или более файлов 402, 404, 406 или 408 сжимаются посредством общего беспотерьного сжатия, на этапе 502 осуществляется снятие сжатия стандартных сжатых без потерь файлов 402, 404, 406 или 408 на запоминающем устройстве 400. Например, стандартный метод беспотерьного снятия сжатия, например, обратный LZMA или обратный GZIP (т.е. обратное общему беспотерьному сжатию, применяемому на этапе 320, 322 и к другим файлам) применяется к файлам 406, 410 сжатых CBAT и RBAT для получения таблиц назначения битов со снятым сжатием, или CBAT и RBAT, на этапе 502.
M
[43] CBAT со снятым сжатием используется для реконструкции квантованных коэффициентов, и RBAT со снятым сжатием используется для реконструкции таблицы остатков на этапе 504. Например, CBAT со снятым сжатием применяется к файлу квантованных коэффициентов 404 для определения, сколько битов двоичного потока назначаются значению каждого квантованного коэффициента из  коэффициентов. Аналогично, RBAT со снятым сжатием применяется к файлу 408 таблицы остатков для определения, сколько битов двоичного потока назначаются каждому узлу таблицы остатков.
M
M
[44] Набор из  реконструированных квантованных коэффициентов из 504 обрабатываются для получения разностной таблицы на этапе 506. Реконструированные коэффициенты умножаются на квантованный размер Δ шага для получения предварительно обработанных коэффициентов. Если DCT использовалось для определения коэффициентов на этапе 304, процесс обратного DCT применяется к предварительно обработанным коэффициентам и округляется до ближайшего целого числа для получения  узлов в разностной таблице со снятым сжатием на этапе 506.
M
j
j
j
M.
[45] Опорная таблица, используемая на этапе 302, прибавляется к разностной таблице со снятым сжатием из 506 для получения промежуточной таблицы на этапе 508. В одном примере, каждая из разностной таблицы со снятым сжатием и опорной таблицы включают в себя  узлов, и значение каждого узла разностной таблицы со снятым сжатием прибавляется к значению соответствующего узла в опорной таблице для обеспечения значения на соответствующем узле в промежуточной таблице. Таким образом, значение в положении узла  разностной таблицы со снятым сжатием прибавляется к значению в положении узла  опорной таблицы для обеспечения значения в положении узла j промежуточной таблицы, где  является положением узла от 1 до
M
j
j
j
M.
[46] Промежуточная таблица из 508 прибавляется к реконструированной таблице остатков из 504 для получения исходной цветовой таблицы со снятым сжатием на этапе 510. В одном примере, каждая из промежуточной таблицы и реконструированной таблицы остатков включают в себя  узлов, и значение каждого узла промежуточной таблицы прибавляется к значению соответствующего узла в реконструированной таблице остатков для обеспечения значения на соответствующем узле в исходной цветовой таблице со снятым сжатием. Таким образом, значение в положении узла  промежуточной таблицы прибавляется к значению в положении узла  реконструированной таблицы остатков для обеспечения значения в положении узла j исходной цветовой таблицы со снятым сжатием, где  является положением узла от 1 до  Исходная цветовая таблица со снятым сжатием идентична исходной цветовой таблице, сжатой способом 300.
M=
b=
bM=
[47] Способы сжатия одномерной цветовой таблицы, например, способ 300, применялись к таблицам 1DX1_75percent_nonlinear_mono.cxf и 1DX1_90percent_nonlinear_mono.cxf с использованием 1DX1_unity.cxf в качестве опорной таблицы. Опорная таблица включает в себя 256 узлов, которое включает в себя узел, увеличивающийся линейно от 0 до 255. Опорная таблица может храниться на запоминающем устройстве 100, но также легко может вычисляться и не сохраняться как часть файлов сжатой исходной цветовой таблицы. В этом примере, 256 и байтовая глубина (количество байтов, используемых для хранения значения на каждом узле) равна 2. Всего существует 256 байтов в каждой таблице и всего 512 байтов в обеих таблицах. Целочисленный размер Δ шага, равный 2 был выбран для относительной оптимизации баланса размера значений остатка и размера коэффициентов.
[48] Таблица остатков, квантованные коэффициенты, RBAT и CBAT записывались как двоичные файлы .bin и сжимались посредством общего беспотерьного сжатия LZMA, чтобы стать файлами .lzma. Таблица остатков и квантованные коэффициенты дополнительно не сжимались посредством общего беспотерьного сжатия, поскольку было определено, что файлы .lzma больше по размеру, чем соответствующие файлы .bin. Соответственно, таблица остатков и квантованные коэффициенты сохранялись как двоичные файлы, тогда как RBAT и CBAT сохранялись как файлы .lzma.
[49] В таблице 1 показан размер файлов в байтах, когда таблица остатков и квантованные коэффициенты сохранялись как двоичные файлы, и RBAT и CBAT сохранялись как файлы .lzma. Две сжатых исходных цветовых таблицы занимают только 168 байтов, по сравнению с 512 байтами для исходных таблиц, для коэффициента сжатия 3,05.
Таблица 1
Сжатый файл
Размер в байтах
Таблица остатков
35
RBAT
76
Квантованные коэффициенты DCT
23
CBAT
34
Полный размер
168
[50] Фиг. 6 демонстрирует иллюстративную систему 600, которую можно использовать для создания сжатой цветовой таблицы 602 на запоминающем устройстве 604. Сжатая цветовая таблица 602 могут включать в себя сжатую разностную таблицу 616 и таблицу остатков 618. В одном примере, запоминающее устройство 604 может соответствовать одному из иллюстративных запоминающих устройств 100, 400. Например, сжатая цветовая таблица 602 может включать в себя битовые потоки квантованных коэффициентов 404, сжатую таблицу 406 назначения битов коэффициента (CBAT), таблицу 408 остатков и сжатую таблицу 410 назначения битов остатка (RBAT) сжатой цветовой таблицы 402. Иллюстративная система 600 включает в себя вычислительное устройство 606, имеющее процессор 608 и память 610, которые выполнены с возможностью осуществления иллюстративного способа этого изобретения, например, одного или более из способов 200, 300 в качестве набора компьютерно-считываемых инструкций, хранящихся в памяти 610, для предписания процессору 608 осуществлять способ. В одном примере, набор компьютерно-считываемых инструкций может быть реализован как компьютерная программа 612, которая может включать в себя различные комбинации оборудования и программного обеспечения, сконфигурированных для работы на вычислительном устройстве 606. Компьютерная программа 612 может храниться в памяти 610 и выполняться процессором 608 для создания сжатой цветовой таблицы 602 на запоминающем устройстве 604. Запоминающее устройство 604 может быть включено в расходуемый продукт 614, например, картридж принтера.
[51] Фиг. 7 демонстрирует иллюстративную систему 700 который можно использовать для применения сжатой цветовой таблицы 602, созданной на запоминающем устройстве 604 системой, например, системой 600. В примере, запоминающее устройство 604 включена в расходуемый продукт 614, например, картридж принтера, имеющий резервуар жидких чернил, сухого порошкового тонера, или другого вещества печати или маркировки для использования с принтером. В одном примере, картридж принтера включает в себя цветовую таблицу, соответствующую веществу печати или маркировки, например, цветовую таблицу, соответствующую черным, голубым, пурпурным или желтым чернилам.
[52] Запоминающее устройство 604 может в ходе работы подключаться к другому вычислительному устройству 702, имеющему процессор 704 и память 706 для считывания и применения сжатой цветовой таблицы 602. В одном примере, вычислительное устройство 702 включает в себя внутренние возможности печати и может быть сконфигурировано как лазерный принтер или струйный принтер, который может принимать запоминающее устройство 604 и снимать сжатие и считывать сжатую цветовую таблицу 602, как поисковую таблицу цветов. Вычислительное устройство 702 может включать в себя набор компьютерно-считываемых инструкций, хранящихся в памяти 706 и исполняемых процессором 704 для осуществления способа, например, способа 500 для снятия сжатия цветовой таблицы 602 или иначе применять цветовую таблицу 602. В одном примере, набор компьютерно-считываемых инструкций может быть реализован как компьютерная программа 708, которая может включать в себя различные комбинации оборудования и программного обеспечения, сконфигурированных для работы на вычислительном устройстве 702. Компьютерная программа 708 может храниться в памяти 706 и выполняться процессором 704 для снятия сжатия сжатой цветовой таблицы 602 на запоминающем устройстве 604. В одном примере, в памяти 706 может храниться опорная таблица, использующая способ 500. В другом примере, опорная таблица может быть включена как часть компьютерной программы 708, например, данных в структуре данных или создаваться компьютерной программой посредством вычислений, осуществляемых процессором 704, и сохраняться в памяти 706.
[53] В одном примере, вычислительное устройство 702 подключено к компьютерной сети, например, интернету, и сжатая цветовая таблица 602 хранится на запоминающем устройстве 604, подключенном к вычислительному устройству 702 через сеть. Расходуемый продукт может включать в себя код, который, будучи активирован вычислительным устройством 702, вычислительное устройство загружает сжатую цветовую таблицу 602 (и также, возможно, опорную таблицу) из запоминающего устройства в память 706 для считывания и применения сжатой цветовой таблицы 602 процессором 704.
[54] Хотя здесь проиллюстрированы и описаны конкретные примеры, показанные и описанные конкретные примеры могут быть заменены различными альтернативными и/или эквивалентными реализациями, не выходящими за рамки объема настоящего изобретения. Данная заявка призвана охватывать любые адаптации или изменения конкретных рассмотренных здесь примеров. Поэтому предполагается, что это изобретение ограничивается только формулой изобретения и ее эквивалентами.