Кодування інформації

Під кодуванням розуміється будь-яке перетворення інформації, що йде від джерела, у форму, придатну для її передачі по каналу зв’язку. На зорі ери радіозв’язку застосовувався код азбуки Морзе. Текст перетворювався в послідовність крапок і тире і передавався в ефір. Брав на слух таку передачу людина повинна була зуміти декодувати код назад в текст. Передача інформації за допомогою азбуки Морзе – приклад дискретної зв’язку. В даний час широко використовується цифровий зв’язок, коли передана інформація кодується в двійкову форму, а потім декодується в текст, зображення, звук. Цифровий зв’язок також є дискретною.
Американським ученим, одним із засновників теорії інформації, Клодом Шенноном була запропонована схема процесу передачі інформації технічними каналами зв’язку.
Клодом Шенноном була розроблена спеціальна теорія кодування, що описує методи боротьби з шумом. Одна з ідей цієї теорії полягає в тому, що передається по лінії зв’язку код повинен бути надмірною. За рахунок цього втрата якоїсь частини інформації при передачі може бути компенсована. Однак не можна робити надмірність дуже великий, так як це призведе до затримок і подорожчання зв’язку. Теорія кодування К. Шеннона якраз і дозволяє отримати такий код, який буде оптимальним. При цьому надмірність переданої інформації буде мінімально можливою, а достовірність прийнятої інформації – максимальної.
У сучасних системах цифрового зв’язку часто застосовується наступний прийом боротьби з втратою інформації при передачі. Всі повідомлення розбивається на порції – блоки. Для кожного блоку обчислюється контрольна сума (сума двійкових цифр), яка передається разом з даними блоком. У місці прийому заново обчислюється контрольна сума прийнятого блоку, і якщо вона не збігається з початковою, то передача даного блоку повторюється. Так буде відбуватися до тих пір, поки вихідна і кінцева контрольні суми не співпадуть.
Є й інші способи боротьби з втратою інформації. Якщо в кожному блоці підраховувати і передавати разом з ним контрольні суми по рядках і стовпцях, то можна визначити «адреса» біта, в якому виникла помилка, і виправити її. Такий код називається самовиправлятися.
Комп’ютер є універсальним засобом обробки та зберігання інформації, оскільки може обробляти інформацію будь-якого виду: текстову, звукову, відео, графічну. Яким же чином це можливо здійснити? Все дуже просто, для самого комп’ютера будь-яка інформація представлена ​​однаково у вигляді послідовності електричних імпульсів (рівнів напруги): є імпульс (напруга) – (1), ні – (0). Таке подання інформації у вигляді нулів і одиниць називається двійковим кодуванням. Кількість інформації в бітах дорівнює кількості цифр двійкового машинного коду.
Двійкове кодування текстової інформації.
Починаючи з кінця 60-х років ХХ століття, комп’ютери все більше стали використовуватися для обробки текстової інформації, і в даний час основна частка персональних комп’ютерів у світі (і велика частина часу) зайнята обробкою саме текстової інформації.
Текстова інформація, як і будь-яка інша, зберігається в пам’яті комп’ютера в двійковому вигляді. Для цього кожному символу ставиться у відповідність деяке невід’ємне число, що називається кодом символу, і це число записується в комп’ютерну пам’ять в двійковому вигляді. При цьому з технічних міркувань і з міркувань зручності кодування-декодування слід користуватися двійковими групами рівної довжини. Конкретне співвідношення між символами і їх кодами називається системою кодування.
Кодування полягає в тому, що кожному символу ставиться у відповідність унікальний десятковий код від 0 до 255 або відповідний йому двійковий код від 00000000 до 11111111.
Важливо, що присвоєння символу конкретного коду? це питання угоди, яка фіксується в кодової таблиці. Таблиця, в якій усім символам комп’ютерного алфавіту поставлені у відповідність порядкові номери, називається таблицею кодування.
В якості міжнародного стандарту прийнята кодова таблиця ASCII (American Standart Code for InformationInterchange). Перші 33 коду таблиці ASCII (з 0 по 32) позначають не символи, а операції (переведення рядка, введення пробілу і т. Д.). Коди з 33 по 127? інтернаціональні і відповідають символам латинського алфавіту, цифрам, знакам арифметичних операцій та знаків пунктуації. Коди з 128 по 255 є національними, тобто в національних кодуваннях одного й того ж коду відповідають різні символи.

В даний час існує п’ять різних кодових таблиць для кирилиці (КОИ8-Р, Windows, MSDOS, Масintosh, ISO), тому тексти, створені в одному кодуванні, чи не будуть правильно відображатися в іншій. Кожна кодування задається своєї власної кодовою таблицею. Одному і тому ж бінарного коду в різних кодуваннях поставлені у відповідність різні символи.
Останнім часом з’явився новий міжнародний стандарт Unicode, який відводить на кожен символ не один байт, а два, і тому з його допомогою можна закодувати НЕ 256 символів, а N = 216 = 65536 різних символів. Це кодування підтримують останні версії платформи Microsoft Windows & Office (починаючи з 1997 року).
Приклад 1. Уявити слово Hit у формі для запису в комірки пам’яті ПК.
Символ
Шістнадцятковий код Двійковий код H 48 01001000 i 69 01101001 t 74 01110100
Відповідь. Слово Hit в пам’яті ПК представляється кодом: 01001000 01101001 01110100.
Двійкове кодування графічної інформації
З 80-х років інтенсивно розвивається технологія обробки графічної інформації за допомогою комп’ютера. Комп’ютерна графіка дозволяє створювати і редагувати малюнки, схеми, фотографії, анімації і т.д.
Весь екран дисплея ділиться на точки – пікселі, підсвічування яких створює видиме відображення тексту і малюнків. Розрізняють растрову і векторну графіку.
Просторова дискретизація. У процесі кодування зображення проводиться його просторова дискретизація. Просторову дискретизацію можна порівняти з побудовою зображення з мозаїки. Зображення розбивається на окремі елементи (точки), кожному з яких присвоюється його колір.
Якість зображення залежить від двох параметрів. По-перше, якість зображення тим вище, чим менше розмір точки і відповідно більшу кількість точок становить зображення.
По-друге, чим більша кількість квітів, тим більша кількість можливих станів точки зображення використовується, тим більш якісно кодується зображення (кожна точка несе більшу кількість інформації). Використовуваний набір кольорів утворює палітру кольорів.
Формування растрового зображення. Графічна інформація на екрані монітора представляється у вигляді растрового зображення, яке формується з певної кількості рядків, які, у свою чергу, містять певну кількість точок (пікселів).
Якість зображення визначається роздільною здатністю монітора, тобто кількістю точок, з яких воно складається. Чим більше роздільна здатність, тобто чим більше кількість рядків растра і точок в рядку, тим вища якість зображення. У сучасних персональних комп’ютерах зазвичай використовуються чотири основних роздільна здатність монітора: 480 на 640, 600 на 800, 768 на 1024 і 1024 на 1 280 точок.
Розглянемо формування на екрані чорно-білого монітора растрового зображення, що складається з 600 рядків по 800 точок у кожному рядку (всього 480000 точок). У найпростішому випадку (чорно-біле зображення без градацій сірого кольору) кожна точка екрану може мати один з двох станів (“чорна” або “біла”), тобто для зберігання її стану необхідний 1 біт.
Кольорові зображення формуються відповідно до двійковим кодом кольору кожної точки, що зберігаються у відеопам’яті. Кольорові зображення можуть мати різну глибину кольору, яка задається використовуваним кількістю біт для кодування кольору точки. Найбільш поширеними значеннями глибини кольори є 4, 8, 16 або 24 біта на точку.
Якість зображення визначається роздільною здатністю екрану і глибиною кольору.
Кожен колір можна розглядати як можливий стан точки, тоді кількість кольорів, що відображаються на екрані монітора, може бути обчислено за формулою:
K = 2N, де N – бітова глибина, К – число квітів, відтворюваних на екрані дисплея.
Глибина кольору і кількість відображуваних кольорів
Глибина кольору (N)
Кількість відображуваних кольорів (K)
4
24 = 16
8
28 = 256
16 (High Color)
216 = 65536
24 (True Color)
224 = 16777216
Кольорове зображення на екрані монітора формується за рахунок змішування трьох базових кольорів: червоного, зеленого і синього. Така колірна модель називається RGB моделлю, за першими літерами англійських назв квітів (Red, Green, Blue).
Для отримання багатої палітри кольорів базовим квітам можуть бути задані різні інтенсивності. Наприклад, при глибині кольору в 24 біта на кожен з квітів виділяється по 8 біт, тобто для кожного з кольорів можливі N = 28 = 256 рівнів інтенсивності, задані двійковими кодами (від мінімальної – 00000000, до максимальної – 11111111).
Графічний режим. Для того, щоб на екрані монітора формувалося зображення, інформація про кожній його точці (код кольору точки) повинна зберігатися у відеопам’яті комп’ютера. Розрахуємо необхідний обсяг відеопам’яті для одного з графічних режимів, наприклад, з роздільною здатністю 800 на 600 точок і глибиною кольору 24 біта на точку.
Всього точок на екрані 800? 600 = 480000.
Необхідний обсяг відеопам’яті 24 біт? 480000 = 11520000 біт = 1440000 байт = 1406,25 Кбайт = 1,37 Мбайт.
Аналогічно розраховується необхідний обсяг відеопам’яті для інших графічних режимів.
Формування векторного зображення. Векторне зображення складається з набору графічних примітивів: ліній прямокутників, кіл і т.п. При векторному способі створення зображень зберігається не графічне зображення, а тільки координати і характеристики зображення його деталей. Тому для зберігання векторних зображень потрібно істотно менше пам’яті, ніж зображень растрових. При запуску програми з векторним малюнком він створюється кожного разу знов, після чого в растровому вигляді може зберігатися у відеопам’яті.
За допомогою спеціальних програмних засобів (редакторів звукозаписів) відкриваються широкі можливості по створенню, редагуванню і прослуховування звукових файлів. Створюються програми розпізнавання мови і, в результаті, з’являється можливість управління комп’ютером за допомогою голосу.
Дискретизація звуку. Звук являє собою звукову хвилю з безперервно мінливої ​​амплітудою і частотою. Чим більше амплітуда сигналу, тим він голосніше для людини, чим більше частота сигналу, тим вище тон. Частота хвилі вимірюється в герцах (Гц). Для того щоб комп’ютер міг обробляти звук, безперервний звуковий сигнал повинен бути перетворений в послідовність електричних імпульсів.
У процесі кодування фонограми, тобто безперервного звукового сигналу, проводиться його дискретизація за часом, або, як кажуть, “тимчасова дискретизація”. Безперервна звукова хвиля розбивається на окремі маленькі тимчасові ділянки, причому для кожного такого ділянки встановлюється певна величина амплітуди.
Кожній “сходинці” присвоюється значення рівня гучності звуку, його код (1, 2, 3 і т.д.). Рівні гучності звуку можна розглядати як набір можливих станів, відповідно, чим більша кількість рівнів гучності буде виділено в процесі кодування, тим більша кількість інформації буде нести значення кожного рівня і тим якіснішим буде звучання.
Сучасні звукові карти забезпечують 16-бітну “глибину” кодування звуку. Кількість різних рівнів сигналу або станів при даному кодуванні можна розрахувати за формулою: K = 2N = 216 = 65536. Кожному значенню амплітуди звукового сигналу присвоюється 16-бітний код.
Якість кодування залежить від кількості вимірювань рівня сигналу в одиницю часу, тобто частоти дискретизації. Чим більша кількість вимірювань проводиться за 1 секунду (чим більше частота дискретизації), тим точніше процедура двійкового кодування.
Якість звукового сигналу визначається глибиною і частотою дискретизації.
Кількість вимірювань в секунду може лежати в діапазоні від 8000 до 48000, тобто частота дискретизації аналогового звукового сигналу може приймати значення від 8 до 48 кГц. При частоті 8 кГц якість дискретизованого звукового сигналу відповідає якості радіотрансляції, а при частоті
48 кГц? якістю звучання аудіо-CD. Слід також враховувати, що можливі як моно-, так і стереорежимі.
Можна оцінити інформаційний обсяг стереоаудіофайла тривалістю звучання 1 секунду при високій якості звуку (16 біт, 48 кГц). Для цього кількість біт на одну вибірку необхідно помножити на кількість вибірок в 1 секунду і помножити на два (множення на коефіцієнт 2 пов’язано з тим, що зберігається стереоаудіофайл):
16 біт? 48000? 2 = 1536000 біт = 192000 байт = 187,5 Кбайт.

Посилання на основну публікацію