Українська   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.