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


Шаблон оформлення звіту можна одержати тут.

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


Короткі теоретичні відомості
У разі введення в сучасне цифрове середовище текстових, графічних і звукових повідомлень вони перетворюються до стандартних форматів для зручності подальшого зберігання й обробки. Усі ці формати передбачають побайтове двійкове кодування елементів повідомлень: знаків тексту, семплів звукового сигналу й пікселів растрових зображень.

При кодуванні тексту застосовують універсальний код знаків (Unicode) та кодові сторінки (CP). Перший, більш сучасний спосіб передбачає використання унікального коду кожного знака. Найбільш вживаний його варіант (так званий UTF-16) забезпечує можливість кодування всіх знаків, що нині існують, у двобайтному форматі. Другий спосіб забезпечує більш компактне кодування кожного знака одним байтом (іноді його асоціюють з американськими стандартами ASCII або ANSI). Але він має певні незручності, оскільки один і той самий код може відповідати різним знакам. Нині він застосовується в основному як традиційний варіант. Детальне пояснення форматів і механізмів кодування для обох цих способів наведено в лекції 2 курсу.

Кодування звуку базується на загальних принципах оцифровки неперервних сигналів. Зокрема, частота дискретизації звукового сигналу fd (у кілогерцах (кГц)) обирається за правилом Найквіста як подвоєна максимальна необхідна частота вихідного сигналу fd =2*fmax. Довжина Nk коду амплітуд сигналу (у бітах) повинна враховувати його динамічний діапазон (у децибелах (дБ)). Відповідна пропорція становить 6 дБ/біт. Виходячи з цього найбільш поширені значення параметрів оцифровки для довільного звуку становлять fd =44 кГц та Nk = 16 біт, для економічного кодування мовлення fd =8 кГц та Nk = 8 біт. Детальне обґрунтування цих рішень наведено в лекціях 1, 2. Важливим показником кодування є швидкість звукового потоку — бітрейт B (кбіт/с). Для одного звукового каналу бітрейт визначається формулою B=fd*Nk.

Під час кодування зображень їх універсальним поданням є растр – матриця кольорових точок-пікселів. Добуток ширини та висоти растра визначає його обсяг (зазвичай у мегапікселях (Мп)). Колір кожного пікселя утворюється за рахунок пропорції базових кольорів. Найбільш широко застосовується колірна модель RGB (червоний-зелений-блакитний). Кількість використовуваних відтінків визначає необхідну довжину коду пікселя (глибину кольору). Найпоширенішими є значення глибини кольору 8 бітів (28=256 відтінків) та 24 біти (224 – майже 16 мільйонів відтінків). Поряд з растровим може застосовуватися векторний спосіб, де елементами зображення є фігури, форма яких задається математично. Такий підхід забезпечує компактність та масштабованість, однак він безпосередньо придатний лише для зображень штучного походження. Детальний опис цих моментів наведено в лекції 2.

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


У розділі 1 для аналізу кодування в Unicode використовується сайт http://unicode-table.com/ru/. Кодування знаків за допомогою кодових сторінок вивчається на прикладі CP Windows-1251 з кирилицею. Додатково аналізується використання CP Windows-1251 при збереженні тексту в універсальному форматі rtf.

У розділі 2 принципи оцифровки звуку розглядаються за допомогою узагальненої схеми його обробки. Також характеристики звукового файлу аналізуються за допомогою демопрограми SoundCode. Додатково розглядається спектральне подання звуку з використанням програми SpecViz.

У розділі 3 аналіз обсягу коду растра виконується з використанням переглядача зображень FastStoneImageViewer. Кодування кольорів пікселів вивчається за допомогою демопрограми ImageDemo. Додатково описується векторний спосіб подання зображень на прикладі простого геометричного зображення мовою розмітки SVG.

Порядок виконання
Підготовка до виконання роботи:
1. Ознайомитися з теоретичним матеріалом, використовуючи електронний конспект лекцій 1 та 2 на сайті tik-diit.dp.ua.
2. Закріпити знання, використовуючи режим пробного тестування.
3. Завантажити архів матеріалів до лабораторної роботи і розгорнути його на робочому комп'ютері.

Виконання розділу 1:
1. Для аналізу кодування в Unicode за допомогою сайту https://unicode-table.com/ru знайти коди першої цифри місяця вашого народження й першої літери імені (латиницею та кирилицею), а також одного з музичних знаків.
Відобразити результати в табл.1.1 звіту та прокоментувати їх (дивись шабон звіту).
2*. Користуючись кодовою сторінкою Windows-1251 із символами кирилиці, побудувати двійковий та 16-ковий коди першої літери свого імені й першої цифри місяця народження. Відобразити результати на рис.1.1 звіту та прокоментувати їх.
3**. Створити текст із власним ім'ям у варіантах латиниці та кирилиці за допомогою програми Блокнот для Windows і зберегти його в режимах кодування «Юнікод» та «АNSI». Переглянути зміст файлу в символьній та 16-ковому форматі за допомогою програми FAR. Переконатись, що одержані коди відповідають умовам кодування в СP-1251 та UTF-16. Відобразити результати на рис.1.2 у звіті.

* позначка відповідає базовому рівню виконання роботи
** позначка відповідає повному рівню виконання роботи


Виконання розділу 2:
1. Проаналізувати відображення й параметри оцифровки заданого звукового файлу за допомогою програми SoundDemo:
- у режимі «Потік даних» вибрати наочне відображення звукового фрагмента й зберегти скриншот для рис. 1.3 звіту з короткими поясненнями щодо суті оцифровки звуку;
- у режимі «Додаткова інформація» зафіксувати основні параметри оцифровки звуку iз заголовка файлу (зокрема, «Розмір даних», «Розрядність кодування», «Частота дискретизації», «Кількість каналів»). Занести їх до табл. 1.2 звіту;
- виконати розрахунок параметра «Бітрейт», спираючись на перелічені вище вихідні дані. Занести результати до табл. 1.1 звіту.
2*. Проаналізувати узагальнену схему оцифровки-відновлення звукового сигналу (рис.1.4) та її відповідність основним етапам перетворень звуку.
3**. Зіставити часове та спектральне відображення звуку за допомогою програми SpecViz:
- завантажити музичний трек та запустити перегляд його кодування в програмі. У режимі «Пауза» зберегти скришот для обраного блока звукових даних для звіту (рис. 1.5);
- проаналізувати часову та спектральну діаграми. Звернути увагу на обмеженість ширини спектра, яка дозволяє кодувати звук більш компактно;
- переглянути відображення звуку в режимі «Сонограма». Розібратись з принципом такого відображення та його перевагами.

Виконання розділу 3:
1. Для аналізу растрового зображення:
- обрати в мережі Інтернет файл з фото у форматі jpg і перевести його в растровий формат bmp за допомогою програми FastStoneImageViewer. Відобразити у звіті на рис.1.6;
- зберегти bmp файл у версіях з глибиною кодування кольору 24 і 8 біт. Розмістити отримані дані в табл. 1.3. Оцінити співвідношення обсягів коду в растровому та стиснутому форматах;
- *розрахувати обсяги файлу, виходячи з розмірів растра. Врахувати, що кількість байтів у кілобайті й кілобайтів у мегабайті становить 1024. Розмістити результати в табл. 1.3. Пояснити можливі розбіжності відображених і розрахункових обсягів коду.
2*. Для аналізу кодування кольорів пікселів запустити демопрограму ImageDemo і дослідити пропорції базових складових RGB для пікселів різних відтінків. Зафіксувати результати у звіті.
3**. Для вивчення векторного способу подання зображень:
- зіставити зображення кольорових кіл та їх текстового опису мовою SVG в наведеному прикладі. Встановити призначення параметрів опису зображення. Визначити обсяг файлів з растровим зображенням і його SVG-описом;
- запланувати зміни зображення (наприклад, кольори, радіуси й розташування кіл) і внести відповідні зміни в SVG-опис;
- запустити змінений SVG-файл у браузері та переконатися, що отримані зміни зображення відповідають запланованим. Зберегти скриншот для рис. 1.7.

Запитання та завдання для самоконтролю

До розділу 1
1. Поясність спосіб кодування знаків тексту згідно зі стандартом Unicode.
2. Який вигляд матиме у форматах UTF-16 та UTF-8 код цифри «2» (порядковий номер 50) та великої латинської літери «С» (порядковий номер 67)?
3**. Яким чином у рамках специфікації UTF-16 вдається кодувати до мільйона знаків за допомогою двобайтних кодів?
4. Поясніть, як за допомогою кодових сторінок виконується кодування багатьох тисяч знаків одним байтом при можливій кількості кодів 256.
5*. У яких частинах кодової сторінки розташовані знаки з кодами 74h і E5h? Які відмінності їх відображення для різних кодових сторінок?
6**. Поясніть особливості результатів кодування та відображення знаків для CP та UTF-16 на прикладі даних рис.1.2.

До розділу 2
1*. Поясніть принципи і етапність оцифровки-відновлення звукового сигналу, спираючись на рис.1.3.
2. Поясніть підходи до вибору значень частоти дискретизації часу та розрядності квантування амплітуд при оцифровці неперервного сигналу.
3. Де зберігається інформація про частоту дискретизації і розрядність кодування амплітуд у звуковому файлі?
4*. Наведіть приклад розрахунку бітрейту. Чому значення бітрейту кратне степеням 10, а не степеням 2, як, наприклад, у разі обсягу пам'яті?
5*. За рахунок чого вдається на порядок скоротити бітрейт мовлення відносно довільного звуку? Чому це важливо для практики?
6**. Поясніть особливості спектрального подання звукового фрагмента. Які переваги може дати його використання?

До розділу 3
1. Поясніть поняття растру.
2*. Наведіть приклад розрахунку обсягу коду для растра заданих розмірів при глибині кодування 24 розряди в байтах, кілобайтах та мегабайтах.
3. Поясніть формування кольорів пікселів із трьох базових складових. За яких умов утворюються градації сірого кольору?
4*. Які максимальні кількості кольорів при кодуванні 4, 8, 16 і 24 бітами?
5*. Назвіть основні переваги та недоліки векторного подання зображень відносно растрового.
6**. Поясніть на прикладі зв'язок параметрів зображення кольорових кіл з текстом їх SVG-опису.
О дисциплине ТИК
Почему «Теория информации и кодирования» - одна из самых интересных дисциплин, которые изучают будущие системщики и защитники информации?

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

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

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

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