Основи кодування

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Двійкове кодування
Представлення інформації у двійковій системі використовувалася людиною з давніх часів. Так, жителі островів Полінезії передавали необхідну інформацію за допомогою барабанів: чергування дзвінких і глухих ударів. Звук над поверхнею води поширювався на досить велику відстань, таким чином «працював» полінезійський телеграф. У телеграфі в XIX-XX століттях інформація передавалася за допомогою азбуки Морзе - у вигляді послідовності з точок і тире. Часто ми домовляємося відкривати вхідні двері тільки по «умовним сигналом» - комбінації коротких і довгих дзвінків. Самюел Морзе в 1838 р . винайшов код - телеграфну абетку - систему кодування символів короткими і довгими посилками для передачі їх по лініях зв'язку, відому як «код Морзе» або «морзянка». Сучасний варіант міжнародного «коду Морзе» (International Morse) з'явився зовсім недавно - у 1939 році, коли була проведена останнє коригування. Своя система існує і в обчислювальній техніці - вона називається двійковим кодуванням і заснована на представленні даних послідовністю всього двох знаків: 0 та 1. Ці знаки називаються двійковими цифрами, по-англійськи - binary digit або скорочено bit (біт). Одним бітом можуть бути виражені два поняття: 0 або 1 (так чи ні, чорне або біле, істина або брехня і т.п.).
Кодування чисел
Питання про кодування чисел виникає з тієї причини, що в машину не можна або нераціонально вводити числа в тому вигляді, в якому вони зображаються людиною на папері. По-перше, потрібно кодувати знак числа. По-друге, з різних причин, які будуть розглянуті нижче, доводиться іноді кодувати й іншу частину числа. Кодування цілих чисел здійснюватися через їх подання до двійковій системі числення: саме в цьому вигляді вони й містяться в осередку. Один біт відводитися при цьому для представлення знака числа (нулем кодується знак "плюс", одиницею - "мінус"). Для кодування дійсних чисел існує спеціальний формат чисел з плаваючою комою. Число при цьому представляється у вигляді: N = M * q p, де M - мантиса, p - порядок числа N, q - основа системи числення. Якщо при цьому мантиса M задовольняє умові 0,1 <= | M | <= 1 то число N називають нормалізованим.
Кодування тексту
Для кодування літер та інших символів, що використовуються в друкованих документах, необхідно закріпити за кожним символом числовий номер - код. В англомовних країнах використовуються 26 прописних і 26 малих літер (A ... Z, a ... z), 9 знаків пунктуації (.,:! ";? ()), Пробіл, 10 цифр, 5 знаків арифметичних дій (+,-,* , /, ^) і спеціальні символи (№,%, _, #, $, &,>, <, |, \) - всього трохи більше 100 символів. Таким чином, для кодування цих символів можна обмежитися максимальним 7-розрядним двійковим числом (від 0 до 1111111, у десятковій системі числення - від 0 до 127).
Кодування графічної інформації
У відеопам'яті знаходиться двійкова інформація про зображення, що виводиться на екран. Майже всі створені, в опрацюванні чи переглядаються за допомогою комп'ютера зображення можна розділити на дві великі частини - растрову і векторну графіку. Растрові зображення є одношаровою сітку точок, які називаються пікселями (pixel, від англ. Picture element). Код піксела містить інформації про його кольорі. На противагу растровій графіці векторне зображення багатошаровий. Кожен елемент векторного зображення - лінія. Кожен елемент векторного зображення є об'єктом, який описується за допомогою математичних рівнянні. Складні об'єкти (ламані лінії, різні геометричні фігури) представляються у вигляді сукупності елементарних графічних об'єктів.
Кодування звуку
На комп'ютері працювати зі звуковими файлами почали в 90-х роках. В основі цифрового кодування звуку лежить - процес перетворення коливань повітря в коливання електричного струму і подальша дискретизація аналогового електричного сигналу. Кодування та відтворення звукової інформації здійснюється за допомогою спеціальних програм (редактор звукозапису).
Часова дискретизація - спосіб перетворення звуку в цифрову форму шляхом розбивання звукової хвилі на окремі маленькі тимчасові ділянки де амплітуди цих ділянок квантуються (їм присвоюється певне значення). Це проводиться за допомогою аналого-цифрового перетворювача, розміщеного на звуковій платі. Таким чином, безперервна залежність амплітуди сигналу від часу замінюється дискретної послідовністю рівнів гучності. Сучасні 16-бітові звукові карти кодують 65536 різних рівнів гучності або 16-бітну глибину звуку (кожному значенню амплітуди звук. Сигналу присвоюється 16-бітний код) Якість кодування звуку залежить від:
1. глибини кодування звуку - кількість рівнів звуку
2. частоти дискретизації - кількість змін рівня сигналу в одиницю

У чому різниця між кодуванням і шифруванням?
Шифрування - це спосіб зміни повідомлення, що забезпечує приховування його вмісту. Кодування - це перетворення звичайного, зрозумілого, тексту в код. При цьому мається на увазі, що існує взаємно однозначна відповідність між символами тексту і символьного коду - в цьому принципова відмінність кодування від шифрування.
Теорія кодування - це розділ теорії інформації, пов'язаний із завданнями кодування і декодування повідомлень, що надходять до споживачів і посилаються з джерел інформації.
Теорія кодування близька до найдавнішого мистецтва тайнопису - криптографії. Над розробкою різних шифрів працювали багато відомих учених: філософ Ф. Бекон, математики Д. Кардано, Д. Валліс. Одночасно з розвитком методів шифровки розвивалися прийоми розшифровки, або криптоаналізу. У середині ХІХ ст. ситуація змінилася. Винахід телефону і іскрового телеграфу поставило перед вченими і інженерами проблему створення нової теорії кодування. Першою орієнтованої на техніку системою кодування виявилася азбука Морзе, в якій прийнято троїчну кодування (точка, тире, пауза).
Двійкове кодування - один з найпоширеніших способів подання інформації. В обчислювальних машинах, в роботах та верстатах з числовим програмним управлінням, як правило, вся інформація, з якою має справу пристрій, кодується у вигляді слів двійкового алфавіту.
Двійковий алфавіт складається з двох цифр 0 і 1.
Цифрові ЕОМ (персональні комп'ютери відносяться до класу цифрових) використовують двійкове кодування будь-якої інформації. В основному це пояснюється тим, що побудувати технічний пристрій, безпомилково розрізняти 2 різних стану сигналу, технічно виявилося простіше, ніж те, яке б безпомилково розрізняло 5 або 10 різних станів.
До недоліків двійкового кодування відносять дуже довгі записи двійкових кодів, що ускладнює роботу з ними.
Двійкове кодування символьної (текстової) інформації
Основна операція, вироблена над окремими символами тексту - порівняння символів. При порівнянні символів найбільш важливими аспектами є унікальність коду для кожного символу і довжина цього коду, а сам вибір принципу кодування практично не має значення. Для кодування текстів використовуються різні таблиці перекодування. Важливо, щоб при кодуванні і декодуванні одного і того ж тексту використовувалася одна і та ж таблиця. Таблиця перекодування - таблиця, яка містить впорядкований певним чином перелік кодованих символів, відповідно до якої відбувається перетворення символу в його двійковий код і назад. Найбільш популярні таблиці перекодування: ДКОИ-8, ASCII, CP1251, Unicode. Історично склалося, що в якості довжини коду для кодування символів було обрано 8 біт або 1 байт. Тому найчастіше одному символу тексту, що зберігається в комп'ютері, відповідає один байт пам'яті. Різних комбінацій з 0 і 1 при довжині коду 8 біт може бути 28 = 256, тому за допомогою однієї таблиці перекодування можна закодувати не більше 256 символів. При довжині коду в 2 байти (16 біт) можна закодувати 65536 символів. В даний час велика частина користувачів за допомогою комп'ютера обробляє текстову інформацію, яка складається з символів: літер, цифр, знаків пунктуації та ін Традиційно для того щоб закодувати один символ використовують кількість інформації дорівнює 1 байту, тобто I = 1 байт = 8 біт. За допомогою формули, яка пов'язує між собою кількість можливих подій До і кількість інформації I, можна обчислити скільки різних символів можна закодувати (вважаючи, що символи - це можливі події):
К = 2I = 28 = 256,
тобто для подання текстової інформації можна використовувати алфавіт потужністю 256 символів.
Суть кодування полягає в тому, що кожному символу ставлять у відповідність двійковий код від 00000000 до 11111111 або відповідний йому десятковий код від 0 до 255. Необхідно пам'ятати, що в даний час для кодування російських букв використовують п'ять різних кодових таблиць (КОІ - 8, СР1251, ср866, Мас, ISO), причому тексти, закодовані за допомогою однієї таблиці не будуть правильно відображатися в іншій кодуванні. Наочно це можна представити у вигляді фрагмента об'єднаної таблиці кодування символів. Одному й тому ж двійкового коду ставиться у відповідність різні символи.
Двійковий код
Десятковий код
КОИ8
СР1251
Ср866
Мас
ISO
11000010
194
б
У
-
-
Т
Втім, у більшості випадків про перекодуванні текстових документів піклується на користувач, а спеціальні програми - конвертори, які вбудовані в додатки. Починаючи з 1997 р . останні версії Microsoft Windows & Office підтримують нову кодування Unicode, яка на кожен символ відводить по 2 байти, а, тому, можна закодувати не 256 символів, а 65536 різних символів. Щоб визначити числовий код символу можна або скористатися кодовою таблицею, або, працюючи в текстовому редакторі Word 6.0 / 95. Для цього в меню потрібно вибрати пункт "Вставка" - "Символ", після чого на екрані з'являється діалогова панель Символ. У діалоговому вікні з'являється таблиця символів для вибраного шрифту. Символи в цій таблиці розташовуються порядково, послідовно зліва направо, починаючи з символу Пробіл (лівий верхній кут) і, закінчуючи, буквою "я" (правий нижній кут). Для визначення числового коду символу в кодуванні Windows (СР1251) потрібно за допомогою миші або клавіш управління курсором вибрати потрібний символ, потім клацнути по кнопці Клавіша. Після цього на екрані з'являється діалогова панель Настройка, в якій в нижньому лівому куті міститься десятковий числовий код вибраного символу
Приклади двійкового кодування інформації. Серед усього розмаїття інформації, що обробляється на комп'ютері, значну частину складають числова, текстова, графічна та аудіоінформація. Познайомимося з деякими способами кодування цих типів інформації в ЕОМ. Кодування чисел. Є два основні формати представлення чисел у пам'яті комп'ютера. Один з них використовується для кодування цілих чисел, другий (так зване представлення числа у форматі з плаваючою точкою) використовується для завдання деякого підмножини дійсних чисел. Безліч цілих чисел, які представлені у пам'яті ЕОМ, обмежена. Діапазон значень залежить від розміру області пам'яті, використовуваної для розміщення чисел. У k-розрядної осередку може зберігатися 2 k різних значень цілих чисел. Щоб отримати внутрішнє представлення цілого додатного числа N, що зберігається в k-розрядному машинному слові, потрібно:
1) перевести число N в двійкову систему числення;
2) отриманий результат доповнити зліва незначущими нулями до k розрядів.
Наприклад, для отримання внутрішнього подання цілого числа 1607 в 2-х байтовой осередку число переводиться у двійкову систему: 1607 10 = 11001000111 2. Внутрішнє представлення цього числа у клітинці має вигляд: 0000 0110 0100 0111. Для запису внутрішнього подання цілого від'ємного числа (-N) потрібно:
1) отримати внутрішнє подання позитивного числа N;
2) отримати зворотний код цього числа, замінюючи 0 на 1 і 1 на 0;
3) отриманого числа додати 1 до отриманого числа.
Внутрішнє представлення цілого від'ємного числа -1607. З використанням результату попереднього прикладу і записується внутрішнє подання позитивного числа 1607: 0000 0110 0100 0111. Зворотний код виходить інвертуванням: 1111 1001 1011 1000. Додається одиниця: 1111 1001 1011 1001 - це і є внутрішнє двійкове подання числа -1607. Формат з плаваючою точкою використовує уявлення дійсного числа R у вигляді твору мантиси m на основу системи числення n в деякій цілій степені p, яку називають порядком:
R = m * n p.
Подання числа у формі з плаваючою точкою неоднозначно. Наприклад, справедливі такі рівняння:
12,345 = 0,0012345 Ч 10 квітня = 1234,5 Ч 10 -2 = 0,12345 Ч 10 лютий
Найчастіше в ЕОМ використовують нормалізоване подання числа у формі з плаваючою крапкою. Мантиса в такому поданні повинна задовольняти умові:
0,1 p   m <1 p.
Інакше кажучи, мантиса менше 1 і перша значуща цифра - не нуль (p - основа системи числення). У пам'яті комп'ютера мантиса представляється як ціле число, що містить тільки значущі цифри (0 цілих і кома не зберігаються), так для числа 12,345 в комірці пам'яті, відведеної для зберігання мантиси, буде збережено число 12 345. Для однозначного відновлення вихідного числа залишається зберегти тільки його порядок, в даному прикладі - це 2.
Кодування тексту
Безліч символів, використовуваних при записі тексту, називається алфавітом. Кількість символів в алфавіті називається його потужністю. Для представлення текстової інформації в комп'ютері найчастіше використовується алфавіт потужністю 256 символів. Один символ з такого алфавіту несе 8 біт інформації, т. к. 2 8 = 256. Але 8 біт складають один байт, отже, двійковий код кожного символу займає 1 байт пам'яті ЕОМ. Усі символи такого алфавіту пронумеровані від 0 до 255, а кожному номеру відповідає 8-розрядний двійковий код від 00000000 до 11111111. Цей код є порядковим номером символу в двійковій системі числення. Для різних типів ЕОМ і операційних систем використовуються різні таблиці кодування, що відрізняються порядком розміщення символів алфавіту в кодової таблиці. Міжнародним стандартом на персональних комп'ютерах є вже згадувана таблиця кодування ASCII. Принцип послідовного кодування алфавіту полягає в тому, що в кодової таблиці ASCII латинські літери (прописні і рядкові) розташовуються в алфавітному порядку. Розташування цифр також упорядковано за зростанням значень. Стандартними в цій таблиці є лише перші 128 символів, тобто символи з номерами від нуля (двійковий код 00000000) до 127 (01111111). Сюди входять букви латинського алфавіту, цифри, знаки пунктуації, дужки і деякі інші символи. Решта 128 кодів, починаючи зі 128 (двійковий код 10000000) і кінчаючи 255 (11111111), використовуються для кодування букв національних алфавітів, символів псевдографіки і наукових символів.

Кодування графічної інформації
У відеопам'яті знаходиться двійкова інформація про зображення, що виводиться на екран. Майже всі створені, в опрацюванні чи переглядаються за допомогою комп'ютера зображення можна розділити на дві великі частини - растрову і векторну графіку. Растрові зображення є одношаровою сітку точок, які називаються пікселями (pixel, від англ. Picture element). Код піксела містить інформації про його кольорі. Для чорно-білого зображення (без напівтонів) піксел може приймати тільки два значення: білий і чорний (світиться - не світиться), а для його кодування досить одного біта пам'яті: 1 - білий, 0 - чорний. Піксел на кольоровому дисплеї може мати різне забарвлення, тому одного біта на піксель недостатньо. Для кодування 4-кольорового зображення потрібні два біти на піксель, оскільки два біта можуть приймати 4 різних стану. Може використовуватися, наприклад, такий варіант кодування кольорів: 00 - чорний, 10 - зелений, 01 - червоний, 11 - коричневий. На RGB-моніторах все розмаїття кольорів виходить поєднанням базових кольорів - червоного (Red), зеленого (Green), синього (Blue), з яких можна отримати 8 основних комбінацій:
R
R
G
G
B
B
колір
колір
0
1
0
0
0
0
чорний
червоний
0
1
0
0
1
1
синій
рожевий
0
1
1
1
0
0
зелений
коричневий
0
1
1
1
1
1
блакитний
білий
Зрозуміло, якщо мати можливість керувати інтенсивністю (яскравістю) свічення базових квітів, то кількість різних варіантів їх поєднань, що породжують різноманітні відтінки, збільшується. Кількість різних кольорів - К і кількість бітів для їх кодування - N пов'язані між собою простою формулою:
2 N = К.
На противагу растровій графіці векторне зображення багатошаровий. Кожен елемент векторного зображення - лінія, прямокутник, коло або фрагмент тексту - розташований у своєму власному шарі, пікселі якого встановлюються незалежно від інших верств. Кожен елемент векторного зображення є об'єктом, який описується за допомогою спеціальної мови (математичних рівняння ліній, дуг, кіл і т.д.) Складні об'єкти (ламані лінії, різні геометричні фігури) представляються у вигляді сукупності елементарних графічних об'єктів. Об'єкти векторного зображення, на відміну від растрової графіки, можуть змінювати свої розміри без втрати якості (при збільшенні растрового зображення збільшується зернистість).
Кодування звуку
З фізики відомо, що звук - Це коливання повітря. Якщо перетворити звук в електричний сигнал (наприклад, за допомогою мікрофона), то видно плавно змінюється з плином часу напруга. Для комп'ютерної обробки такий - аналоговий - сигнал потрібно якимось чином перетворити в послідовність двійкових чисел. Робиться це, наприклад, так - вимірюється напруга через рівні проміжки часу і отримані значення записуються в пам'ять комп'ютера. Цей процес називається дискретизацією (або оцифруванням), а пристрій, що виконує його - аналого-цифровим перетворювачем (АЦП).

Щоб відтворити закодований таким чином звук, потрібно зробити зворотне перетворення (для цього служить цифро-аналоговий перетворювач - ЦАП), а потім згладити вийшов ступінчастий сигнал. Чим вище частота дискретизації і чим більше розрядів відводиться для кожного відліку, тим точніше буде представлений звук, але при цьому збільшується і розмір звукового файлу. Тому залежно від характеру звуку, вимог, що пред'являються до його якості і об'єму займаної пам'яті, вибирають деякі компромісні значення. Описаний спосіб кодування звукової інформації досить універсальний, він дозволяє представити будь-який звук і перетворювати його самими різними способами. Але бувають випадки, коли вигідніше діяти по-іншому. Здавна використовується досить компактний спосіб представлення музики - нотна запис. У ній спеціальними символами вказується, якої висоти звук, на якому інструменті і як зіграти. Фактично, її можна вважати алгоритмом для музиканта, записаним на особливому формальному мовою. У 1983 провідні виробники комп'ютерів і музичних синтезаторів розробили стандарт, який визначив таку систему кодів. Він отримав назву MIDI. Звичайно, така система кодування дозволяє записати далеко не всякий звук, вона годиться лише для інструментальної музики. Але є у неї і незаперечні переваги: ​​надзвичайно компактна запис, природність для музиканта (практично будь-MIDI-редактор дозволяє працювати з музикою у вигляді звичайних нот), легкість заміни інструментів, зміни темпу і тональності мелодії.
Є й інші, суто комп'ютерні, формати запису музики. Серед них - формат MP3, що дозволяє з дуже великим якістю і ступенем стиснення кодувати музику, при цьому замість 18-20 музичних композицій на стандартному компакт-диску (CDROM) поміщається близько 200. Одна пісня займає, приблизно, 3,5 Mb, що дозволяє користувачам мережі Інтернет легко обмінюватися музичними композиціями.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
49.1кб. | скачати


Схожі роботи:
Основи економного кодування
Метод словникового кодування Зеева-Лемпела Диференціальне кодування
Метод словникового кодування Зеева Лемпела Диференціальне кодування
Арифметичне кодування Кодування довжин повторень
Кодування
Завдання кодування
Кодування інформації
Кодування зображень
Завадостійке кодування
© Усі права захищені
написати до нас