Структурно-логічна модель кодера стиску інформаційних потоків даних
Розкриття вмісту теорії стискування і опис класифікаційних характеристик методів компресії з втратами і без втрат. Оцінка втрат якості зображень при їх стискуванні за допомогою програм-кодеків. Розрахунок математичної моделі кодера стискання зображень.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | украинский |
Дата добавления | 25.11.2012 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Для цього використовується квантування коефіцієнтів (quantization). У найпростішому випадку - це арифметичне побітове зрушення вправо. При цьому перетворенні губиться частина інформації, але може досягатися більший ступінь стиснення.
Отже, розглянемо алгоритм докладніше. Нехай ми стискаємо 24-бітне зображення.
Етап 1. Переводимо зображення з колірного простору RGB, з компонентами, відповідальними за червону (Red), зелену (Green) і синю (Blue) складові кольору крапки, у колірний простір YCrCb (іноді називають YUV).
У ньому Y - яскравісна складова, а Сг, Сb - компоненти, відповідальні за кольори (хроматичний червоний і хроматичний синій). За рахунок того, що людське око менш чутливе до кольорів, ніж до яскравості, з'являється можливість архівувати масиви для Сг і Сb компонент із більшими втратами й, відповідно, більшими ступенями стиснення. Подібне перетворення вже давно використовується в телебаченні. На сигнали, відповідальні за кольори, там виділяється більш вузька смуга частот.
Спрощено переклад з колірного простору RGB у колірний простір YCrCb можна представити у вигляді матриці переходу:
Зворотнє перетворення здійснюється множенням вектору YUV на обернену матрицю:
Етап 2. Розбиваємо вихідне зображення на матриці 8x8. Формуємо з кожної третьої робочої матриці ДКП - по 8 біт окремо для кожного компонента.
При більших ступенях стиснення цей крок може виконуватися трохи складніше. Зображення ділиться по компоненті Y - як і в першому випадку, а для компонентів Сг і Сb матриці набираються через рядок і через стовпець.
Тобто з вихідної матриці розміром 16x16 виходить тільки одна робоча матриця ДКП.
При цьому, як неважко помітити, ми втрачаємо 3/4 корисної інформації про колірні складові зображення й одержуємо відразу стиснення у два рази. Ми можемо робити так завдяки роботі в просторі YCrCb. На результуючому RGB зображенні, як показала практика, це позначається несильно.
Етап 3. У спрощеному вигляді ДКП при п=8 можна представити так:
, (1.8)
де ,
а .
Застосовуємо ДКП до кожної робочої матриці. При цьому ми одержуємо матрицю, у якій коефіцієнти в лівому верхньому куті відповідають низькочастотній складовій зображення, а в правому нижньому - високочастотній. Поняття частоти випливає з розгляду зображення як двовимірного сигналу (аналогічно розгляду звуку як сигналу). Плавна зміна кольорів відповідає низькочастотній складовій, а різкі скачки - низькочастотній.
Етап 4. Проводимо квантування. У принципі, це просто розподіл робочої матриці на матрицю квантування поелементно. Для кожного компонента (Y, U і V), у загальному випадку, задається своя матриця квантування q[u,v] (далі МК).
(1.9)
На цьому кроці здійснюється керування ступенем стиснення, і відбуваються самі більші втрати. Зрозуміло, що, задаючи МК із більшими коефіцієнтами, ми одержимо більше нулів і, отже, більший ступінь стиснення. У стандарт JPEG включені рекомендовані МК, побудовані дослідним шляхом. Матриці для більшого або меншого ступеня стиснення одержують шляхом множення вихідної матриці на деяке число gamma.
Із квантуванням зв'язані й специфічні ефекти алгоритму. При більших значеннях коефіцієнта gamma втрати в низьких частотах можуть бути настільки великі, що зображення розпадеться на квадрати 8x8. Втрати у високих частотах можуть виявитися в так званому «ефекті Гіббса», коли навколо контурів з різким переходом кольорів утвориться своєрідний «німб».
Етап 5. Переводимо матрицю 8x8 в 64-елементний вектор за допомогою «зиґзаґ»-сканування, тобто беремо елементи з індексами (0,0), (0,1), (1,0), (2,0)... (рис.1.8).
Рис. 1.8. Зиґзаґ-сканування
Таким чином, на початку вектора ми одержуємо коефіцієнти матриці, що відповідають низьким частотам, а наприкінці - високим.
Етап 6. Згортаємо вектор за допомогою алгоритму групового кодування.
При цьому одержуємо пари типу (пропустити, число), де «пропустити» є лічильником нулів, що пропускають, а «число»- значення, які необхідно поставити в наступну ячійку. Так, вектор 42 3 0 0 0 -2 0 0 0 0 1... буде згорнутий у пари (0,42) (0,3) (3,-2) (4,1)....
Етап 7. Згортаємо отримані пари кодуванням по Хаффману з фіксованою таблицею.
Процес відновлення зображення в цьому алгоритмі повністю симетричний. Метод дозволяє стискати деякі зображення в 10-15 разів без серйозних втрат.
Основні кроки стиснення за методом JPEG, представлені у вигляді структурно-логічної схеми на рис. 1.9.
Рис. 1.9. Блок-структурна схема реалізації методу JPEG
Істотними позитивними сторонами алгоритму є те, що:
Задається ступінь стиснення.
Вихідне кольорове зображення може мати 24 біта на
крапку.
Негативними сторонами алгоритму є те, що:
При підвищенні ступеня стиснення зображення розпадається
на окремі квадрати (8x8). Це пов'язане з тим, що з'являються більші втрати в низьких частотах при квантуванні, і відновити вихідні дані стає неможливо.
Проявляється ефект Гіббса -- ореоли по межах різких
переходів кольорів.
Як уже говорилося, стандартизований JPEG був в 1991 році. Але вже тоді існували алгоритми, що стискають сильніше при менших втратах якості. Справа в тому, що дії розроблювачів стандарту були обмежені потужністю існуючої на той момент техніки. Тобто навіть на персональному комп'ютері алгоритм повинен був працювати менше хвилини на середньому зображенні, а його апаратна реалізація повинна бути відносно простою і дешевою. Алгоритм повинен був бути симетричним (час розархівації приблизно дорівнює часу архівації). Виконання останньої вимоги уможливило появу таких пристроїв, як цифрові фотоапарати, що знімають 24-бітові фотографії на 8 - 256 Мб флеш карту. Потім ця карта вставляється в роз'єм на вашому ноутбуці й відповідна програмі дозволяє зчитати зображення. Чи не правда, що якби алгоритм був несиметричний, було б неприємно довго чекати, поки апарат «перезарядиться»- стисне зображення.
Не дуже приємною властивістю JPEG є також те, що нерідко горизонтальні й вертикальні смуги на дисплеї абсолютно не помітні й можуть виявитися тільки при печатці у вигляді муарового візерунка. Він виникає при накладанні похилого растра друку на горизонтальні й вертикальні смуги зображення. Через це JPEG не рекомендується активно використати в поліграфії, задаючи високі коефіцієнти матриці квантування. Однак при архівації зображень, призначених для перегляду людиною, він на даний момент незамінний.
Широке застосування JPEG довгий час зумовлювалося, мабуть, лише тим, що він оперує 24-бітними зображеннями. Тому для того, щоб із прийнятною якістю подивитися картинку на звичайному моніторі в 256-кольоровій палітрі, було необхідне застосування відповідних алгоритмів і, отже, певний час. У програмах, орієнтованих на прискіпливого користувача, таких, наприклад, як ігри, подібні затримки неприйнятні. Крім того, якщо наявні у вас зображення, припустимо, в 8-бітному форматі GIF перевести в 24-бітний JPEG, а потім назад в GIF для перегляду, то втрата якості відбудеться двічі при обох перетвореннях. Проте, виграш у розмірах архівів найчастіше настільки великий (в 3-20 разів), а втрати якості настільки малі, що зберігання зображень в JPEG виявляється дуже ефективним.
1.2.6.2 Алгоритм JPEG 2000
Алгоритм JPEG-2000 розроблений тією же групою експертів в області фотографії, що й JPEG. Формування JPEG як міжнародного стандарту було закінчено в 1992 році [4,10]. В 1997 стало ясно, що необхідно новий, більше гнучкий і потужний стандарт, що і був дороблений до зими 2000 року. Основні відмінності алгоритму в JPEG 2000 від алгоритму в JPEG полягають у наступному:
1. Краща якість зображення при сильному ступені стиснення.
Підтримка кодування окремих областей із кращою якістю. Відомо, що окремі області зображення критичні для сприйняття людиною, у той час як якістю інших можна знехтувати. При «ручній» оптимізації збільшення ступеня стиснення проводиться доти, поки не буде втрачена якість у якійсь важливій частині зображення. В даному методі з'являється можливість задати якість у критичних областях, стиснувши інші області сильніше, тобто одержується ще більший остаточний ступінь стиснення при суб'єктивно рівній якості зображення.
3. Основний алгоритм стиснення замінений на wavelet. Крім зазначеного підвищення ступеня стиснення це дозволило позбутися від 8-піксельної блочності, що виникає при підвищенні ступеня стиснення.
4. Для підвищення ступеня стиснення в алгоритмі використовується арифметичне кодування.
5. Підтримка стиснення однобітних (2-кольорових) зображень. Для збереження однобітних зображень (малюнки тушшю, відсканований текст і т.п.) раніше повсюди рекомендувався формат GIF, оскільки стиснення із використанням ДКП досить неефективно стискає зображеня із різкими переходами кольорів. В JPEG при стисненні 1-бітна картинка приводилася до 8-бітної, тобто збільшувалася в 8 разів, післе чого робилася спроба стиснення. Зараз можна рекомендувати JPEG 2000 як універсальний алгоритм.
6. На рівні формату підтримується прозорість. Крім того, підтримується не тільки 1 біт прозорості (піксель прозорий/непрозорий), а окремий канал, що дозволить задавати плавний перехід від непрозорого зображення до прозорого фону.
7. Крім того, на рівні формату підтримуються включення в зображення інформації про копірайт, підтримка стійкості до бітових помилок при передачі й широкомовленні, можна запитувати для декомпресії або обробки зовнішні засоби (plug-ins), можна включати в зображення його опис, інформацію для пошуку й т.д.
Базова схема JPEG-2000 дуже схожа на базову схему JPEG. Відмінності полягають у наступному:
Замість дискретного косинусного перетворення (DCT) використається дискретне вейвлет-перетворення (DWT).
Замість кодування по Хаффмену використовується арифметичне стиснення.
В алгоритм закладене керування якістю областей зображення.
4) Не використовується явно дискретизація компонентів U і V після перетворення колірних просторів, оскільки при DWT можна досягти того ж результату, але більш акуратно.
Блок-структурна схема даного алгоритму приведена на рис. 1.10.
Рис. 1.10. Блок-структурна схема реалізації методу JPEG-2000
Розглянемо алгоритм по кроках.
Етап 1. В JPEG-2000 передбачене зрушення яскравості (DC level shift) кожного компонента (RGB) зображення перед перетворенням в YUV. Це робиться для вирівнювання динамічного діапазону (наближення до 0 гістограми частот), що приводить до збільшення ступеня стиснення. Формулу перетворення можна записати як:
(1.10)
При відновленні зображення виконується зворотне перетворення:
. (1.11)
Етап 2. Переводимо зображення з колірного простору RGB, з компонентами, відповідальними за червону (Red), зелену (Green) і синю (Blue) складові кольору точки, у колірний простір YUV. Цей крок аналогічний JPEG , за тим виключенням, що крім перетворення із втратами передбачено також і перетворення без втрат.
Етап 3. Дискретне wavelet перетворення (DWT) також може бути двох видів - для випадку стиснення із втратами й для стиснення без втрат.
Перетворення в одномірному випадку являє собою скалярний добуток коефіцієнтів фільтра на рядок преутворених значень (у нашому випадку - на рядок зображення). При цьому парні вихідні значення формуються за допомогою низькочастотного перетворення, а непарні - за допомогою високочастотного:
, (1.12)
. (1.13)
Оскільки більшість , крім i=0, рівні 0, то можна переписати наведені формули з меншою кількістю операцій. Для простоти розглянемо випадок стиснення без втрат.
, (1.14)
, (1.15)
Легко показати, що даний запис можна еквівалентно переписати, зменшивши ще втроє кількість операцій множення й розподіли (однак тепер необхідно буде підрахувати спочатку всі непарні у). Додамо також операції округлення до найближчого цілого, що не перевищує задане число а, позначені як [a]:
, (1.16)
, (1.17)
Етап 4. Так само, як і в алгоритмі JPEG, після DWT застосовується квантування.
Коефіцієнти квадрантів діляться на заздалегідь задане число. При збільшенні цього числа знижується динамічний діапазон коефіцієнтів, вони стають ближче до 0, і ми одержуємо більший ступінь стиснення. Варіюючи ці числа для різних рівнів перетворення, для різних колірних компонент і для різних квадрантів, можно керувати ступенем втрат у зображенні. Розраховані в компресорі оптимальні коефіцієнти квантування передаються в декомпресор для однозначного розпакування.
Етап 5. Для стиснення отриманих масивів даних в JPEG 2000 використовується варіант арифметичного стиснення, названий MQ-кодер, прообраз якого (QM-кодер) розглядався ще в стандарті JPEG, але реально не використовувався через патентні обмеження.
1.2.7 Зведені характеристики існуючих методів стиснення зображень
В табл. 1.3 наведені основні параметри, що характеризу.ть методи стиснення зображень, описані вище [4].
Таблиця 1.3. Порівняльна хаарктеристика методів стиснення зображень
Алгоритм |
К-ти стиснення |
Симетричність за часом |
На які зображення орієнтований |
Втрати |
|
RLE |
32, 2, 0.5 |
1 |
3,4-х бітні |
Ні |
|
LZW |
1000, 4, 5/7 |
1.2-3 |
1-8 бітні |
Ні |
|
Хаффмана |
8, 1.5, 1 |
1-1.5 |
8-бітні |
Ні |
|
JBIG |
2-30 разів |
1 |
1-бітні |
Ні |
|
Lossless JPEG |
2 рази |
1 |
24-бітні,сірі |
Ні |
|
JPEG |
2-200 разів |
1 |
24-бітні, сірі |
Так |
|
JPEG-2000 |
2-200 разів |
1-1.5 |
24-бітні, сірі,1-бітні |
Так |
1.3 Висновки по розділу
В даному розділі дипломної роботи були викладені основні поняття теорії стиснення. Задачу компресії даних ідентифіковано з одним з найважливіших завдань теорії інформації - кодуванням джерела.
Описані поняття енторопії, основні класифікаційні характеристики методів стиснення, розглянуті відмінності між двома основними класами методів компресії - з втратами та без втрат.
Розглянуті основи теорії стиснення зображень, як однієї з найактуальніших галузей загальної теорії компресії. Проведене ознайомлення з поняттями класів зображень та програм-кодеків, визначені основні критерії оцінки та порівняння методів стиснення.
В межах даного розділу також були розглянуті основні методі компресії, що забезпечують стиснення зображень з втратами або без втрат. Була сформована їх зведена характеристика.
Аналіз отриманих даних дозволяє стверджувати, що проаналізовані методи мають ряд недоліків:
1. методи, які забезпечують досить високий ступінь стиснення призводять до значних втрат якості зображення із збільшенням коефіцієнта стисненя (JPEG, JPEG-2000);
2. на потивагу їм, методи стиснення без втрат не забезпечують достатнього ступеня стиснення (RLE, LZW, Хаффмана, Lossless JPEG );
3. методи які забезпечують як прийнятний рівень якості зображень, так і достатній ступінь стиснення, орієнтовані на вузький клас зображень (JBIG).
Дані висновки дозволяють сформувати основну задачу дипломної роботи - формування математичної моделі кодера стиску зображень, який би забезпечував більший за відмомі ступені стиснення з одночасної мінімізацією втрат при відновленні вихфдного зображення.
стискування компресія втрата якість зображення
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ТА ЛІТЕРАТУРИ
1. Юдін О.К. Кодування в інформаційно-комунікаційних мережах: - Монографія. - К.: НАУ, 2007. - 308с
2. Фомин А.А. Основы сжатия информации. - С.-П.: СПГТУ, 1998. - с.27-30.
3. Свириденко В.А. Анализ систем со сжатием данных ? М.: Связь, 1977. ? 184 с.
4. Ватолин Д., Ратушняк А., Смирнов М., Юкин В. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео. - М.: ДИАЛОГ-МИФИ, 2002. - 384 с.
5. Методы передачи изображений. Сокращение избыточности. / Под. ред. У.К. Прэтта. ? М.: Радио и связь, 1983. ? 263 с.
6. Королев А.В., Лебедев С.М., Паржин Ю.В. Методы сжатия графической информации. Тез. докл. ХIII Всесоюз. симпозиума по пробл. избыточности в информ. системах. -- Л.: ЛИАП. -- 1983. -- Ч.6. -- С. 82-- 84.
7. Хэмминг Р.В. Теория кодирования и теория информации / Под. ред. Б.С. Цыбакова. ? Пер. с англ. С.И. Гельфанда. ? М.: Радио и связь, 1983. ? 176 с.
8. Скляр Б. Цифровая связь. Теоретические основы и практическое применение / Пер. с англ. - М.: Изд. дом Вильямс, 2004. - 1104 с.
9. Д. Селомон. Стиснення даних, зображень і звуку. - М.: Техносфера, 2006. - 386с.
10. Юдин А.К., Пуха Д.А. Методы и алгоритмы эффективного сжатия видеоданных на базе стандарта JPEG 2000. // Защита информации: сборник научных трудов, выпуск №13. - К.: НАУ, 2006. - С. 209-214.
11. Ефимов В.М., Золотухин Ю.Н., Колесников А.Н. Оценка эффективности некоторых алгоритмов сокращения избыточности информации при абсолютной точности воспроизведения. // Автометрия. - 1991. - № 6. - с. 50
12. Юдін О.К. Обґрунтування взаємооднозначності двоознакового структурного представлення двійкових даних у поліадичному просторі. // Науковий журнал “Вісник НАУ“, №1. К.: НАУ - 2007. - С. 38-42.
13. Баранник В.В., Юдин А.К. Двухпризнаковое структурное кодирование массивов двоичных данных. // Всеукраинский межведомственный научно-технический сборник “Автоматизированные системы управления и приборы автоматики“, №133. - Х.: ХНУРЭ, 2005 - C. 64-72.
14. Баранник В.В., Юдин А.К. Оценка эффективности структурного кодирования двоичных данных в полиадическом пространстве. // Науковий журнал “Інформаційно-керуючі системи на залізничному транспорті“ , №3 - Х.: 2006. - С. 3-11.
15. Юдін. О.К. Методи структурного кодування даних в автоматизованих системах управління. - К.: НАУ, 2007.
16. Юдін О.К. Обгрунтування ефективності двоознакового структурного кодування у двійковому поліадичному просторі. Проблеми інформатизації та управління: Збірник наукових праць: Випуск 2(17). - К.:НАУ, 2006. - С.137-141
17. Макаров Е. Mathcad. Учбовий курс. - С.-П.: Питер, 2008. - 384с.
Додаток А
Програмна реалізація кодера стиску зображень з урахуванням ДСК (codec.xcmd )
Размещено на Allbest.ru
Подобные документы
Призначення та область застосування програм, які орієнтовані на перетворення зображень з плоского в об’ємне. Основні стадії формування тривимірного зображення. Класифікація моделей і методів візуалізації. Особливості створення карти глибин по пікселям.
курсовая работа [325,8 K], добавлен 04.06.2010Растрові формати зображень tiff, bmp, pcx, gif, jpeg, png, опис растрової графічної інформації. Зручність та недоліки векторних форматів. Зберігання і обробка зображень, що складаються з ліній, або можуть бути розкладені на прості геометричні об'єкти.
контрольная работа [2,5 M], добавлен 19.09.2009Загальна характеристика теорії редагування зображень, місце у ній растрових зображень. Аналіз переваг та недоліків програм малювання і векторної графіки. Структура, розмір і розширення зображення. Сутність і призначення основних форматів графічних файлів.
реферат [1,1 M], добавлен 13.10.2010Модель обробки файлів растрових зображень. Середній квадрат яскравості. Фільтри для виділення перепадів і границь. Опис та обґрунтування вибору складу технічних та програмних засобів. Опис інтерфейсу програми. Зображення діалогового вікна програми.
курсовая работа [664,3 K], добавлен 30.06.2009Основні теоретичні відомості алгоритмів стиснення зображень: класи зображень та їх представлення в пам'яті, алгоритми та принципи групового кодування. Огляд та аналіз сучасних програмних засобів конвертування. Тестування, опис роботи програмного засобу.
курсовая работа [2,9 M], добавлен 15.03.2014Опис предметної області. Визначення проблеми та постановка задачі. Проектування бази даних. Концептуальна модель. Логічна модель. Фізична модель. Розробка програмних модулів.
курсовая работа [136,3 K], добавлен 14.07.2007Побудова логічно-фізичної моделі даних за допомогою CASE-засобу ERWin. Інструкція користувача програми. Форма "Складський ордер", "Автотранспорт", "Оператори". Логічна та фізична модель бази даних. Форма "Меню", "Акт прийому", форми для введення даних.
курсовая работа [6,6 M], добавлен 14.09.2012Використання CMY та CMYK для опису кольору при отриманні зображень методом поглинання кольорів. Субтрактивні кольори: блакитний (Cyan), пурпурний (Magenta) та жовтий (Yellow). Моделювання розповсюдження світла в об'ємі напівпрозорого середовища.
контрольная работа [3,5 M], добавлен 22.10.2009Області застосування методів цифрової обробки зображень. Динамічний діапазон фотоматеріалу. Графік характеристичної кривої фотоплівки. Загальне поняття про High Dynamic Range Imaging. Тональна компресія та відображення. Головні стегано-графічні методи.
контрольная работа [1,6 M], добавлен 10.04.2014Синтез, обґрунтування і дослідження моделей мультиграничної сегментації на основі зв’язків покриттів. Введення і дослідження операцій на класах еквівалентностей або толерантностей для перетворень результатів сегментації для отримання областей зображень.
автореферат [199,1 K], добавлен 11.04.2009