у зіставляється матриця відповідного розміру.
Далі над матрицями проводиться пряме дискретне косинус-перетворення (ПДКп, 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 використовується трохи інший спосіб. Такий модифікований обхід підвищує ефективність групового кодування для чересстрочного відеопотоку. Далі проводиться зменшення ентропії за алгоритмом Хаффмана. Суть його полягає в статистичному аналізі потоку даних і складання спеціальної кодує таблиці. У такій таблиці найбільш часто зустрічається даними зіставляється найбільш короткі коди, а рідко зустрічається - довгі.
Матриця квантування для вступного кадру
Рисунок 8 - До питання про основні етапи кодування по стандарту MPEG
1.5 Ентропійне кодування відеосигналу по методу Хаффмана
Перший відомий метод ефективного кодування символів відомий як кодування Шеннона - Фано [7]. Він заснований на знанні ймовірності кожного символу, присутнього в повідомленні. Знаючи ці ймовірності, будують таблицю кодів, що володіє наступними властивостями:
- різні коди мають різну кількість біт;
- коди символів, що володіють меншою ймовірністю, мають більше біт, ніж коди символів з більшою ймовірністю,
- хоча коди мають різну ...