стримується недостатнім швидкодією процесорів і їх відносною дорожнечею.
1.4 Основні етапи кодування по стандарту MPEG
перше, кадр зображення розбивається на макроблоки і блоки. Залежно від обраної моделі стиснення кількість блоків у макроблоків може відрізнятися. Кожному Y, Сb і Сr блоку зіставляється матриця відповідного розміру.
Далі над матріцамі проводиться пряме дискретне косинус-перетворення (ПДКп, fDCT, forward Discrete Cosine Transform) кожного 8x8 блоку (розкладання в спектр). Одномірне ДКП по п дискретним значенням амплітуди сигналу формує вектор довжини n, що складається з коефіцієнтів розкладання. Тобто розглядаючи рядок матриці як вектор значень амплітуди якогось сигналу, можна застосувати одномірне ДКП. У результуючому векторі спочатку перебуватимуть низькочастотні, а в кінці - високочастотні компоненти сигналу.
С0=128 с1 .. 7=2 ^ 1/2
Після обробки рядків матриць, ДКП застосовується для стовпців
c0=l/1024 c1 .. 7=c0 * 2 ^ l / 2
У підсумку виходить матриця коефіцієнтів розкладання, яка в лівому верхньому куті містить низькочастотні складові, а в правому нижньому - високочастотні. Далі йде процес квантування коефіцієнтів розкладання, а по суті зменшення динамічного діапазону, шляхом ділення на матриці квантування.
У зв'язку з тим що колірна характеристика елементів зображення має сильну просторову кореляцію (тобто сусідні пікселі зазвичай не дуже сильно відрізняються один від одного), в отриманому спектрі переважатимуть низькочастотні складові. Тому з'являється можливість провести не статичне квантування, а адаптоване, тобто не ділити на матриці з однакових елементів, а підібрати коефіцієнти найбільш зручним чином, щоб виключити зайву інформацію про високочастотної складової. У зв'язку з цим матриці квантування в лівому верхньому кутку містять мінімальні по модулю подільники, а в правому нижньому - максимальні.
Після квантування частина коефіцієнтів через вирівнювання зрівняється, а більшість малих коефіцієнтів округлятиметься до нуля, утворивши підобласті з нульовим значенням. Ця обставина дозволяє провести упаковку довгих ланцюжків однакових значень методом групового кодування (RLE, Run Length Encoding). Для цього квадратна матриця перетвориться зиг-заг обходом в вектор, і ланцюжки повторюваних коефіцієнтів упаковуються в пари (довжина, значення).
У форматі MJPEG і MPEG - 1 використовується звичайний для JPEG зигзаг обхід, але в MPEG - 2 використовується трохи інший спосіб. Такий модифікований обхід підвищує ефективність групового кодування для чересстрочного відеопотоку.
Далі проводиться зменшення ентропії за алгоритмом Хаффмана. Суть його полягає в статистичному аналізі потоку даних і складання спеціальної кодує таблиці. У такій таблиці найбільш часто зустрічається даними зіставляється найбільш короткі коди, а рідко зустрічається - довгі.
Матриця квантування для вступного кадру
Зіг-заг обхід Зіг-заг обхід
MPEG - 1 MPEG - 2
Рисунок 8 - До питання про основні етапи кодування по стандарту MPEG
1.5 Ентропійне к...