Вихідним дискретним поданням зображення є колірні компоненти в матричній формі. Проблема ощадливого кодування відеоінформації, таким чином, зводиться до проблеми одержання ефективних подань матриць натуральних чисел. Специфіка цих матриць полягає в наявності сильного імовірнісного взаємозв'язку між сусідніми значеннями матриці. Для обліку цього взаємозв'язку при кодуванні ідеально підходить двомірна контекстно-контекстно-залежна модель, у якій факторний вектор формується із уже закодованих значень двомірного контекстного оточення кодируемой позиції матриці.
Кодування значень матриці може здійснюватися послідовно, відповідно до деяким заздалегідь обраним порядкком обходу позицій. Формування факторного вектора прямо залежить від цього порядку. Якщо, приміром, матриця кодується построчно, потенційними складовими факторного вектора є вже закодовані значення кодируемой рядка, а також значення всіх раніше закодованих рядків, що перебувають при порядковому кодуванні над кодуємим рядком.
Існує альтернативний спосіб кодування. Він має на увазі многопроходную обробку інформації. При використанні многопроходного кодування під час чергового кодового проходу значення матриці кодуються не повністю (наприклад, кодуються окремі біти). Незакодована частина кодується під час наступних проходів. При такому способі організації кодування як складові факторного вектора можна брати тільки вже закодовані частини значень.
Одержання оцінок імовірностей появи символів при використанні описаного методу побудови контекстно-контекстно-залежної моделі нерідко утруднено наступною обставиною: кількість усіляких значень може виявитися настільки більшим, що збирає статистика, що, стане адекватної тільки після обробки значного обсягу інформаційної вибірки. Вихід з даної ситуації - застосування моделювання, при якому моделюються не конкретні значення, а групи або інтервали значень. Поява значень, що належать однієї й тій же групі (інтервалу), уважається равновероятным, тому вводити додаткові моделі для їхньої обробки не потрібно. Описаний прийом дозволяє підвищити ефективність кодування за рахунок підвищення адекватності імовірнісних оцінок (оцінка для групи (інтервалу) виявляється більше точної за рахунок більшого обсягу статистики). Для досягнення оптимального результату варто дуже ретельно підходити до підбору груп (інтервалів) значень. Приміром, що найбільше часто зустрічаються значення недоцільно поєднувати зі значеннями встречающимися значно рідше, тому що для останніх об'єктивність оцінки незрівнянно нижче, ніж для перших.
2.2 Методи із пророкуваннями
Кардинально інший метод обліку особливостей реальних зображень при кодуванні базується на пророкуваннях1. Кодируемое значення осередку матриці передвіщається на основі інформації про сусідні значення. (Пророкування виступає як функція від цих значень. Як правило, використається середнє значень або їхня лінійна комбінація.) Як об'єкт кодування виступає не саме значення, а різниця між цим значенням і пророкуванням - так називана помилка пророкування. Помилки пророкування розподілені далеко не випадковим образом: маленькі за абсолютним значенням помилки зустрічаються значно частіше більших помилок, а крім того, існує імовірнісна залежність між помилкою й контекстом для оброблюваної позиції.
Тому помилки пророкування можуть бути дуже ефективно закодовані.
Для моделювання помилок застосовна описана вище двомірна контекстно-контекстно-залежна модель. При цьому залишається актуальної проблема одержання адекватних оцінок для дуже великої кількості різних значень. Для її рішення використається підхід, відмінний від описаного раніше. В основі даного підходу припущення про те, що значення помилок пророкування розподілені по деякому параметричному законі, параметри якого споконвічно не відомі, але можуть бути оцінені в процесі кодування. Оцінка всього декількох параметрів дозволяє обчислювати ймовірності появи для фактично необмеженої кількості значень помилок пророкування, що при правильному виборі розподілу гарантує високу ефективність кодування.
Імовірність появи целочисленной помилки ε виходить шляхом інтегрування щільності імовірнісного розподілу ρ(x) в околиці [ε- ½, ε + ½]:
ε+1/2
p(ε) = / ρ(x)dx.
ε-1/2
Як правило, за основу береться розподіл Лапласа, щільність якого обчислюється по формулі
ρ (x) = ~т2 σ 2 exp(-в -2 \x - µ\)).
У розподілі фігурують два невідомих параметри: математичне очікування µ і дисперсія σ. Для одержання їхніх оцінок використається двомірна контекстно-контекстно-залежна модель. Особливість моделювання в цьому випадку полягає в методі розбивки безлічі факторних векторів на підмножини: визначальну роль грають не абсолютні значення, що перебувають на позиціях, близьких до кодируемой, а різниці цих значень (тобто відносні значення).
2.3 Методи прогресивного кодування
З метою спрощення моделювання при формуванні факторного вектора, як правило, використаються тільки ті значення матриці, які перебувають на сусідні (примыкающих) позиціях стосовно кодируемой позиції. Таким чином, у розрахунок не приймаються значення, що перебувають на деякому видаленні. Таке рішення невигідно, тому що між вилученими крапками зображення також можуть існувати залежності, які ніяк не враховуються. Для обліку цих залежностей можна використати методику, при якій зображення кодується в прогресивному режимі: спочатку кодуються крапки зображення, що утворять мережу з деяким досить більшим кроком; потім кодуються ще незакодовані крапки, що належать мережі з меншим кроком, і так далі, доти, поки не будуть закодовані всі крапки зображення (кодування в більшості випадків є контекстно-контекстно-залежним). Одним з переваг описаної методики є можливість відновлення зображення з послідовним поліпшенням його деталізації, що може мати особливу цінність при її використанні в телекомунікаційних додатках1. Один з найбільш удалих методів прогресивного кодування описаний у роботі. До методів прогресивного кодування ставляться також методи, засновані на застосуванні оборотних вейвлет-преобразований. Крім усього іншого, прогресивний режим вносить елемент завадостійкості.
2.4 Квантування
Ефективність ощадливого кодування природного напівтонового зображення (наприклад, фотографічного) методами, описаними в попередньому розділі, у середньому становить трохи битов на одне закодоване значення колірної матриці. Стосовно до синтезованих зображень (такі зображення можуть містити текст, малюнки, графічні об'єкти й т.п.) ефективність виявляється трохи вище й іноді становить менш одного біта на закодоване значення. Однак існують технології кодування, що дозволяють домогтися істотно більшого результату. Висока ефективність досягається за рахунок того, що при кодуванні стають припустимими деякі інформаційні перекручування. Щоб перекручування були як можна менш помітні, їхні характеристики вибираються з урахуванням особливостей психовизуального сприйняття зображення людиною.
Перекручування найчастіше виникають внаслідок квантування значень інформаційної вибірки. Ідея квантування полягає в заміні всіх значень із групи (інтервалу) деяким єдиним значенням. Даний прийом дозволяє зменшити кількість різних значень, що зустрічаються в матриці, що дозволяє кодувати її більш ефективно. Інформаційні перекручування, мабуть, виникають через розбіжність группируемых значень зі значенням, отриманим у процесі їхнього квантування. Повне відновлення інформації стає, таким чином, неможливим.
Розвитком зазначеного підходу є метод у якому групуються не окремі значення, а цілі вектора, складені зі значень, що перебувають на близьких позиціях у матриці. Квантованное значення в даному випадку відповідає деякій безлічі векторів значень. Таке рішення представляє значно більше можливостей для інформаційного опису. Воно зветься векторне квантування, а розглянутий раніше спрощений варіант називається скалярним, квантуванням.
Как неважко помітити, векторне квантування частково виконує функції контекстно-контекстно-залежного моделювання: об'єднання векторів значень, що перебувають на близьких позиціях, дозволяє врахувати можливі імовірнісні взаємозв'язки між ними. Тому векторне квантування, як альтернативний метод обліку інформаційних закономірностей, є предметом для окремого розгляду, і буде залишений за рамками даної роботи. Надалі мова йтиме тільки про ті методи кодування, у яких використається скалярне квантування.
Зупинимося більш докладно на деяких деталях практичної реалізації скалярного квантування. Як ми вже відзначали вище, об'єднання значень у групи повинне вироблятися з урахуванням вимог конкретного завдання. У тих випадках, коли специфіка оброблюваної інформації не дозволяє однозначно вибрати спосіб групування значень, використається найбільш просте рішення - квантуемые значення розбиваються на рівні по довжині інтервали. Даний метод квантування називається рівномірним.
Позначимо через ∆ довжину інтервалу при рівномірному квантуванні {параметр квантування). Сукупність інтервалів представима у вигляді [xо + ∆-i, xо + ∆-(i + 1)). Значення xq належить речовинному інтервалу [—∆/2, ∆/2) і задає базовий зсув інтервалів при квантуванні. i приймає довільні целочисленные значення і являє собою номер інтервалу.
Номер інтервалу виступає в ролі кодируемого об'єкта. У процесі декодування по ньому відновлюється шуканий інтервал значень (деквантование). Тому що конкретні значення відновленню не підлягають, при деквантовании вони заміняються деяким фіксованим числом. Оптимально використати як дане число математичне очікування значень інтервалу. У випадку, коли значення розподілені рівномірно, математичне очікування відповідає середині інтервалу - xо + ∆ • i + ∆/2.