раження:
формула, по якій проводиться ДКП: RES * IMG * DCT T
для початку потрібно порахувати проміжну матрицю: TMP=IMG * DCT T
потім множимо її на ДКП матрицю: RES=TMP * DCT
. Квантування.
На цьому етапі ми порахуємо матрицю квантування, використовуючи цей псевдокод:
for (i=0; i <8; i + +)
{(j=0; j <8; j + +)
Q [i] [j]=1 + ((1 + i + j) * q);
}
де q - це коефіцієнт якості, від нього залежить ступінь втрати якості стислого зображення, для q=2 маємо матрицю квантування:
тепер потрібно кожне число в матриці квантування розділити на число у відповідній позиції у матриці RES, в результаті отримаємо:
тут є досить багато нулів, отримаємо найбільш довгу послідовність нулів, якщо будемо використовувати наступний алгоритм:
вийшла послідовність:
0 - 7 - 11 8 0 0 1 6 - 5 - 7 - 3 0 1 0 0 0 1 0 - 3 - 4 - 1 4 2 0 0 0 0
0 0 0 0 0 0 - 3 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
для більшого стиснення можна перед першим етапом JPEG можна провести Субдіскретізація, або іншими словами зменшити частоту зображення, ідея дуже проста: наприклад, у нас є наступна послідовність (Cb або Cr) 11 42 200 123 56 32 125 234 12 24 34 78 145 134 245 101
якщо будемо використовувати Субдіскретізація 4:1:1, результуюча послідовність буде: 11123125 24145101
а якщо використовувати 4:2:2 11234245
а для відновлення послідовності потрібно інтерполювати.
4. Кодування за Хаффману,
Цей алгоритм грунтується на частотах появи символів, і більш часто
повторюваний символ представляється більш малим кодом
алгоритм:
Ініціалізуем частоти - 1 для кожного символу
Будуємо дерево, символи з меншою частотою ми об'єднуємо в один вузол поки є символи:
Шукаємо символ в дереві, якщо йдемо направо видаємо 1, інакше 0 (звичайно в бітах).
Збільшуємо частоту символу і розбудовуємо дерево.
Друга частина експерименту полягає у перевірці алгоритму стиснення MPEG - 2 та алгоритму шифрування за алгоритмом DES. Для перевірки використовувалося зображення на малюнку 13, і піддавалося процедурі шифрування, програмою написаної в середовищі програмування Borland Delphi 7, модулем Des.
Зображення, зашифроване криптографічним алгоритмом, представлено на малюнку 14, користувач зможе подивитися правильне зображення в тому випадку, якщо дактилоскопічна біометрична система DC21, яка служить захистом від несанкціонованого доступу, містить в пам'яті відбиток пальця користувача. p>
На малюнку зображено прийняте, декодувати зображення. Пікселізація з'явилася через стиснення вихідного зображення в 10 разів (з 300 кбайт до 30 кбайт) при Внутрікадровий кодуванні при реалізації алгоритму MPEG - 2.
Малюнок 13 - Початкове зображення для шифрування
...