
- •Основы сжатия изображений и видео
- •Структура пзс-матрицы
- •Формирование цветного изображения
- •Аналого-цифровое преобразование
- •Сжатие цифрового телевизионного сигнала
- •Краткий обзор стандартов сжатия видео
- •Требования к алгоритму
- •Описание алгоритма сжатия mpeg
- •Устранение цветовой избыточности и подготовка макроблоков
- •8Х8 пикселей с сохранением шага дискретизации, а цветоразностные компоненты u
- •Сжатие независимых кадров (I – кадров)
- •Алгоритм jpeg
- •1991 Году в качестве одного из стандартов сжатия изображений, является одной
- •8Х8 (то есть, как средняя яркость блока).
- •Сжатие кадров с предсказанием (p-кадров и b-кадров)
- •Использование векторов смещений блоков
- •Структурная схема алгоритма mpeg
- •Повышение степени сжатия и качества видеоизображений
- •Алгоритм сжатия кадра на основе jpeg-2000
- •1992 Году. В 1997 стало ясно, что необходим новый, более гибкий и мощный стандарт, который и был доработан к 2000 году.
- •Идея алгоритма
- •Предобработка
- •Дискретное вэйвлет-преобразование. Идея алгоритма
- •Дискретное вэйвлет-преобразование в jpeg-2000
- •Квантование
- •Стандарт сжатия видео mpeg-4
- •Кодированное представление медийных объектов
- •Состав медийных объектов
- •Описание и синхронизация потоков данных для медийных объектов
- •Описание сцен
8Х8 пикселей с сохранением шага дискретизации, а цветоразностные компоненты u
и V прореживаются в два раза (по строкам и столбцам), и из них создается по одному блоку U и V размером 8х8 пикселей, но уже с уменьшенным вдвое разрешением.
В результате, из трех Y,U и V блоков размером 16х16 пикселей (всего 768
пикселей) получается 6 блоков по 8х8 пикселей (всего 384 пикселя). То есть объем кодируемых данных на этом шаге снижается вдвое.
Еще раз подчеркнем, что такое сокращение объема данных не ведет к ухудшению
качества изображения, потому что чувствительность глаза к цветовым компонентам ниже, чем его чувствительность к яркости.
Пиксель изображения в блоке 16х16
Рис. 10. Подготовка макроблоков
Полученный в результате такой операции набор блоков изображения – 4 блока
яркостной компоненты Y размером 8х8 пикселей, и два блока соответствующих цветоразностных компонент U и V, каждый размером 8х8 пикселей, называется макроблоком. И все дальнейшие действия по сжатию будут производиться именно с макроблоками, как независимыми элементарными единицами изображения.
В зависимости от того, каким мы объявили текущий кадр (I-кадр, P-кадр или B-кадр)
макроблоки этого кадра могут сжиматься по-разному. Почему – объясним ниже. Но такой принцип обеспечивает большую гибкость при сжатии подвижных изображений
разного характера (содержащих мелкие и крупные детали, статические и динамические объекты).
Сжатие независимых кадров (I – кадров)
I – кадры – это опорные точки в видеопотоке, которые могут декодироваться независимо от других кадров (до и после), и обеспечивают вход в видеопоток. Кроме
того, они позволяют восстановить порядок следования данных в видеопотоке, при его нарушениях за счет помех в канале связи.
Для этого все макроблоки I-кадра сжимаются независимо друг от друга и от
других кадров. Макроблоки, сжимаемые независимо, называются I-блоками.
Частота следования I - кадров выбирается исходя из требований на время произвольного доступа и быстроты восстановления при передаче через канал с ошибками. Включать в поток много I-кадров невыгодно, потому что они имеют невысокую степень сжатия, если же их мало, то увеличивается время доступа и время восстановления после ошибок.
Алгоритм сжатия I-кадра, как неподвижного и независимого от других кадров изображения, практически полностью повторяет алгоритм JPEG,
разработанный для сжатия неподвижных изображений.
Алгоритм jpeg
Алгоритм кодирования JPEG (Joint Photographers Experts Group), утвержденный в
1991 Году в качестве одного из стандартов сжатия изображений, является одной
из главных составляющих стандарта сжатия видео MPEG.
Последовательность операций над видеоданными в процессе их кодирования с использованием JPEG выглядит следующим образом:
Рис. 11 Конвейер операций, используемый в алгоритме JPEG
Первые два этапа – перевод цветного изображения из цветового пространства
RGB в пространство YUV, а также передискретизацию (прореживание)
цветоразностных компонент и формирование макроблоков мы уже описали. Они являются общими для сжатия любого типа кадров.
8 пикселей
231
224
224
217
217
203
189
196
210
217
203
189
203
224
217
224
196
217
210
224
203
203
196
189
8 пикселей
210
203
196
203
182
203
182
189
203
224
203
217
196
175
154
140
182
189
168
161
154
126
119
112
175
154
126
105
140
105
119
84
154
98
105
98
105
63
112
84
Блок 8х8
154
154 175 182 189 168 217
175
154
147 168 154 168 168 196
175
175
154 203 175 189 182 196
182
175
168 168 168 140 175 168
203
168
168 154 196 175 189 203
154
168
161 161 168 154 154 189
189
147
161 175 182 189 175 217
175
175 175 203 175 189 175 175 182
42
28
35
28
42
49
35
42
49
49
35
28
35
35
35
42
42
21
21
28
42
35
42
28
21
35
35
42
42
28
28
14
56
70
77
84
91
28
28
21
70
126
133
147
161
91
35
14
126
203
189
182
175
175
35
21
49
189
245
210
182
84
21
35
Рис. 12 Разбиение изображения не блоки 8х8 пикселей
Второй этап сжатия – применение к каждому из блоков дискретного косинусного
преобразования – ДКП (DCT).
Дискретное косинусное преобразование переводит изображение из области
пространственных переменных (из представления набором отсчетов или пикселей)
в спектральную область (представление набором частотных составляющих).
Дискретное косинусное преобразование от изображения IMG (x, y) записывается следующим образом:
2
N
N
DCT (u,v) =
IMG (xi, yj )cos ((2i +1)π u/2N) cos ((2j +1)π v/2N), (1)
N
i 0
j 0
где i и j – индексы (номера пикселей) в блоке изображения, 0 < i , j < 7;
u и v – индексы (номера отсчетов) в блоке спектральных коэффициентов,
получаемых в результате ДКП;
N – размер блока, N = 8.
Процедуру ДКП можно записать также в матричной форме:
DCT = TCT ∙ IMG ∙ TC,
(2)
где TC – матрица базисных (косинусных) коэффициентов для преобразования размером 8х8, имеющая вид
.353553 .353553 .353553 .353553 .353553
.353553
.353553
.353553
.490393
.415818 .277992 .097887 -.097106 -.277329 -.415375 -.490246
.461978
.191618 -.190882
-.461673 -.462282 -.192353 .190145 .461366
TC =
.414818 -.097106 -.490246 -.278653 .276667
.490710
.099448 -.414486
(3)
.353694
-.353131 -.354256 .352567
.354819
-.352001
-.355378 .351435
.277992
-.490246
.096324
.416700 -.414486
-.100228
.491013 -.274673
.191618
-.462282
.461366
-.189409
-.193822 .463187
-.460440
.187195
.097887
-.278653
.416700
-.490862
.489771
-.413593
.274008 -.092414
Как при представлении ДКП в виде двойной суммы (1), так и при матричной записи
(2), процедура ДКП представляет собой разложение двумерной функции IMG (x, y)
по системе базисных функций b(x,y). Для двумерного ДКП размером 8х8 система
базисных функций задается формулой
b[x, y] cos
(2x 1)u
cos
(2y 1)v
.
(4)
16
16
Вид каждого из сомножителей базисных функций для одномерного (только по одной координате x или y) ДКП (4) приведен на рис. 20.
Рис. 13 Система одномерных и двумерных базисных функций ДКП
Самая низкочастотная базисная функция (для одномерного ДКП),
соответствующая частотному индексу u = 0, изображена вверху. Все ее значения равны единице. Применительно к двумерному ДКП - DCT = TCT ∙ IMG ∙ TC, (это
функция в левом верхнем углу), и ее вид означает, что спектральная
составляющая DCT(0,0) получается как сумма всех пикселей блока изображения