СПОСОБ СЖАТИЯ ИЗОБРАЖЕНИЙ И ВИДЕОПОСЛЕДОВАТЕЛЬНОСТЕЙ

1. Способ компактного битового представления высококачественной цветной видеопоследовательности, заключающийся в блочном кодировании каждого цветного видеокадра видеопоследовательности, в котором каждый цветной пиксель представляют тремя цветовыми компонентами, каждую из которых изначально кодируют десятью битами, отличающийся тем, что кодирование осуществляют путем разбиения исходного цветного видеокадра на неперекрывающиеся пространственные блоки, состоящие из более чем одного пикселя по горизонтали и двух пикселей по вертикали, последующего разделения битового представления каждой из цветовых компонент пикселя на старшую часть, состоящую из более чем одного старшего бита, и младшую часть, состоящую из, по меньшей мере, одного младшего бита, в сумме образующих исходные десять битов, раздельного кодирования старшей и младшей частей, причем кодирование старшей части осуществляют путем применения более одного способа кодирования, каждый из которых учитывает межпиксельные связи только в пределах обрабатываемого пространственного блока и применяется для сокращения количества битов, необходимых для представления обрабатываемых данных, оценки погрешности кодирования, выбора способа кодирования, дающего наименьшую погрешность, пересылки данных о способе кодирования посредством передачи префиксного кода, кодировании младшей части, которое осуществляется путем усреднения более одного значения, входящего в младшую часть, причем размеры областей усреднения в пределах младшей части зависят от выбранного метода кодирования старшей части, и за счет выбора способа кодирования старшей части, обеспечивающего наименьшую погрешность, способа кодирования младшей части, размера префиксного кода, указывающего используемый способ кодирования, а также количества дополняющих неинформационных битов устанавливают фиксированное наперед количество битов, необходимое для компактного представления исходного пространственного цветного блока.
2. Способ по п.1, отличающийся тем, что видеопоследовательность представляют в виде набора кадров, причем каждый кадр обрабатывают как изображение, а каждое изображение представляют в виде набора неперекрывающихся блоков размером 2×4 цветных пикселя, каждый из которых состоит из трех 10-битных значений, и при этом каждый такой блок в результате компрессии представляется битовым пакетом, с наперед заданным фиксированным количеством бит, меньшим, чем количество бит, необходимых для хранения исходного блока в несжатом виде.
3. Способ по п.1, отличающийся тем, что старшие восемь битов каждой компоненты цветных пикселей обрабатываемого кадра рассматривают и обрабатывают как блоки размером 2×4 пикселя.
4. Способ по п.1, отличающийся тем, старшие восемь битов каждой компоненты цветных пикселей обрабатываемого кадра рассматривают и обрабатывают как два подблока размером 2×2 пикселя.
5. Способ по п.4. отличающийся тем, что обработку каждого из подблоков размером 2×2 пикселя осуществляют оптимальным методом, выбранным независимо из совокупности методов обработки подблока 2×2 по результатам оценки погрешности кодирования данного блока.
6. Способ по п.3, отличающийся тем, что в процессе обработки каждого блока размером 2×4 пикселя осуществляют кодирование всеми доступными в конкретном случае способами и затем выбирают способ кодирования, дающий минимальную погрешность, причем выбор осуществляют путем сравнения погрешности кодирования оптимальным способом блока размером 2×4 пикселей с совокупной погрешностью этого блока, представленного как два подблока размером 2×2 пикселя.
7. Способ по п.4, отличающийся тем, что в блоке 2×4 выявляют подблоки 2×2, которые соответствуют относительно регулярной структуре, т.е. принадлежащей преимущественно фону, и нерегулярной структуре, т.е. принадлежащей преимущественно естественному изображению, причем операция выявления заключается в выполнении операций по следующим этапам:
находят блок с регулярной структурой путем определения шаблонных значений для левого и правого подблока 2×2, определения ошибок, вызванных кодированием левого и правого подблока 2×2 с регулярной структурой, сравнения шаблонных значений и выбора блока с преимущественно регулярной структурой, при этом шаблонные значения структуры в двух цветах вычисляют по следующим формулам:
0
1
где C(k), C(k) - шаблонные значения для левого подблока 2×2 (k=0) и правого подблока (k=1);
ошибки BlE(k), вызванные кодированием левого и правого подблоков 2×2 с регулярной структурой вычисляют по формуле:
затем номер подблока, который будет закодирован с использованием шаблонного кодирования, помещают в исходящий сжатый поток, с последующим сохранением шаблонных значений; значения пикселей незакодированного под-блока кодируются посредством усечения младших двух битов.
8. Способ по п.3 отличающийся тем, что обработку блоков, содержащих градиентные участки, выполняют по трем каналам, осуществляя следующие операции:
вычисляют шесть разностных величин D1, D2, D3, D4, D5, D6 по формулам: D1=A1-A2; D2=A2-A3; D3=A3-A4; D4=B1-B2; D5=B2-B3; D6=B3-B4;
вычисляют среднее значение модулей разностных величин D1…D6;
вычисляют знаки каждой из разностных величин D1…D6;
в качестве кодовой информации передают среднее значение модулей разностей, знаки разностей, а также две опорные точки - A2, В2.
9. Способ по п.3, отличающийся тем, что обработку блоков, а именно кодирование и декодирование, осуществляют параллельно тремя под-способами, а именно:
под-способом, основанным на последовательном сдвиге цвета и состоящим из следующих этапов:
интенсивность по каждом; цветовому каналу для каждого пикселя блока кодируют тремя или четырьмя битами, вычисляемыми по следующим формулам:
где индекс i обозначает ось ординат, j обозначает ось абсцисс, I - значение пикселя исходного блока, C - битовый код, кодирующий соответствующий пиксель, при этом процедура декодирования пикселей, закодированных таким образом, описывается следующими формулами (здесь D - декодированный пиксель):
под-способом кодирования, основанным на усреднении с частичным огрублением двух подблоков 2×2 в пределах блока 2×4, при котором кодовые величины вычисляют согласно следующим формулам:
;
при этом декодирование выполняют в соответствии со следующими формулами:
;
под-способом кодирования, основанным на частичной реконструкции одного из цветовых каналов по двум другим, пиксели которых кодируют путем усечения нескольких младших битов; в частности, красный и зеленый канал кодируют согласно формулам:
,
и два крайних пикселя синего канала, которые не могут быть реконструированы из красного и зеленого каналов, кодируют согласно следующим формулам:
,
причем процедура декодирования реализуется в соответствии с выражениями:
после применения к обрабатываемому блоку 2×4 описанных выше трех под-способов определяют под-способ, обеспечивающий минимальную ошибку, и его номер передают в первых двух битах сжатого потока.
10. Способ по п.3, отличающийся тем, что при обработке блоков с неравномерной интегральной насыщенностью цветовых каналов используют метод доминирующего цвета, заключающийся в том, что выполняют анализ четырех ситуаций, а именно, проверяют, какой из каналов является доминирующим: яркостный канал, красный канал, зеленый канал или синий канал, причем в качестве указателя номера доминирующего цвета используют 2-битный индекс, и значения пикселей доминирующего цвета передают без искажений 8-битными значениями, тогда как значения двух оставшихся каналов кодируют посредством усреднения в пределах каждого из каналов и передачи каждого такого среднего значения 8-битной величиной.
11. Способ по п.3, отличающийся тем, что при обработке блоков 2×4 выполняют формирование цветовой палитры, причем все три цветовых канала обрабатывают одновременно и независимо, при этом для каждого подблока 2×2 формируют свою двухцветную палитру любым из известных способов, при этом предпочтительный способ заключается в разделении исходных значений четырех пикселей подблока 2×2 на две группы относительно среднего и расчете средних значений в пределах каждой группы, которые затем рассматриваются как цвета палитры, и применяют один из трех режимов кодирования, а именно, режим дифференциального кодирования палитр, режим дифференциального кодирования цветов в пределах палитры или явное квантование цветов, для чего вначале оценивают возможность использования режима дифференциального кодирования палитр с помощью проверки первого логического условия:
InterCondition≡(-2≤C00-C10<2)∧(-1≤C01-C11≤2),
где: (C00, C01) - цвета первой палитры, относящейся к левому подблоку 2×2, (C10, C11) - цвета второй палитры, относящейся к правому подблоку 2×2, с учетом того, что предпочтительно использовать предварительную обработку цветов каждой из палитр, которая заключается в проверке того, что только одна палитра из двух имеет равные цвета, и в этом случае замене одного из них на цвет из другой палитры, который является наиболее удаленным в смысле абсолютного значения от значений равных цветов, при этом, если первое логическое условие соблюдается, то цвета первой палитры передаются без потерь, в то время как цвета второй палитры кодируются как поправки к цветам из первой палитры, исходя из следующих действий:
вычисляют два индекса, значения которых преобразуют в числа больше либо равные нулю согласно выражениям:
TIdx_y=C00-C10+2, где диапазон индекса: [0…3],
TIdx_x=C01-C11+1, где диапазон индекса: [0…3];
преобразуют рассчитанные индексы в 4-битную обобщенную разностную величину (CDVal) с использованием таблицы, описывающей совместное распределение индексов TIdx_x/TIdx_y:
TIdx_x=0
TIdx_x=1
TIdx_x=2
TIdx_x=3
TIdx_y=0
0
1
2
3
TIdx_y=1
4
5
6
7
TIdx_y=2
8
9
10
11
TIdx_y=3
12
13
14
15
при этом последующее декодирование индексов TIdx_x/TIdx_y выполняют на основе двух дополнительных таблиц:
CDVal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TIdx_y
-2
-2
-2
-2
-1
-1
-1
-1
0
0
0
0
1
1
1
1
CDVal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TIdx_x
-1
0
1
2
-1
0
1
2
-1
0
1
2
-1
0
1
2
а восстановление значений разностей выполняют на основе формул:
C00-C10=TIdx_y-2 с новым диапазоном: [-2…2],
C01-C11=TIdx_x-1 с новым диапазоном: [-1…2];
в случае, если первое логическое условие не выполнено, производится отмена замены цветов, если оно было осуществлено, и, затем, цвета в каждой палитре переупорядочиваются таким образом, что первый по порядку следования цвет в каждой из палитр соответствует первому (левому - верхнему) пикселю в пределах соответствующего под-блока 2×2, после чего осуществляется проверка второго логического условия дифференциального кодирования цветов для каждой из палитр, заключающаяся в анализе абсолютной разности значений цветов в каждой из палитр, и если условие для рассматриваемой палитры верно, кодировании первого цвета без потерь, а второго цвета в виде 2-битной поправки к первому цвету; в противном случае значение каждого цвета кодируется путем усечения младших трех разрядов, при этом восстановление усеченных бит осуществляется бинарным значением 100b; в заключение, формируется карта цветов, которая может состоять из 3-х записей или 4-х записей, при этом карта цветов, состоящая из 3-х записей, означает, что первый по порядку следования цвет соответствует первому пикселю в подблоке, при этом, в целях обеспечения заданного битового бюджета карту цветов из 4-х записей предпочтительнее использовать для режима дифференциального кодирования палитр.
12. Способ по п.3, отличающийся тем, что при обработке блоков для областей цветного изображения, в которых присутствует комбинация комплексных и относительно равномерных участков в пределах одного цветового канала или в пределах одного обрабатываемого подблока, используют два под-способа: U1 и U2, обеспечивающих возможность компактного представления исходного блока 2×4 и оптимизированных под возможные комбинации комплексных и относительно равномерных участков изображения, при этом на основе расчета ошибок приближения исходного блока обоими под-способами выбирают оптимальный под-способ, обеспечивающий наименьшую ошибку, причем под-способ U1 применяют в отношении каждого подблока 2×2, входящего в состав исходного блока 2×4, в случае, когда один из трех цветовых каналов подблока 2×2 пригоден для кодирования средним значением, в то время как два оставшихся канала кодируют с использованием NSW преобразования и процедуры FQvT; под-способ U2 применяют в отношении блока 2×4 в пределах одного цветового канала в случае, когда один подблок 2×2 в пределах рассматриваемого канала пригоден для кодирования средним, в то время как другой подблок 2×2 в пределах рассматриваемого канала может быть эффективно закодирован с использованием NSW преобразования и процедуры FQvT.
13. Способ по п.3, отличающийся тем, что при обработке блоков используют способ кодирования, заключающийся в том, что исходный блок 2×4 рассматривают как совокупность двух подблоков 2×2 и применяют преобразование Адамара к каждому из них с последующей процедурой кодирования FQvT, при этом преобразование описывается следующими формулами:
прямое преобразование:
обратное преобразование:
при этом оставшиеся компоненты S, dH, dV кодируют следующим образом:
S компонента кодируют 6-битным значением путем усечения двух младших разрядов, а восстановление осуществляют двоичным значением 10b;
{dH, dV} компоненты квантуют путем поиска наилучшего квантователя и наилучшего уровня восстановления в пределах квантователя, причем для каждого квантователя, входящего во множество из восьми квантователей, определяют наилучший уровень восстановления компонент {dH, dV}, исходя из минимизации модуля разности между уровнем восстановления и значением соответствующей компоненты; ошибку кодирования {dH, dV} компонент каким-либо квантователем рассчитывают путем суммирования модуля разницы соответствующего уровня восстановления и значения каждой из компонент, которая является минимальной среди всех возможных в пределах данного квантователя; затем определяют квантователь, который обеспечивает минимальную ошибку кодирования, применяя нижеприведенную таблицу квантования, оптимизированную для квантования {dH, dV} компонент:
Номер квантователя
Idx0
Idx1
Idx2
Idx3
Idx4
Idx5
Idx6
Idx7
0
-6
-47
-86
-106
6
47
86
106
1
-20
-30
-41
-47
20
30
41
47
2
-1
-20
-38
-48
1
20
38
48
3
-3
-10
-16
-20
3
10
16
20
4
-18
-40
-64
-75
18
40
64
75
5
-6
-16
-26
-32
6
16
26
32
6
-8
-40
-73
-89
8
40
73
89
7
-9
-30
-52
-63
9
30
52
63
при этом каждый подблок 2×2 в пределах одного цветового канала кодируют с использованием шести битов для кодирования среднего, 3-битного номера квантователя и двух 3-битных индексов для кодирования оптимальных уровней восстановления dH, dV компонент.
14. Способ по п.4, отличающийся тем, что при обработке каждый подблок 2×2 рассматривают как набор из четырех значений A, B, C, D, к которым применяют NSW-преобразование, получая четыре значения: {A, B, C, D}→{s, h, v, d) согласно следующим формулам:
h=A-B
<img file="00000026.tif" he="10" wi="41" img-content="undefined" img-format="tif" />
ν=A-C
B=A-h
d=A-D
C=A-ν
<img file="00000027.tif" he="10" wi="39" img-content="undefined" img-format="tif" />
D=A-d
где: s - означает среднее значение четырех пикселей, h, v, d - простейшие градиенты в направлениях: горизонталь, вертикаль, диагональ, при этом каждый подблок 2×2 кодируют, в среднем, 15 битами, причем кодирование величины s осуществляют с использованием простого равномерного квантования с точностью, в среднем, шесть битов; квантование набора разностных величин {h, v, d) осуществляют путем построения набора фиксированных квантователей, при этом каждый квантователь относится к изображению с определенной структурой и состоит из более чем одного значения, являющегося уровнем восстановления квантованного значения, а процесс квантования заключается в следующем: выявление подходящего квантователя среди набора квантователей для {h, v, d} для одного цвета, а затем нахождение для каждой разности соответствующего уровня восстановления, при этом налагаются следующие ограничения: набор квантователей состоит из восьми квантователей, каждый из которых имеет четыре значения: два положительных и симметрично два отрицательных, которые выполняют функции уровней восстановления в соответствии с таблицей:
Номер квантователя
Idx0
Idx1
Idx2
Idx3
0
-220
-80
80
220
-23
-4
4
23
2
-200
-10
10
200
3
-80
-40
40
80
4
-138
-50
50
138
5
-63
-18
18
63
6
-42
-12
12
42
7
-104
-28
28
104
при этом процесс кодирования разностных величин {h, v, d} включает в себя следующие операции:
определение номера квантователя N из набора квантователей, три величины которого являются наилучшим приближением для {h, v, d};
определение индексов уровней восстановления для {h, v, d} в квантователе с номером N.
15. Способ по п.4, отличающийся тем, что при обработке подблоков 2×2 применяют преобразование NSW и оптимизированную таблицу квантования
Номер квантователя
Idx0
Idx1
Idx2
Idx3
0
-250
-240
240
250
1
0
0
-7
7
2
-224
-9
9
224
3
-118
-66
66
118
4
-94
-19
19
94
5
-220
-125
125
220
6
-185
-52
52
185
7
-39
-12
12
39
при этом используют дополнительные семь под-режимов кодирования в отношении подблоков с вертикальными/горизонтальными или диагональными преимущественными направлениями, а также однородными участками в пределах блока размером 2×2, причем способ кодирования определяется суб-префиксом переменной длины (VL), который указывает, какой тип кодирования используется
Суб-префикс (двоичное представление)
Название под-режима
00
Горизонтальное преимущественное направление (H структура)
01
Вертикальное преимущественное направление (V структура)
100
h величина близка к 0
101
v величина близка к 0
110
d величина близка к 0
1110
Диагональное преимущественное направление (D структура)
1111
Среднее значение
где H структура означает, что для кодирования подблока 2×2 используют две "опорные точки" A, C, каждую из которых кодируют семью битами, выполняя простое усечение младшего разряда, причем усеченный младший разряд восстанавливают нулевым значением; V структура означает, что дня кодирования подблока 2×2 используют две "опорные точки" A, B, каждую из которых кодируют семью битами, выполняя простое усечение младшего разряда, причем усеченный младший разряд восстанавливают нулевым значением; D структура означает, что для кодирования подблока 2×2 используют две "опорные точки" A, B, каждую из которых кодируют шестью битами, выполняя простое усечение двух младших разрядов, причем усеченные младшие разряды восстанавливают бинарным значением 10b; опорные точки A, B используют для восстановления точек С, D следующим способом: D=A, C=B; режим среднего значения используют для кодирования всех пикселей A, B, C, D средним значением, получая однородный блок, а среднее значение занимает восемь битов; режим "h/v/d величина близка к нулю" используют, если после NSW преобразования одна из (h, v, d) близка к нулю, при этом префиксы выбирают на основе следующих соответствий:
100; |A-B|~0; 101; |A-C|~0; 110; |A-D |~0,
при этом в каждом случае только две разностные величины подвергают квантованию:
h≡0; {v, d}→{Квантователь N, Iv, Id)
v≡0; (h, d}→{Квантователь N, Ih, Id)
d≡0; (h, v}→{Квантователь N, Ih, Iv),
а величина s кодируется 6, 7 или 8 битами; при этом процесс кодирования подблока включает в себя следующие этапы: подблок размером 2×2 кодируют с помощью структуры H; далее подблок размером 2×2 кодируют с помощью структуры V; затем подблок размером 2×2 кодируют, соответственно, с помощью структуры D и среднего значения с последующим вычислением погрешностей, вызванных соответствующими способами кодирования подблока, после чего выполняют NSW преобразование и среди модулей разностных величин (h., v, d) определяют наименьшее значение, затем две ненулевые разностные величины кодируют методом FQvT с помощью таблицы
Номер квантователя
Idx0
Idx1
Idx2
Idx3
0
-250
-240
240
250
1
0
0
-7
7
2
-224
-9
9
224
3
-118
-66
66
118
4
-94
-19
19
94
5
-220
-125
125
220
6
-185
-52
52
185
7
-39
-12
12
39
и процесса квантования, описанного выше, затем определяют количество свободных битов путем изначального задания количества свободных битов равным 0, анализа номера выбранного квантователя, и если он оказался равным 1, последовательного сравнения с 0 индексов уровней восстановления для каждой из двух ненулевых разностных величин и увеличения на 1 количества свободных битов в случае равенства индекса уровня восстановления в каждом из двух сравнений и исходя из этого, кодирования величины s с точностью шесть, семь или восемь битов в соответствии со таблицей:
Количество свободных битов
Точность представления "s" величины
0
6
1
7
2
8
затем оценивают погрешность, вызванную кодированием подблока 2×2 с помощью метода FQvT, и среди полученных пяти погрешностей выбирают наименьшую, и соответствующий суб-префикс вводят в битовый поток перед сжатыми данными.
16. Способ по п.4, отличающийся тем, при обработке блоков применяют преобразование NSW ко всем цветовым каналам одновременно с последующим групповым кодированием разностных величин из трех цветовых каналов совместно в соответствии с таблицей оптимизированного набора квантователей:
Номер квантователя
Idx0
Idx1
Idx2
Idx3
Idx4
Idx5
Idx6
Idx7
0
-128
-180
-213
-245
128
180
213
245
1
-3
-15
-30
-50
3
15
30
50
2
-20
-86
-160
-215
20
86
160
215
3
-50
-82
-104
-130
50
82
104
130
4
-90
-145
-194
-240
90
145
194
240
5
-9
-40
-73
-106
9
40
73
106
6
-163
-122
-66
-15
15
66
122
163
7
-180
-139
-63
-25
25
63
139
180
причем для всего набора разностных величин из подблока 2×2: {hR, hG, hB, vR, vG, vB, dR, dG, dB} выбирают один общий квантователь и каждую из разностных величин кодируют посредством 3-битового значения таким образом, что в целом девять разностей занимают: 9×3=27 битов, при этом индекс квантователя кодируют тремя битами, что в итоге дает (27+3)=30 битов, а каждую величину из {sR, sG, sB} кодируют в пять битов путем усечения трех младших разрядов, причем восстановление усеченных разрядов осуществляют через бинарное значение 100b, при этом оптимальное визуальное качество обеспечивают за счет использования заранее определенных весов, отражающих различное восприятие наблюдателем красного, зеленого и синего цветов, которые учитывают при вычислении погрешности E, порожденной процедурой FQvT для {hR, hG, hB, vR, vG, vB, dR, dG, dB}, выражающейся следующим образом:
,
C
C
C
c
где Δh, Δv, Δd обозначают ошибку приближения h/v/d разностных величин после FQvT процедуры в цветовом канале C; W - весовые коэффициенты, отражающие относительную видимость каждого из цветовых каналов C∈{R, G, В} для человека.
17. Способ по п.16, отличающийся тем, что оценку погрешности E выполняют путем расчета суммы взвешенных максимальных ошибок кодирования h/v/d разностных величин:
.
18. Способ по п.3, отличающийся тем, что при обработке блоков расщепляют исходный блок 2×4 на 4 микроблока меньшего размера с размерами 1×2 пикселей, при этом каждый микроблок 1×2 состоит из двух пространственных пикселей A и B, каждый пространственный пиксель состоит из трех цветовых компонент R, G, B; для каждого микроблока определяют доминирующий канал и затем осуществляют передачу значений пикселей в доминирующем канале путем кодирования соответствующих значений в шесть битов; неосновные каналы кодируют посредством передачи средних значений между двумя значениями для каждой пространственной позиции, при этом используют процедуру квантования и ограничения, заключающуюся в том, что интенсивности пикселей доминирующего канала сохраняют во временных переменных D1/D2 и, в зависимости от того, какие каналы признаны неосновными, вычисляют определенные средние значения, при этом усреднение производят между двумя неосновными каналами в каждой пространственной позиции, затем временные переменные, которые хранят значения доминантного канала, кодируют 6-битными значениями путем усечения двух младших разрядов, причем последующее восстановление усеченных разрядов осуществляют двоичным значением 10b; усредненные значения неосновных каналов сначала огранивают по верхнему порогу, равному 63, затем ограниченные значения квантуют усечением трех младших разрядов, причем восстановление усеченных разрядов осуществляют двоичным значением 100b, и с каждым микроблоком 1×2 передают дополнительную информацию, указывающую 2-битный номер доминирующего канала.
19. Способ по п.4, отличающийся тем, что при обработке подблока 2×2 для воспроизведения участков с малыми разностными величинами во всех трех цветовых каналах в пределах подблока 2×2 применяют альтернативную процедуру кодирования среднего, а именно: кодируют величину s с использованием пять битов следующим образом:
берут младшие шесть битов восьмибитового представления величины s;
из них старшие пять битов рассматривают как кодовое представление величины s;
при декодировании младший разряд декодированной величины s восстанавливают нулевым значением; при этом передачу незначительных изменений интенсивностей обеспечивают за счет применения следующей таблицы квантования:
Номер квантователя
Idx0
Idx1
Idx2
Idx3
0
-1
-2
1
2
1
-2
-6
2
6
2
-1
-4
1
4
3
-4
-10
4
10
4
-3
-8
3
8
5
-4
-20
4
20
6
-8
-40
8
40
7
-3
-15
3
15
20. Способ по п.3, отличающийся тем, что каждый обрабатываемый блок 2×4 рассматривают как составленный из пикселей, каждый из которых представлен тремя цветовыми компонентами, каждая из которых изначально представлена 10-битным значением, и в результате компрессии блок кодируют 100 битами, представляющими собой элементарный сжатый пакет, который состоит в свою очередь из VLEH, сжатых битов, битов, представляющих информацию о младших разрядах в компактном виде, и возможных дополняющих битов, при этом сводную информацию о возможных методах кодирования, о количестве сжатых битов, о количестве битов, требуемых для кодирования младших разрядов, о длине VLEH и значений битов, входящих в него, а также о количестве дополняющих битов, представляют в виде следующей таблицы
где идентификацию использованного метода осуществляют одной или двумя буквами, причем в последнем случае расшифровка метода осуществляется следующим образом: первая буква соответствует методу, кодирующему левый подблок 2×2, вторая буква соответствует методу, кодирующему правый подблок 2×2, одна буква соответствует способу, кодирующему блок 2×4, при этом каждый заголовок VLEH занимает от 1 до 10 битов; номер бита, указанный в таблице, означает порядок в котором соответствующий бит помещается/извлекается из битового потока.
21. Способ по п.1, отличающийся тем, что при выборе оптимального метода кодирования для текущего обрабатываемого блока 2×4 осуществляют проверку эффективности способа оценки искажений, основанного на Взвешенном Квадратичном Макс-Макс Критерии (WSMMC) и заключающегося в следующем:
рассчитывают взвешенный квадрат максимума попиксельного отклонения между исходным и закодированным блоком по всем трем цветовым каналам;
рассчитывают сумму величин, определенных на первом шаге:
рассчитывают максимум среди величин, определенных на первом шаге:
R
G
B
MMax=MAX[MaxSq, MaxSq, MaxSq]
рассчитывают сумму величин, полученных на втором и третьем шагах:
WSMMC=SMax+Mmax
затем складывают WSMMC - значения, рассчитанные для обоих подблоков 2×2, при этом выбор оптимального метода кодирования сводят к выполнению следующих этапов:
левый и правый подблоки, входящие в состав одного блока 2×4, кодируют раздельно пятью известными методами: N, Р, C, S, E - методами и после сжатия каждого подблока одним из пяти известных методов N, Р, С, S, E выполняют расчет ошибки согласно одному из заявляемых способов, а также осуществляют формирование промежуточных битовых потоков;
для каждого из двух подблоков определяют метод, дающий минимальную ошибку;
на основе результатов предыдущего этапа для блока 2×4, состоящего из двух подблоков 2×2, определяют наилучшую комбинацию методов N, Р, С, S, E, обеспечивающую минимальную комбинационную ошибку кодирования блока 2×4 в виде двух подблоков 2×2;
весь исходный блок 2×4 обрабатывают каждым из семи способов D, O, М, F, L, U, H, которые оптимизированы для сжатия блока 2×4, при этом после кодирования блока любым из указанных способов рассчитывают ошибку кодирования согласно одному из заявляемых здесь способов;
вычисляют минимальную ошибку среди ошибок, вызванных применением семи заявляемых здесь способов D, O, M, F, L, U, H к исходному блоку 2×4;
вычисляют минимальную ошибку, на основании чего определяют оптимальный способ кодирования, обеспечивающий минимальную ошибку.
22. Способ по п.1, отличающийся тем, что применяют кодирование младших разрядов (LSB) в отношении двух младших разрядов исходных десятибитных значений пикселей в пределах обрабатываемого блока 2×4 по одному или нескольким цветовым каналам.
23. Способ по п.22, отличающийся тем, что выполняют 3-битное кодирование, заключающееся в том, что для каждого цвета выполняют расчет огрубленного среднего значения младших разрядов в пределах блока 2×4:
где Ic(x,y) - исходное десятибитное значение пикселя в цветовом канале C в позиции (x,y); mLSBc состоит из одного бита, описывающего огрубленное среднее младших разрядов, при этом огрубленные средние по всем трем цветовым каналам в совокупности образуют 3-битное число, являющееся закодированной информацией о младших разрядах в пределах блока 2×4.
24. Способ по п.22, отличающийся тем, что выполняют 4-битное кодирование, заключающееся в том, что для зеленого канала используют более точное представление младших разрядов за счет раздельного кодирования младших битов левого и правого подблоков:
при этом огрубленные средние по красному и синему каналу в совокупности с двумя битами, описывающими огрубленные средние значения младших разрядов двух подблоков в зеленом канале, в совокупности составляют четырехбитное значение, являющееся закодированной информацией о младших разрядах в пределах блока 2×4.
25. Способ по п.21, отличающийся тем, что выполняют 5-битное кодирование, заключающееся в том, что для красного и зеленого канала используют более точное представление младших разрядов за счет раздельного кодирования младших битов левого и правого подблоков:
при этом огрубленное однобитовое среднее по синему каналу в совокупности с двумя битами, описывающими огрубленные средние значения младших разрядов двух подблоков в красном канале и двух битов, описывающих огрубленные средние значения младших разрядов двух подблоков в зеленом канале, в совокупности составляют 5-битное значение, являющееся закодированной информацией о младших разрядах в пределах блока 2×4.
26. Способ по п.21, отличающийся тем, что выполняют 6-битное кодирование, заключающееся в том, что для каждого цветового канала используют два бита для представления огрубленной информации о средних значениях младших разрядов подблоков в пределах исходного блока 2×4;
при этом 6-битное значение, являющееся закодированной информацией о младших разрядах в пределах блока 2×4, формируют путем объединения трех двухбитных значений, соответствующих огрубленной информации о среднем значении младших разрядов, и восстановление соответствующих частей двух младших битовых плоскостей основано на получении одного или двух битов по каждому цветовому каналу и формировании среднего значения для двух битовых плоскостей по всему блоку 2×4 или формировании двух средних значений для двух битовых плоскостей в пределах левого и правого подблоков 2×2, причем среднее значение (Middle Value) рассчитывают согласно формуле:
.