КОДИРОВАНИЕ ВСТРАИВАЕМОЙ ГРАФИКИ ДЛЯ ИЗОБРАЖЕНИЯ С РАЗРЕЖЕННЫМИ ГИСТОГРАММАМИ

1. Способ обработки изображения, содержащий этапы, на которых:
разделяют изображение на блоки при помощи первого процессора;
устанавливают ресурс битов для каждого блока;
преобразуют пиксели каждого блока в двоичное представление;
сканируют и кодируют пиксели от самой старшей значащей битовой плоскости до самой младшей значащей битовой плоскости;
генерируют файл сжатого изображения с кодированными пикселями и сохраняют файл сжатого изображения в памяти, соединенной с первым процессором.
2. Способ по п.1, в котором изображение содержит изображение с разреженной гистограммой.
3. Способ по п.1, в котором сканирование и кодирование пикселей каждой битовой плоскости содержит обработку каждой имеющейся группы в битовой плоскости, дополнительно содержащей этапы, на которых:
если все значения пикселей в группе имеют одинаковое значение в текущей битовой плоскости, то в поток битов записывают первый бит со значением 0; и
в поток битов записывают второй бит со значением, обозначающим значение всех пикселей в текущей группе.
4. Способ по п.3, дополнительно содержащий этапы, на которых:
если не все значения пикселей группы в текущей битовой плоскости имеют одинаковое значение, записывают в поток битов первый бит со значением 1, за которым следуют по одному биту для каждого пикселя в текущей битовой плоскости, обозначающему битовое значение данного пикселя в текущей битовой плоскости;
генерируют новую группу; и
разбивают исходную группу на две, оставляя пиксели со значением 0 в исходной группе и помещая пиксели со значением 1 в новую группу.
5. Способ по п.4, дополнительно содержащий этап, на котором декодируют файл сжатого изображения при помощи второго процессора для разуплотнения изображения.
6. Способ по п.5, в котором декодирование файла сжатого изображения содержит этапы, на которых сканируют и декодируют пиксели, начиная от самой старшей значащей битовой плоскости и заканчивая самой младшей значащей битовой плоскостью, и для каждой битовой плоскости:
а. получают количество имеющихся групп;
b. устанавливают текущую группу как первую группу;
с. считывают бит из потока битов;
d. если бит имеет значение 0, то считывают второй бит из потока битов и устанавливают его значение в качестве битового значения всех пикселей группы в текущей битовой плоскости;
е. если бит имеет значение 1, то для каждого пикселя в группе считывают один бит из потока битов и его значение устанавливают как значение бита данного пикселя в текущей битовой плоскости, генерируют новую группу и разбивают новую группу на первую группу и вторую группу, так что пиксели со значением 0 попадают в первую группу, а пиксели со значением 1 попадают во вторую группу; и
f. повторяют этапы с-е до достижения конца текущей битовой плоскости.
7. Способ по п.1, в котором битовый ресурс каждого блока совместно используется блоками.
8. Устройство обработки изображения, содержащее:
первый процессор, выполненный с возможностью обработки пикселей изображения; и
программу, используемую в первом процессоре для
разделения изображения на блоки;
установки ресурса битов для каждого блока;
преобразования пикселей каждого блока в двоичное представление;
сканирования и кодирования пикселей от самой старшей значащей битовой плоскости до самой младшей значащей битовой плоскости; и
генерирования файла сжатого изображения с кодированными пикселями.
9. Устройство по п.8, дополнительно содержащее память, соединенную с первым процессором, причем файл сжатого изображения хранится в памяти.
10. Устройство по п.8, в котором программа выполнена с возможностью сканирования и кодирования пикселей в каждой битовой плоскости, содержащего обработку каждой имеющейся группы в битовой плоскости, дополнительно содержащую:
если все значения пикселей в группе имеют одинаковое значение в текущей битовой плоскости, запись в поток битов первого бита со значением 0; и
запись в поток битов второго бита со значением, обозначающим значение всех пикселей в текущей группе.
11. Устройство по п.10, в котором программа дополнительно выполнена с возможностью сканирования и кодирования пикселей, содержащего:
если не все значения пикселей группы в текущей битовой плоскости имеют одинаковое значение, запись в поток битов первого бита со значением 1, за которым следуют по одному биту для каждого пикселя в текущей группе, обозначающему значение бита данного пикселя в текущей битовой плоскости;
генерирование новой группы; и
разбиение исходной группы на две, при этом пиксели со значением 0 остаются в исходной группе, а пиксели со значением 1 помещаются в новую группу.
12. Устройство по п.11, дополнительно содержащее:
вторую программу, выполняемую первым процессором или вторым процессором;
причем вторая программа выполнена с возможностью декодирования файла сжатого изображения в несжатое изображение.
13. Устройство по п.12, в котором декодер дополнительно выполнен с возможностью сканирования и декодирования пикселей от самой старшей значащей битовой плоскости до самой младшей значащей битовой плоскости и с возможностью для каждой битовой плоскости:
а. получения количества имеющихся групп;
b. установки текущей группы как первой группы;
с. считывания бита из потока битов;
d. если бит имеет значение 0, считывания второго бита из потока битов и установки его значения в качестве битового значения всех пикселей группы в текущей битовой плоскости;
е. если бит имеет значение 1, считывания для каждого пикселя в группе одного бита из потока битов и установки его в качестве битового значения данного пикселя в текущей битовой группе, генерирования новой группы и разбиения новой группы на первую группу и вторую группу, так что пиксели со значением 0 попадают в первую группу, а пиксели со значением 1 попадают во вторую группу; и
f. повторение этапов с-е до достижения конца текущей битовой плоскости.
14. Устройство по п.8, в котором ресурс битов каждого блока совместно используется блоками.
15. Устройство по п.8, в котором программа выполнена с возможностью сканирования и кодирования пикселей, содержащего:
а. запись в поток битов значения первого бита, обозначающего, что все биты имеют одинаковые значения, если все значения пикселей имеют одинаковое значение; и
b. запись в поток битов значения второго бита, обозначающего значение всех пикселей в текущей группе.
при этом программа выполнена с возможностью сканирования и кодирования пикселей каждой битовой плоскости, содержащего обработку каждой имеющейся группы в битовой плоскости, дополнительно содержащую:
с. если все значения пикселей в группе имеют одинаковое значение в текущей битовой плоскости, запись в поток битов первого бита со значением 0; и
d. запись в поток битов второго бита со значением, обозначающим значение всех пикселей в текущей группе;
е. если не все значения пикселей группы в текущей битовой плоскости имеют одинаковое значение, запись в поток битов первого бита со значением 1, за которым следуют по одному биту для каждого пикселя в текущей битовой плоскости, обозначающему битовое значение данного пикселя в текущей битовой плоскости;
f. генерирование новой группы;
g. разбиение исходной группы на две, так что пиксели со значением 0 остаются в исходной группе, а пиксели со значением 1 помещаются в новую группу;
при этом программа дополнительно содержит:
h. декодер, исполняемый в первом средстве обработки или втором средстве обработки, соединенным с первым средством обработки; причем
i. декодер выполнен с возможностью декодирования файла сжатого изображения для разуплотнения изображения,
при этом декодер выполнен с возможностью декодирования файла сжатого изображения посредством сканирования и декодирования пикселей от самой старшей значащей битовой плоскости до самой младшей значащей битовой плоскости и с возможностью для каждой битовой плоскости:
j. получения количества имеющихся групп;
k. установки текущей группы как первой группы;
l. считывания бита из потока битов;
m. если бит имеет значение 0, считывания второго бита из потока битов и установки его значения в качестве битового значения всех пикселей группы в текущей битовой плоскости;
n. если бит имеет значение 1, считывания для каждого пикселя в группе одного бита из потока битов и установки его в качестве битового значения данного пикселя в текущей битовой группе, генерирования новой группы и разбиения новой группы на первую группу и вторую группу, так что пиксели со значением 0 попадают в первую группу, а пиксели со значением 1 попадают во вторую группу; и
о. повторения этапов 1-n до достижения конца текущей битовой плоскости.