Кодування та декодування повідомлень


Аналоговий і цифровий способи подання інформації
Щоб повідомлення можна було обро­бити за допомогою електронної апара­тури (у тому числі комп'ютера), його пе­ретворюють в електричний сигнал. Елект­ричний сигнал звичайно можна подати як залежність напруги від часу, тобто як функцію U(t).
Сигнали бувають неперервними (ана­логовими) або дискретними (імпульсни­ми). Неперервний сигнал U(t) описується функцією, що плавно змінюється у часі. На мал. така функція показана су­цільною жирною лінією. Прикладами не­перервних сигналів можуть бути електричний сигнал від мікрофона, напруга живлення в електромережі, сигнал, підведений до звукових колонок, тощо.
Дискретні сигнали описуються функцією U(t), яка у певні моменти часу змі­нюється стрибкоподібно. На мал. показано функцію дискретного сигналу, вона є послідовністю прямокутних імпульсів і на вигляд нагадує стовпчики діаграми.
Відповідно до видів сигналів розрізняють два способи подання інформації:
-  аналоговий - за допомогою неперервних сигналів. Прикладами аналогових способів передачі сигналу є людська мова, радіо, звукозапис на магнітні стрічки тощо;
-  цифровий - за допомогою дискретних сигналів. Найяскравішим прикладом дискретного способу зображення інформації є обчислювальні процеси у комп'ютерах.

Поняття кодування
Як сказано раніше, дискретна форма подання інформації забезпечує значні переваги практично у всіх інформаційних процесах. Тому в тих випадках, коли первинний сигнал має аналогову форму, здійснюється його перетворення до дискретного виду. Надалі дискретний сигнал підлягає кодуванню.
Кодування - це відображення дискретного повідомлення у вигляді певних сполучень символів. Сукупність правил, за якими виконується кодування, називається кодом (від французького слова code - кодекс, звід законів). Інакше кажучи, код - це правило відображення інфор­мації.
Завдяки кодуванню комп'ютер може обробляти різноманітну інформацію: числову, текстову, графічну, звукову, відео. Всім цим видам інформації після кодування надається вигляд послідовності електричних імпульсів, у якій наяв­ність імпульсу позначається одиницею, а його відсутність - нулем.

Кодування чисел
Через те що комп'ютер оперує з двійковими числами, будь-яку введену до нього інформацію потрібно подавати у вигляді двійкового коду. Наприклад, коли користувач уводить із клавіатури десяткові числа, вони відразу перетво­рюються на двійкові числа (це процес кодування). З цими числами комп'ютер виконує необхідні арифметичні операції. Отриманий результат комп'ютер може вивести на екран монітора або на принтер. Щоб користувач зміг зрозуміти виведену інформацію, числа мають бути знову подані в десятковій системі (про­цес декодування).
Існують різні методи перетворення чисел з однієї системи в іншу. Розгля­немо найпростіший, що називається ділення на основу. Нехай потрібно перевести в двійкову систему число 47. Виконаємо послідовні ділення на 2, а остачу запи­шемо в круглих дужках:
47:2=23+(1)
23:2=11+(1)
11:2=5+(1)
Тепер випишемо отриману остачу послідовно знизу вгору (адже кожне ділен­ня означає перехід до старшого розряду). У результаті одержимо двійкове число 101111. Можете перевірити, що воно справді дорівнює 47.
Зробимо тепер за описаною схемою зворотне перетворення числа 101111 у де­сяткову систему, пам'ятаючи, що основа «нової» системи дорівнює 10 = (1010)2:
101111 : 1010 = 100 + (111)
100 : 1010 = 0 + (100)
Щоб одержати десяткове зображення числа 47, виразимо остачу в десят­кових числах: 100 = 4 і 111 =7.
Максимальне число, яке може обробляти комп'ютер, визначається розрядністю процесора. Процесори перших персональних комп'ютерів (ПК), що з'явилися на початку 80-х років, були 8 - розрядними. Тому максимальне оброблюване число не могло перевищувати (1111 1111)2 = 255. Згодом розрядність процесорів зросла: з'явилися 16-, 32- і, нарешті, 64-розрядні процесори. Відповідно зросли і можливості ПК щодо обробки числової інфор­мації.

Кодування текстової інформації
Кодування тексту, що вводять в комп'ютер, відбувається найпростішим способом: кожному знаку (символу) відповідає двійкове число. Правила відпо­відності або правила кодування записують до таблиці, що називається кодовою.
Кодова таблиця - це таблиця, що встановлює відповідність між символами алфавіту і двійковими числами. Ці числа називаються кодами символів і відповідають внутрішньому зображенню символів у комп'ютері.
Кодову таблицю називають також кодовою сторінкою. Як працює кодова таблиця? Коли ви натискаєте будь-яку клавішу на клавіатурі, електронна схема клавіатури формує певний двійковий код. Наприклад, якщо ви натиснули на клавішу цифри «1», клавіатура персонального комп'ютера сформує двійковий код 00110001. При натисканні на клавішу «2» утвориться код 00110010 тощо. Залежно від натиснутої клавіші утворюється той чи інший двійковий код, що задається кодовою таблицею.
За основу кодування символів у персональних комп'ютерах узята кодова таблиця ASCII (російською мовою абревіатура звучить як «а-с-ц-і», або просто «аскі»). ASCII - це скорочення від American Standard Code for Information Interchange (американський стандарт кодів для обміну інформацією). У цій таблиці кожний символ кодується двійковим числом, що складається з семи розрядів.
Таблиця символів коду ASCII

0
1
2
3
4
5
6
7
0


0
@
P
`
P
1
!
1
A
Q
A
Q
2
2
B
R
B
R
3
#
3
C
S
C
S
4
$
4
D
T
D
T
5
§
%
5
E
U
E
U
6
&
6
F
V
F
V
7
7
G
W
G
W
8
(
8
H
X
H
X
9
)
9
I
Y
I
Y
A
*
:
J
Z
J
Z
B
+
;
K
[
K
{
C
,
L
\
L
|
D
-
=
M
]
M
}
E
.
N
^
N
~
F
/
?
O
_
o
Скільки символів можна закодувати у семирозрядній кодовій таблиці? Ос­кільки за допомогою одного розряду (0 або 1) можна присвоювати номери тільки двом символам, семирозрядні числа дають можливість перенумерувати 27 = 128 символів. Такої кількості можливих кодів вистачає для кодування в таблиці ASCII літер одного алфавіту (англійського), і залишаються ще вільні коди для керуючих і різних спеціальних символів: %, #, &, :, -, ", *, $ та ін.
Якщо в комп'ютері потрібно підтримувати два алфавіти, наприклад англій­ський і російський, то семи розрядів коду (128 символів) уже недостатньо. Тому для кодування символів використовується 8 - бітний код. Старші розряди в кодо­вій таблиці пробігають ряд значень від 0 до 15 (а не від 0 до 7, як у ASCII). Двійковим кодом завдовжки 8 бітів можна закодувати 28 = 256 символів. Кож­ному символу відповідає своя унікальна послідовність із восьми нулів і одиниць, яка може набувати значення від (00000000)2 до (11111111)2.
Звичайно для кожного алфавіту розробляється своя кодова сторінка. Перші 128 кодів (перша половина таблиці) призначаються для таблиці ASCII - ці коди є стандартними й обов'язковими для всіх кодових сторінок. Наступні коди - з 128 до 255 (друга половина таблиці) - віддаються під національний стандарт, тобто під алфавіт тієї чи іншої мови.
У 90-ті роки було розроблено стандарт Unicode, згідно з яким для подання кожного символу використовуються два байти. Це дає можливість закодувати дуже велику кількість символів з різних алфавітів (теоретично 216 = 65536 сим­волів). У документах Unicode можуть застосовуватися, наприклад, математичні символи, кирилиця, латинські та грецькі літери і навіть китайські ієрогліфи. При застосуванні стандарту Unicode немає необхідності у кодових сторінках.
Ми описали перетворення символів (або тексту) у двійкові коди, що вико­нується в пристрої введення. Під час виведення інформації з комп'ютера відбу­вається зворотне перетворення: двійковий код кожного символу переводиться в звичайне (графічне) зображення так, щоб ця інформація могла бути прочитана людиною.

Формування зображення в комп'ютері
Зображення на екрані монітора дуже нагадує аркуш паперу в клітинку. Кожна така клітинка зафарбована своїм кольором і називається пікселем.
Піксел - це мінімальний елемент зображення, що формується на екрані монітора.
Щільно розташовані піксели поліпшують зображення на екрані монітора. Зверніть увагу: на поданому малюнку межа об'єктів схожа на сходинки. Це пов'язано з тим, що щільність пікселів не висока. Висока щільність пікселів утворює чіткішу межу об'єктів зображення.
Щільність пікселів вимірюється як кількість пікселів на одиницю довжини. Найпоширенішими одиницями є так звані dpi (dots per inch - кількість точок на дюйм, 1дюйм = 2,54см). Одиниця dpi загальноприйнята в галузі комп'ютерної графіки і видавничої справи. Звичайно щільність пікселів для екранного зобра­ження становить 72 dpi або 96 dpi.
Найпростішим видом зображення є чорно-біле, що складається з білих і чорних пікселів. Його та­кож називають бітовим, оскільки воно кодується за допомогою двох цифр: 0 (білий колір) і 1 (чорний колір). Тобто у чорно-бі­лому зображенні одному пікселу відповідає один біт інформації.
Щоб піксели відобра­жали кольори, із кожним пікселем зв'язується біль­ше ніж один біт інформації про колір. Наприклад, якщо кожному пікселу при­писати 4 біти колірної інформації, можна буде відобразити 24 = 16 кольорів.

Змішування кольорів
Найзручніше подавати кольори як результат змішування основних (базо­вих) кольорів. До таких належать червоний (red), зелений (green) і синій (blue) кольори. Ще один компонент, який бере участь у створенні кольорового зобра­ження, - це яскравість (intensity - інтенсивність).
Змішування кольорів на екрані монітора аналогічне змішуванню акварель­них фарб на папері, але з однією відмінністю. Колір акварельних фарб утво­рюється внаслідок відбиття світла, яке падає на них, тоді як колір на екрані формується в результаті випромінювання світла. Тому, коли ви змішуєте на папері три основні фарби (червону, зелену і синю), то одержуєте чорний колір. А при змішуванні цих самих кольорів максимальної яскравості на екрані утво­рюється білий колір.
При змішуванні максимально яскравих червоного і зеленого кольорів утво­рюється жовтий колір. Якщо ж яскравість червоного і зеленого кольорів неве­лика, утвориться коричневий колір. Змішування чотирьох основних компонентів кольору можна описати за допомогою таблиці.
Кодування кольорів у 4-бітній палітрі
Колір
Яскравість
Червоний
Зелений
Синій
Чорний
0
0
0
0
Сірий
1
0
0
0
Синій
0
0
0
1
Світло-синій
1
0
0
1
Зелений
0
0
1
0
Світло-зелений
1
0
1
0
Блакитний
0
0
1
1
Світло-блакитний
1
0
1
1
Червоний
0
1
0
0
Рожевий
1
1
0
0
Коричневий
0
1
1
0
Жовтий
1
1
1
0
Пурпуровий
0
1
0
1
Світло-пурпуровий
1
1
0
1
Світло-сірий
0
1
1
1
Білий
1
1
1
1

Розглянемо можливості колірних палітр великого розміру. За допомогою 8 бітів можна відобразити усього 256 кольорів (28 = 256). Цієї кількості кольорів обмаль, щоб одержати якісну картинку на екрані. Однак цілком достатньо, щоб відобразити різні відтінки сірого кольору (усього 256 відтінків). Приклад кар­тинки, отриманої в сірих кольорах, показано на малюнку.
Для відображення великої кількості кольорів піксели мусять містити більше бітів інформації. Кількість доступних кольорів N виражається формулою:
N = 2^d ,
де d - показник степеня, рівний кількості бітів у пікселі. При d=4 можуть бути відображені 16 кольорів.
Показник d називається також глибиною кольору. Чим більша глибина ко­льору, тим більше відтінків кольорів можна відобразити на екрані. Якщо глибина кольору становить 16, можна відобразити 65536 кольорів. Для високоякісного відтворення кольору потрібно вже як мінімум 24 біти у кожному пікселі. У цьому разі підтримується до 16 мільйонів кольорів. Така глибина кольору застосо­вується, наприклад, при обробці високоякісних фотографій, а також зображень для журналів та ілюстрованих книг.

Кодування звуку
Нагадаємо, що звуки, які створюються будь-яким об'єктом (людиною, ав­томобілем, собакою тощо), є ділянки коливання повітря. Ділянка стиснутого повітря виникає за ділянкою розрідженого повітря, і ці ділянки поширюються в просторі.
Звукові колонки, підключені до комп'ютера, також відтворюють коливання повітря. Ці коливання утворюються завдяки тому, що до колонок підводиться електричний сигнал, який змушує їх звучати. Сигнал, що підводиться до ко­лонки, за формою нагадує сигнал, створений спочатку джерелом звуку: дик­тором, співаком, музичним інструментом. Однак сигнал у колонці - це не точна копія сигналу від мікрофона, оскільки сигнал на своєму шляху зазнає декількох перетворень.
Неперервний електричний сигнал від джерела звуку (наприклад, мікрофона) має бути перетворений на дискретний сигнал. Розмір імпульсів дискретного сигналу має дорівнювати амплітуді аналогового сигналу від джерела звуку. Щоб перетворення на дискретний сиг­нал було достатньо точним, імпульси мають часто виникати один за одним.
Амплітуди імпульсів надалі наближено зображаються як двійкові числа. Весь діапазон зміни амплітуди розбивається на множину дискретних значень (звичайно це 216 = 65 536 значень). І амплітуді імпульсу надається найближче дискретне значення. Внаслідок усіх цих перетворень для звукового сигналу утворюється послідовність двійкових чисел.
Зворотне перетворення дискретного сигналу на аналоговий виконується в спеціальних пристроях, підключених до комп'ютера, - звукових платах. За наяв­ності звукової плати ви можете прослуховувати на комп'ютері цифрові музичні диски. Сучасні звукові плати працюють зі звуком, який зображається як 16-бітні двійкові числа (звідси і кількість значень амплітуд звукового сигналу, що дорів­нює 65 536).

Розв‘яжемо задачі на визначення довжини двійкового коду текстових даних
Задача №1. Розрахувати кількість інформації, що міститься  у повідомленні “To be or not to be” (18 байт або 144 біта)
Задача №2. Підручник з інформатики займає в пам’яті комп’ютера 0,9 Мбайт. Визначити кількість біт.
Розв’язання.
0,9 Мб*1024=921,6 кбайт
921 кбайт*1024=943718,4 байт
943718,4 байт*8=7549747,2 біт.
Задача №3. Розрахувати кількість сторінок тексту, які можна розмістити в комп’ютері, якщо об’єм вільної ОП 80 кбайт.
Розв’язання.
На одній сторінці – 3000 байт»2,9 кбайт
80:2,9»27 сторінок

Вправи на кодування графіки
Задача №1. Знайдіть кількість пікселів у рядку зображення, якщо довжина рядка дорівнює 29 см, а
роздільна здатність екрана - 72
dрі.
Розв’язання.
За допомогою dpi і кількості пікселів ви можете швидко прикинути приблизний розмір кожного боку фотографії для друку в сантиметрах. Для цього, виведена проста формула:
x = r d d p i {\displaystyle x={\frac {r*d}{dpi}}}
де:
х - шуканий розмір одного боку відбитка в сантиметрах;
r - роздільність боку в пікселях;
d - 2.54 (дюйм);
dpi – будь-яка потрібна кількість dpi.
У нашому випадку  
Відповідь: у рядку зображення 29 см – 822 пікселя.
Задача №2. Яким буде розмір зображення на екрані монітора (у сантиметрах), якщо відомо, що розділь­
на здатність становить 72
dрі, ширина зображення - 800 пікселів, а висота - 600 пікселів?
Розв’язання.
Відповідь: ми отримаємо зображення шириною – 28,2 см та висотою – 21,2 см
Задача №3. Обчисліть кількість кольорів, що підтримує система при глибині кольору d = 24 і d = 32.
Розв’язання.
Виразимо кількість доступних кольорів:
N = 2 d;
де d - показник степеня, рівний кількості бітів у пікселі.
У нашому випадку N = 2 24 = 16777216 кольорів, або N = 2 32 =4294967296 кольорів.
Відповідь: при глибині кольору d = 24 ми отримуємо 16777216 кольорів, а при глибині кольору d = 32 ми отримуємо 4294967296 кольорів.


Комментариев нет:

Отправить комментарий