Поняття анімації. Термін «анімувати» перекладається як «оживити», стосовно зображення – «оживити зображення». Загалом анімацію можна визначити як покадрове створення рухомих зображень [110. с. 245]; цим же терміном позначається створена таким способом послідовність зображень, наприклад, «диснеївська анімація», «GIF-анімація», «Web-анімація», «комп’ютерна анімація» тощо. Теорія анімації базується на здатності людського ока зберігати на сітчастій оболонці слід побаченого і з'єднувати швидко змінні зображення в єдиний зоровий ряд, створюючи ілюзію безперервного руху. Мінімальна частота зміни зображень, за якої глядач сприймає зміни об'єктів як плавні і еластичні, називається нижньою межею безперервного сприйняття зорового ряду; Верхня межа визначається реакцією мозку людини на зміни, тобто здатністю за даної частоти зміни зображень розуміти зміст відтворної події. Різниця між анімацією і відео полягає в тому, що відео використовує безупинний рух і розбиває його на множину дискретних кадрів, а анімація використовує множину незалежних малюнків або графічних файлів, що виводяться в певній послідовності і з певною частотою для створення ілюзії безупинного руху.
Для традиційного кінематографу частота зміни кадрів складає 24 кадри за секунду (25 для PAL телебачення і 30 для NTSC). Відповідно створення анімації у традиційному середовищі, тобто у вигляді послідовності малюнків, які відбивають динаміку зміни відтворюваних об’єктів, також має складати 24 зображення на секунду, тобто 1440 картинок на кожну хвилину. На практиці для анімації допускається слабий ефект «мигтіння». Тому анімацію створюють з подвійною швидкістю, тобто 12 – 16 кадрів за секунду; у традиційній мультиплікації прийнято 14 кадрів за секунду. Програма комп’ютерної анімації Flash за замовчанням пропонує 12 кадрів на секунду; для анімаційного GIF, наприклад, банеру на web-сторінці застосовують 4 кадри на секунду.
Більша кількість кадрів забезпечує плавність рухів персонажів і появи об'єктів у зображенні в різні моменти часу. При недостатній кількості кадрів стають помітні розходження в послідовних зображеннях об’єктів, що приводить до їх різких переміщень. У традиційній анімації число кадрів прямо залежало від тривалості анімації в секундах. У комп'ютерній анімації це впливає на розмір файлу, у якому зберігаються зображення. Тому при створенні комп'ютерної анімації намагаються знайти компроміс між якістю анімації і розміром файлу, що і визначає загальну кількість кадрів анімації.
Комп'ютерна 2D анімація. Під комп'ютерною анімацією розуміють як створення, так і послідовний показ (слайд-шоу) заздалегідь підготовлених комп’ютерних графічних файлів, які відбивають послідовні фази руху чи зміни об’єкту (сукупності об’єктів) зі швидкістю, яка забезпечує зорову ілюзію неперервності руху, а також комп'ютерну імітацію руху за допомогою зміни форми об'єктів або показу послідовних зображень з фазами руху. Розрізняють дві основних області комп’ютерної анімації: традиційна двовимірна анімація 2D та заснована на тривимірному комп’ютерному моделюванні об’єктів тривимірна 3D-анімація.
Основними технологіями комп'ютерної 2D анімації є покадрова і трансформаційна, чи спрайтова анімації. Покадрова анімація (її ще називають класичною) полягає у створенні набором зображень різних фаз руху - кадрів, що прокручуються із великою швидкістю. Окремі кадри такої анімації зберігаються у вигляді растрових зображень. Трансформаційна анімація від покадрової відрізняється тим, що не описує кожен кадр послідовності окремо, а відразу задає поведінку того або іншого графічного примітиву. А власне створенням анімації (рухів), займається програмне забезпечення, що спирається на математичні описи трансформації обєктів в процесі руху та підтримує відповідний формат файлів.
В покадровій 2D-анімації використовуються традиційні методи покадрової келевої анімації, розробленої для класичної мультиплікації. Суть келевої анімації у класичній мультиплікації полягає у поділі зображення на шари, що відповідають рухомій і нерухомій частинам зображення, і створенні кадрів шляхом накладання на нерухому частину зображення рухомої на прозорій плівці. Це зображення на прозорій плівці, на якому відбиваються лише рухомі частини, в традиційній мультиплікації називається «кель» (cel). Кожне нове cel-зображення є відмінним від попереднього; кадр створюється накладанням келів на зображення нерухомого фону, яке створюється один раз. Зміна келевих зображень з певною швидкістю за заданою користувачем траєкторією створює анімаційне переміщення об’єкту і відповідну ілюзію руху за зменшених витрат праці на створення кадру загалом. Очевидно, що цей принцип повністю відповідає принципу пошарового створення зображень у комп’ютерній графіці і може бути легко реалізований відповідними програмним забезпеченням.
Використання рівнів як цифрового аналога келів дає змогу зекономити час і витрати праці аніматора, не змінюючи при цьому традиційну для мультиплікації технологію запису анімації: кожний кадр з усіма його шарами записується як файл зображення, а послідовність кадрів пізніше перетворюється в анімацію відповідним програмним забезпеченням, наприклад, у ролік QuickTime чи анімовану GIF-картинку. Послідовність, всі кадри якої містять весь набір об’єктів зображення, як динамічних, так і статичних, записується зі значною надлишковістю, якої не можна позбутися наступним стисканням: всі статичні елементи повторюються від кадру до кадру, тобто записуються багаторазово. Щоб запобігти цьому, використовують технологію запису, яка дає змогу позбутися цієї надлишковості в процесі запису за рахунок одноразового запису всіх статичних рівнів та об’єктів (непрозорих елементів на інших рівнях), доповненого описом принципів (правил, законів) перетворення рухомих елементів при переході поміж кадрами. Така форма анімації, заснована на рухомих об'єктах, називається спрайтовою анімацією, а об'єкти іменуються спрайтами. Для отримання відображення руху складних об’єктів їх декомпонують на окремі типові частини – грані. Наприклад, для створення «циклу ходіння» людиноподібного персонажа кожному спрайту (чоловічкові) ставиться у відповідність набір зображень граней (ручок, ніжок, капелюху). Послідовно змінюючи положення спрайту, і циклічно переставляючи грані, можна отримати ілюзію руху персонажу (рис. 7.2). У комп’ютерних іграх право змінювати форму і траєкторію руху спрайтів надають користувачу.
Сучасне програмне забезпечення (Flash, QuickTime) підтримує траєкторії спрайтів шляхом запису кадрів двох типів: ключових кадрів (keyframes), чи ключових вибірок, та проміжних кадрів, чи коригуючих вибірок. Ключові кадри задаються аніматором (створюються як зображення растрової чи векторної графіки на комп’ютері чи методом захоплення кадрів (motion capture) за допомогою відеокамери) і містять зображення всіх граней спрайтів, присутніх у даній анімації, значення просторових властивостей (положення, орієнтація, видимість тощо) кожного спрайту та вказівки на те, яка саме грань змінюється у даний момент. Проміжні кадри містять лише ті значення властивостей спрайтів, які змінилися від кадру до кадру, що забезпечує малий обсяг цих кадрів.
Рис. 7.2. Спрайтові грані циклу ходіння
Послідовність проміжних кадрів між ключовими кадрами може генеруватися програмою анімації на основі інтерполяції, тобто розрахунку проміжних значень елементів зображення на основі кінцевих значень, заданих ключовими кадрами; процес автоматичного створення проміжних кадрів називається твінінгом (tweening). Існує кілька типів проміжних кадрів на основі різних типів твінінгу: кадри, побудовані за зміною геометрії (форми) обєктів (shape tweening), та кадри, побудовані за зміною символів (motion tweening).
До комп’ютерних зображень можна застосовувати морфінг (плавне перетворення одного об’єкту в інший на основі поліморфних перетворень), деформування, перетворення матриць (обертання, переміщення), різноманітні оптичні ефекти і циклічну зміну освітлення. Широко застосовуються також ефекти, засновані на операціях з фліками. Фліками (від англ. flick – різкий рух) називають послідовність з п’яти слабо відмінних зображень, на основі якої за допомогою програми Avid Technology реалізують ефект безперервного тремтіння контурів об’єктів. Метод комп’ютерної анімації, що спирається на створення ілюзії динамічності об’єктів за рахунок тремтіння їх контурів, називається Squigglevision. До фліків застосовують різноманітні операції, зокрема, зміну напряму перегляду кадрів, створення контурів об’єктів, створення ефекту сліду накладанням попередніх кадрів зі зменшеною видимістю ліній, накладання фліків один на одний чи на спеціально створений фон, зміна характеру переходів між фліками.
Спеціальним типом комп’ютерної анімації є запис у одному файлі зображення кількох зображень з наступним відтворенням їх із запрограмованим інтервалом. Найчастіше ця здатність записувати у один файл послідовність зображень використовується у форматі GIF, відповідно говорять про GIF-анімацію, яка часто застосовується для анімації Web-сторінок. Більшість Web-браузерів при завантаженні GIF-файла відтворюють всі зображення, які він містить. Якщо відтворення відбувається достатньо швидко, набір малюнків виглядає як анімація. Швидкість відтворення обмежується швидкістю поступлення даних по мережі, тому GIF-анімацію використовують переважно для коротких і нескладних анімацій з обмеженими вимогами до плавності рухів, наприклад, у рекламних банерах. Для створення GIF-анімації в форматі GIF89a можна застосовувати пакет Adobe Photoshop; GIF-анімацію для Web з імпортованих зображень можна створити за допомогою Babarosa Gif Animator чи Jasc Animation Shop. Існує також багато утиліт для перетворення GIF-формату у AVI та SWF і навпаки.
Для комп’ютерної 2D анімації існує потужне програмне забезпечення, починаючи від Autodesk Animator Pro, який дозволяє створювати двовимірну анімацію в середовищі DOS та Autodesk Animator Studio, призначений для створення двохвимірної анімації в середовищі Windows і сумісний з форматами, підтримуваними Adobe Photoshop та форматом AVI, до Adobe LiveMotion 1.0,QuickTime, Macromedia Director та Macromedia Flash 5. В пакеті Macromedia Director створюється файл двохвимірної анімації, який записується зі стисненням у форматі DCR, придатному для відтворення у Інтернет. Найпотужнішим пакетом двохвимірної Web-анімації є Macromedia Flash 5, який генерує анімації у компактному векторному форматі SWF.
Найрозповсюдженіщими форматами файлів комп’ютерної анімації є: AVI (.avi); формат без стиснення і 8-бітним кольором FLI (.fli) та FLC (.flc) з підтримкою розділення 320´200 і 1280´1024 відповідно; формати зі стисненням MPEG (.mpg), формат GIF (.gif) специфікації GIF89a, орієнтовані на створення і розповсюдження анімації у Інтернет формати ShockWave (.dcr) і ShockWave Flash (.swf).
У більшості анімаційних пакетів використовується метод стиснення руху (motion compression), коли запам'ятовується перший кадр, а потім обчислюються лише різниці між кожним наступним і попереднім кадрами. Цей процес називають знаходженням покадрової різниці. Результуючий потік даних згодом стискається з використанням принципу кодування змінної довжини (RLE - run-length encoding). При відтворенні на екрані монітора процесор обчислює і показує лише поточні відмінності. Це суттєво скорочує комп'ютерний час в порівнянні із записом без стиснення, коли обробляється обсяг даних, відповідний послідовності повних кадрів.
Комп'ютерна 3D-анімація. Тривимірна, або 3D-анімація передбачає створення трьохмірної моделі об'єкту, визначення сценарію його поведінки протягом певного часу і запис послідовних станів (положень) об'єкту (кадрування) в процесі візуалізації. 3D-анімація починається із створення тривимірних комп’ютерних моделей об’єктів. В типовому тривимірному просторі об’єкти існують як геометричні об’єкти, у яких точки їх поверхонь чи ліній мають прив’язку до координат X, Y, Z, а властивості цих точок описуються певними чисельними величинами. В загальному випадку тривимірна модель має вигляд сцени з геометричних об’єктів з гранями, кожна з яких апроксимується з нескінченно малою товщиною. В розпорядженні аніматора є бібліотека типових тривимірних тіл (куля, конус, піраміда), можливість надати об’єм плоским зображенням за допомогою різноманітних прийомів, а також додаткові бібліотеки, що містять детально пророблені об’єкти реального світу. Зміна чисельних значень у точках з певними координатами відбиває зміну положення об’єкту у просторі, орієнтації, форми, кольору тощо. Опис властивостей граней не обмежується кольорами: поверхня може бути покрита двовимірними зображеннями (текстурами), що відповідають зовнішньому вигляду того або іншого матеріалу; існує також можливість додати інші властивості, такі як глянець (glossing), прозорість (transparency), відбиття (reflectivity). Характеристику поверхні можна вибирати з бібліотек матеріалів, або створити матеріали, не існуючі в реальному фізичному світі.
Після цього виконують розташування джерел світла і камер в тривимірному світі, досягаючи якомога більш реалістичного вигляду об’єктів тривимірної сцени. Інтенсивність і напрямок потоку світла, також задаються числами. Відповідно для анімування тривимірної моделі достатньо задати чисельні параметри першої сцени, візуалізувати її як перший кадр анімації, потім змінити параметри і задати наступний кадр. Візуалізація або рендерінг (rendering) отриманої сцени є головним етапом анімації. Комп’ютер аналізує весь об’єм інформації для кожного кадру, визначає видимість об’єктів, враховує характеристики матеріалів та вплив джерел освітлення на вигляд поверхні для кожної грані зображення. В результаті буде отримано послідовність статичних растрових зображень, яка при відтворенні з певною швидкістю створює дуже складну анімацію. Наявність чисельних значень забезпечує можливість використання інтерполяції ключових кадрів і задання тривимірних траєкторій переміщення об’єктів, що входять в сцену, або їх складових частин, у вигляді тривимірних сплайнів Без’є. Оскільки тривимірну модель візуалізують як двовимірне зображення, то можна також пересувати камеру чи інше джерело світла, змінюючи їх координати.
Режими візуалізації тривимірної графіки можуть обмежуватися відображенням виключно ребер, утворюючих об’єкт поверхонь (різновиди так званих режимів дротяного каркасу, Wire Frame), чи передбачати відтворення кольору кожної грані залежно від розташування джерел світла та точки перегляду (режими обробки площин напівтонів, Flat shading). Обробка площин напівтонів може включати згладження кольорів граней аж до попіксельного відтворення кольору (згладжуюча обробка напівтонів за методом Фонга). Для покращення візуалізації застосовуються згладження ступінчастих границь обєктів (Anti-aliasing), створення рельєфу на поверхні матеріалу (Bump mapping) та врахування впливу останнього на розсіювання світла (Image mapping).
Комп’ютерна 3D-анімація здійснюється за допомогою відповідного програмного забезпечення, зокрема, TriSpectivies, Corel Dream 3D, 3D Studio MAX 4.0, які суттєво відрізняються, як можливостями тривимірного моделювання, так і вимогами до рівня підготовленості користувача. Найпотужніший пакет - 3D Studio MAX 4.0, орієнтований на професійне створення 3D-графіки, вимагає від користувача спеціальних навичок та знань.
Об’єднання звуку і зображення. В мультимедійних продуктах звук та зображення (статична графіка, відео, анімація) часто використовуються спільно, що вимагає синхронізації звуку і зображення. Для здійснення синхронізації необхідний поділ звуку та зображення на фрагменти (кадри) за шкалою часу, виділення контрольних точок (маркерів) на аудіо та відеодоріжках та узгодження часових проміжків звукового та відеоряду.
Синхронізація здійснюється в процесі редагування цифрового відео (чи анімації). Якщо звук і відео фізично незалежні, наприклад, передаються за різними мережевими маршрутами, то в процесі транспортування може мати місце розсинхронізація. Для забезпечення можливості повторної синхронізації, потоки аудіо та відео даних мають містити еквіваленти часового коду, за якими можна перевірити та відновити їх синхронізацію. В процесі повторної синхронізації має місце відкидання окремих відеокадрів для того, щоб зображення «наздогнало» звук.
Питання для самоперевірки
1. Що таке технології та системи мультимедіа?
2. Які переваги та нові можливості забезпечують технології мультимедіа?
3. Які базові моделі організування у систему спільного використання різнорідних засобів передачі інформації застосовують у технологіях мультимедіа?
4. Яку модель організування у систему спільного використання різнорідних засобів передачі інформації застосовують у мультимедійних презентаціях?
5. Чим відрізняються автономна і неавтономна доставка мультимедійної продукції?
6. Яку структуру мають диски CD/DVD та як здійснюється запис на них інформації?
7. У яких форматах можуть створюватися і зберігатися текстові файли?
8. Як здійснюється структуризація тексту для потреб мультимедіа?
9. Які існують способи перетворення тексту у HTML-сторінки?
10. Як можна отримувати придатні до обробки комп’ютерними системами цифрові зображення?
11. Що таке піксел? Чим логічний піксел відрізняється від фізичного?
12. Чим задається і у чому вимірюється роздільна здатністьрастрового зображення?
13. Що таке колірна роздільна здатністьрастрової графіки та насиченість кольору?
14. Які моделі кольорів застосовують у комп’ютерній графіці?
15. Як здійснюється стискання даних у растровій графіці?
16. Чим відрізняються між собою формати растрової графіка?
17. Як зберігається графічна інформація у векторній графіці?
18. Як відбувається візуалізація векторного об’єкту?
19. Чому обсяг бітового масиву векторного зображення не залежить від роздільної здатності?
20. Що входить у склад векторного графічного формату?
21. Що таке графічні мета файли? Як у них реалізоване посилання на растрові фрагменти?
22. Що зберігає формат.WMF?
23. Алгоритми стискання чого – графіки, тексту, чи звуку - реалізовані в алгоритмах стандартів сімейства MPEG?
24. Які основні типи програм застосовують при роботі зі звуком у технологіях мультимедіа? Які задачі вони реалізують?
25. Які з перелічених форматів звукових файлів - AIFF, AU, APE, MPEG-4 SLS, MP3, AAC, WMA – є форматами зі стисненням без втрат?
26. Чим відрізняється формат аудіо файлу від аудіокодеку?
27. Який звуковий формат найчастіше використовується у мультимедійних презентаціях?
28. На якій властивості людини базуються всі методи відображення рухомих зображень, записаних на плівці чи у цифровому запам’ятовуючому пристрої?
29. Які способи генерування рухомих зображень:у цифровій формі застосовують у мультимедійних технологіях?
30. Як можна здійснювати оцифровування відеосигналу?
31. Які існують стандарти та види надмірності телевізійного сигналу?
32. Який стандарт стиснення відеосигналу найчастіше застосовують у мультимедіа?
33. Які види відео монтажу застосовують у мультимедіа?
34. Як здійснюють комп’ютерну покадрову та спрайтову 2D-анімацію?
35. Як здійснюється комп’ютерна 3D-анімація?
Розділ 8
ГЕОІНФОРМАЦІЙНІ ТЕХНОЛОГІЇ