Способ создания видеоизображений компьютерной трехмерной виртуальной среды

Иллюстрации

Показать все

Изобретение относится к представлению видеоизображений компьютерной трехмерной виртуальной среды. Технический результат - возможность просматривать обработанные экземпляры визуализации трехмерной виртуальной среды как потоковое видео на устройствах, которые недостаточно мощны, чтобы реализовать процесс визуализации с использованием собственных ресурсов или естественным образом. Способ создания видеоизображений компьютерной трехмерной (3D) виртуальной среды включает в себя визуализацию с помощью процесса 3D визуализации итерации 3D виртуальной среды на основе данных процесса кодирования видео, причем данные из процесса кодирования видео содержат данные о предполагаемом размере экрана и скорости передачи данных видеоизображения визуализированной итерации 3D виртуальной среды, которую предполагается создать с помощью процесса кодирования видео. 19 з.п. ф-лы, 4 ил.

Реферат

Область техники, к которой относится изобретение

Настоящее изобретение относится к виртуальным средам и, в частности, к способу и устройству для представления видеоизображений компьютерной трехмерной виртуальной среды.

Уровень техники

Виртуальные среды моделируют реальные или фантастические трехмерные среды и позволяют многим участникам взаимодействовать друг с другом и со структурами в указанных средах с помощью удаленных клиентов. В одном из вариантов виртуальная среда может использоваться в связи с игрой, в которой пользователь берет на себя роль персонажа и управление большинством действий персонажа в игре. В дополнение к играм виртуальные среды также используются для моделирования реальных сред обитания, чтобы предоставить пользователям интерфейс, который позволяет осуществлять онлайновое обучение, профессиональную подготовку, покупки товаров и другие типы взаимодействия между группами пользователей, а также между бизнесменами и пользователями.

В виртуальной среде реальный или фантастический мир моделируется внутри процессора и/или памяти компьютера. В общем случае виртуальная среда обладает своим собственным отдельным пространством в трехмерных координатах. Аватары, представляющие пользователей, могут перемещаться в трехмерном пространстве и взаимодействовать с объектами и другими аватарами внутри указанного трехмерного пространства. Сервер виртуальной среды поддерживает виртуальную среду и генерирует визуальное представление для каждого пользователя в зависимости от местоположения аватара пользователя внутри виртуальной среды.

Виртуальная среда может быть реализована как автономное приложение, например в виде компьютерного пакета программ для САПР или компьютерной игры. В альтернативном случае виртуальная среда может быть реализована в онлайновом формате так, чтобы многие пользователи могли действовать в виртуальной среде через компьютерную сеть, например локальную сеть или всемирную сеть, такую как Интернет.

Пользователи представляются в виртуальной среде в виде "аватара", который часто является трехмерным представлением человека или другого объекта, предназначенным для представления его в виртуальной среде. Участники взаимодействуют с программой виртуальной среды, чтобы управлять перемещением аватаров внутри виртуальной среде. Участник может управлять аватаром с помощью обычных устройств ввода, таких как мышь и клавиатура компьютера, клавишная панель, или, как вариант, можно использовать более специализированные устройства управления, например игровой контроллер.

При перемещении аватара внутри виртуальной среды визуальное представление (сцена), воспринимаемое пользователем, изменяется в соответствии с местоположением пользователя в виртуальной среде (например, местоположением аватара внутри виртуальной среды) и направлением взгляда (т.е. взгляда аватара). Трехмерную виртуальную среду визуализируют в зависимости от местоположения аватара и направлением его взгляда в виртуальной среде, при этом визуальное представление трехмерной виртуальной среды отображается для пользователя на его дисплее. Сцены отображаются для участников так, чтобы участник, управляющий аватаром, мог видеть то, что видит аватар. Кроме того, многие виртуальные среды позволяют переключать точки обзора, например с предпочтительной позиции снаружи (т.е. позади) аватара на позицию, с которой можно видеть, где аватар находится в виртуальной среде. Аватару позволяется ходить, бегать, плавать и перемещаться в виртуальной среде другими способами. Аватар также может обладать тонкими двигательными навыками, позволяющими ему поднимать и бросать объект, с помощью ключа открывать дверь и выполнять другие подобные задачи.

Передвижение внутри виртуальной среды или перемещение объекта через виртуальную среду осуществляется путем визуализации виртуальной среды в нескольких изменяющихся со временем позициях. Путем демонстрации отличных друг от друга итерационных экземпляров трехмерной виртуальной среды с большой частотой, например 30 или 60 раз в секунду, движение внутри виртуальной среды или перемещение объекта через виртуальную среду может казаться непрерывным.

Генерирование создающей полный эффект присутствия трехмерной среды с полноценным движением требует значительных возможностей обработки графики или в виде аппаратного ускорителя графики, или мощного центрального процессора (ЦП). Кроме того, визуализация трехмерной графики с полноценным движением требует программного обеспечения, которое может иметь доступ к ресурсам процессора и аппаратного ускорителя устройства. В некоторых ситуациях нецелесообразно поставлять программное обеспечение, обладающее указанными функциями (например, пользователь, просматривающий интернет-ресурсы, может установить некоторые программы, позволяющие отображать трехмерную среду, которые создадут препятствие для использования указанного программного обеспечения). Кроме того, в некоторых ситуациях пользователям может быть не разрешено устанавливать новое программное обеспечение на их устройства (мобильные устройства часто рассматриваются как некие персональные компьютеры (ПК), в частности в организациях, ориентированных на обеспечение безопасности). Аналогичным образом, не все устройства снабжены аппаратной графикой или вычислительными возможностями, достаточными для визуализации трехмерной виртуальной среды с полноценным движением. Например, многие домашние компьютеры и портативные персональные компьютеры, а также большинство обычных карманных компьютеров не обладают достаточными вычислительными возможностями, чтобы создавать трехмерную графику с полноценным движением. Поскольку эти ограничения не позволяют пользователям применять указанные типы устройств, чтобы действовать в виртуальной среде, было бы преимуществом, если бы таким пользователям была предоставлена возможность работы в трехмерной виртуальной среде с использованием вычислительных устройств указанных типов с ограниченными возможностями.

Сущность изобретения

Данный раздел "Сущность изобретения", а также раздел "Реферат изобретения" в настоящей заявке имеют своей целью представить некоторые концепции, обсуждающиеся ниже в разделе "Подробное описание изобретения". Разделы "Сущность изобретения" и "Реферат изобретения" не предназначены для очерчивания защищаемой области действия изобретения, которая описана в представленной далее формуле изобретения.

Сервер обрабатывает экземпляры визуализации трехмерной виртуальной среды как потоковое видео, которое можно затем просматривать на устройствах, недостаточно мощных, чтобы реализовать процесс визуализации с использованием собственных ресурсов или естественным образом, или на которых не установлено собственное программное обеспечение для визуализации. Процедура обработки на сервере разбита на следующие два шага: трехмерной визуализации и кодирования видео. На шаге трехмерной визуализации с целью визуализации версии виртуальной среды при соответствующей частоте кадров, с нужным размером видеоизображения, в соответствующем цветовом пространстве и с соответствующим уровнем детализации используются сведения о кодеке, целевых частоте видеокадров, размере видеоизображения и скорости передачи данных из шага кодирования видео, так, чтобы визуализированная виртуальная среда на шаге кодирования видео была оптимальной для кодирования. Аналогичным образом, на шаге кодирования видео, чтобы уменьшить сложность процесса кодирования видео, используются данные о движении из шага трехмерной визуализации вместе с оценками движения, размера макроблоков и с учетом выбранного типа кадра.

Краткое описание чертежей

Особенности настоящего изобретения, в частности, указаны в прилагаемой формуле изобретения. Настоящее изобретение иллюстрируется примерами, представленными в приведенных ниже чертежах, на которых одинаковые элементы обозначены одинаковыми ссылочными элементами. На приведенных ниже чертежах с целью иллюстрации отражены различные варианты осуществления настоящего изобретения, которые не ограничивают область действия изобретения. Чтобы не загромождать чертежи, не все компоненты обозначены на каждом чертеже. На чертежах:

на фиг.1 представлен пример функциональной схемы системы в соответствии с одним из вариантов осуществления настоящего изобретения, позволяющей пользователю иметь доступ к компьютерной трехмерной виртуальной среде;

на фиг.2 представлен пример портативного вычислительного устройства с ограниченными возможностями;

на фиг.3 представлен пример функциональной схемы визуализации в соответствии с одним из вариантов осуществления настоящего изобретения; и

на фиг.4 представлена блок-схема алгоритма визуализации трехмерной виртуальной среды и процесса кодирования видео в соответствии с одним из вариантов осуществления настоящего изобретения.

Подробное описание

В данном подробном описании приведены конкретные подробные сведения, призванные помочь полностью понять изобретение. Однако специалисту в данной области техники понятно, что настоящее изобретение можно внедрить, и не имея указанных сведений. В других примерах хорошо известные способы, процедуры, компоненты, протоколы, алгоритмы и схемы подробно не описаны, чтобы не загромождать описание изобретения.

На фиг.1 представлен пример части системы 10, где показано взаимодействие между множеством пользователей и одной или более сетевыми виртуальными средами 12. Пользователь может получить доступ к сетевой виртуальной среде 12, используя компьютер 14 с достаточной аппаратной производительностью обработки и программным обеспечением, необходимым для визуализации трехмерной виртуальной среды с полноценным движением. Пользователи могут получить доступ к виртуальной среде с помощью сети с коммутацией пакетов 18 или другой общей инфраструктуры связи.

В альтернативном случае пользователю может понадобиться получить доступ к сетевой виртуальной среде 12 с использованием вычислительного устройства с ограниченными возможностями 16 с аппаратными и/или программными средствами, недостаточными для того, чтобы визуализировать трехмерную виртуальную среду с полноценным движением. Примерами вычислительных устройств с ограниченными возможностями могут быть маломощные портативные персональные компьютеры, карманные компьютеры, сотовые телефоны, портативные игровые устройства и другие устройства, которые или не имеют достаточных вычислительных возможностей для визуализации трехмерной виртуальной среды с полноценным движением, или имеют достаточные вычислительные возможности, но не имеют требуемого программного обеспечения и т.д. Термин "вычислительное устройство с ограниченными возможностями" используется здесь для обозначения любого устройства, которое или не обладает производительностью обработки, достаточной для визуализации трехмерной виртуальной среды с полноценным движением, или не имеют нужного программного обеспечения для визуализации трехмерной виртуальной среды с полноценным движением.

Виртуальная среда 12 реализуется в сети одним или несколькими серверами виртуальной среды 20. Сервер виртуальной среды поддерживает виртуальную среду и позволяет пользователям виртуальной среды взаимодействовать с виртуальной средой и друг с другом через сеть. Сеансы связи, например общение пользователей по аудиоканалу, могут быть реализованы с помощью одного или нескольких связных серверов 22, так что пользователи могут разговаривать друг с другом и прослушивать дополнительный аудиовход при работе в виртуальной среде.

Один или несколько серверов визуализации 24 предназначены для обеспечения доступа к виртуальной среде пользователям, имеющим вычислительные устройства с ограниченными возможностями. Серверы визуализации 24 реализуют процессы визуализации для каждого из вычислительных устройств с ограниченными возможностями 16 и преобразуют визуализированную трехмерную виртуальную среду в видеоданные, поток которых передается в вычислительное устройство с ограниченными возможностями через сеть 18. Вычислительное устройство с ограниченными возможностями может обладать недостаточной вычислительной мощностью, и/или на нем не установлено программное обеспечение для того, чтобы визуализировать трехмерную виртуальную среду с полноценным движением, однако оно может обладать достаточной вычислительной мощностью, чтобы декодировать и отображать на экране видео с полноценным движением. Таким образом, серверы визуализации создают видеомост, позволяющий пользователям вычислительных устройств с ограниченными возможностями работать с трехмерной виртуальной средой с полноценным движением.

Кроме того, сервер визуализации 24 может создавать видеоизображения трехмерной виртуальной среды для архивных целей. В данном варианте осуществления настоящего изобретения рассматривается вариант скорее сохранения потока видеоданных для последующего воспроизведения, чем передачи его в реальном времени на вычислительное устройство с ограниченными возможностями 16. Так как процесс кодирования визуализированных данных в видеоданные одинаков в обоих случаях, вариант осуществления настоящего изобретения будет описан в основном на примере создания потокового видео. Однако тот же самый процесс может использоваться для создания видео для хранения в памяти. Аналогичным образом, когда пользователь компьютера 14, имеющего достаточную производительность обработки и установленное программное обеспечение, намерен записать свое взаимодействие с виртуальной средой, вариант объединенного процесса трехмерной визуализации и кодирования видео для того, чтобы пользователь мог записать свои действия, выполняемые в виртуальной среде, может быть реализован скорее на компьютере 14, чем на сервере 24.

В примере, представленном на фиг.1, сервер виртуальной среды 20 подает входные данные (стрелка 1) на компьютер 14, чтобы визуализировать виртуальную среду для пользователя. Там, где визуальное представление виртуальной среды пользователя компьютера может изменяться в зависимости от местоположения и точки обзора аватара пользователя, вход (стрелка 1) будет уникальным для каждого пользователя. Там, где пользователи просматривают виртуальную среду через одну и ту же видеокамеру, каждый компьютер может генерировать сходное визуальное представление трехмерной виртуальной среды.

Аналогичным образом, сервер виртуальной среды 20 также подает входные данные того же типа, что подаются на компьютеры 14 (стрелка 1), на серверы визуализации 24 (стрелка 2). Это позволяет серверу визуализации 24 визуализировать трехмерную виртуальную среду с полноценным движением для каждого из вычислительных устройств с ограниченными возможностями 16, поддерживаемых сервером визуализации. Сервер визуализации 24 реализует процесс трехмерной визуализации с полноценным движением для каждого поддерживаемого пользователя и преобразует выход пользователя в потоковое видео. Затем потоковое видео направляется в вычислительное устройство с ограниченными возможностями через сеть 18 так, что пользователи могут видеть трехмерную виртуальную среду на своих вычислительных устройствах с ограниченными возможностями.

Имеются и другие ситуации, в которых виртуальная среда поддерживает точку обзора третьего лица с набора местоположений стационарных видеокамер. Например, виртуальная среда может содержать по одной стационарной видеокамере на комнату. В этом случае сервер визуализации может визуализировать виртуальную среду для каждой из стационарных видеокамер, которые используются хотя бы одним пользователем, и затем передает поток видеоданных, связанных с указанной видеокамерой, каждому пользователю, который в данный момент просматривает виртуальную среду через указанную видеокамеру. Например, в контексте презентации каждому зрителю может быть представлено одно и то же визуальное представление докладчика через стационарную видеокамеру в аудитории. В этом примере и других таких же ситуациях сервер визуализации может визуализировать трехмерную виртуальную среду один раз для группы зрителей, а в процессе кодирования видео может закодировать видео так, чтобы видео можно было направлять каждому из зрителей с помощью кодека, соответствующего данному конкретному зрителю (например, с соответствующими частотой видеокадров, скоростью передачи данных, разрешением и т.д.). Это позволяет для отправки пользователям трехмерную виртуальную среду визуализировать один раз, а видео кодировать несколько раз. В этой связи заметим, что там, где конфигурация множества зрителей настроена на прием потока видеоданных одного и того же типа, для однократного кодирования видео требуется только процесс кодирования видео.

Там, где имеется множество пользователей, работающих с виртуальной средой, возможно, что различным пользователям может потребоваться получать видео в формате с разной частотой кадров и скоростью передачи данных. Например, одна из групп пользователей может получать видео при относительно низкой, а другая группа - при относительно высокой скорости передачи данных. Несмотря на то, что все пользователи просматривают трехмерную виртуальную среду через одну и ту же видеокамеру, при визуализации трехмерной виртуальной среды для каждой из различных скоростей кодирования видео могут, если необходимо, использоваться различные процессы трехмерной визуализации.

Компьютер 14 содержит процессор 26 и, как вариант, графическую карту 28. Компьютер также содержит память, в которой хранится одна или более компьютерных программ, которые, будучи загружены в процессор, позволяют пользователю создавать трехмерную виртуальную среду с полноценным движением. Там, где компьютер содержит графическую карту 28, часть обработки, связанной с созданием трехмерной виртуальной среды с полноценным движением, может быть реализована графической картой, что позволяет уменьшить нагрузку на процессор 26.

В примере, представленном на фиг.1, компьютер 14 содержит клиент виртуальной среды 30, который вместе с сервером виртуальной среды 20 создает трехмерную виртуальную среду для пользователя. Пользовательский интерфейс 32 с виртуальной средой позволяет пользователю вводить данные для управления свойствами виртуальной среды. Например, пользовательский интерфейс может предоставить инструментальную панель с элементами управления, которую пользователь может использовать для управления своим аватаром в виртуальной среде и другими свойствами виртуальной среды. Пользовательский интерфейс 32 может быть частью клиента виртуальной среды 30 или может быть реализован в виде отдельного процесса. Отдельный клиент виртуальной среды может потребоваться для каждой виртуальной среды, к которой пользователь намерен получить доступ, хотя конкретный клиент виртуальной среды может быть предназначен для выполнения функций интерфейса с несколькими серверами виртуальной среды. Связной клиент 34 предназначен для предоставления пользователю канала связи с другими пользователями, которые также участвуют в использовании компьютерной трехмерной виртуальной среды. Связной клиент может быть частью клиента виртуальной среды 30, пользовательского интерфейса 32 или может быть отдельным процессом, выполняющимся на компьютере 14. Пользователь может управлять своим аватаром внутри виртуальной среды и другими свойствами виртуальной среды с помощью пользовательских устройств ввода 40. Визуальное представление визуализированной виртуальной среды представляется пользователю с помощью дисплея и/или звукового устройства 42.

Пользователь может использовать устройства управления, такие как компьютерные клавиатура и мышь, для управления передвижением аватара внутри виртуальной среды. Обычно клавиши на клавиатуре используются для управления перемещением аватара, а мышь - для управления углом наклона видеокамеры и направлением ее перемещения. Одним общим набором букв, который часто используется для управления аватаром, является WASD, хотя другие клавиши также обычно используются для выполнения определенных задач. Пользователь может удерживать нажатой клавишу W, чтобы, например, заставить свой аватар ходить, а мышь использовать для изменения направления, в котором аватар идет. Разработаны и другие многочисленные устройства, такие как сенсорные экраны, специальные игровые контроллеры, джойстики и т.д. Со временем было разработано много различных способов управления игровой средой и другими типами виртуальных сред. Примерами разработанных устройств ввода являются клавишные панели, клавиатуры, световые перья, мышь, игровые контроллеры, микрофоны, сенсорные пользовательские устройства ввода и устройства ввода других типов.

Вычислительное устройство с ограниченными возможностями 16, такое как компьютер 14, содержит процессор 26 и память, в которой хранится одна или более компьютерных программ, которые, будучи загружены в процессор, позволяют компьютеру действовать в трехмерной виртуальной среде. Однако в отличие от процессора 26 компьютера 14 процессор 26 в вычислительном устройстве с ограниченными возможностями или недостаточно мощный, чтобы визуализировать трехмерную виртуальную среду с полноценным движением, или не имеет доступа к необходимому программному обеспечению, позволяющему визуализировать трехмерную виртуальную среду с полноценным движением. Соответственно, чтобы дать пользователю вычислительного устройства с ограниченными возможностями 16 работать с трехмерной виртуальной средой с полноценным движением, вычислительное устройство с ограниченными возможностями 16 получает потоковое видео, представляющее визуализированную трехмерную виртуальную среду, от одного из серверов визуализации 24.

Вычислительное устройство с ограниченными возможностями 16 в зависимости от конкретного варианта осуществления настоящего изобретения может содержать несколько частей программного обеспечения, позволяющих действовать в виртуальной среде. Например, вычислительное устройство с ограниченными возможностями 16 может содержать клиент виртуальной среды, подобный клиенту компьютера 14. Клиент виртуальной среды может быть адаптирован для работы в более ограниченной среде обработки данных вычислительного устройства с ограниченными возможностями. В альтернативном случае, как показано на фиг.1, вычислительное устройство с ограниченными возможностями 16 может использовать видеодекодер 31 вместо клиента виртуальной среды 30. Видеодекодер 31 декодирует потоковое видео, представляющее виртуальную среду, которая визуализирована и закодирована сервером визуализации 24.

Кроме того, вычислительное устройство с ограниченными возможностями содержит пользовательский интерфейс, предназначенный для сбора входных данных от пользователей и обеспечения пользователям возможности ввода данных на сервер визуализации 24, что позволяет каждому пользователю управлять своим аватаром внутри виртуальной среды и другими функциями виртуальной среды. Пользовательский интерфейс может предоставлять такую же инструментальную панель, как и пользовательский интерфейс на компьютере 14, или может предоставлять пользователю ограниченный набор функций на основе ограниченного набора имеющихся элементов управления на вычислительном устройстве с ограниченными возможностями. Пользователь вводит данные через пользовательский интерфейс 32, и конкретные введенные пользователем данные подаются на сервер, который выполняет визуализацию для пользователя. Сервер визуализации может выдавать по мере необходимости указанные входные данные на сервер виртуальной среды, где они воздействуют на других пользователей трехмерной виртуальной среды.

В альтернативном случае, вычислительное устройство с ограниченными возможностями может использовать веб-браузер 36 и подключаемый программный модуль видео 38, чтобы предоставить вычислительному устройству с ограниченными возможностями возможность отображать на экране потоковое видео с сервера визуализации 24. Подключаемый программный модуль видео дает возможность декодировать видеоданные и отображать видео на экране вычислительного устройства с ограниченными возможностями. В данном варианте осуществления настоящего изобретения веб-браузер или подключаемый программный модуль также функционируют как пользовательский интерфейс. Как и компьютер 14, вычислительное устройство с ограниченными возможностями 16 может содержать связной клиент 34, позволяющий пользователю общаться с другими пользователями трехмерной виртуальной среды.

На фиг.2 представлен пример вычислительного устройства с ограниченными возможностями 16. Как показано на фиг.2, обычно карманное устройство содержит пользовательские устройства ввода 40, такие как клавишная панель и/или клавиатура 70, кнопки специальных функций 72, трекбол 74, видеокамеру 76 и микрофоны 78. Кроме того, устройства этого типа обычно содержат цветной ЖК-дисплей 80 и громкоговоритель 82. Вычислительное устройство с ограниченными возможностями 16 также снабжено устройством обработки, например процессором, аппаратными средствами и антенной, которые дают возможность осуществлять обмен данными между вычислительным устройством с ограниченными возможностями и одной или несколькими беспроводными сетями связи (например, сотовой сетью или сетью 802.11), а также возможность выполнять на них конкретные программные приложения. Разработано много типов вычислительных устройств с ограниченными возможностями, и фиг.2 приведена просто в качестве примера типового вычислительного устройства с ограниченными возможностями.

Как показано на фиг.2, вычислительное устройство с ограниченными возможностями может содержать ограниченные элементы управления, которые могут ограничивать тип входных данных, которые пользователь может вводить в пользовательский интерфейс, чтобы управлять действиями своего аватара внутри виртуальной среды и другими свойствами виртуальной среды. Соответственно, пользовательский интерфейс может быть адаптирован так, чтобы различные элементы управления на различных устройствах можно было использовать для управления одними и теми же функциями внутри виртуальной среды.

При работе сервер виртуальной среды 20 снабжает сервер визуализации 24 информацией о виртуальной среде, чтобы дать возможность серверу визуализации визуализировать виртуальные среды для каждого из вычислительных устройств с ограниченными возможностями. На сервере визуализации 24 работает клиент виртуальной среды 30, соответствующий требованиям вычислительного устройства с ограниченными возможностями 16, поддерживаемого сервером, предназначенный для визуализации виртуальной среды для вычислительных устройств с ограниченными возможностями. Пользователи вычислительных устройств с ограниченными возможностями взаимодействуют с пользовательскими устройствами ввода 40 с целью управления своими аватарами в виртуальной среде. Входные сигналы, вводимые с помощью пользовательских устройств ввода 40, принимаются пользовательским интерфейсом 32, клиентом виртуальной среды 30 или веб-браузером и передаются обратно на сервер визуализации 24. Сервер визуализации 24 использует входные данные примерно таким же способом, как и клиент виртуальной среды 30 на компьютере 14, чтобы пользователь мог управлять своим аватаром в виртуальной среде. Сервер визуализации 24 визуализирует трехмерную виртуальную среду, создает потоковое видео и передает его обратно на вычислительное устройство с ограниченными возможностями. Видео выдается на дисплей пользователя и/или аудиоустройство 42 так, чтобы пользователь мог действовать в трехмерной виртуальной среде.

На фиг.3 представлен пример функциональной схемы сервера визуализации 24. В варианте осуществления настоящего изобретения, представленном на фиг.3, сервер визуализации 24 включает в себя процессор 50, содержащий логическую схему управления 52, которая после загрузки программного обеспечения из памяти 54 вынуждает сервер визуализации визуализировать трехмерные виртуальные среды для клиентов вычислительного устройства с ограниченными возможностями, преобразует визуализированную трехмерную виртуальную среду в потоковое видео, и выдает на выход потоковое видео. В состав сервера 24 могут быть включены одна или несколько графических карт 56, предназначенных для выполнения определенных функций процесса визуализации. В некоторых вариантах осуществления настоящего изобретения виртуально все процессы трехмерной визуализации и кодирования видео, от трехмерного кодирования до кодирования видео могут выполняться современными программируемыми графическими картами. В ближайшем будущем графические процессоры могут стать идеальной платформой для выполнения объединенных процессов визуализации и кодирования.

В иллюстрируемом варианте осуществления настоящего изобретения сервер визуализации содержит объединенное устройство трехмерной визуализации и кодирования видео 58. Объединенное устройство трехмерной визуализации и кодирования видео обеспечивает выполнение процесса визуализации трехмерной виртуальной среды, соответствующего требованиям вычислительного устройства с ограниченными возможностями. Информация в процессе трехмерной визуализации используется одновременно и для процесса кодирования видео, так что процесс кодирования видео может повлиять на процесс трехмерной визуализации. Дополнительные сведения о выполнении объединенного процесса трехмерной визуализации и кодирования видео 58 приведены ниже в связи с фиг.4.

Север визуализации 24 также содержит диалоговое программное обеспечение 60, предназначенное для приема входных данных от пользователей вычислительных устройств с ограниченными возможностями и позволяющее пользователям управлять своими аватарами в виртуальной среде. Как вариант, сервер визуализации 24 может содержать также дополнительные компоненты. Например, на фиг.3 сервер визуализации 24 содержит звуковой компонент 62, дающий возможность серверу осуществлять микширование звука и соответствующий требованиям вычислительного устройства с ограниченными возможностями. Таким образом, в данном варианте осуществления настоящего изобретения сервер визуализации выполняет функции связного сервера 22, а также выполняет визуализацию, соответствующую требованиям его клиента. Настоящее изобретение не ограничено вариантом осуществления настоящего изобретения такого рода, например многие функции могут быть реализованы одним комплектом серверов или различные функции могут быть разделены и реализованы отдельными группами серверов, как показано на фиг.1.

На фиг.4 представлен объединенный процесс трехмерной визуализации и кодирования видео, который может быть реализован сервером визуализации 24 в соответствии с одним из вариантов осуществления настоящего изобретения. Подобным же образом объединенный процесс трехмерной визуализации и кодирования видео может быть реализован сервером визуализации 24 или компьютером 14 так, чтобы можно было записать действия пользователя в трехмерной виртуальной среде.

Как показано на фиг.4, когда трехмерная виртуальная среда должна быть визуализирована с целью отображения на экране и последующего кодирования в видеоданные для передачи через сеть, объединенный процесс трехмерной визуализации и кодирования видео логически проходит через несколько отдельных этапов (на фиг.4 обозначены как 100-160). На практике функциональность различных этапов можно поменять местами друг с другом или изменить порядок этапов в зависимости от конкретного варианта осуществления настоящего изобретения. Кроме того, как можно видеть, в различных реализациях процессы визуализации и кодирования несколько отличаются и, следовательно, могут быть другие методы описания способов, какими трехмерная виртуальная среда визуализируется и затем кодируется для хранения или передачи зрителю.

Как показано на фиг.4, первый этап процесса трехмерной визуализации и кодирования видео предназначен для создания модельного визуального представления (сцены) трехмерной виртуальной среды (100). Чтобы сделать это, в процессе визуализации сначала создается первоначальная модель виртуальной среды, а в последующих итерациях происходит просмотр данных сцен и/или геометрии с целью поиска движения объектов и других изменений, которые могут быть выполнены в трехмерной модели. Процесс трехмерной визуализации направлен также на нацеливание и перемещение видеокамеры, создающей изображение сцены, для определения точки обзора в пределах трехмерной модели. Знание местоположения и ориентации видеокамеры позволяет в процессе трехмерной визуализации выполнить проверку видимости объекта, чтобы определить, какие объекты закрываются другими элементами трехмерной модели.

В соответствии с вариантом осуществления настоящего изобретения данные о перемещении видеокамеры или изменении ее местоположения и направления движения, а также о видимом движении объекта должны сохраняться в памяти для использования в процессе кодирования видео (обсуждается ниже), поэтому эту информацию можно использовать вместо оценки перемещения на этапе кодирования видео. В частности, поскольку в данных процесса трехмерной визуализации имеются сведения о том, какие объекты перемещаются и какое движение создается, эта информация может использоваться вместо оценки движения или как руководство для оценки движения, чтобы упростить часть процесса кодирования видео, связанную с оценкой движения. Таким образом, информация из процесса трехмерной визуализации может использоваться для облегчения кодирования видео.

Кроме того, поскольку процесс кодирования видео выполняется в связи с процессом трехмерной визуализации, информация из процесса кодирования видео может использоваться для выбора способа, каким клиент виртуальной среды визуализирует виртуальную среду, так, чтобы визуализированная виртуальная среда была настроена на оптимальное ее кодирование в процессе кодирования видео. Например, в процессе трехмерной визуализации сначала выбирается уровень детализации, который будет принят для модельного визуального представления трехмерной виртуальной среды. Уровень детализации влияет на то, сколько деталей вводится в свойства виртуальной среды. Например, кирпичная стена, расположенная очень близко к зрителю, может быть текстурирована так, что будут видны отдельные кирпичи, разделенные серыми полосками строительного раствора. Та же самая кирпичная стена при просмотре с большого расстояния может быть просто окрашена в чистый красный цвет.

Аналогичным образом, некоторые дальние объекты могут показаться слишком маленькими, чтобы включать их в модельное визуальное представление виртуальной среды. Когда человек перемещается через виртуальную среду, эти объекты всплывают на экране, когда аватар приближается достаточно близко к ним, чтобы их можно было включить в модельное визуальное представление (сцену). Выбор уровня детализации, который следует принять для данного модельного визуального представления, производится в начале процесса, чтобы исключить объекты, которые в итоге будут слишком малы для введения в заключительную визуализированную сцену, поэтому не нужен процесс визуализации, который к тому же требует затрат ресурсов на моделирование таких объектов. Это позволяет настроить процесс визуализации так, чтобы избежать расхода ресурсов на моделирование объектов, представляющих элементы, которые в итоге окажутся слишком малыми, чтобы их можно было видеть при данном ограниченном разрешении потокового видео.

В соответствии с одним из вариантов осуществления настоящего изобретения, поскольку из данных процесса трехмерной визуализации можно извлечь данные о предполагаемых целевых размере видеоизображения и скорости передачи данных, которые будет использоваться в процессе декодирования видеоданных для