- •Конспект лекцій
- •Теми лекцій
- •Лекція 1: загальне введення в комп'ютерну графіку
- •Предмет і область застосування комп'ютерної графіки
- •Коротка історія
- •Технічні засоби підтримки комп'ютерної графіки
- •Питання й вправи
- •Лекція 2 сучасні апаратні засоби растрової графіки
- •2.1.Основні поняття
- •2.2. Пристрою уведення Сканери
- •Цифрові фотоапарати й відеокамери
- •2.3. Пристрою виводу Дисплеї
- •Дисплеї на елт
- •Жидкокристаллические дисплеї
- •Інші типи дисплеїв
- •Проектори
- •Принтери
- •Матричні принтери
- •Струминні принтери
- •Лазерні принтери
- •2.4. Архітектура графічної підсистеми пк Архітектура
- •Подання зображень
- •Програмний інтерфейс
- •Питання й вправи
- •Лекція 2. Колір у комп'ютерній графіці
- •Про природу світла й кольору
- •Колірний графік мко
- •Колірні моделі rgb і cmy
- •Колірні моделі hsv і hls
- •Простір cie Luv
- •Питання й вправи
- •Лекція 3. Геометричні перетворення
- •Системи координат і вектори
- •Рівняння прямій і площині
- •Аналітичне подання кривих і поверхонь
- •Перетинання лучачи із площиною й сферою
- •Інтерполяція функцій однієї й двох змінних
- •Матриці
- •Геометричні перетворення (перенос, масштабування, обертання)
- •Перехід в іншу систему координат
- •Завдання обертання щодо довільної осі
- •Питання й вправи
- •Лекція 4. Подання геометричної інформації
- •Геометричні примітиви
- •Полігональні моделі
- •Воксельні моделі
- •Поверхні вільних форм (функціональні моделі)
- •Системи координат: світового, об'єктна, спостерігача й екранна
- •Однорідні координати. Завдання геометричних перетворень в однорідних координатах за допомогою матриць
- •Питання й вправи
- •Лекція 6 алгоритми растеризаЦії відрізків, окружностей і еліпсів
- •6.1. Введення в растеризацію кривих
- •6.2.Зображення відрізка із цілочисловими координатами кінців
- •Цифровий диференціальний аналізатор
- •Алгоритм Брезенхема
- •Алгоритм Кастла-Пітвея
- •6.3. Зображення відрізка з нецілочисловими координатами кінців
- •6.4. Зображення окружностей
- •Алгоритм Брезенхема
- •6.5. Зображення еліпсів
- •Побудова по неявній функції
- •Побудова шляхом стиску окружності
- •Лекція 7 відсікання (кЛіпування) геометричних примітивів
- •Алгоритм Сазерленда-Коена відсікання прямокутною областю
- •Відсікання опуклим багатокутником
- •Кліпування багатокутників
- •Питання й вправи
- •Лекція 8 видалення невидимих поверхонь і ліній
- •Видалення нелицьових граней багатогранника Алгоритм Робертса
- •Алгоритм Варнока
- •Алгоритм Вейлера-Азертона
- •Метод z-Буфера
- •Методи пріоритетів (художника, що плаває обрію)
- •Алгоритми порядкового сканування для криволінійних поверхонь
- •Метод двійкової розбивки простору
- •Метод трасування променів
- •Питання й вправи
- •Лекція 9 проектування просторових сцен
- •Основні типи проекцій
- •Паралельні проекції
- •Центральні проекції
- •Математичний апарат
- •Ортогональні проекції
- •Косокутні проекції
- •Центральні проекції
- •Спеціальні картографічні проекції. Екзотичні проекції земної сфери
- •Стереографическая проекція
- •Гномоническая проекція
- •Ортографическая проекція
- •Проекції на циліндр
- •Проекція Меркатора
- •Проекції на багатогранник
- •Незвичайні проекції
- •Питання й вправи
- •Лекція 10 растрове перетворення графічних примітивів
- •Алгоритм Брезенхема растрової дискретизації відрізка
- •Алгоритми Брезенхема растрової дискретизації окружності й еліпса
- •Алгоритми заповнення областей
- •Питання й вправи
- •Лекція 11 зафарбовування. Рендеринг полігональних моделей
- •Проста модель висвітлення
- •Зафарбування граней Плоске зафарбовування
- •Зафарбування методом Гуро
- •Зафарбування методом Фонга
- •Більше складні моделі висвітлення
- •Усунення ступінчастості (антиэлайзинг)
- •Питання й вправи
- •Лекція 12 візуалізація просторових реалістичних сцен
- •Свето- Тіньовий аналіз
- •Метод излучательности
- •Глобальна модель висвітлення із трасуванням променів
- •Текстури
- •Питання й вправи
- •Лекція 13 алгоритми стиску зображень без втрат
- •13.1. Необхідність стиску зображень
- •13.2. Неіснування ідеального алгоритму
- •13.3. Алгоритми кодування довжини повторення (rle)
- •13.4. Словникові алгоритми
- •Алгоритм lz77
- •Алгоритм lzw
- •13.5. Алгоритми статистичного кодування
- •Алгоритм Хаффмена
- •13.6. Арифметичне кодування
- •Лекція 14 стиск зображень із втратами
- •14.1. Необхідність стиску із втратами
- •14.2. Оцінка втрат
- •14.3. Зображення як функція
- •Дискретне Перетворення Фур'є
- •Дискретне косинусное перетворення
- •14.4. Алгоритм стиску зображень jpeg
- •14.5. Вейвлет-Перетворення
- •14.6. Фрактальное стиск
- •Список літератури
- •Лекція 15 алгоритми стиску відео
- •Введення
- •Основні поняття
- •Вимоги додатків до алгоритму
- •Визначення вимог
- •Огляд стандартів
- •Базові технології стиску відео Опис алгоритму компресії
- •Загальна схема алгоритму
- •Використання векторів зсувів блоків
- •Можливості по распараллеливанию
- •Інші шляхи підвищення ступеня стиску
- •Порівняння стандартів
- •Питання для самоконтролю
- •Лекція 16 основи видавничої справи
- •1. Вибір формату
- •1.1. Використання стандартних форматів
- •1.1.1. Стандартні розміри по iso
- •2. Підготовка тексту
- •2.1.2. Редагування матеріалу
- •Перевірка фактичної вірогідності матеріалу
- •Установлення власника авторських прав і одержання дозволу на видання
- •Вступна частина
- •Авантитул
- •Заключна частина
- •2.2. Оформлення книги
- •2.2.1. Принципи виміру й термінологія
- •2.2.2. Характеристики шрифту Загальні характеристики
- •Класифікація шрифтів
- •2.3. Розробка дизайну тексту
- •2.3.1. Вибір шрифту
- •2.3.2. Вибір розмірів смуги набору, полів і шрифту
- •Формати октаво.
- •2.3.3. Стилі заголовків
- •Заголовки усередині тексту
- •Постійні й змінні колонтитули
- •Колонцифри
- •Допоміжний текст і підписи до ілюстрацій
- •Вступна й заключна частини
- •Складання підсумкової специфікації
- •2.3.4. Переноси
- •2.3.5. Розділові знаки
- •2.3.6. Зауваження по розмітці сторінки
- •2.4. Підрахунок сторінок тексту
- •2.4.1. Етап 1
- •Гарний матеріал
- •Поганий матеріал
- •2.4.2. Етап 2
- •2.4.3. Етап 3
- •Лекція 17 цифрове фото
- •1. Історія фотографії
- •2. Від плівки до цифрового фото
- •3. Умовна класифікація цифрових фотоапаратів
- •4. Сенсори цифрових фотоапаратів
- •Лекція 18 подання сайту
- •Зменшення швидкості руху
- •Створення кліпу зі зменшенням швидкості руху
- •Додавання змінної швидкості руху
- •Ініціалізація руху клацанням миші
- •Додавання сліду від руху об'єкта
- •Зникнення сліду
- •Підвищення ефективності
- •Покадровое рух
- •Постійна швидкість
- •Коливальний рух
- •Зміна розмірів у русі
- •Керування рухом
- •Ковзання
- •Використання порожніх фільмів
- •Реалізація підходів на практиці
- •Оглядач зображень
Визначення вимог
Під процедурою визначення вимог, пропонованих до алгоритму, розуміється з'ясування класів програмного й апаратного забезпечення, на які він орієнтований і, відповідно, виробіток вимог до нього.
Носії інформації, на які орієнтований алгоритм:
DVD-ROM - порівняно низька вартість, дуже висока щільність запису інформації роблять його найбільш перспективним пристроєм для зберігання оцифрованного відео.
CD-ROM - низька вартість при високій щільності запису інформації роблять його найбільш привабливим пристроєм для зберігання оцифрованного відео. До недоліків ставиться порівняно малий обсяг, однак диск має рекордно низьке відношення вартості диска до обсягу.
Жорсткий диск - найбільш швидкий і гнучкий пристрій, що володіє дуже малим часом пошуку, що необхідно для деяких додатків. Однак він має високе співвідношення вартості диска до обсягу.
Перезаписувані оптичні диски - один з найбільш перспективних пристроїв, здатних сполучити в собі достоїнства CD-ROM (низька собівартість зберігання інформації, великий обсяг, довільний доступ) і жорсткого диска (можливість перезапису).
Комп'ютерні мережі (як глобальні, так і локальні). Характеризуються можливістю швидко одержувати практично необмежені обсяги інформації. До недоліків мереж, з якими борються так звані технології Qo (Quality of Service - гарантована якість сервісу), ставляться можливі затримки пакетів, і довільна зміна пропускної здатності каналу.
Програмне забезпечення, що використовує відео-компресію, можна підрозділити на дві групи - симетричне й асиметричне.
Асиметричні додатки висувають серйозні вимоги до декодера (як правило, за часом і пам'яттю), але для них байдужні витрати ресурсів при кодуванні. Прикладом є різні мультимедиа енциклопедії, путівники, довідники, ігри й просто фільми. При такій постановці завдання з'являється можливість застосувати складні алгоритми компресії, що дозволяють одержати більший ступінь стиску даних.
Симетричні додатки пред'являють однаково тверді вимоги на час, пам'ять і інші ресурси, як при кодуванні, так і при декодуванні. Прикладами такого роду додатків можуть служити відеопошта, відеотелефон, відеоконференції, редагування й підготовка відеоматеріалів.
Огляд стандартів
В 1988 році в рамках Міжнародної Організації по Стандартизації (ISO) почала роботу група MPEG (Moving Pictures Experts Group) - група експертів в області цифрового відео ( ISO-IEC/JTC1/SC2/WG11/MPEG). Група працювала в напрямках, які можна умовно назвати MPEG-Video - стиск відеосигналу в потік зі швидкістю до 1,5 Мбит/сек, MPEG-Audio - стиск звуку до 64, 128 або 192 Кбит/сек на канал і MPEG-System - синхронізація відео й аудио потоків [15.1]. Нас в основному будуть цікавити досягнення MPEG-Video, хоча очевидно, що багато рішень у цьому напрямку приймалися з урахуванням вимог синхронізації.
Як алгоритм, MPEG має трохи попередників. Це, насамперед, універсальний алгоритм JPEG. Його універсальність означає, що JPEG показує непогані результати на широкому класі зображень.
Якщо бути більше точним, то стандарт MPEG, як і інші стандарти на стиск, описує лише вихідний бітовий потік, неявно задаючи алгоритми кодування й декодування. При цьому їхня реалізація перекладається на програмістів-розроблювачів. Такий підхід відкриває широкі обрії для тих, хто бажає оптимально реалізувати алгоритм для конкретного обчислювального пристрою (контролера, ПК, розподіленої обчислювальної системи), операційної системи, відеокарти й т.п. [15.2]. При спеціалізованих реалізаціях можуть бути враховані досить специфічні вимоги на час роботи, витрата пам'яті і якість одержуваних зображень. Алгоритми стиску відео досить гнучкі й найчастіше для різних підходів до реалізації, можна одержати істотну різницю по якості відео, при одній і тім же ступені стиску. Більше того - для того самого стислого файлу за допомогою різних алгоритмів декодування можна одержати істотно, що розрізняються по візуальній якості фільми. Найчастіше "проста" реалізація стандарту дає відеоряд, що смикає, з добре помітними блоками, у той час як програми відомих виробників програють цей же файл цілком плавно й без бросающейся в очі блочности. Ці нюанси необхідно добре собі представляти, коли мова заходить про порівняння різних різних стандартів.
У вересні 1990 був представлений попередній стандарт кодування MPEG-1. У січні 1992 робота над MPEG-1 була завершена, і почата робота над MPEG-2, у завдання якого входив опис потоку даних зі швидкістю від 3 до 10 Мбит/сек [15.3]. Практично в той же час була почата робота над MPEG-3, що був призначений для опису потоків 20-40 Мбит/сек. Однак незабаром з'ясувалося, що алгоритмічні рішення для MPEG-2 і MPEG-3 принципово близькі й можна безболісно розширити рамки MPEG-2 до потоків в 40 Мбит/сек. У результаті робота над MPEG-3 була припинена.MPEG-2 був остаточно дороблений до 1995 року.
В 1991 групою експертів по відеотелефонах (EGVT) при Міжнародному консультативний комітет з телефонії й телеграфії (CCITT) запропонований стандарт відеотелефонів px64 Кbits. Запис рх64 означає, що алгоритм орієнтований на паралельну передачу оцифрованного відеозображення по р каналах із пропускною здатністю 64 Кбита/сек. Таким чином, захоплюючи кілька телефонних ліній, можна одержувати зображення цілком прийнятної якості. Одним з головних обмежень при створенні алгоритму був час затримки, що повинне було становити не більше 150 мс. Крім того, рівень перешкод у телефонних каналах досить високий, і це, природно, знайшло відбиття в алгоритмі. Можна вважати, що рх64 Kbits - попередник MPEG-А для потоків даних менш 1,5 Мбит/сек і специфічного класу відео.
У групі при CMTT (спільний комітет при CCITT і CCIR - International Consultative Committee on bRoadcasting) роботи були спрямовані на передачу оцифрованного відео по виділених каналах з високою пропускною здатністю й радіолініям. Відповідні стандарти Н21 і Н22 орієнтовані на 34 і 45 Мбит/сек, і сигнал передається з дуже високою якістю.
MPEG-4 споконвічно був задуманий як стандарт для роботи з наднизькими потоками. Однак у процесі досить довгої підготовки стандарт перетерпів зовсім революційні зміни й зараз властиво стиск із низьким потоком входить у нього як одна складова частина, причому досить невелика по розмірі. Наприклад, сам формат сьогодні містить у собі такі речі, як синтез мови, рендеринг зображень і опису параметрів візуалізації особи на стороні програми перегляду.
Розробка MPEG-7 була почата в 1996. Властиво до алгоритмів стиску відео цей стандарт має ще менше відношення, чим MPEG-4, оскільки його основне завдання полягає в описі контента й керуванні ім. Опис MPEG-7 виходить за рамки це книги.
Паралельно все це час існували формати Motion-JPEG і недавно з'явився Motion-JPEG2000, призначені в основному для зручності обробки стислого відео. Розглянемо основні стандарти й лежачі в їхній основі алгоритми детальніше.
