Кодування
           інформації
1.   Двійкове кодування
2.   Кодування чисел і символів
3.   Кодування рисунків
4.   Кодування звуку

© К.Ю. Поляков
Переклад В.Семенюкa
Кодування
   інформації
Тема 1. Двійкове кодування
Двійкове кодування
Двійкове кодування – це кодування всіх видів
   інформації за допомогою двох знаків ( 0 і 1).
Передача електричних сигналів:

U              сигнал із завадами    U         сигнал із завадами

                                    5В
                                                                      «1»

                                           1       0        1



    корисний                        корисний                          «0»
     сигнал                          сигнал                     час
                          час


                                                                            3
Двійкове кодування
       чи с
           ла
 символи
 рисунки
                  кодувальник     101011011101110110101

           звук

    • в такій формі можна закодувати всі види
      інформації
    • потрібні тільки пристрої з двома станами
    • практично немає помилок при передачі
    • комп’ютеру легше оборобляти дані

     • людині складно сприймати двійкові коди

?   Чи можна використовувати не «0» і «1», а інші
    символи, наприклад, «А» і «Б»?
                                                          4
Кодування
    інформації
Тема 2. Кодування чисел і
        символів
Кодування чисел (двійкова система)
Алфавіт: 0, 1
Основа (кількість цифр): 2

10 → 2      19   2
            18   9     2           19 = 100112
             1   8     4   2
                 1     4   2   2
                                          система
                                         числення
                       0   2   1   2
                           0   0   0
 2 → 10
                               1
   43210     розряди

   100112 = 1·24 + 0·23 + 0·22 + 1·21 + 1·20
          = 16 + 2 + 1 = 19                         6
Кодування символів
Текстовий файл
 • на екрані (символи)

 • в пам’яті – двійкові
   коди

 10000012 10000102 10000112 10001002
     65              66         67           68

! аУїх числові коди у двійковій системі! символів,
     файлі зберігаються не зображення


    А де ж зберігається зображення?
                                                     7
Кодування символів
 Скільки символів можна використовувати
  одночасно? 256 або 65536 (UNICODE)
 Скільки місця потрібно виділити на символ:
             256 = 28        8 біт на символ
 Вибрати 256 будь-яких символів (або 65536) -
  алфавіт.
 Кожному символу – унікальний код 0..255
  (або 0..65535). Таблиця символів:
      коди         65   66     67   68
              …     A   B      C    D    …
 Коди – в двійкову систему.
                                                 8
Кодування 1 байт на символ
0        1                           127   128                          254   255




    таблиця ASCII (міжнародна)                       кодова сторінка
ASCII = American Standard Code for Information Interchange
 0-31        символи кодування:
             7 – дзвінок, 10 – новий рядок, 13 – повернення каретки, 27 – Esc.
    32       пробіл
 знаки пунктуації:           . , : ; ! ?
 спеціальні знаки:           + - * / () {} []
 48-57 цифри 0..9
 65-90 великі латинські літери A-Z
 97-122 малі латинські літери a-z
Кодова сторінка (розширенна таблиця ASCII)
для кирилиці:
        CP-866 для системи MS DOS
        CP-1251 для системи Windows
                                                                                    9
        КОІ8-U для системи UNIX (Інтернет)
Кодування UNICODE (2 байта на символ)
• Windows, MS Office, …
• 16 біт на символ
• 65536 або 216 символів в одній таблиці

   • можна одночасно використовувати
     символи різних мов
   • розмір файла збільшується у 2 рази




                                           10
Кодування
   інформації
Тема 3. Кодування малюнків
Два типа кодування малюнків
• растрове кодування
точковий малюнок, складається з пікселів




 фотографії, розмиття зображення
• векторне кодування
малюнок, складається з окремих геометричних фігур




 креслення, схеми, карти
                                                    12
Растрове кодування




Крок 1. Дискретизація:                Крок 2. Для кожного пікселя
 розбивка на пікселі.                  визначається єдиний
Піксель – це найменший                 колір.

                                  !
   елемент рисунка, для якого
   можна незалежно встановити          Існує втрата інформації!
   колір.                              • чому?
                                       • як її зменшити?

 Роздільна здатність: число пікселів на дюйм, pixels per inch (ppi)
       екран 96 ppi, друк 300-600 ppi, типографія 1200 ppi          13
Растрове кодування (True Color)
Крок 3. Від кольору – до чисел: модель RGB
        колір = R + G + B
                 red    green     blue
              червоний зелений   синій
                0..255  0..255   0..255
              R = 218            R = 135
              G = 164            G = 206
              B = 32             B = 250
Крок 4. Числа – в двійкову систему.

?   Скільки різних кольорів можна кодувати?

          256·256·256 = 16 777 216         True Color

?   Скільки пам’яті потрібно для збереження кольору 1 пікселя?

        R: 256=28 варіантів, потрібно 8 біт = 1 байт
        R G B: всього 3 байта                                14
Растрове кодування з палітрою
Крок 1. Вибрати кількість кольорів: 2, 4, … 256.
Крок 2. Вибрати 256 кольорів з палітри:
                           248 0 88
                           0 221 21


                            181 192 0
                            21 0 97

Крок 3. Скласти палітру (кожному кольору – номер 0..255)
      палітра зберігається на початку файла
       0          1                          254       255
    248 0 88   0 221 21      …            181 192 0   21 0 97

Крок 4. Код пікселя = номеру його кольору на палітрі

      2 45 65 14                 …               12 23
                                                                15
Растрове кодування з палітрою
Файл з палітрою:

      палітра                коди пікселів


 ?   Скільки займає палітра і головна частина?

  Один колір на палітрі: 3 байта (RGB)
  256 = 28 кольорів:
        палітра       256·3 = 768 байт
        рисунок       8 біт на піксель
  16 кольорів:
        палітра       16·3 = 48 байт
        рисунок       4 біта на піксель
  2 кольори:
        палітра       2·3 = 6 байт
        рисунок       1 біт на піксель           16
Формати файлів (растрові рисунки)

  Формат   True Color   Палітра   Прозорість


  BMP
              +          +
   JPG
              +
   GIF
                         +           +
  PNG
              +          +           +
                                               17
Растрові рисунки

  • найкращий спосіб для збереження
    фотографій і зображень без чітких меж
  • спецефекти (тіні, ореоли, і т.д.)


  • існує втрата інформації (чому?)
  • при зміні розмірів рисунка він
    спотворюється
  • розмір файла не залежить від
    складності рисунка (а від чого залежить?)

                                                18
Векторні рисунки
Будуються з геометричних фігур:
 • відрізки, ламані, прямокутники
 • круги, еліпси, дуги
 • зглажування ліній (криві Без’є)
Для кожної фігури в пам’яті зберігаються:
 • розміри і координати на рисунку
 • колір і стиль межі
 • колір і стиль заливки (для замкнутих фігур)




Формати файлів:
 • WMF (Windows Metafile)      • AI (Adobe Illustrator)
 • CDR (CorelDraw)             • FH (FreeHand)
                                                          19
Векторні рисунки

   • найкращий спосіб для збереження
     креслень, схем, карт;
   • при кодуванні немає втрат інформації;
   • при зміні розміру немає спотворень;
   • менший розмір файла, залежить від
     складності рисунка;
   • не ефективно використовувати для
     фотографій і розмитих зображень



                                             20
Кодування
  інформації
Тема 4. Кодування звуку
Оцифровка (переведення в цифрову форму)
                                цифровий сигнал
                                 1011010110101010011
           аналоговий сигнал
                                       аналоговий сигнал




 ?   •
     •
         Який об’єм iнформації в аналоговому сигналі?
         Чи можно зберігати його в пам’яті реального пристрою?
     •   Чи буде сигнал на виході такий самий?
     •   Чому існують втрати інформації?
                                                                 22
Дискретизація по часу
зберігаються тільки значення сигналу в моменти 0, T, 2T, …
                    T – інтервал дискретизації
                                                                1
                             Частота дискретизації:         f =
                              8 кГц, 11 кГц,                    T
                              22 кГц, 44 кГц (CD)
                                                 1
                               22 кГц       T=       ≈ 0,00005 с
                                               22000
 0 T 2T                      Людина чує 16 Гц … 20 кГц


 ?    Що комп’ютер може
      видати на виході?


 ?    Як покращити якість?
      Що при цьому
      погіршиться?
                                   0 T 2T                           23
Дискретизація по рівню

?    Скільки біт потрібно, щоб зберегти число 0,7?

    У всіх точок в одній смузі
    однаковий код!
    8 біт = 256 рівнів
    16 біт = 65536 рівнів
                                    4
    32 біта = 232 рівнів            3
                                    2
                                    1
    64 біта = 264 рівнів            0
                                    0 T 2T


!   При оцифруванні втрату інформації дає дискретизація як
    по часу, так і по рівню!




                                                             24
Оцифровка – підсумок
   • можна закодувати будь-який звук ( голос, свист,
     шарудіння, …)
   • існує втрата інформації
   • великий об’єм файлiв
        44 кГц, 16 бiт: 88 Кб/с,   5,3 Мб/хв
Формати файлів:
  •WAV (Waveform audio format), часто без стиску (розмір!)
  •MP3 (MPEG-1 Audio Layer 3, стиск з втратами)
  •WMA (Windows Media Audio, потоковий звук, стиск)




                                                             25
Інструментальне кодування
MIDI (Musical Instrument Digital Interface), файли *.MID
у файлі:
 • нота (висота, тривалість)
 • музичний інструмент
 • параметри звуку (гучність, тембр)
 • може бути декілька каналів
    • немає втрат інформації при кодуванні
      інструментальної музики
    • маленький розмір файлів

    • неможливо закодувати нестандартний звук, голос


MIDI-клавіатура:
                                                           26
Кінець




         27

Kod infor

  • 1.
    Кодування інформації 1. Двійкове кодування 2. Кодування чисел і символів 3. Кодування рисунків 4. Кодування звуку © К.Ю. Поляков Переклад В.Семенюкa
  • 2.
    Кодування інформації Тема 1. Двійкове кодування
  • 3.
    Двійкове кодування Двійкове кодування– це кодування всіх видів інформації за допомогою двох знаків ( 0 і 1). Передача електричних сигналів: U сигнал із завадами U сигнал із завадами 5В «1» 1 0 1 корисний корисний «0» сигнал сигнал час час 3
  • 4.
    Двійкове кодування чи с ла символи рисунки кодувальник 101011011101110110101 звук • в такій формі можна закодувати всі види інформації • потрібні тільки пристрої з двома станами • практично немає помилок при передачі • комп’ютеру легше оборобляти дані • людині складно сприймати двійкові коди ? Чи можна використовувати не «0» і «1», а інші символи, наприклад, «А» і «Б»? 4
  • 5.
    Кодування інформації Тема 2. Кодування чисел і символів
  • 6.
    Кодування чисел (двійковасистема) Алфавіт: 0, 1 Основа (кількість цифр): 2 10 → 2 19 2 18 9 2 19 = 100112 1 8 4 2 1 4 2 2 система числення 0 2 1 2 0 0 0 2 → 10 1 43210 розряди 100112 = 1·24 + 0·23 + 0·22 + 1·21 + 1·20 = 16 + 2 + 1 = 19 6
  • 7.
    Кодування символів Текстовий файл • на екрані (символи) • в пам’яті – двійкові коди 10000012 10000102 10000112 10001002 65 66 67 68 ! аУїх числові коди у двійковій системі! символів, файлі зберігаються не зображення А де ж зберігається зображення? 7
  • 8.
    Кодування символів  Скількисимволів можна використовувати одночасно? 256 або 65536 (UNICODE)  Скільки місця потрібно виділити на символ: 256 = 28 8 біт на символ  Вибрати 256 будь-яких символів (або 65536) - алфавіт.  Кожному символу – унікальний код 0..255 (або 0..65535). Таблиця символів: коди 65 66 67 68 … A B C D …  Коди – в двійкову систему. 8
  • 9.
    Кодування 1 байтна символ 0 1 127 128 254 255 таблиця ASCII (міжнародна) кодова сторінка ASCII = American Standard Code for Information Interchange 0-31 символи кодування: 7 – дзвінок, 10 – новий рядок, 13 – повернення каретки, 27 – Esc. 32 пробіл знаки пунктуації: . , : ; ! ? спеціальні знаки: + - * / () {} [] 48-57 цифри 0..9 65-90 великі латинські літери A-Z 97-122 малі латинські літери a-z Кодова сторінка (розширенна таблиця ASCII) для кирилиці: CP-866 для системи MS DOS CP-1251 для системи Windows 9 КОІ8-U для системи UNIX (Інтернет)
  • 10.
    Кодування UNICODE (2байта на символ) • Windows, MS Office, … • 16 біт на символ • 65536 або 216 символів в одній таблиці • можна одночасно використовувати символи різних мов • розмір файла збільшується у 2 рази 10
  • 11.
    Кодування інформації Тема 3. Кодування малюнків
  • 12.
    Два типа кодуваннямалюнків • растрове кодування точковий малюнок, складається з пікселів фотографії, розмиття зображення • векторне кодування малюнок, складається з окремих геометричних фігур креслення, схеми, карти 12
  • 13.
    Растрове кодування Крок 1.Дискретизація: Крок 2. Для кожного пікселя розбивка на пікселі. визначається єдиний Піксель – це найменший колір. ! елемент рисунка, для якого можна незалежно встановити Існує втрата інформації! колір. • чому? • як її зменшити? Роздільна здатність: число пікселів на дюйм, pixels per inch (ppi) екран 96 ppi, друк 300-600 ppi, типографія 1200 ppi 13
  • 14.
    Растрове кодування (TrueColor) Крок 3. Від кольору – до чисел: модель RGB колір = R + G + B red green blue червоний зелений синій 0..255 0..255 0..255 R = 218 R = 135 G = 164 G = 206 B = 32 B = 250 Крок 4. Числа – в двійкову систему. ? Скільки різних кольорів можна кодувати? 256·256·256 = 16 777 216 True Color ? Скільки пам’яті потрібно для збереження кольору 1 пікселя? R: 256=28 варіантів, потрібно 8 біт = 1 байт R G B: всього 3 байта 14
  • 15.
    Растрове кодування зпалітрою Крок 1. Вибрати кількість кольорів: 2, 4, … 256. Крок 2. Вибрати 256 кольорів з палітри: 248 0 88 0 221 21 181 192 0 21 0 97 Крок 3. Скласти палітру (кожному кольору – номер 0..255) палітра зберігається на початку файла 0 1 254 255 248 0 88 0 221 21 … 181 192 0 21 0 97 Крок 4. Код пікселя = номеру його кольору на палітрі 2 45 65 14 … 12 23 15
  • 16.
    Растрове кодування зпалітрою Файл з палітрою: палітра коди пікселів ? Скільки займає палітра і головна частина? Один колір на палітрі: 3 байта (RGB) 256 = 28 кольорів: палітра 256·3 = 768 байт рисунок 8 біт на піксель 16 кольорів: палітра 16·3 = 48 байт рисунок 4 біта на піксель 2 кольори: палітра 2·3 = 6 байт рисунок 1 біт на піксель 16
  • 17.
    Формати файлів (растровірисунки) Формат True Color Палітра Прозорість BMP + + JPG + GIF + + PNG + + + 17
  • 18.
    Растрові рисунки • найкращий спосіб для збереження фотографій і зображень без чітких меж • спецефекти (тіні, ореоли, і т.д.) • існує втрата інформації (чому?) • при зміні розмірів рисунка він спотворюється • розмір файла не залежить від складності рисунка (а від чого залежить?) 18
  • 19.
    Векторні рисунки Будуються згеометричних фігур: • відрізки, ламані, прямокутники • круги, еліпси, дуги • зглажування ліній (криві Без’є) Для кожної фігури в пам’яті зберігаються: • розміри і координати на рисунку • колір і стиль межі • колір і стиль заливки (для замкнутих фігур) Формати файлів: • WMF (Windows Metafile) • AI (Adobe Illustrator) • CDR (CorelDraw) • FH (FreeHand) 19
  • 20.
    Векторні рисунки • найкращий спосіб для збереження креслень, схем, карт; • при кодуванні немає втрат інформації; • при зміні розміру немає спотворень; • менший розмір файла, залежить від складності рисунка; • не ефективно використовувати для фотографій і розмитих зображень 20
  • 21.
    Кодування інформації Тема4. Кодування звуку
  • 22.
    Оцифровка (переведення вцифрову форму) цифровий сигнал 1011010110101010011 аналоговий сигнал аналоговий сигнал ? • • Який об’єм iнформації в аналоговому сигналі? Чи можно зберігати його в пам’яті реального пристрою? • Чи буде сигнал на виході такий самий? • Чому існують втрати інформації? 22
  • 23.
    Дискретизація по часу зберігаютьсятільки значення сигналу в моменти 0, T, 2T, … T – інтервал дискретизації 1 Частота дискретизації: f = 8 кГц, 11 кГц, T 22 кГц, 44 кГц (CD) 1 22 кГц T= ≈ 0,00005 с 22000 0 T 2T Людина чує 16 Гц … 20 кГц ? Що комп’ютер може видати на виході? ? Як покращити якість? Що при цьому погіршиться? 0 T 2T 23
  • 24.
    Дискретизація по рівню ? Скільки біт потрібно, щоб зберегти число 0,7? У всіх точок в одній смузі однаковий код! 8 біт = 256 рівнів 16 біт = 65536 рівнів 4 32 біта = 232 рівнів 3 2 1 64 біта = 264 рівнів 0 0 T 2T ! При оцифруванні втрату інформації дає дискретизація як по часу, так і по рівню! 24
  • 25.
    Оцифровка – підсумок • можна закодувати будь-який звук ( голос, свист, шарудіння, …) • існує втрата інформації • великий об’єм файлiв 44 кГц, 16 бiт: 88 Кб/с, 5,3 Мб/хв Формати файлів: •WAV (Waveform audio format), часто без стиску (розмір!) •MP3 (MPEG-1 Audio Layer 3, стиск з втратами) •WMA (Windows Media Audio, потоковий звук, стиск) 25
  • 26.
    Інструментальне кодування MIDI (MusicalInstrument Digital Interface), файли *.MID у файлі: • нота (висота, тривалість) • музичний інструмент • параметри звуку (гучність, тембр) • може бути декілька каналів • немає втрат інформації при кодуванні інструментальної музики • маленький розмір файлів • неможливо закодувати нестандартний звук, голос MIDI-клавіатура: 26
  • 27.