RU2009110512A - Способ сжатия изображений и видеопоследовательностей - Google Patents

Способ сжатия изображений и видеопоследовательностей Download PDF

Info

Publication number
RU2009110512A
RU2009110512A RU2009110512/09A RU2009110512A RU2009110512A RU 2009110512 A RU2009110512 A RU 2009110512A RU 2009110512/09 A RU2009110512/09 A RU 2009110512/09A RU 2009110512 A RU2009110512 A RU 2009110512A RU 2009110512 A RU2009110512 A RU 2009110512A
Authority
RU
Russia
Prior art keywords
bits
block
color
bit
values
Prior art date
Application number
RU2009110512/09A
Other languages
English (en)
Other versions
RU2420021C2 (ru
Inventor
Михаил Наумович Мишуровский (RU)
Михаил Наумович Мишуровский
Оксана Васильевна ДЖОСАН (RU)
Оксана Васильевна ДЖОСАН
Михаил Николаевич Рычагов (RU)
Михаил Николаевич Рычагов
Олег Сергеевич Рыбаков (KR)
Олег Сергеевич Рыбаков
Сан-Су ЛИ (KR)
Сан-Су ЛИ
Original Assignee
Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." (KR)
Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд."
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." (KR), Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." filed Critical Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." (KR)
Priority to RU2009110512/09A priority Critical patent/RU2420021C2/ru
Publication of RU2009110512A publication Critical patent/RU2009110512A/ru
Application granted granted Critical
Publication of RU2420021C2 publication Critical patent/RU2420021C2/ru

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)

Abstract

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

Claims (26)

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 с регулярной структурой, сравнения шаблонных значений и выбора блока с преимущественно регулярной структурой, при этом шаблонные значения структуры в двух цветах вычисляют по следующим формулам:
Figure 00000001
Figure 00000002
где C0(k), C1(k) - шаблонные значения для левого подблока 2×2 (k=0) и правого подблока (k=1);
ошибки BlE(k), вызванные кодированием левого и правого подблоков 2×2 с регулярной структурой вычисляют по формуле:
Figure 00000003
затем номер подблока, который будет закодирован с использованием шаблонного кодирования, помещают в исходящий сжатый поток, с последующим сохранением шаблонных значений; значения пикселей незакодированного под-блока кодируются посредством усечения младших двух битов.
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, отличающийся тем, что обработку блоков, а именно кодирование и декодирование, осуществляют параллельно тремя под-способами, а именно:
под-способом, основанным на последовательном сдвиге цвета и состоящим из следующих этапов:
интенсивность по каждом; цветовому каналу для каждого пикселя блока кодируют тремя или четырьмя битами, вычисляемыми по следующим формулам:
Figure 00000004
Figure 00000005
Figure 00000006
где индекс i обозначает ось ординат, j обозначает ось абсцисс, I - значение пикселя исходного блока, C - битовый код, кодирующий соответствующий пиксель, при этом процедура декодирования пикселей, закодированных таким образом, описывается следующими формулами (здесь D - декодированный пиксель):
Figure 00000007
Figure 00000008
Figure 00000009
под-способом кодирования, основанным на усреднении с частичным огрублением двух подблоков 2×2 в пределах блока 2×4, при котором кодовые величины вычисляют согласно следующим формулам:
Figure 00000010
Figure 00000011
;
Figure 00000012
при этом декодирование выполняют в соответствии со следующими формулами:
Figure 00000013
Figure 00000014
;
Figure 00000015
под-способом кодирования, основанным на частичной реконструкции одного из цветовых каналов по двум другим, пиксели которых кодируют путем усечения нескольких младших битов; в частности, красный и зеленый канал кодируют согласно формулам:
Figure 00000016
Figure 00000017
,
и два крайних пикселя синего канала, которые не могут быть реконструированы из красного и зеленого каналов, кодируют согласно следующим формулам:
Figure 00000018
,
причем процедура декодирования реализуется в соответствии с выражениями:
Figure 00000019
Figure 00000020
Figure 00000021
Figure 00000022
Figure 00000023
после применения к обрабатываемому блоку 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, при этом преобразование описывается следующими формулами:
прямое преобразование:
Figure 00000024
обратное преобразование:
Figure 00000025
при этом оставшиеся компоненты 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
Figure 00000026
ν=A-C B=A-h d=A-D C=A-ν
Figure 00000027
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}, выражающейся следующим образом:
Figure 00000028
,
Figure 00000029
где ΔhC, ΔvC, ΔdC обозначают ошибку приближения h/v/d разностных величин после FQvT процедуры в цветовом канале C; Wc - весовые коэффициенты, отражающие относительную видимость каждого из цветовых каналов C∈{R, G, В} для человека.
17. Способ по п.16, отличающийся тем, что оценку погрешности E выполняют путем расчета суммы взвешенных максимальных ошибок кодирования h/v/d разностных величин:
Figure 00000030
.
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 и значений битов, входящих в него, а также о количестве дополняющих битов, представляют в виде следующей таблицы
Figure 00000031
где идентификацию использованного метода осуществляют одной или двумя буквами, причем в последнем случае расшифровка метода осуществляется следующим образом: первая буква соответствует методу, кодирующему левый подблок 2×2, вторая буква соответствует методу, кодирующему правый подблок 2×2, одна буква соответствует способу, кодирующему блок 2×4, при этом каждый заголовок VLEH занимает от 1 до 10 битов; номер бита, указанный в таблице, означает порядок в котором соответствующий бит помещается/извлекается из битового потока.
21. Способ по п.1, отличающийся тем, что при выборе оптимального метода кодирования для текущего обрабатываемого блока 2×4 осуществляют проверку эффективности способа оценки искажений, основанного на Взвешенном Квадратичном Макс-Макс Критерии (WSMMC) и заключающегося в следующем:
рассчитывают взвешенный квадрат максимума попиксельного отклонения между исходным и закодированным блоком по всем трем цветовым каналам;
Figure 00000032
рассчитывают сумму величин, определенных на первом шаге:
Figure 00000033
рассчитывают максимум среди величин, определенных на первом шаге:
MMax=MAX[MaxSqR, MaxSqG, MaxSqB]
рассчитывают сумму величин, полученных на втором и третьем шагах:
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:
Figure 00000034
где Ic(x,y) - исходное десятибитное значение пикселя в цветовом канале C в позиции (x,y); mLSBc состоит из одного бита, описывающего огрубленное среднее младших разрядов, при этом огрубленные средние по всем трем цветовым каналам в совокупности образуют 3-битное число, являющееся закодированной информацией о младших разрядах в пределах блока 2×4.
24. Способ по п.22, отличающийся тем, что выполняют 4-битное кодирование, заключающееся в том, что для зеленого канала используют более точное представление младших разрядов за счет раздельного кодирования младших битов левого и правого подблоков:
Figure 00000035
Figure 00000036
при этом огрубленные средние по красному и синему каналу в совокупности с двумя битами, описывающими огрубленные средние значения младших разрядов двух подблоков в зеленом канале, в совокупности составляют четырехбитное значение, являющееся закодированной информацией о младших разрядах в пределах блока 2×4.
25. Способ по п.21, отличающийся тем, что выполняют 5-битное кодирование, заключающееся в том, что для красного и зеленого канала используют более точное представление младших разрядов за счет раздельного кодирования младших битов левого и правого подблоков:
Figure 00000037
Figure 00000038
Figure 00000039
Figure 00000040
при этом огрубленное однобитовое среднее по синему каналу в совокупности с двумя битами, описывающими огрубленные средние значения младших разрядов двух подблоков в красном канале и двух битов, описывающих огрубленные средние значения младших разрядов двух подблоков в зеленом канале, в совокупности составляют 5-битное значение, являющееся закодированной информацией о младших разрядах в пределах блока 2×4.
26. Способ по п.21, отличающийся тем, что выполняют 6-битное кодирование, заключающееся в том, что для каждого цветового канала используют два бита для представления огрубленной информации о средних значениях младших разрядов подблоков в пределах исходного блока 2×4;
Figure 00000041
Figure 00000042
при этом 6-битное значение, являющееся закодированной информацией о младших разрядах в пределах блока 2×4, формируют путем объединения трех двухбитных значений, соответствующих огрубленной информации о среднем значении младших разрядов, и восстановление соответствующих частей двух младших битовых плоскостей основано на получении одного или двух битов по каждому цветовому каналу и формировании среднего значения для двух битовых плоскостей по всему блоку 2×4 или формировании двух средних значений для двух битовых плоскостей в пределах левого и правого подблоков 2×2, причем среднее значение (Middle Value) рассчитывают согласно формуле:
Figure 00000043
.
RU2009110512/09A 2009-03-24 2009-03-24 Способ сжатия изображений и видеопоследовательностей RU2420021C2 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2009110512/09A RU2420021C2 (ru) 2009-03-24 2009-03-24 Способ сжатия изображений и видеопоследовательностей

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2009110512/09A RU2420021C2 (ru) 2009-03-24 2009-03-24 Способ сжатия изображений и видеопоследовательностей

Publications (2)

Publication Number Publication Date
RU2009110512A true RU2009110512A (ru) 2010-09-27
RU2420021C2 RU2420021C2 (ru) 2011-05-27

Family

ID=42939932

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2009110512/09A RU2420021C2 (ru) 2009-03-24 2009-03-24 Способ сжатия изображений и видеопоследовательностей

Country Status (1)

Country Link
RU (1) RU2420021C2 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8634668B2 (en) 2011-02-25 2014-01-21 Sony Corporation Method of compression of digital images using a fixed number of bits per block

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2488960C2 (ru) * 2011-06-17 2013-07-27 Государственное образовательное учреждение высшего профессионального образования Самарский государственный технический университет Способ компрессии-декомпрессии данных и устройство для его осуществления
US20140112589A1 (en) * 2012-10-22 2014-04-24 Gurulogic Microsystems Oy Encoder, decoder and method
RU2530300C1 (ru) * 2013-02-21 2014-10-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Тамбовский государственный технический университет" ФГБОУ ВПО ТГТУ Способ повышения качества структурного изображения биообъекта в оптической когерентной томографии
JP6345650B2 (ja) * 2013-04-05 2018-06-20 サターン ライセンシング エルエルシーSaturn Licensing LLC 画像処理装置及び画像処理方法
US9654777B2 (en) 2013-04-05 2017-05-16 Qualcomm Incorporated Determining palette indices in palette-based video coding
GB2516021A (en) * 2013-07-05 2015-01-14 Canon Kk Method, device, and computer program for pre-encoding and post-decoding high bit-depth content in video encoder and decoder
GB2516022A (en) * 2013-07-05 2015-01-14 Canon Kk Method, device, and computer program for processing high bit-depth content in video encoder and decoder
US9558567B2 (en) * 2013-07-12 2017-01-31 Qualcomm Incorporated Palette prediction in palette-based video coding
KR102275639B1 (ko) 2013-10-14 2021-07-08 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 영상 코딩 및 디코딩에 대한 기본 색상 인덱스 맵 모드의 특징
CN105659602B (zh) 2013-10-14 2019-10-08 微软技术许可有限责任公司 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
AU2013403224B2 (en) 2013-10-14 2018-10-18 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
ES2893815T3 (es) 2013-12-10 2022-02-10 Canon Kk Procedimiento y aparato para codificar o descodificar una paleta en el modo de codificación de paleta
JP6537511B2 (ja) 2013-12-10 2019-07-03 キヤノン株式会社 Hevcにおける改良型パレットモード
WO2015100726A1 (en) 2014-01-03 2015-07-09 Microsoft Corporation Block vector prediction in video and image coding/decoding
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
AU2014385769B2 (en) 2014-03-04 2018-12-06 Microsoft Technology Licensing, Llc Block flipping and skip mode in intra block copy prediction
JP2017513358A (ja) * 2014-03-17 2017-05-25 ノキア テクノロジーズ オサケユイチア ビデオのエンコーディングおよびデコーディングのための方法およびテクノロジー機器
US9654806B2 (en) * 2014-03-26 2017-05-16 Qualcomm Incorporated Determining palette size, palette entries and filtering of palette coded blocks in video coding
KR102311815B1 (ko) 2014-06-19 2021-10-13 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 통합된 인트라 블록 카피 및 인터 예측 모드
JP2017535145A (ja) 2014-09-30 2017-11-24 マイクロソフト テクノロジー ライセンシング,エルエルシー 波面並列処理が可能にされた場合のピクチャ内予測モードに関する規則
GB2531005A (en) 2014-10-06 2016-04-13 Canon Kk Improved encoding process using a palette mode
JP6461355B2 (ja) * 2015-01-29 2019-01-30 キヤノン株式会社 画像を符号化または復号する装置、方法、プログラム
RU2607415C2 (ru) * 2015-04-21 2017-01-10 Федеральное государственное казенное военное образовательное учреждение высшего образования "Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России) Способ идентификации кадров потока мультимедийных данных на основе корреляционного анализа гистограмм изображений кадров
WO2016197314A1 (en) 2015-06-09 2016-12-15 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8634668B2 (en) 2011-02-25 2014-01-21 Sony Corporation Method of compression of digital images using a fixed number of bits per block
RU2510079C2 (ru) * 2011-02-25 2014-03-20 Сони Корпорейшн Способ сжатия цифровых изображений с использованием фиксированного числа битов в блоке

Also Published As

Publication number Publication date
RU2420021C2 (ru) 2011-05-27

Similar Documents

Publication Publication Date Title
RU2009110512A (ru) Способ сжатия изображений и видеопоследовательностей
CN101507284B (zh) 用于对视频颜色增强数据进行编码的方法和设备,以及用于对视频颜色增强数据进行解码的方法和设备
US8107751B2 (en) DPCM with adaptive range and PCM escape mode
US6697521B2 (en) Method and system for achieving coding gains in wavelet-based image codecs
US9232226B2 (en) Systems and methods for perceptually lossless video compression
CN110401833B (zh) 图像传输方法及装置
US20090190849A1 (en) Encoder and decoder for encoding and decoding pixel data with low amount of transmitting data, encoding method, and decoding method thereof
CN108769677B (zh) 一种基于感知的高动态范围视频动态范围可分级编码方法
JP5608245B2 (ja) イメージエンコーダ、イメージデコーダ、符号化されたイメージデータを提供するための方法、イメージデータを復号化するための方法およびコンピュータプログラム
CN101142821A (zh) 新压缩格式和用其在帧存储器中暂存图像数据的设备
CN105324997A (zh) 用于增强动态范围信号的分层编码的自适应整形
CN1081052A (zh) 高清晰度电视信号的编码技术
CN101039374A (zh) 一种图像无损压缩和图像解压缩方法
JP2003198854A (ja) レート帰還を使用したシングルパスフィット保証データ圧縮方法
CN102473314B (zh) 矢量嵌入式图形编码
GB2593522A9 (en) Image data decompression
CN114640857A (zh) 基于改进哈夫曼编码的图像压缩方法、3d降噪方法
CN1418014A (zh) 编码方法和编码装置
US8311090B2 (en) Method for encoding a first and a second data word
CN115474044B (zh) 一种Bayer域图像有损压缩方法
Koc et al. Lossless compression of dithered images
CN101406034B (zh) 使用限定符水印的压缩方案及使用该压缩方案在帧存储器中临时存储图像数据的装置
KR20080002325A (ko) 누적 빈도수를 이용한 초음파 영상의 압축 방법
CN113301339A (zh) 数据编码、解码方法及装置
KR100501815B1 (ko) 비트 플레인을 이용한 계층적 이산여현 변환방법

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20190325