Лаб. 1 Аналіз оцифровки та вихідного кодування повідомлень
Методичні вказівки до виконання лабораторної роботи №1 з курсу «Теорія інформації та кодування»

Розділ 1. Вихідне кодування тексту
Розділ 2. Вихідне кодування звуку
Розділ 3. Вихідне кодування зображень

Мета роботи:
- на практиці ознайомитися зі стандартними формами вихідного кодування основних типів повідомлень: тексту, звуку та зображень;
- закріпити знання теоретичних засад оцифровки безперервних повідомлень.

Загальна характеристика роботи
Ця робота включає три розділи, що присвячени вихідному кодуванню відповідно тексту, звуку та зображень. Для кожного розділу наводиться окремий опис стислих теоретичних відомостей та порядку виконання роботи. Більш повні теоретичні відомості наведені зокрема в електронному конспекті лекції №2 та лекції №3
на сайті tik-diit.dp.ua за поточний рік.

Для виконання роботи студент має обрати його рівень: повний або базовий. Останній варіант суттєво менший за обсягом, але відповідний бал не перевищує 75% від повного. Далі в тексті завдання, які належать тільки повному варіанту, помічені *.

В додатках до цих методичних вказівок можна одержати:
- шаблон оформлення звіту за повним варіантом;
- шаблон оформлення звіту за базовим варіантом;
- матеріали до виконання роботи демо-програми;
- матеріали до виконання роботи зразки файлів.

Для захисту необхідно успішно пройти тестування з питань теорії.
Для підготовки пробне тестування можна проходити з наступних тем:
- види повідомлень та підходи до оцифровки (теорія тут)
- кодування тексту (теорія тут)
- кодування звуку та зображень (теорія тут)
- вибір параметрів оцифровки та спектральне подання звуку та зображень (теорія тут).


Розділ 1. Вихідне кодування тексту

Короткі теоретичні дані до розділу 1

Для вихідного кодування тексту знаки повідомлень кодуються їх номерами у відповідних алфавітах. При цьому довжина кодів таких номерів повинна бути кратною байту. На практиці застосовуються два підходи (рис.1):

Рисунок 1 Сучасні способи кодування знаків в цифровому середовищі

- в стандарті Unicode всі знаки утворюють спільний алавіт — спиcок знаків UCS. При цьому побайтне кодування може виконуватись у різні способи, серед яких широко використовуються UTF-8 (довжина кодів знаків від 1 до 4 байті) та UTF-16 (довжина кодів знаків 2 або 4 байти). 4-байтний формат UTF-32 практично не застосовується внаслідок його збитковості. Нині стандарт Unicode є найбільш поширеним;

- для так званих кодових сторінок CP знаки можуть групуватись в невеличкі таблиці, які дозволяють кодування лише 1 байтом. Кожна CP включає обов'язковий набір найбільш поширених знаків (зокрема за стандартом ASCII), а також додатковий набір знаків національних алфавітів (так літери кирилиці для Windows містяться в CP 1251). При цьому на локальному пристрої необхідно мати повний набір потрібних CP, що може викликати незручності. Отже нині такий підхід застосовується досить обмежено.

Порядок виконання роботи в розділі 1

1.1 Дослідити кодування тексту за стандартом Unicode, використовуючи сайт https://unicode-table.com:

- через віконце пошуку послідовно знайти опис кодування для першої літери власного імені в кирилиці та латиниці, а також для самостійно обраного знаку-емодзі. Відобразити такий опис в табл.1.1 звіту;

- зформулювати висновки за результатами дослідження самостійно або скористуватись зразком в шаблоні звіта, детально його розібравши.

* Розібратись із формуванням коду UTF-8 на прикладах досліджених літер та відобразити одержаний двійковий код в табл. 1.2.

1.2 Дослідити кодування тексту з використанням CP-1251 (рис.1.2 звіту):

- на прикладах досліджених рані літер визначити принцип побудови їх однобайтних кодів. Відобразити результати на рис.1.2;

- розібрати принцип побудови кодових сторінок, а також види знаків, які входять до стандарту ASCII. Описати його самостійно або скористуватись зразком.

* Ознайомитись із використанням деяких поширених кодів управління інформаційним обміном, що належать стандарту ASCII (згідно даним табл.1.3).

* 1.3 Дослідити 16-кове відображення текстових файлів, які збережені з використанням різних способів кодування:

- за допомогою стандартної програми Windows Блокнот створити текст із власним ім'ям в кирилиці та латиниці на двох окремих рядках. Зберегти цей текст у вигляді окремих файлів, використвуючи режими кодування UTF-8, UTF-16 та ANSI (CP-1251);

- за допомогою стандартної програми файл-менеджера FAR переглянути 16-кові коди збереженого тексту (перегляд файлу по натисканню F3 і потім F4), зберегти відповідні скриншоти і скомпоновати рисунок за зразком рис.1.3.

Розібрати особливості кодування, спираючись зокрема на матеріал лекції №3.

Розділ 2. Вихідне кодування звуку

Короткі теоретичні дані до розділу 2

Особливості вихідного кодування звуку пояснює рис.2.
Рисунок 2. Підходи до оцифровки та кодування звуку

Оцифровка звуку включає два основних етапи:

- дискретизація в часі виконується згідно з правілом Найквіста — її частота повинна бути вдвівчі вищою за максимальну частоту спектру (в практиці використовується запас 10-15%). При цьому зазвичай спираються на обмеження слуху людини (орієнтовно fmax=20 кГц) або розбірливості мовлення (fmax=3,4 кГц);

- квантування за рівнем має забезпечити необхідний діапазон гучності. Зокрема використовують відносну міру децібел (дБ). Примаючи за базу чутливість слуху, визначають потрібний діапазон на рівні 100дБ для довільного звуку и 50 дБ для мовлення. При цьому ціна двійкового розряду у випадку амплітуди визначається як 20lg2=6 дБ/розряд.

Показники та рівень якості оцифрованого звуку:

- параметри якості кодування разом з частотою fd та розрядності (глибиною) L включають також кількість звукових каналів M та підсумковий бітрейт B = MxLx fd (кбіт/c);

- рівень якості при fd=44,1 кГц та L=16 біт для M =2 (стерео звук) та бітрейті B = 1411кбіт/с вважається досить високим. Мінімальний рівень якості в практиці характеризується fd =8 кГц, L=8 біт, M=1 і відповідно B=64 кбіт/c (зокрема для оцифровки мовлення).

Спектральні перетворення звуку широко застосовуються для його стискання та редагування, оскільки саме спектр відображає важливі для сприйняття особливості звуку. При цьому:

- технологія спектральних перетворень включає виділення в звуковому потоці блоків (фреймів), виконання для кожного фрейму спектрального перетворення із наступною обробкою спектрів і відновленням часової форми звуку перед його відтворенням. Саме такий підхід застосовується в популярному стандарті mp3. При цьому вихідному поданню звуку відповідає популярний формат wave. Також зручним інструментом для візуального аналіза звуку є сонограми, в яких відображається зміна спектру в часі, а гучноті відповідають кольори;

- * математичний апарат спектральних перетворень звуку включає так звані дискретні перетворення Фурьє (ДПФ) та їх прискорену модифікацію швидки перетворення Фурьє (ШПФ). Особливості таких перетворень викладені в лекції №2.

Порядок виконання роботи в розділі 2

2.1 Дослідити вихідне кодування звуку в форматі Wave на прикладі музичного файлу, скачаного із Інтернет в стиснутому форматі mp3:

- дізнатись про відповідні бітрейти із властивостей (додаткових) файлу. Вихідні параметри кодування визначити у відповідності до бітрейту. Занести дані в табл.2.1;

- оцінити ступінь стискання звуку в mp3 відносно wave, а також вплив параметрів дискретизації на обсяг файлів. Самостійно зформулювати висновки за результатами дослідження або скористуватись зразком в шаблоні звіта

2.2 Дослідити використання спектральних перетворень звуку на прикладі розглянутого файлу, використовуючи демонстраційну програму SpecViz (скочується із сайту tik-diit.dp.ua):

- запустити музикальний файл в форматі mp3 або wave та переглянути відображення часової та спектральної діаграм, а також сонограми. Розібратись із їх відповідністю;

- користуючись кнопкою Пауза обрати та зберегти скриншоти для двох фрагментів звуку, які суттєво різняться за частотним складом. Створити рисунок за зразком рис.2.2;

- визначити додаткові можливості, які дає використання спектральних перетворень звуку. Описати результати самостійно або скористуватись зразком в шаблоні звіта.

* Розібратись із математичним описом спектральних перетворень звуку (зокрема ДПФ та ШПФ), спираючись на рис.2.3. Самостійно описати результати або скористуватись зразком в шаблоні звіта.

2.3 Проананалізувати схему оцифровки та відновлення звуку, спираючись на матеріал лекції №3. З'ясувати всі етапи перетворень сигналів в схемі і уміти їх пояснювати.

Розділ 3. Вихідне кодування зображень

Короткі теоретичні дані до розділу 3

Основні особливості вихідного кодування зображень відображені на рис.3.

Рисунок 3. Огляд вихідного кодування зображень

Виділяється два основних способи вихідного кодування зображень:

- растровий спосіб, де зображення створюється на матриці пікселів, є універсальним і отже основним. Для зображень на екранах використовується майже виключно він. Растр задається габаритами, що визначають кількість пікселів (наприклад 3000х2000 = 6Мп) ;

- векторний спосіб передбачає побудову зображень із простих елементів, чия форма задається математичним описом (зокрема із геометричних фігур). Він застосовується переважно для штучних зображень і має переваги щодо компактності і масштабованості. При відображенні на екрані векторне зображення зазвичай конверується в растр. * Зокрема поширеним інструментом описання відносно простих векторних зображень є мова розмітки SVG.

Засоби кодування кольорів є спільними для обох названих способів:

- можлива кількість кольорів N задається довжиною їх двійкового коду K (так звана глибина кольору). Нині найбільш поширене K=24 (трьохбайтне кодування кольорів), для якого кількість відтінків сягає близько 16 мільйонів. Також використовується K=8 та N =256. * Для більш компактного кодування обмежено застосовується так званий спосіб палітр (дивись матеріал лекції №3);

- відображення коду пікселя визначається додатково обраною колірною моделлю. Зокрема для відображення на екрані застосовується модель RGB з накладанням базових кольорів Red, Green, Blue на чорний фон, а для друку — модель CMYK із накладанням кольорів Cyan, Magenta, Yellow, Black на білий фон. Для ефективного стискання зображень використовується модель YUV (YcrCb), де виділяється сумарна яскравість пікселів Y, до якої чуттєвий зір.

Додатковими напрямками кодування зображень є:

- спектральні перетворення (зокрема так зване перетворення ДКП) використовуються для ефективного стискання зображень. Вони дозволяють виділяти дрібні деталі, якими можна знехтувати без суттєвої втрати якості сприйняття. В даній роботі ми познайомимось із засадами використання таких перетворень;

- створення відеопотоку за рахунок демонстрації послідовність кадрів із стандартною частотою 24 кадри/c (іноді 30 кадрів/c). Це широкий і важливий напрямок, але в даній роботі в зв'язку з обмеженістю її обсягу ми не будемо з ним розбиратись.

Порядок виконання роботи в розділі 3

3.1 Дослідити вихідне кодування растрового зображення на прикладі файлу, скачаного в Інтернет початково в стиснутому форматі jpg та переведеного в формат tif з використанням програми-конвертора (рекомендується використати FastStoneViewer):

- конвертувати зображення в в форматі bmp із різною глибиною кольору та зміненими розмірами растру, розрахувати обсяг файлу в кБ. Відобразити результати в табл. 3.1;

- оцінити ступінь стискання звуку в jpg відносно bmp, а також вплив параметрів на обсяг файлів. Самостійно зформулювати висновки за результатами дослідження або скористуватись зразком в шаблоні звіта, детально його зрозумівши.

3.2 Дослідити використання спектральних перетворень растрових зображень (як в стандарті jpeg), використовуючи демонстраційну програму GraphicsDemo (скочується з сайту):

- використати для перегляду растровий файл формату bmp (приклад на рис.3.2). Дослідити відображення різних мікроблоків, обираючи їх для перегляду з кнопкою Прийняти. Звернути увагу на використання кольорної моделі YUV (розібратись із її особливостями);

- для обраних варіантів мікроблоків виконати спектральне перетворення ДКП (кнопка Пряме перетворення) і проаналізувати зв'язок спектру з характером зображення (зокрема, з наявністю чітких дрібних деталей). Уяснити, яким чином використання ДКП може бути корисним для стискання зображень;

- зформулювати висновки або скористатись відповідним зразком.

* Проаналізувати математичне перетворення ДКП, спираючись на матеріал лекції №2 та рис.3.3. Відповідно доповнити висновки.

* 3.3 Дослідити використання векторного способу кодування зображень на прикладі заданого описання мовою SVG:

- переглянути файл «кола.svg» в браузері (відображується растрове зображення трьох різнокольорових кіл на квадратному білому полі). Користуючись режимом масштабування, збільшувати зображення та впевнитись, що воно при цьому не втрачає якості;

- переглянути відповідне векторне подання в файлі кола.txt за допомогою стандартної програми Блокнот (текст опису зображення створений мової розмітки svg). Виявити в тексті константи для завдання координат, розмірів та кольорів елементів зображення;

- користуючись Блокнотом, внести зміни в значення кількох параметрів зображення та зберегти файл як кола+.svg (при збереженні параметр Тип файлу попередньо заданий як «усі»). Переглянути одержане зображення та впевнитись, що задані зміни спрацювали;

- оцінити обсяг растрового зображення (розрахунком або через збереження скриншоту) і порівняти із обсягом svg-файлу. Впевнитись в ефективності векторної форми щодо компактності коду зображення.
О дисциплине ТИК
Почему «Теория информации и кодирования» - одна из самых интересных дисциплин, которые изучают будущие системщики и защитники информации?

В ней сочетаются золотая классика и самая актуальная современность computer-science.

продолжение
О сайте
Здесь вы найдете материалы, которые помогут в изучении дисциплины “Теория информации и кодирования” (ТИК) в том виде, как она преподается на кафедре ЭВМ ДИИТа.

На сайте размещены методические материалы:
  • электронный конспект лекций;
  • методическое обеспечение к лабораторным работам;
  • полезные ссылки.

продолжение
© 2008-2020 • Теория информации и кодирования
UP