Русский   English
ДонНТУ   Портал магістрів

Реферат за темою випускної роботи

Зміст

Вступ

Нині для збільшення якості і міри реалізму в існуючих комп'ютерних системах синтезу зображень і візуалізації відбувається переорієнтація від традиційного способу візуалізації до просторово-об'ємної. Терміни "тривимірна графіка" (3D-графика) і "3D-(об'ємне) відображення" описують принципово різні явища і технології. Слово "тривимірний" відносно засобів виведення графічної інформації пов'язане з повсюдним використанням англомовного терміну "3D" відносно стереоскопічних технологій об'ємного відображення, вживаних сьогодні у більшості відомих облаштувань 3D-відображення, що серійно випускаються, вже "традиційним" підходом до об'ємної (3D) візуалізації. У зв'язку з цим (а також в силу своєї простоти), нині базовими методами побудови об'ємних (просторових) зображень для пристроїв 3D-візуалізації являються методи, грунтовані на стереоскопії.

Цей процес сьогодні зробив крок далеко за рамки традиційних комп'ютерних систем – усі великобюджетні фільми зараз випускаються у форматі 3D, ефект стерео застосовується в комп'ютерних іграх, системах віртуальної і доповненої реальності, сучасні телевізори також випускаються з підтримкою 3D. З цієї причини сучасний програмний розробник хоч би на загальноосвітньому рівні має бути ознайомлений з існуючими на сьогодні 3D технологіями.

1. Актуальність теми

Використання сьогодні технології 3D практично в усіх сферах, пов'язаних з комп'ютерною графікою, примушує IT-фахівців все більше і більше приділяти уваги до цього аспекта.

На сьогодні безліч робіт присвячена пошуку ефективних методів і засобів об'ємної (просторової) 3D-візуалізації [1-4]. Оскільки існуючі методи стерео візуалізації не досконалі, формати не стандартизовані, обчислення трудомісткі, а апаратура, відтворююча 3D-зображення багато коштуэ, продовження досліджень в цій сфері бачиться очевидним і перспективним процесом.

2. Мета і задачі дослідження, заплановані результати

Метою магістерської роботи є підвищення ефективності організації реалістичної стерео-візуалізації 3D-сцен на паралельних обчислювальних системах, а саме дослідження ефективності реалізації представлення, постобробки і виведення стерео відеопотоку для стандартних пристроїв 3D-стерео відображення на GPU.

Для досягнення мети в магістерській роботі вирішуються такі основні задачі дослідження:

  1. Дослідження існуючих способів 3D-стерео-візуалізації.
  2. Дослідження існуючих форматів 3D-відео.
  3. Дослідження представлення і організації виведення стандартних 3D-стерео відеопотоків для пристроїв 3D-стерео відображення.
  4. Аналіз стандартних відеокодеків, які використовуються пыд час створення 3D-відео
  5. Дослідження технології Nvidia CUDA, як засоба підвищення швидкості обчислень.
  6. Розробка моделі і прототипу програмної системи для представлення, постобробки і виведення стерео відеопотоку для стандартних пристроїв 3D-стерео відображення на GPU.
  7. Дослідження характеристик і ефективності системи, розробка рекомендацій з її використання і доопрацювання.

3. Огляд досліджень та розробок

3.1 Огляд існуючих методів 3D-візуалізації

На сьогодні відокремлюють три основні методи стерео візуалізації : анагліф, активна 3D-технологія (затворна) і пасивна 3D-технологія.

Анагліф – один з найпростіших і старіших способів отримання 3D-зображення. Для виділення лівого і правового ракурсу використовуються світлофільтри (спеціальні окуляри з лінзами різного кольору (найчастіше, це червоний і синій колір)).

Основні недоліки метода:

  1. Спотворення відтінків (зважаючи на колірний принцип ділення ракурсів) і биття конфліктних кольорів (мерехтіння кольорів співпадаючих з кольорами стекол в протилежних стеклах)
  2. Г-хостинг (двоїння) (з'являється зважаючи на неякісних кольорофільтрів, неякісного відеоматеріалу або спотворення кольорів при передачі відео на екран) [5].

Загальну схему роботи цієї технології можна описати таким чином:

  1. Два зображення (для кожного ока) виводяться на екран спільно
  2. Обидва зображення мають дещо різні перспективи
  3. Кожен світловий фільтр в окулярах блокує свій колір в каналі і пропускає протилежний для кожного ока
  4. В результаті мозок людини поєднує передані йому очима зображення і сприймає їх як об'ємні.

Відмітною особливістю активного 3D являється почергова передача зображення на кожне око. Для цього використовуються спеціальні окуляри, які називаються затворами або 3D-окулярами з активним затвором. При використанні, такі окуляри з великою швидкістю по черзі закривають то ліве, то праве око [6].

При пасивній 3D технологіі два зображення одночасно виводяться на екран. Зображення пропускаються через поляризаційні світлові фільтри (під різними кутами) і паралельно передаються в окуляри, не накладаючись при цьому одне на одне. Окуляри, використовувані в пасивній технології, також мають поляризаційні світлові фільтри і сприймають тільки "свою" інформацію (призначену для конкретного ока) [7].

Окуляри для затворноі технології 3D дорожче, ніж окуляри для пасивної (поляризаційної) технології. Вони вимагають джерело живлення і тому не такі легкі, як поляризаційні. Як правило, окуляри одного виробника не підходять для телевізорів іншого. Це можна віднести до мінусів технології.

До мінусів так само відносять перехресні перешкоди (ореол навколо картинки) або мерехтіння, що э властивими для технології. Але збільшення частоти кадрів, часу відгуку матриці телевізора значно мінімізує цей недолік, роблячи його практично непомітним [8].

Через високучастоту зміни кадрів і постійне перемикання затворів окулярів у глядача 3D-видео може виникати головний і очний біль, почуття втоми [9].

Пасивна 3D технологія працює абсолютно по-іншому. Передача зображення здійснюється одночасно і на ліве, і на праве око. Зображення посилається під різними кутами поляризації і, проходячи через поляризаційні лінзи окулярів, поступає для сприйняття глядачем окремо. Така технологія означаэ, що кожному оку дістається тільки одне, призначене конкретно для нього зображення, а інше зображення відсівається. Для перегляду 3D зображень використовуються пасивні окуляри, які не потребують джерела живлення [6].

До плюсів пасивної технології 3D можна віднести те, що тут використовуються дуже дешеві поляризаційні окуляри, які не викликають втоми очей і болів в голові при перегляді 3D. У пасивній технології втрата яскравості (50%) при перегляді об'ємного зображення дещо нижче ніж у активної (70%) технології відтворення 3D. Основним мінусом вважається те, що пасивна технологія 3D використовує чересстроковий метод розгортки, що призводить до погіршення якості зображення. Через нанесену плівку на екран телевізора при перегляді 2D зменшується яскравість зображення [10]. Крім того, глядач повинен сидіти прямо перед дисплеєм, відхилення голови призводить до втрати стерео ефекту.

Досліджуючи сьогоднішній ринок 3D-моніторів і телевізорів, можна побачити, що LG, Vizio і Toshiba зробили вибір на користь задіювання пасивної 3D технології, а Samsung, Sony і Panasonic – активної [11].

3.2 Огляд існуючих форматів 3D-відео

Окрім методів 3D-візуалізації, існує безліч форматів представлення стерео 3D-відео. Така різноманітність пов'язана з тим, що залежно від сфери застосування (телебачення, кінематограф, комп'ютерні ігри) застосовуються різні формати 3D-відео. Також різні формати підтримуються різними виробниками. Так, компанія Samsung у своїх 3D-телевизорах віддає перевагу використанню затворноїтехнології, для якої характерним є формат анаморфної стереопары, компанія LG віддає перевагу пасивній технології 3D, для якої прийнятнішим є формат чересстрокової розгортки. Під час вибору формату 3D-відео важливим є дотримання стандартів, передбачених виробником 3D-техники, оскільки відхилення від них веде до втрати якості у кращому разі і несумісністю формату з апаратурою в гіршому.

Усі існуючі формати 3D-відео використовують поняття стереопари.

Стереопара – пара плоских зображень одного і того ж об'єкту (сюжету), що має відмінності між зображеннями, покликаними створити ефект об'єму. Ефект виникає внаслідок того, що розташовані на різному видаленні від спостерігача частини сюжету при перегляді з різних точок (що відповідають правому і лівому оку) мають різне кутове зміщення (паралакс). При розгляді стереопари так, щоб кожне око сприймало тільки зображення, призначене для нього, створюється ілюзія спостереження об'ємної картини [12].

Серед форматів 3D-відео є повний формат 3D HD-відео, що використовує повнорозмірну стереопару, є анаморфи, тобто стереопари, що стискають розміри.

Повнорозмірна стереопара буває двох типів – горизонтальна стереопара і вертикальна стереопара.

Горизонтальна стереопара (SideBySide).При цьому два зображення розташовані поруч один з одним. Тут розрізняють два способи:

  1. паралельна стереопара, тут погляд направляють паралельно;
  2. перехресна стереопара, зображення, розташоване праворуч, призначене для лівого ока, а зображення ліворуч – для правого ока [13].

Вертикальна стереопара (OverUnder) за своєю суттю є аналогічною до горизонтальної. Відмінність полягає в тому, що тут два зображення розташовуються один над одним.

Горизонтальна і вертикальна стереопари досить рідко використовуються при відтворенні на 3D телевізорі. Це пов'язано з тим, що повнорозмірна горизонтальна стереопара має дозвіл 3840x1080, повнорозмірна вертикальна – 1920x2160, тоді як більшість сучасних телевізорів мають формат Full HD (1920x1080).

Анаморфна ж стереопара має дозвіл в два рази менший по горизонталі або вертикалі, залежно від розташування ракурсів [14]. Вона використовується для того, щоб вписатися в дозвіл 1920x1080, характерний для сучасного HD-TV.

Розрізняють горизонтальну і вертикальну анаморфні стереопари, де зображення стисле, відповідно, по горизонталі і по вертикалі.

Чересстроковий (Interlaced) – метод отримання стереоефекту шляхом чересстрокового змішування обох ракурсів в одному кадрі. У парні рядки розгортки записується зображення одного ракурсу (наприклад лівого) в не парні іншого (наприклад правого). При такому методі пропадає половина вертикального дозволу у кожного ракурсу, тобто дозвіл фільму стає 720х240 при повному 720х480 в 2D версії. Виглядає як кольорове зображення з двоїнням у вигляді "гребінки", працює при рядковому виведенні на монітор (рядкова розгортка), при включеному фільтрі "деінтерлейс" (прогресив) ракурси змішуються і в окулярах немає розділення і 3D ефекту [15].

Ще один спосіб отримати ефект 3D – це ефект Пульриха. 2D зображення з постійним рухом (лінійним або по радіусу) об'єкту або камери. Знімається однією камерою. По суті це 2D зображення, за допомогою темного фільтру на одне око, досягається затримка сприйняття картинки мозком і виникає стереопара, один ракурс неозброєним оком миттєво мозком сприймається а через темне скельце із запізненням в 1-2 кадри, коли об'єкт або камера змінили положення або точку зйомки. Якщо немає руху в кадрі, то 2D [16].

Формат відео для перегляду 3D анагліфним методом має аналогічну назву. Готовий анагліф – це 2D зображення з ракурсами, закодованими відповідними кольорами. Формат не придатний для перекладу в інші 3D формати і не вимагає наявності стереоплеера для перегляду. Плюсом цього формату є те, що анагліф може відтворюватися на будь-якій 2D апаратурі.

Ще один формат – це роздільна стереопара (обидва відеоряди, що формують стереопару розділені на незалежні потоки [17]).

Цей формат розділяється на два підвиди: Dualstream і Separatefiles. У підвиді Dualstream відеопотоки об'єднує загальний контейнер. У підвиді Separatefiles відеопотоки записуються в роздільних файлах. Безперечною перевагою тут є зручність і простота обробки, а істотним недоліком – можливість виникнення серйозних проблем при синхронізації роздільних потоків, оскільки її контроль недостатній і забезпечений лише на рівні софта [18].

4. Створення відеофайлу в 3D-форматі

Метою магістерської роботи є підвищення ефективності організації реалістичної стерео-візуалізації 3D-сцен на паралельних обчислювальних системах, а саме дослідження ефективності реалізації представлення, постобробки і виведення стерео відеопотоку для стандартних пристроїв 3D-стерео відображення на GPU.

На вхід подаються два відеопотоки (лівий і правий ракурс). Програма по черзі отримує кадри з кожного з двох потоків і здійснює виведення на екран із стандартною частотою 60 Гц.

Після аналізу існуючих методів стерео візуалізації і форматів 3D-відео, зважаючи на необхідність отримання максимальної якості і швидкості процесу виведення, прийнято рішення організації стерео-виведення на основі активної технології із застосуванням анаморфування. Як формат використовуватиметься анаморфна горизонтальна стереопара.

Загальна структура роботи програмної системи отримання стандартного 3D-відеофайла представлена на рисунку 1.

Загальна структура роботи програмної системи отримання стандартного 3D-відеофайла

Рисунок 1 – Загальна структура роботи програмної системи отримання стандартного 3D-відеофайла
(анимація: 6 кадрів, 7 циклів повторення, 49 кілобайт)

Загальний порядок функціонування системи наступний:

  1. Розбиття лівого/правого відеопотоків на кадри
  2. Стискування кадрів (лівого/правого ракурсу) по горизонталі
  3. Об'єднання отриманих стислих кадрів в анаморфну стереопару
  4. Додавання отриманої горизонтальної анаморфної стереопары у відеопотік 3D
  5. Кодування відеопотоку 3D в стандартний відеофайл (MKV)

Однією з підзадач роботи є перетворення двох статичних зображень (стереопари) у відеофайл, який буде відтворюватися на 3D облаштуванні стерео відображення.

Таким чином, є два Full HD зображення з дозволом 1920 на 1080 кожне. Перше зображення – лівий ракурс стереопары, друге – правий. Обидва зображення у форматі *.png.

Необхідно стиснути кожне зображення по горизонталі в 2 рази, і об'єднати обидва ракурси в анаморфну стереопару.

Для реалізації поставленого завдання використовуватиметься мова програмування Visual C# і середовище розробки Microsoft Visual Studio 2012.

Використовуючи засоби System.Drawing, можна об'єднати два ракурси в горизонтальну анаморфну стереопару. Код, що реалізовує цю дію, представлений на рисунку 2.

Реалізація анаморфної стереопари

Рисунок 2 – Реалізація анаморфної стереопари

З рисунка 2 видно, що для стискування зображення використовується конструктор класу Bitmap, одержуючий в якості параметрів початкове зображення і нові значення його розмірів.

Після стискування двох початкових зображень, формується нове з дозволом 1920 на 1080 пікселів.

Після цього в циклі копіюються обидва стислі зображення: лівий ракурс – в ліву частину сформованого зображення, правий ракурс – в праву частину. Результат зберігається на диску.

Щоб побачити результат у форматі 3D, необхідно перетворити отримане зображення (горизонтальна анаморфна стереопара) у відео.

Для перетворення зображення у відео використовується бібліотека Aforge.Net, що надає зручні засоби для обробки відео [19].

Відео буде отримано в форматі avi.

Для отримання можливості використання ресурсів бібліотеки Aforge.Net в коді програми, використовується директива "using Aforge.Video.VFW".

Стандартне відео містить 24 кадри на секунду. У програмі відео складається із ста кадрів, отже його тривалість складе 4,167 секунди.

Код, що реалізовує перетворення отриманої анаморфної стереопары у відео представлений на рисунку 3.

Перетворення зображення у відео

Рисунок 3 – Перетворення зображення у відео

З рисунка 3 видно, що для реалізації завдання створюється і відкривається потік класу AVIWriter. За допомогою функції класу AddFrame () відбувається покадрове додавання зображень в потік.

В результаті виконання програми був отриманий файл "video.avi". За допомогою програвача "KMPlayer" можна побачити інформацію про відео, представлену на рисунку 4.

Информація про відеофайл

Рисунок 4 – Информація про відеофайл «video.avi»

Отримане відео не буде відтворюватися на 3D апаратурі. Це пов'язано з тим, що формати відео, що надаються засобами бібліотеки Aforge.Net, не відповідають стандартам 3D відео. Для отримання результату в потрібному форматі, необхідно використати відеокодеки для перетворення.

Відеокодек – програма/алгоритм стискування (тобто зменшення розміру) відеоданих (відеофайлу, відеопотоку) і відновлення стислих даних. Кодек – файл-формула, яка визначає, яким чином можна "упакувати" відеоконтент і, відповідно, програти відео. Також можливе кодування окрім відео і аудіоінформації, додавання субтитрів, векторних ефектів і т. п. [20].

Серед форматів стискування 3D відео стандартними є MPEG-4 AVC/H.264. Для перетворення отриманого вище відеофайлу до цього формату використовується відеокодек x264 [21].

x264 – вільна бібліотека програмних компонентів для кодування відеопотоків H.264. Зараз цей проект є одним з найбільш просунутих серед вільно доступних AVC-компресорів. Це також один з небагатьох вільно доступних компресорів AVC High Profile [22].

Після перетворення файлу за допомогою відеокодека x264, відео буде отримано в розширенні MKV, характерному для 3D відео.

Результат експериментального створення стерео відеопотоку на розробленій системі представлений на рисунку 5.

Стереокадр експериментального відеопотоку

Рисунок 5 – Стереокадр експериментального відеопотоку

Висновки

В результаті проведених досліджень були отримані наступні результати:

  1. Проведено аналіз існуючих методів 3D стерео візуалізації : анагліф, активна (затворна) технологія, пасивна (поляризаційна) технологія
  2. Розглянуті і проаналізовані існуючі формати 3D відео: анагліф, горизонтальна і вертикальна стереопари, анаморфы, чересстрокова розгортка.
  3. Розглянута структура майбутньої програми стерео візуалізації сцен.
  4. Розроблено фрагмент програмної системи, що виконує перетворення статичного зображення в 3D відео з розширенням MKV.

Подальші дослідження, пов'язані з виконанням магістерської роботи, будуть присвячені наступним аспектам:

  1. Розробка моделі програмної системи для представлення, постобробки і виведення стерео відеопотоку для стандартних пристроїв 3D-стерео відображення на GPU.
  2. Програмна реалізація програмної системи
  3. Дослідження характеристик і ефективності розробленої системи
  4. Розробка рекомендацій по використанню і доопрацюванню програмної системи

Примітка

Цей реферат було написано на перших стадіях виконання магістерскої роботи. Повний текст магістрскої роботи буде доступним у лютому 2015 року.

Перелік посилань

  1. Zone R. Stereoscopic cinema & the origins of 3-D film (University Press of Kentucky, 2007) ISBN 0-8131-2461-1, p. 110
  2. 3D Videocommunication – Algorithms, conceptsand real-time systems in human centred communication // Edited by Oliver Schreer, Peter Kauff, Thomas Sikora John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England. – 2005. – 340 p.
  3. Башков Е.А., Зори С.А., Ковальский С.В. Современное алгоритмическое и аппаратное обеспечение виртуальных систем трехмерного моделирования окружающей обстановки В кн.: Наукові праці Донецького національного технічного університету. Серiя "Інформатика, кібернетика і обчислювальна техніка", ИКВТ-2009: – Донецьк: ДонНТУ. – 2009 – 11 с.
  4. Башков Е.А., Зори С.А. Реалистичная визуализация трехмерных объектов и сцен с использованием технологий объемного отображения /Известия ЮФУ. Технические науки. Тематический выпуск «Компьютерные и информационные технологии в науке, инженерии и управлении», № 5(130) – 2012 г., изд-во Технологический институт Южного федерального университета в г. Таганроге, 133 – 137 с.
  5. Анаглиф – один из самых старых и самый ругаемый вариант 3D. [Електронний ресурс]. – Режим доступу: http://rav-anaglyph.ru.
  6. 3D активное или пассивное – что лучше. [Електронний ресурс]. – Режим доступу: http://televizor-info.ru/eto-interesno....
  7. Порфиров П.А., Звягинцев И.А., Зори С.А. Организация реалистичной стерео визуализации сцен 3D-график.
  8. Затворная технология 3D. Что это такое? [Електронний ресурс]. – Режим доступу: http://www.vybortv.ru/voprosy....
  9. Active 3D vs. Passive 3D. [Електронний ресурс]. – Режим доступу: http://3D-tvbuyingguide.com/3Dtv....
  10. Как работает технология воспроизведения 3D в телевизорах. [Електронний ресурс]. – Режим доступу: http://hobbyits.com/cifrovye-texnologii/kak-rabotaet....
  11. Активное или пассивное 3D: преимущества и недостатки 3D очков. [Електронний ресурс]. – Режим доступу: http://3Dtv-obzor.ru/aktivnoe_passivnoe_3D.
  12. Википедия. Стереопара. [Електронний ресурс]. – Режим доступу: http://ru.wikipedia.org/wiki/Стереопара.
  13. Форматы 3D видео. [Електронний ресурс]. – Режим доступу: http://mylcd.info/model/3D_format.html.
  14. Преобразование стереопары в анаморфную. [Електронний ресурс]. – Режим доступу: http://vokrug3D.ru/obrabotka-video/preobrazovanie....
  15. О форматах и методах просмотра 3D-Video. [Електронний ресурс]. – Режим доступу: http://rutor.org/torrent/225870/.
  16. Форматы 3D. Какой формат качать для вашей техники? [Електронний ресурс]. – Режим доступу: http://torrents3D.ru/article/843/.
  17. О Форматах и методах просмотра 3D. [Електронний ресурс]. – Режим доступу: http://rutracker.org/forum/viewtopic.php?t=3312998.
  18. Виды форматов 3D изображений. [Електронний ресурс]. – Режим доступу: http://www.mirstereofoto.ru/articles/raznoe....
  19. AForge.NET Framework. [Електронний ресурс]. – Режим доступу: http://www.aforgenet.com/framework.
  20. Википедия. Видеокодек. [Електронний ресурс]. – Режим доступу: http://ru.wikipedia.org/wiki/Видеокодек.
  21. Кодек x264. Часто задаваемые вопросы. [Електронний ресурс]. – Режим доступу: http://compression.ru/video/x264/x264_faq_ru.html#Q1.
  22. Википедия. x264. [Електронний ресурс]. – Режим доступу: http://ru.wikipedia.org/wiki/X264.