способ генерирования текстуры в реальном масштабе времени и устройство для его реализации
Классы МПК: | G06T11/60 редактирование фигур или текста; комбинирование фигур или текста |
Автор(ы): | Бодин Олег Николаевич (RU), Гайдуков Сергей Александрович (RU), Кузьмин Андрей Викторович (RU), Малышкин Антон Александрович (RU) |
Патентообладатель(и): | Пензенский государственный университет (ПГУ) (RU) |
Приоритеты: |
подача заявки:
2005-09-26 публикация патента:
20.03.2007 |
Изобретение относится к средствам визуализации. Его использование для наблюдения за виртуальной обстановкой позволяет упростить формирование границы при стыковке тематических данных в реальном масштабе времени. Способ заключается в том, что предварительно составляют тематическую карту, формируют и хранят тематические данные, в зависимости от положения наблюдателя определяют зону видимости, а также формируют и хранят информацию о 3D объектах (трехмерных объектах), осуществляют формирование и изменение параметров тематических объектов и составляют текстурную карту из тематических объектов путем операции наложения по маске. Технический результат получают благодаря тому, что формирование, маскирование и изменение параметров изображения каждого 3D объекта осуществляется путем определения параметров изображения 3D объекта, при этом изображение 3D объекта может быть представлено в одном из трех вариантов: точечном, мнемоническом и изображении модели 3D объекта, в зависимости от представления изображения 3D объекта осуществляется формирование точечного, или мнемонического, или изображения модели 3D объекта, в зависимости от представления изображения 3D объекта осуществляется формирование маски точечного или мнемонического объекта или получение модели и текстуры 3D объекта, текстурирование 3D объекта, рендеринг 3D объекта, формирование маски 3D объекта и наложение изображения 3D объекта на текстурную карту. 2 н.п. ф-лы, 16 ил.
Формула изобретения
1. Способ генерирования текстуры в реальном масштабе времени, заключающийся в том, что предварительно составляют тематическую карту, формируют и хранят тематические данные, в зависимости от положения наблюдателя определяют зону видимости, а также формируют и хранят информацию о 3D объектах (трехмерных объектах), осуществляют формирование и изменение параметров тематических объектов и составляют текстурную карту из тематических объектов путем операции наложения по маске, отличающийся тем, что формирование, маскирование и изменение параметров изображения каждого 3D объекта осуществляется путем определения параметров изображения 3D объекта, при этом изображение 3D объекта может быть представлено в одном из трех вариантов: точечном, мнемоническом и изображении модели 3D объекта, в зависимости от представления изображения 3D объекта осуществляется формирование точечного, или мнемонического, или изображения модели 3D объекта, в зависимости от представления изображения 3D объекта осуществляется формирование маски точечного или мнемонического объекта, или получение модели и текстуры 3D объекта, текстурирование 3D объекта, рендеринг 3D объекта, формирование маски 3D объекта и наложение изображения 3D объекта на текстурную карту.
2. Устройство для реализации способа генерирования текстуры в реальном масштабе времени, содержащее последовательно соединенные видеоинтерфейс и видеомонитор, а также средства хранения данных и средства генерирования изображений 3D объектов, микропроцессор, средства определения зоны видимости, средства обработки тематических объектов и средства временного хранения текстурной карты, при этом выход микропроцессора соединен с входом видеоинтерфейса, а средства хранения данных, средства определения зоны видимости, средства обработки тематических объектов, средства генерирования изображений 3D объектов и средства временного хранения текстурной карты соединены двунаправленными шинами соответственно с первым, вторым, третьим, четвертым, и шестым входами микропроцессора, пятый вход которого соединен с входом устройства для реализации способа генерирования текстуры в реальном масштабе времени, отличающееся тем, что средства обработки тематических объектов содержат последовательно соединенные средства определения параметров тематических объектов, средства формирования маски и средства помещения изображения тематического объекта на текстурную карту, а также средства формирования тематической текстуры, при этом второй и третий выходы средств определения параметров тематических объектов соединены соответственно с первым входом средств формирования тематической текстуры и со вторым входом средств помещения изображения тематического объекта на текстурную карту, вход-выход данных средств обработки тематических объектов соединен двунаправленной шиной со средствами определения параметров тематических объектов, вторыми входами средств формирования маски и средств формирования тематической текстуры и третьим входом средств помещения изображения тематического объекта на текстурную карту, четвертый вход которых соединен с выходом средств формирования тематической текстуры, а выход - с выходом средств обработки тематических объектов, средства генерирования изображений 3D объектов содержат последовательно соединенные средства формирования маски изображения 3D объекта и средства помещения изображения 3D объекта на текстурную карту, а также средства коммутации, средства генерирования точечного изображения 3D объекта, средства генерирования мнемонического изображения 3D объекта и средства генерирования изображения модели 3D объекта, при этом вход-выход данных средств генерирования изображений 3D объектов соединены двунаправленной шиной с входом средств коммутации и вторым входом средств помещения изображения 3D объекта на текстурную карту, первый, второй и третий выходы средств коммутации соединены соответственно с входами средств генерирования точечного изображения 3D объекта, средств генерирования мнемонического изображения 3D объекта и средств генерирования изображения модели 3D объекта, выходы средств генерирования точечного изображения 3D объекта, средств генерирования мнемонического изображения 3D объекта и средств генерирования изображения модели 3D объекта соединены с входом средств формирования маски изображения 3D объекта, выход средств помещения изображения 3D объекта на текстурную карту соединен с выходом средств генерирования изображений 3D объектов, средства генерирования изображения модели 3D объекта содержат последовательно соединенные средства формирования модели 3D объекта, средства наложения текстуры на модель 3D объекта и средства рендеринга, при этом вход средств формирования модели 3D объекта и второй вход средств наложения текстуры на модель 3D объекта соединены двунаправленной шиной с входом-выходом данных средств генерирования изображения модели 3D объекта, выход средств рендеринга соединен с выходом средств генерирования изображения модели 3D объекта.
Описание изобретения к патенту
Изобретение относится к современным техническим методам и средствам визуализации, которые предоставляют пользователю ограниченные визуальные поверхности для наблюдения за виртуальной визуальной обстановкой, и может быть использовано, например, в системе визуализации полета или в системе синтеза медицинских изображений 3D объектов (трехмерных объектов).
Генерирование текстуры в реальном масштабе времени относится, наряду со сглаживанием ступенчатости и визуализацией объемов в реальном масштабе времени, к фундаментальным задачам компьютерной графики.
Исследования показывают, что на современном уровне развития вычислительной техники невозможно полностью удовлетворить требования пользователя к качеству синтезируемого изображения. Потенциально бесконечная сложность изображаемых моделей реального мира требует специализированной аппаратной поддержки. Большая вычислительная стоимость синтеза фотореалистичных изображений проистекает из сложных геометрических преобразований, использования сложных моделей освещения, отображения текстуры и окружающей среды, а также методов устранения искажений, возникающих из-за дискретной природы устройств вывода изображений (устранение лестничного эффекта).
Проблема генерирования текстуры в реальном масштабе времени и манипулирования большими массивами визуальной информации при наблюдении за изображениями 3D объектов является весьма актуальной при выполнении ряда задач. Например, для визуализации с частотой 10 Гц сцены, содержащей 200 тыс.треугольников по 100 пикселов каждый, с текстурой на каждом объекте потребуется производительность приблизительно от 500 MFLOPS до 1 GFLOPS [1]. При генерировании текстуры большие требования к пропускной способности памяти, которые обусловлены необходимостью отображения текстуры, связаны с желанием получить изображение приемлемого качества. При этом необходимо выполнить операцию фильтрации на множестве текселов, попавших в проекцию пиксела на текстуру. Для уменьшения вычислительных затрат используется ряд методов, наиболее известным из которых является мипмаппинг [2]. Этот метод требует доступа к восьми элементам текстуры на каждый пиксел. В предположении 50-процентного попадания в Z-буфер и использования RGB-текстур, память для хранения текстур должна обеспечить скорость передачи 1.2 Гбайт/с, в случае, если на каждый объект надо наложить текстуру [1]. Очевидно, что формирование и обработка такого количества визуальной информации, причем в реальном масштабе времени, под силу только самому современному компьютеру. Наиболее распространены в настоящее время системы визуализации, основанные на использовании специализированных графических компьютеров для формирования, управления, анализа и переработки визуальной информации и представления ее в наиболее удобном для восприятия виде человеку-оператору.
Известен способ и устройство для генерирования текстуры для цифрового генератора изображения в составе симулятора полета самолета [3]. Способ для генерирования текстуры заключается в том, что (выбранные две или три) координаты каждого пикселя изображения обратно преобразуются в земные координаты, из которых вырабатываются адреса для доступа к таблице текстуры, чтобы затем получить элементы, из которых получают яркость, свойственную каждому пикселю. Таблица текстуры хранит ограниченное число типов текстуры, хранит ближнюю и дальнюю текстуру и хранит уровни детализации текстуры. Дальние текстурные элементы интерполируются, чтобы избежать эффекта шахматной доски. Элементы выбранного типа текстуры совмещаются, чтобы получить дополнительные типы текстуры, а смежные уровни детализации текстуры смешиваются, чтобы предоставить сглаженный переход между уровнями детализации.
К недостаткам известного способа для генерирования текстуры относятся ограниченное число типов текстуры и невозможность генерирования текстуры в реальном масштабе времени.
Также известен способ и устройство для генерирования текстуры [4]. Способ для генерирования текстуры заключается в том, что статические текстурные данные предварительно шифруются и предоставляются как зашифрованные текстурные данные с программными инструкциями, зашифрованные текстурные данные получают из хранилища, дешифруют в блоке дешифрации, затем дешифрованные текстурные данные генерируют данные текстурированного изображения для буфера кадра, откуда они выводятся на дисплей.
К недостаткам известного способа для генерирования текстуры относятся сложность шифрации и дешифрации текстурных данных, статичность текстурных данных и невозможность генерирования текстуры в реальном масштабе времени.
Наиболее близким (прототипом) к предлагаемому способу генерирования текстуры в реальном масштабе времени является способ генерирования текстуры, заключающийся в том, что предварительно составляют тематическую карту, формируют и хранят тематические данные, в зависимости от положения наблюдателя определяют зону видимости, а также формируют и хранят 3D объекты [5].
На фиг.1 приведена последовательность операций, реализующая известный способ генерирования текстуры.
На фиг.2 и 3 приведены примеры составления изображения текстурной карты из тематических данных в известном способе генерирования текстуры.
На фиг.4 приведена подробная последовательность операций, реализующая известный способ генерирования текстуры.
На фиг.5 приведен пример определения зоны видимости.
Анализ фиг.1-5 показывает, что известный способ генерирования текстуры не позволяет из-за ограниченного количества правил составления текстурной карты из тематических данных формировать произвольные границы тематических данных на текстурной карте. Действительно, в известном способе генерирования текстуры предполагается предварительное формирование тематической карты, которая представляет собой плоскость, разделенную на небольшие квадратные участки одинакового размера наподобие растровой решетки (смотрите фиг.2 и 3). Каждый такой участок является тематическим элементом. Четырем углам тематического элемента, которые обозначены точками на изображении текстурной карты, соответствуют четыре идентификационных кода тематических данных. Под тематическими данными понимают образец текстуры, характерный для данной местности, например лес, океан, жилые строения и т.п. Текстурная карта получается путем объединения всех тематических элементов, каждый из которых может, в свою очередь, состоять из одинаковых образцов текстуры или различных образцов текстуры, состыкованных по определенным правилам, число которых ограничено, что следует из рассмотрения фиг.2 и 3.
Недостатком известного способа генерирования текстуры является способ аппроксимации границы пересечения текстур тематических данных при формировании текстурной карты.
Также в известном способе генерирования текстуры на предварительном этапе вызывает сложность изменение тематической карты в случае изменения размеров и положения участка тематической карты (например, изменение размеров и положения изображения острова в океане или изменение размеров и положения участка поврежденной поверхности на изображении реалистичной модели сердца пациента). Для того чтобы это сделать в известном способе генерирования текстуры, необходимо для всех тематических элементов изменить четыре идентификационных кода тематических данных и изменить правила «стыковки» тематических данных. Очевидно, что в реальном масштабе времени такие изменения в известном способе генерирования текстуры сделать невозможно.
Таким образом, в известном способе генерирования текстуры сложность и трудоемкость формирования произвольной границы «стыковки» тематических данных при составлении текстурной карты возрастает при уменьшении размера тематического элемента и увеличении числа правил «стыковки».
Отмеченные недостатки известного способа генерирования текстуры более отчетливо видны на подробной последовательности операций (см. фиг.4), которая включает следующие:
- получение положения наблюдателя;
- обработку фотографических данных;
- получение идентификационных кодов тематических данных;
- получение тематических данных, соответствующих идентификационному коду;
- получение тематических данных, соответствующих идентификационным кодам;
- определение типа тематических данных;
- выбор метода стыковки тематических данных естественного типа;
- выбор метода стыковки тематических данных неестественного типа;
- стыковку тематических данных;
- обработку для отображения;
- получение данных объекта;
- совмещение объектов с тематическими данными;
- отображение.
Получение положения наблюдателя включает ввод в реальном масштабе времени параметров полета таких как, например, высота, направление, действительное место, продольный и поперечный наклон, горизонтальная и вертикальная скорость и другие параметры полета.
Далее следует определение наличия фотографических данных для указанного положения наблюдателя.
Если есть указанные фотографические данные, то переходят к этапу обработки фотографических данных. После завершения обработки фотографических данных осуществляется их отображение.
Если нет указанных фотографических данных, то переходят к этапу получения идентификационных кодов тематических элементов, из которых составляется текстурная карта. Каждый элемент содержит идентификационный код, показывающий, какой тип тематических данных соответствует указанному тематическому элементу (см. фиг.2).
Далее определяют, какие идентификационные коды тематических данных соответствуют тематическим элементам рассматриваемой области, т.е. определяют, включают ли тематические элементы однородные тематические данные (например, только лес) или различные тематические данные (например, часть элемента занята лесом, а часть океаном). Если указанные идентификационные коды одинаковы, то переходят к этапу получения тематических данных, соответствующих указанному идентификационному коду. Если указанные идентификационные коды различны, то переходят к этапу получения идентификационных кодов тематических данных для всех тематических элементов рассматриваемой области.
Затем осуществляется определение типа тематических данных. Все тематические данные разделяются на два типа: естественные (например, лес, океан) и неестественные (например, жилые строения). Если тематические данные относятся к естественному типу, то переходят к этапу выбора метода стыковки тематических данных естественного типа. Для тематических данных естественного типа предусмотрены три правила стыковки различных тематических данных в рамках одного тематического элемента (см. фиг.3). Характерной особенностью границы между тематическими данными естественного типа является ее извилистость, аппроксимация которой осуществляется синусоидальными линиями. Конкретное правило стыковки выбирается автоматически, исходя из анализа идентификационных кодов, соответствующих четырем углам тематического элемента.
Если тематические данные относятся к неестественному типу, то переходят к этапу выбора метода стыковки тематических данных неестественного типа. Для тематических данных неестественного типа предусмотрены три правила стыковки различных тематических данных в рамках одного тематического элемента (см. фиг.3). Для правил стыковки тематических данных неестественного типа характерно, что граница между тематическими данными проходит по прямым линиям. Конкретное правило стыковки выбирается автоматически, исходя из анализа идентификационных кодов, соответствующих четырем углам тематического элемента.
После выбора метода стыковки тематических данных переходят непосредственно к этапу стыковки тематических данных, который состоит в объединении по одному из вышеуказанных правил различных тематических данных в рамках одного тематического элемента (см. фиг.3).
Далее определяют расстояние до рассматриваемого участка местности (так как в известном способе генерирования текстуры рассматривается только полет над землей, то значение имеет высота, на которой совершается полет). Если расстояние не меньше предварительно определенного на начальном этапе значения X (см. фиг.5), то переходят к этапу обработки для отображения, который включает обработку данных тематических элементов и формирование изображения текстуры для последующего отображения. Если расстояние меньше предварительно определенного значения X (см. фиг.5), то переходят к этапу получения данных об изображении 3D объектов. Известный способ генерирования текстуры предусматривает, что дополнительно к сформированной текстуре местности могут вводиться изображения 3D объектов, таких, например, как дом. Однако возможность наложения текстуры на 3D объекты в известном способе генерирования текстуры отсутствует, что, безусловно, снижает реалистичность сгенерированной текстуры.
После получения данных об изображении 3D объектов переходят к этапу совмещения изображения 3D объектов с тематическими данными. При этом изображения 3D объекта помещаются на текстурную карту, причем по мере приближения наблюдателя могут добавляться новые объекты, которые не были видны ранее.
Последним этапом известного способа генерирования текстуры является отображение. Этап отображения заключается в выводе на средства отображения сформированного изображения. Сформированное изображение может включать фотографические данные, текстурные данные и данные дополнительно введенных 3D объектов.
Анализ подробного последовательности операций известного способа генерирования текстуры выявил, по мнению авторов предполагаемого изобретения, еще один недостаток: невозможность генерирования реалистичной текстуры местности в реальном масштабе времени в условиях полета.
Устройство-прототип [5] содержит последовательно соединенные видеоинтерфейс и видеомонитор, а также средства хранения данных, средства обработки тематической карты, средства формирования текстурной карты из тематических элементов, средства генерирования изображений 3D объектов.
Таким образом, недостатками известного способа генерирования текстуры и устройства для его реализации являются сложность и трудоемкость формирования произвольной границы «стыковки» тематических данных при составлении текстурной карты и невозможность генерирования реалистичной текстуры местности в реальном масштабе времени.
Техническим результатом предлагаемого изобретения является упрощение формирования произвольной границы «стыковки» тематических данных при составлении текстурной карты и генерирование реалистичной текстуры в реальном масштабе времени.
Сущность предлагаемого способа заключается в том, что в реальном масштабе времени предварительно составляют тематическую карту, формируют и хранят тематические данные, в зависимости от положения наблюдателя определяют зону видимости, формируют и хранят информацию о 3D объектах, а также осуществляют формирование и изменение параметров тематических объектов и составляют текстурную карту из тематических объектов путем операции наложения по маске.
При этом тематические объекты состоят из тематических данных, фотоданных и изображений 3D объектов, причем тематические данные могут быть представлены в одном из трех вариантов: высокого, среднего и низкого разрешения, и изображение 3D объекта может быть представлено в одном из трех вариантов: точечном, мнемоническом и изображении модели 3D объекта.
Кроме того, формирование, маскирование и изменение параметров каждого из тематических объектов осуществляется путем формирования маски тематического объекта, подготовки тематических данных или фотоданных тематического объекта, текстурирования тематического объекта по маске и наложения тематического объекта на текстурную карту.
К тому же, формирование, маскирование и изменение параметров изображения каждого 3D объекта осуществляется путем определения параметров изображения 3D объекта, в зависимости от представления изображения 3D объекта осуществляется формирование точечного, или мнемонического, или изображения модели 3D объекта, в зависимости от представления изображения 3D объекта осуществляется формирование маски точечного или мнемонического объекта или получение модели и текстуры 3D объекта, текстурирование 3D объекта, рендеринг 3D объекта, формирование маски 3D объекта и наложение изображения 3D объекта на текстурную карту.
В устройство для реализации известного способа генерирования текстуры, содержащее последовательно соединенные видеоинтерфейс и видеомонитор, а также средства хранения данных и средства генерирования изображений 3D объектов, согласно предлагаемому изобретению дополнительно введены микропроцессор, средства определения зоны видимости, средства обработки тематических объектов и средства временного хранения текстурной карты, при этом выход микропроцессора соединен с входом видеоинтерфейса, а средства хранения данных, средства определения зоны видимости, средства обработки тематических объектов, средства генерирования изображений 3D объектов и средства временного хранения текстурной карты соединены двунаправленными шинами соответственно с первым, вторым, третьим, четвертым и шестым входами микропроцессора, пятый вход которого соединен с входом устройства для реализации способа генерирования текстуры в реальном масштабе времени, при этом средства обработки тематических объектов содержат последовательно соединенные средства определения параметров тематических объектов, средства формирования маски и средства помещения изображения тематического объекта на текстурную карту, а также средства формирования тематической текстуры, при этом второй и третий выходы средств определения параметров тематических объектов соединены соответственно с первым входом средств формирования тематической текстуры и со вторым входом средств помещения изображения тематического объекта на текстурную карту, вход-выход данных средств обработки тематических объектов соединен двунаправленной шиной со средствами определения параметров тематических объектов, вторыми входами средств формирования маски и средств формирования тематической текстуры и третьим входом средств помещения изображения тематического объекта на текстурную карту, четвертый вход которых соединен с выходом средств формирования тематической текстуры, а выход - с выходом средств обработки тематических объектов, при этом средства генерирования изображений 3D объектов содержат последовательно соединенные средства формирования маски изображения 3D объекта и средства помещения изображения 3D объекта на текстурную карту, а также средства коммутации, средства генерирования точечного изображения 3D объекта, средства генерирования мнемонического изображения 3D объекта и средства генерирования трехмерного изображения 3D объекта, при этом вход-выход данных средств генерирования изображений 3D объектов соединен двунаправленной шиной с входом средств коммутации и вторым входом средств помещения изображения 3D объекта на текстурную карту, первый, второй и третий выходы средств коммутации соединены соответственно с входами средств генерирования точечного изображения 3D объекта, средств генерирования мнемонического изображения 3D объекта и средств генерирования трехмерного изображения 3D объекта, выходы средств генерирования точечного изображения 3D объекта, средств генерирования мнемонического изображения 3D объекта и средств генерирования трехмерного изображения 3D объекта соединены с входом средств формирования маски изображения 3D объекта, выход средств помещения изображения 3D объекта на текстурную карту соединен с выходом средств генерирования изображений 3D объектов, при этом средства генерирования трехмерного изображения 3D объекта содержат последовательно соединенные средства формирования модели 3D объекта, средства наложения текстуры на модель 3D объекта и средства рендеринга, при этом вход средств формирования модели 3D объекта и второй вход средств наложения текстуры на модель 3D объекта соединены двунаправленной шиной с входом-выходом данных средств генерирования трехмерного изображения 3D объекта, выход средств рендеринга соединен с выходом средств генерирования трехмерного изображения 3D объекта.
Такое сочетание новых признаков с известными позволяет добиться технического результата, улучшить способ генерирования текстуры и построить устройство, реализующее предлагаемый способ генерирования текстуры в реальном масштабе времени.
На фиг.6 приведена последовательность операций предлагаемого способа генерирования текстуры в реальном масштабе времени.
На фиг.7 приведена подробная последовательность операций предлагаемого способа генерирования текстуры в реальном масштабе времени.
На фиг.8-10 приведены примеры формирования тематических объектов в предлагаемом способе генерирования текстуры в реальном масштабе времени.
На фиг.11 приведен пример наложения текстуры на 3D объект.
На фиг.12-15 приведены структурные схемы устройства для реализации предложенного способа генерирования текстуры в реальном масштабе времени.
На фиг.16 приведена схема алгоритма работы устройства для реализации предлагаемого способа генерирования текстуры в реальном масштабе времени.
Анализ фиг.6 показывает, что предлагаемый авторами способ генерирования текстуры в реальном масштабе времени позволяет устранить указанные недостатки известного способа генерирования текстуры и формирует изображение реалистичной текстуры в реальном масштабе времени. Предлагаемый авторами способ генерирования текстуры в реальном масштабе времени основан на совершенно другом принципе аппроксимации границы «стыковки» тематических данных при составлении текстурной карты. Авторы предлагают вместо аппроксимации границы «стыковки» тематических данных формирование тематических объектов из тематических данных и генерирование текстурной карты из тематических объектов путем операции наложения по маске. Другими словами, границы «стыковки» тематических данных при составлении текстурной карты «заложены» в форме тематического объекта. При этом отпадает необходимость в использовании правил «стыковки» для аппроксимации границы «стыковки» тематических данных и изменении параметров всех тематических элементов при изменении размеров или положения участка тематической карты. В предлагаемом авторами способе генерирования текстуры в реальном масштабе времени для этого достаточно изменения размеров или положения тематического объекта на участке тематической карты. Очевидно, что такой подход упрощает генерирование реалистичной текстурной карты и позволяет ее формирование в реальном масштабе времени. Кроме того, предлагаемый авторами способ генерирования текстуры в реальном масштабе времени позволяет наложение друг на друга нескольких тематических объектов, что в принципе невозможно в рамках одного тематического элемента в известном способе генерирования текстуры.
Рассмотрим суть предлагаемого способа генерирования текстуры в реальном масштабе времени при подробном описании способа (см. фиг.7), который включает следующие этапы:
- получение положения наблюдателя;
- вычисление области обзора;
- определение требуемого разрешения для визуализации:
- получение карты расположения тематических объектов;
- получение параметров тематического объекта;
- формирование маски тематического объекта;
- получение фотоданных тематического объекта;
- подготовку тематической текстуры тематического объекта;
- текстурирование тематического объекта по маске;
- помещение текстурированного тематического объекта на текстурную карту;
- получение карты расположения изображений 3D объектов;
- получение параметров 3D объекта;
- определение типа объектов;
- формирование модели 3D объекта;
- получение текстуры 3D объекта;
- текстурирование 3D объекта;
- рендеринг 3D объекта;
- формирование маски изображения 3D объекта;
- формирование точечного или мнемонического изображения 3D объекта;
- формирование маски точечного или мнемонического изображения 3D объекта
- помещение изображения 3D объекта на текстурную карту;
- визуализацию.
Предлагаемый способ генерирования текстуры в реальном масштабе времени предполагает формирование текстурной карты и наложение на нее произвольных тематических объектов в реальном масштабе времени. Текстурная карта в предлагаемом способе генерирования текстуры представляет собой множество тематических объектов, которые можно модифицировать в реальном масштабе времени, например изменять размер, местоположение и маску.
Так же как в известном способе генерирования текстуры, в предлагаемом способе генерирования текстуры в реальном масштабе времени под тематическими данными понимают образец текстуры, характерный для данной местности, например лес, океан, жилые строения и т.п. На этом сходство известного и предлагаемого способов генерирования текстуры заканчивается. Для того чтобы убедиться в этом, достаточно сравнить подробные последовательности операций реализации известного и предлагаемого способов генерирования текстуры, представленные соответственно на фиг.4 и 7. В предлагаемом способе генерирования текстуры в реальном масштабе времени сначала формируются тематические объекты из тематических данных, а затем текстурная карта получается путем объединения всех тематических объектов, каждый из которых может, в свою очередь, состоять из одинаковых образцов текстуры или различных образцов текстуры.
Этап подробной последовательности операций (см. фиг.7) предлагаемого способа генерирования текстуры в реальном масштабе времени «Получение положения наблюдателя» включает ввод в реальном масштабе времени параметров полета, таких как, например, высота, направление, действительное место, продольный и поперечный наклон, горизонтальная и вертикальная скорость и другие параметры полета.
Далее следует этап вычисления зоны видимости на плоскости X, Y (см. фиг.5), необходимый для оптимизации работы: подразумевается генерирование и визуализация только требуемого участка текстурной карты в рамках определенной зоны видимости.
Далее следует этап определения требуемого разрешения для визуализации, на котором происходит вычисление отношения положения наблюдателя к максимальной высоте, и, в зависимости от этого отношения, выбираются текстуры низкого, среднего или высокого разрешения. Для более близкого положения наблюдателя над текстурной картой выбираются тематические данные высокого разрешения, для приближенного к среднему значению положения наблюдателя выбираются тематические данные среднего разрешения, а для максимально высокого положения наблюдателя соответственно выбираются тематические данные низкого разрешения.
Далее следует получение карты расположения тематических объектов - на данном этапе происходит получение из хранилища данных координат расположения тематических объектов.
Далее следует получение параметров тематического объекта - на данном этапе происходит получение из хранилища данных параметров будущего тематического объекта, таких как размеры, положение объекта, соответствующие тематические данные.
Далее следует формирование маски тематического объекта - на данном этапе происходит получение маски будущего тематического объекта и применение параметров тематических объектов.
Если фотоданные необходимо разместить на текстурной карте, то далее следует получение фотоданных тематического объекта. При этом на данном этапе происходит получение из хранилища данных предопределенных фотоданных, например реальный снимок географической местности, как показано на фиг.8.
Если фотоданные отсутствуют, то далее следует подготовка тематической текстуры тематического объекта. При этом на данном этапе происходит создание из тематических данных текстуры, по размерам равной размеру маски.
Далее следует текстурирование тематического объекта по маске. При этом на данном этапе происходит маскирование подготовленной текстуры и формируется тематический объект, как показано на фиг.9.
Далее следует помещение текстурированного тематического объекта на текстурную карту. На данном этапе происходит наложение изображения тематического объекта на текстурную карту по маске, как показано на фиг.9.
Далее следует получение карты расположения изображений 3D объектов. При этом на данном этапе происходит получение из хранилища данных координат расположения изображений 3D объектов.
Далее следует получение параметров 3D объекта - на данном этапе происходит получение параметров будущего изображения 3D объекта, таких как размеры 3D объекта, положение 3D объекта, текстура 3D объекта.
Далее следует определение варианта визуализации 3D объекта (точечное, мнемоническое или изображение 3D объекта). Выбор варианта визуализации 3D объекта осуществляется в зависимости от положения наблюдателя. Т.е., если 3D объект находится на расстоянии меньше предопределенного значения X (см. фиг.5), то генерируется изображение его трехмерной модели. Если 3D объект находится на расстоянии большем X, то генерируется его мнемоническое изображение. Если 3D объект находится на расстоянии, большем предопределенного значения X' (см. фиг.5), то генерируется его точечное изображение, как показано на фиг.10.
Если определен 3D вариант визуализации 3D объекта, то далее следует формирование модели 3D объекта - на данном этапе происходит загрузка модели 3D объекта из хранилища данных и формирование модели конкретного 3D объекта с использованием таких параметров, как размеры и положение 3D объекта, как показано на фиг.10.
Далее следует получение текстуры 3D объекта - на данном этапе происходит получение из хранилища данных соответствующей данному 3D объекту текстуры.
Далее следует текстурирование 3D объекта - на данном этапе происходит наложение на 3D объект текстуры.
Далее следует рендеринг 3D объекта - на данном этапе происходит визуализация трехмерной модели 3D объекта с наложенной на нее текстурой.
Далее следует формирование маски изображения 3D объекта - на данном этапе происходит формирование маски точечного, мнемонического или изображения модели 3D объекта.
Далее следует помещение изображения 3D объекта (точечного, мнемонического или изображения 3D объекта) на текстурную карту. На данном этапе происходит наложение изображения 3D объекта на текстурную карту по маске.
Визуализация - на данном этапе происходит передача текстурной карты на устройство вывода.
Как видно из представленного описания и фиг.8-11, предложенный способ позволяет генерировать реалистичную текстуру в реальном масштабе времени независимо от ее сложности, количества объектов и возможных изменений параметров объектов (формы, размеров, положения), что способствует улучшению условий последующего наложения сформированной текстуры, например, на 3D объект, как показано на фиг.11.
Устройство для реализации предлагаемого способа генерирования текстуры в реальном масштабе времени (см. фиг.12) содержит средства хранения данных 1, средства определения зоны видимости 2, средства обработки тематических объектов 3, средства генерирования изображений 3D объектов 4, микропроцессор 5, видеоинтерфейс 6, средства временного хранения текстурной карты 7, видеомонитор 8, информационный вход 9.
Средства обработки тематических объектов 3 (см. фиг.13) содержат средства определения параметров тематических объектов 10, средства формирования маски 11, средства формирования тематической текстуры 12, средства помещения изображения тематического объекта на текстурную карту 13, вход-выход данных 14, выход средств обработки тематических объектов 15.
Средства генерирования изображений 3D объектов 4 (см. фиг.14) содержат средства коммутации 16, средства генерирования точечного изображения 3D объекта 17, средства генерирования мнемонического изображения 3D объекта 18, средства генерирования изображения модели 3D объекта 19, средства формирования маски изображения 3D объекта 20, средства помещения изображения 3D объекта на текстурную карту 21, вход-выход данных 22 и выход средств генерирования изображений 3D объектов 23.
Средства генерирования изображения модели 3D объекта 19 (см. фиг.15) содержат средства формирования модели 3D объекта 24, средства наложения текстуры на модель 3D объекта 25, средства рендеринга 26, вход-выход данных 27, выход средств генерирования изображения модели 3D объекта 28.
В устройстве для реализации способа генерирования текстуры в реальном масштабе времени последовательно соединены микропроцессор 5, видеоинтерфейс 6 и видеомонитор 8. Средства хранения данных 1, средства определения зоны видимости 2, средства обработки тематических объектов 3, средства обработки изображений 3D объектов 4 и средства временного хранения текстурной карты 7 соединены двунаправленной шиной соответственно с первым, вторым, третьим, четвертым и шестым входами микропроцессора 5. Информационный вход 9 соединен с пятым входом микропроцессора 5.
В средстве обработки тематических объектов 3 последовательно соединены средства определения параметров тематических объектов 10, средства формирования маски 11 и средства помещения изображения тематического объекта на текстурную карту 13. Второй и третий выходы средств определения параметров тематических объектов 10 соединены соответственно с первым входом средств формирования тематической текстуры 12 и со вторым входом средств помещения изображения тематического объекта на текстурную карту 13. Вход-выход данных 14 соединен двунаправленной шиной со средствами определения параметров тематических объектов 10, вторыми входами средств формирования маски 11 и средств формирования тематической текстуры 12, третьим входом средств помещения изображения на текстурную карту 13. Выход соединен с четвертым входом средств формирования изображения тематического объекта 13, выход средств помещения изображения тематического объекта на текстурную карту 13 соединен с выходом средств обработки тематических объектов 15.
В средстве генерирования изображений 3D объектов 4 последовательно соединены средства формирования маски изображения 3D объекта 20 и средства помещения изображения 3D объекта на текстурную карту 21. Вход-выход данных 22 средств генерирования изображений 3D объектов 4 соединен двунаправленной шиной с входом средств коммутации 16 и вторым входом средств помещения изображения 3D объекта на текстурную карту 21. Первый, второй и третий выходы средств коммутации 16 соединены соответственно с входами средств генерирования точечного изображения 3D объекта 17, средств генерирования мнемонического изображения 3D объекта 18 и средств генерирования изображения модели 3D объекта 19. Выходы средств генерирования точечного изображения 3D объекта 17, средств генерирования мнемонического изображения 3D объекта 18 и средств генерирования изображения модели 3D объекта 19 соединены с входом средств формирования маски изображения 3D объекта 20. Выход средств помещения изображения 3D объекта на текстурную карту 21 соединен с выходом 24 средств генерирования изображений 3D объектов 4.
В средстве генерирования изображения модели 3D объекта 19 последовательно соединены средства формирования модели 3D объекта 24, средства наложения текстуры на модель 3D объекта 25 и средства рендеринга 26. Вход средств формирования модели 3D объекта 24 и второй вход средств наложения текстуры на модель 3D объекта 25 соединены двунаправленной шиной с входом-выходом данных 27 средств генерирования изображения модели 3D объекта 19. Выход средств рендеринга 26 соединен с выходом 28 средств генерирования изображения модели 3D объекта 19.
Устройство для реализации способа генерирования текстуры в реальном масштабе времени работает следующим образом (см. фиг.12-16). На информационный вход 9 поступают следующие данные: тематические карты, карты расположения изображений 3D объектов, фотоданные, тематические данные высокого, среднего и низкого разрешения, маски тематических объектов, модели 3D объектов, мнемонические изображения 3D объектов, точечные изображения 3D объектов, текстуры 3D объектов. Кроме того, на информационный вход 9 поступает в реальном времени информация о положении наблюдателя, например высота и действительное место в случае использования устройства для реализации способа генерирования текстуры в реальном масштабе времени в полетном тренажере.
Средства хранения данных 1 обеспечивают хранение указанных выше данных, поступающих через информационный вход 9, и их предоставление на первый вход микропроцессора 5 для дальнейшей обработки. Средства хранения данных 1 могут включать, например, жесткий диск или другие устройства, позволяющие выполнять указанную функцию.
В процессе работы системы на информационный вход 9 поступает информация о положении наблюдателя, микропроцессор 5 обрабатывает ее и передает на вход средств определения зоны видимости 2, где в зависимости от текущего положения наблюдателя осуществляется расчет области, видимой наблюдателю. В простейшем случае (см. фиг.3) в зависимости от предварительно заданного значения угла обзора осуществляется расчет границ квадрата видимости на плоскости XY, причем координата Z наблюдателя является высотой наблюдателя над плоскостью. Таким образом необходимо рассчитать четыре значения X1, Х2, Y1, Y2, ограничивающие квадрат зоны видимости на плоскости XY. Данное устройство может быть реализовано в виде комбинационной логической схемы, реализующей указанную функцию. Результаты расчета передаются на второй вход микропроцессора 5.
В зависимости от зоны видимости микропроцессор 5 запрашивает из средств хранения данных 1 нужную часть тематической карты. Тематическая карта поступает на первый вход микропроцессора 5.
После поступления тематической карты микропроцессор 5 формирует исходную текстурную карту и передает ее на вход средств временного хранения текстурной карты 7, которые осуществляют хранение текстурной карты и ее предоставление на шестой вход микропроцессора 5 для дальнейшей обработки. Средства временного хранения текстурной карты 7 исполняют роль буфера и могут включать, например, высокоскоростное ОЗУ или другие устройства, позволяющие выполнять указанную функцию.
После формирования исходной текстурной карты микропроцессор 5 начинает последовательную обработку тематической карты, т.е. производит обход всех имеющихся тематических объектов.
После обнаружения тематического объекта микропроцессор 5 передает информацию о нем на вход средств обработки тематических объектов 3, которые обеспечиваю помещение изображения тематического объекта на текстурную карту. В процессе работы средства обработки тематических объектов 3 запрашивают маску тематического объекта, соответствующие текстурные данные и фотоданные из средств хранения данных 1 через микропроцессор 5, а также текстурную карту из средств временного хранения текстурной карты 7.
После помещения изображения тематического объекта на текстурную карту текстурная карта передается на третий вход микропроцессора 5, который передает ее на вход средств временного хранения тематической карты 7.
После помещения изображений всех тематических объектов на текстурную карту микропроцессор 5 запрашивает из средств хранения данных 1 нужную часть карты расположения изображений 3D объектов. Карта расположения изображений 3D объектов поступает на первый вход микропроцессора 5, после чего микропроцессор 5 начинает последовательную обработку карты расположения изображений 3D объектов, т.е. производит обход всех имеющихся 3D объектов.
После обнаружения 3D объекта микропроцессор 5 передает информацию о нем на вход средств генерирования изображений 3D объектов 4, которые обеспечивают помещение соответствующего изображения 3D объекта (точечного, мнемонического или трехмерного) на текстурную карту. Выбор соответствующего изображения 3D объекта осуществляется в зависимости от положения наблюдателя. Другими словами, если 3D объект находится на расстоянии, меньшем предопределенного значения X, то генерируется его трехмерное изображение, если он находится на расстоянии, большем X, то генерируется его мнемоническое изображение, и, наконец, если 3D объект находится на расстоянии, большем предопределенного значения X, то генерируется его точечное изображение. Таким образом, микропроцессор 5 рассчитывает это расстояние и передает соответствующий управляющий сигнал переключения режима визуализации 3D объектов на вход средств генерирования изображений 3D объектов 4. В процессе работы средства генерирования изображений 3D объектов 4 запрашивают точечное, мнемоническое изображения 3D объекта, модель и текстуру 3D объекта, в зависимости от варианта визуализации, из средств хранения данных 1 через микропроцессор 5, а также текстурную карту из средств временного хранения текстурной карты 7.
После помещения изображения 3D объекта на текстурную карту текстурная карта передается на четвертый вход микропроцессора 5, который передает ее на вход средств временного хранения тематической карты 7.
После помещения всех изображений 3D объектов на текстурную карту микропроцессор 5 запрашивает полностью сформированную текстурную карту из средств временного хранения текстурной карты 7 и передает ее на вход видеоинтерфейса 6 для визуализации.
Видеоинтерфейс 6 осуществляет формирование изображения для вывода на экран видеомонитора 8. В качестве видеоинтерфейса можно использовать стандартный видеоадаптер ПК, например, NVIDIA 6600 GT или другой тип устройства, позволяющий выполнять указанные функции.
Видеомонитор 8 обеспечивает визуальное представление пользователю сформированного изображения текстурной карты, поступающего от видеоинтерфейса. В качестве видеомонитора можно использовать стандартный видеомонитор ПК, поддерживающий разрешение 1152×864 и 32 битную глубину цвета.
Как следует из анализа фиг.12-15, микропроцессор 5 обеспечивает централизованный обмен информацией между блоками устройства для реализации способа генерирования текстуры в реальном масштабе времени. Также микропроцессор 5 обеспечивает выполнение следующих функций: обработку тематической карты, обработку карты расположения изображений 3D объектов, определение варианта визуализации 3D объекта в зависимости от расстояния до него и обработку в реальном масштабе времени поступающих на информационный вход 9 данных о положении наблюдателя. В качестве микропроцессора можно использовать стандартный микропроцессор ПК, например, Intel® Pentium 4 3.8 GHz Extreme Edition или другой тип устройства, позволяющий выполнять указанные функции.
Средства обработки тематических объектов 3 работают следующим образом (см. фиг.13). Информация о параметрах тематических объектов, о параметрах маски тематического объекта, о текстуре и фотоданных поступает от микропроцессора 5 через вход-выход данных 14 на средства определения параметров тематических объектов 10, средства формирования маски 11, средства формирования тематической текстуры 12 и средства помещения изображения тематического объекта на текстурную карту 13. Средства определения параметров тематических объектов 10 по полученной информации определяют размеры, форму и положение тематических объектов на текстурной карте и затем осуществляют управление загрузкой и работой средства формирования маски 11, средства формирования тематической текстуры 12 и средства помещения изображения тематического объекта на текстурную карту 13.
Средства формирования маски 11 предназначены для формирования маски изображения тематического объекта по загруженным параметрам.
Средства формирования тематической текстуры 12 предназначены для формирования текстуры тематического объекта.
Средства помещения изображения тематического объекта на текстурную карту 13 служат для помещения изображения тематического объекта на текстурную карту по сформированной маске.
Средства формирования маски 11 запрашивают через вход-выход данных 14 из средства хранения данных 1 маску, по определенным параметрам тематического объекта формируют ее и передают средствам помещения изображения тематического объекта на текстурную карту 13.
Средства формирования тематической текстуры 12 формируют текстуру для помещения ее на текстурную карту путем формирования изображения тематического объекта по размерам сформированной маски. Если размер тематических данных меньше требуемого размера конечной текстуры, то тематическими данными заполняется вся требуемая текстура. Далее сформированная текстура тематического объекта передается средствам помещения изображения тематического объекта на текстурную карту 13.
Получив все необходимые данные, средства помещения изображения тематического объекта на текстурную карту 13 запрашивают через выход-вход данных 14 текстурную карту и по маске накладывают на нее сформированную текстуру. Текстурную карту с наложенным тематическим объектом передают на выход средств обработки тематических объектов 15.
Средства генерирования изображений 3D объектов 4 работают следующим образом (см. фиг.14). Средства генерирования изображения 3D объектов 4 обеспечивают формирование и наложение на текстурную карту изображений 3D объекта. Объекты могут быть представлены в виде точек при максимально высоком положении наблюдателя, в виде мнемонических изображений 3D объекта при среднем между максимально высоким положением и максимально приближенным значением положения наблюдателя и в виде 3D объектов при максимально приближенном положении наблюдателя. Информация о параметрах 3D объектов поступает от микропроцессора 5 через вход-выход данных 22 на средства коммутации 16 и средства помещения изображения 3D объекта на текстурную карту 21. Средства коммутации 16 по полученной информации осуществляют загрузку средства генерирования точечного изображения 3D объекта 17, средства генерирования мнемонического изображения 3D объекта 18 и средства генерирования изображения модели 3D объекта 19.
Для формирования точечного изображения 3D объекта в блок средства генерирования точечного изображения 3D объекта 17 через микропроцессор 5 поступают следующие данные из средств хранения данных 1: точечное изображение 3D объекта, положение изображения 3D объекта.
Для формирования мнемонического изображения 3D объекта в средства генерирования мнемонического изображения 3D объекта 18 через микропроцессор 5 поступают следующие данные из средств хранения данных 1: мнемоническое изображение 3D объекта, положение изображения 3D объекта.
Для формирования изображения модели 3D объекта в средства генерирования изображения модели 3D объекта 19 через микропроцессор 5 поступают следующие данные из средств хранения данных 1: модель 3D объекта, текстура 3D объекта, положение 3D объекта и его размеры.
Средства формирования маски изображения 3D объекта 20 по определенным параметрам 3D объекта формируют маску изображения 3D объекта и передают средствам помещения изображения 3D объекта на текстурную карту 21.
Получив все необходимые данные, средства помещения изображения 3D объекта на текстурную карту 21 по маске накладывают на текстурную карту изображение 3D объекта и передают его на выход 23 средств генерирования изображений 3D объектов 4.
Средства генерирования изображения модели 3D объекта 19 работают следующим образом (см. фиг.15). Информация о параметрах модели 3D объекта поступает от микропроцессора 5 через вход-выход данных 27 на средства формирования модели 3D объекта 24 и средства наложения текстуры на модель 3D объекта 25. Средства формирования модели 3D объекта 24 по полученной информации осуществляют загрузку модели 3D объекта из хранилища данных 1 и формирование модели конкретного 3D объекта с использованием таких параметров, как размеры, положение 3D объекта. Сформированная модель 3D объекта передается средствам наложения текстуры на модель 3D объекта 25. Средства наложения текстуры на модель 3D объекта 25 по полученной информации осуществляют загрузку текстуры модели 3D объекта из хранилища данных 1 и текстурирование модели конкретного 3D объекта. После наложения текстуры текстурированная модель 3D объекта передается средствам рендеринга 26. Средства рендеринга 26 осуществляют визуализацию текстурированной модели 3D объекта и передают визуализированное изображение на выход 28 средств генерирования изображения модели 3D объекта 19.
Приведенные описания способа генерирования текстуры в реальном масштабе времени и устройства для его реализации, по мнению авторов предполагаемого изобретения, показывают, что предлагаемый способ генерирования текстуры в реальном масштабе времени позволяет устранить недостатки известного способа генерирования текстуры и формирует изображение реалистичной текстуры в реальном масштабе времени. Фиг.8-11 наглядно демонстрируют это.
Технико-экономический эффект предложенного способа и устройства для его реализации заключается в генерировании более реалистичной текстуры в реальном масштабе времени, что способствует улучшению условий последующей обработки визуализируемой информации.
Источники информации
1. В.Штрассер, А.Шиллинг, Г.Книттель. Архитектуры высокопроизводительных графических систем // Открытые системы, №5, 1995.
2. A.Flavell. MIP-MAP Filtering в процессе выполнения приложения // www.ixbt.com., 02.11.1999.
3. Method and apparatus for texture generation // Patent CA 1217861 from 1987-02-07.
4. Texturing system // Patent US 2005055550 from 2005-03-10.
5. Image texturing system having theme cells // Patent US 5748867 from 1998-05-05.
Класс G06T11/60 редактирование фигур или текста; комбинирование фигур или текста