Обработка изображения

Изобретение относится к средствам для обработки изображений. Технический результат заключается в повышении эффективности обработки изображений. Сохраняют множество изображений для трехмерной сцены, причем изображения соответствуют разным позициям и направлениям просмотра для сцены. Сохраняют ассоциированные векторы параметров позиции для множества изображений, причем ассоциированный вектор параметров позиции для изображения из множества изображений содержит данные, указывающие позицию просмотра и направление просмотра для изображения. Принимают вектор параметров позиции просмотра от удаленного клиента. Выбирают набор изображений из множества изображений в ответ на сравнение вектора параметров позиции просмотра и ассоциированных векторов параметров позиции. Генерируют синтезированное изображение из набора изображений. Генерируют опорный вектор параметров позиции для синтезированного изображения, причем опорный вектор параметров позиции указывает позицию просмотра и направление вида для синтезированного изображения. 5 н. и 9 з.п. ф-лы, 5 ил.

 

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

УРОВЕНЬ ИЗОБРЕТЕНИЯ

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

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

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

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

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

В качестве примера в настоящее время на рынок выходят очки виртуальной реальности. Эти очки позволяют зрителям воспринимать захваченное 360-градусное (панорамное) видео. Эти 360-градусные видеоматериалы часто являются предварительно захваченными при помощи камерных установок, в которых отдельные изображения сшиваются вместе в единое сферическое отображение. Общими стерео-форматами для 360-градусного видео являются с разбиением на верхнее/нижнее и левое/правое. Аналогично непанорамному стерео-видео, картинки для левого глаза и правого глаза сжимаются как часть единого видеопотока в формате H.264. После декодирования одного кадра зритель поворачивает его/ее голову, чтобы увидеть мир вокруг него/нее. Текущим примером является запись, сделанная Google на концерте в Карнеги-Холл [https://performingarts.withgoogle.tabhumblecom/en_us/performances/carnegie-hall]. В данном примере зрители могут воспринимать 360-градусный эффект возможности оглядеться по сторонам и могут дискретно переключаться между тремя видеопотоками, записанными с разных позиций. При переключении загружается другой видеопоток, который прерывает восприятие.

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

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

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

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Синтезированное изображение может просто быть сгенерированным изображением и ссылки на синтезированное изображение могут быть заменены на ссылки на сгенерированное изображение.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это может обеспечивать в частности эффективную настройку и адаптацию к отдельным предпочтениям и требованиям отдельного пользователя/приложения. Параметр может, как правило, быть параметром времени.

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

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

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

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

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

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

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

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

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

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

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

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

Эти и прочие аспекты, признаки и преимущества изобретения станут очевидны из и объясняются со ссылкой на вариант(ы) осуществления, описанный далее.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

Фиг. 1 иллюстрирует пример элементов системы обработки и распространения изображения в соответствии с некоторыми вариантами осуществления изобретения;

Фиг. 2 иллюстрирует пример элементов сервера изображений для системы Фиг. 1;

Фиг. 3 иллюстрирует пример элементов клиента изображений для системы Фиг. 1;

Фиг. 4 и 5 иллюстрируют примеры позиций и направлений просмотра по отношению к позициям и направлениям камеры.

ПОДРОБНОЕ ОПИСАНИЕ НЕКОТОРЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ

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

Фиг. 1 иллюстрирует систему распространения изображения/видео, основанную на подходе клиент/сервер. Система будет описана со ссылкой на пример, где клиентское устройство 101 обеспечивает восприятие трехмерной (3D) виртуальной реальности пользователю. В примере, клиентское устройство 101 связано с дисплеем 103, который в частности может быть выполнен в виде шлема виртуальной реальности. Дисплей 103 может представлять изображения, сгенерированные клиентским устройством 101, для того чтобы обеспечивать восприятие виртуальной реальности пользователю. В частности, стереоизображения, обеспечивающие восприятие 3D глубины, могут проецироваться на глаза пользователя.

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

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

Это иллюстрирует фундаментальное отличие восприятия виртуального мира, основанного на захвате реальных признаков (как правило посредством камер), и случая чистой компьютерной графики, где 3D модели и текстуры создаются автономно и виртуальный мир генерируется, используя известные методики компьютерной графики. Применительно к живому видео, например, такой подход неосуществим. Действительно, несмотря на то, что можно вообразить, что единая геометрическая модель может быть разработана из живого видео, на практике будет невозможно осуществить автоматическое генерирование такого мира с высокой точностью и подробностями. Таким образом подход будет неосуществим для большей части приложений и в частности не для приложений в режиме реального времени.

В системе Фиг. 1 восприятие 3D виртуальной реальности предоставляется пользователю на основе изображений/видео, принятых от удаленного сервера 107 изображений. Клиентское устройство 101 и удаленный сервер 107 приложений связаны вместе через канал связи, который в конкретном примере реализуется посредством сети 109. Сеть 109 может в частности быть, или выполнена в виде, сети Интернет.

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

Для того чтобы предоставить пригодную для эксплуатации на практике систему критичным является сокращение скорости передачи данных между удаленным сервером 107 изображений и клиентским устройством 101. Вследствие этого невозможно просто передавать захваченные потоки изображения/видеоматериалы. Кроме того, простое предоставление пользователю возможности переключения между захваченными видеоматериалами приведет к по существу ослабленному восприятию и будет в целом не обеспечивать реалистичного восприятия виртуальной реальности. Помимо проблемы захвата, объем данных изображения, в отношении которого потребуется осуществлять потоковую передачу пользователю, будет дополнительно расти с добавленной свободой в виде, пользователя, занимающего произвольную позицию в 3D пространстве, в дополнение к выбору направления вида.

В системе Фиг. 1 удаленный сервер 107 изображений хранит изображения/видео от камер 111 в локальной памяти. Клиентское устройство 101 выполнено с возможностью передачи вектора параметров позиции просмотра удаленному серверу 107 изображений, причем вектор параметров позиции просмотра указывает (желаемую) позицию просмотра и направление в сцене. На основании принятого вектора параметров позиции просмотра удаленный сервер 107 изображений выполнен с возможностью извлечения соответствующих изображений из памяти и генерирования/синтезирования изображения, которое является релевантным для принятого вектора параметров позиции просмотра. Сгенерированное изображение, упоминаемое как синтезированное изображение, в частности генерируется так, чтобы быть соответствующим виду с позиции и в направлении, которое указывается в принятом векторе параметров позиции просмотра.

Синтезированное изображение передается обратно клиентскому устройству 101, где оно может быть обработано (в частности относительно незначительный сдвиг вида может быть использован, чтобы отрегулировать отличия между ранее переданным вектором параметров позиции просмотра и текущей позицией/направлением просмотра) перед представлением пользователю.

В частности, в системе, основанной на хранящихся видеопотоках, заказное видео кодируется и передается удаленным сервером 107 изображений пользователю в зависимости от отдельного местоположения пользователя и направления вида в виртуальном мире. Два пользователя, которые осуществляют доступ к одной и той же базе данных виртуальной реальности будут соответственно принимать разные закодированные видеопотоки (например, в формате H.264) в зависимости от их текущего местоположения и направлений просмотра в виртуальном 3D пространстве.

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

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

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

Практическим примером приложения может быть запись концерта популярной музыки. Например, 100 людей может захватывать видео события. 'Традиционный' подход к хранению будет состоять в сохранении этих 100 видеопотоков на стороне сервера. Если потребитель затем желает проложить свой собственный путь через толпу, то это приведет к ряду запросов к серверу, переключаясь каждый раз от одного видеопотока к другому (и начиная другой процесс декодирования).

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

1. Клиентское устройство 101 отправляет местоположение/ориентацию/время удаленному серверу 107 изображений;

2. Осуществляется поиск, чтобы определить релевантные изображения;

3. Удаленный сервер 107 приложений синтезирует изображение вида из релевантных изображений;

4. Удаленный сервер 107 изображений добавляет синтезированное изображение вида в текущий выходной видеопоток;

5. Клиентское устройство 101 принимает видео с метаданными (позицией и направлением вида, как, впрочем, и опционально параметром времени) от удаленного сервера 107 изображений;

6. Клиентское устройство 101 синтезирует текущий вид(ы) в зависимости от текущих (устройства) позиции, направления и времени просмотра.

Фиг. 2 иллюстрирует некоторые элементы удаленного сервера 107 изображений Фиг. 1 более подробно.

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

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

Метаданные, сохраненные с изображениями в памяти 201, таким образом могут предоставлять вектор данных, который включает в себя множество параметров. Эти параметры для отдельного изображения предоставляют значения, которые указывают (по меньшей мере) позицию просмотра и направление просмотра для изображения. Например, вектор может включать в себя три параметра, которые указывают позицию просмотра, такие как конкретно x, y и z координата в виртуальном мире. В дополнение, вектор может включать в себя два параметра, которые указывают направление просмотра, такие как значение азимута и возвышения. Соответственно, вектор параметров позиции может быть набором или структурой данных, которая включает в себя значения параметра, которые определяют позицию и (направление просмотра). В примере включены три параметра позиции/координаты и два параметра направления, но следует принять во внимание, что в других вариантах осуществления могут быть использованы другие количества. Также следует принять во внимание, что вектор данных может быть представлен, сохранен или обработан любым подходящим образом и не требуется, чтобы был, например, пятью или шестью значениями, сохраненными вместе в, например, последовательных местоположениях памяти. Наоборот, вектор может быть любым представлением, предоставляющим параметры для изображения, включающие указание (по меньшей мере) позиции просмотра и направления просмотра.

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

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

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

Клиентское устройство 101 может в таких примерах предоставлять вектор параметров позиции просмотра удаленному серверу 107 изображений, который также содержит пять значений параметров. В ответ на это удаленный сервер 107 изображений может генерировать подходящее изображение без учета каких-либо временных аспектов. Подход может, например, предоставлять клиентскому устройству 101 возможность генерирования восприятия виртуальной реальности, где пользователь может свободно ходить по трехмерному виртуальному музею, чтобы осматривать различные экспонаты.

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

Камеры могут захватывать динамичную сцену посредством ряда изображений (в частности видеопотока) со многих разных позиций и по многим разным направлениям. Удаленный сервер 107 изображений может сохранять динамичный виртуальный мир в памяти 201 в качестве отдельных картинок вместе с ассоциированными векторами параметров позиции.

В частности, изображения могут быть сохранены в структуре, соответствующей дереву диапазонов (https://en.wikipedia.org/wiki/Range_tree). Действительно, авторы изобретения поняли, что для особого приложения использование структуры дерева диапазонов предоставляет в частности преимущественные подходы, поскольку она может по сути облегчать идентификацию и выбор подходящих изображений для заданного принятого вектора параметров позиции просмотра.

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

ν=(x,y,zθ,ϕ,t),

где x,y,z представляют позицию камеры в евклидовых координатах, θ является полярным углом камеры, ϕ является углом азимута камеры, и t представляет время.

Удаленный сервер 107 изображений кроме того содержит сетевой интерфейс 203, который выполнен с возможностью обеспечения взаимодействия удаленного сервера 107 изображений с сетью 109 так, что он может осуществлять связь с другими устройствами. В частности, сетевой интерфейс 203 выполнен с возможностью приема данных от и передачи данных к клиентскому устройству 101. Следует принять во внимание, что специалист в соответствующей области техники будет хорошо осведомлен о многих подходах для осуществления связи между двумя устройствами, включая связь через сеть, такую как Интернет. Для краткости, это соответственно не будет подробно описано, но следует принять во внимание, что может быть использован любой подходящий подход для осуществления связи удаленного сервера 107 изображений и клиентского устройства 101 друг с другом.

Удаленный сервер 107 изображений содержит приемник 205, который в частности принимает вектор параметров позиции просмотра от клиентского устройства 101. Вектор параметров позиции просмотра может содержать некоторое число параметров и предоставлять указание позиции зрителя и направления, в котором зритель смотрит на виртуальный мир. Вектор параметров позиции зрителя предоставляет указание позиции просмотра и направления для которых клиентское устройство 101 запрашивает изображение (виртуального мира/сцены), которое должно быть предоставлено. Таким образом вектор параметров позиции просмотра может, как правило, указывать особую позицию зрителя и направление для пользователя, перемещающегося в трехмерном виртуальном мире, сгенерированном на клиентском устройстве 101.

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

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

νc=(x,y,z,θ,ϕ,t),

где x,y,z представляют позицию зрителя в евклидовых координатах, θ является полярным углом и ϕ является углом азимута для направления в котором смотрит зритель, и t представляет время.

Удаленный сервер 107 изображений затем может переходить к синтезу изображения, соответствующего вектору параметров позиции просмотра, т.е., он может переходить к генерированию изображения, которое соответствует виду с позиции x,y,z при просмотре в направлении θ,ϕ в момент времени t.

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

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

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

В особом примере при заданном принятом векторе параметров позиции просмотра (отражающим фактическое местоположение/поворот и время, предоставленные клиентом), рекурсивный бинарный поиск проводится по дереву диапазонов, чтобы найти все изображения, которые удовлетворяют, например:

νc,kkk≤νc,kk

для всех k, где k является индексом, представляющим отдельный параметр вектора, и νc является вектором параметров позиции просмотра. Приемлемое значение отклонения Δk для отдельного параметра k может быть разным для разных параметров, и управление им в некоторых вариантах осуществления может осуществляться клиентским устройством 101, как будет описано позже.

Сравнение может, как правило (при условии, например, что не обеспечивается восприятие виртуальной реальности статичного мира), включать в себя учет параметра времени. В частности, в уравнении выше одно значение k может соответствовать параметру времени. Приемлемое отклонение Δk часто будет устанавливаться относительно низким для временного параметра для того, чтобы гарантировать согласующееся по времени генерирование изображений (в частности, чтобы гарантировать то, что генерируется согласующееся по времени видео).

Данный особый поиск, основанный на дереве диапазонов, может быть высокоэффективным и действительно сложность может быть определена как

0((logn)d+k),

где n является числом данных (изображений), d является размерностью пространства поиска, и k является числом изображений в запрошенном интервале.

В зависимости от приемлемых отклонений Δk поиск диапазона может дать от нуля до N извлеченных изображений. Если найдено ноль изображений, соответствующий набор изображений является пустым, и это означает, что пользователь перемещается за пределы пространства, которое представляется виртуальным миром как поддерживаемым удаленным сервером 107 изображений/захваченными изображениями. В данном случае удаленный сервер 107 изображений может, например, возвращать сообщение ошибки и/или предоставлять изображение, соответствующее наиболее близкому захваченному изображению.

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

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

Синтезатор 209 изображения связан с кодером 211 изображения, который выполнен с возможностью кодирования синтезированного изображения в подходящий формат. Например, удаленный сервер 107 изображений может генерировать закодированный видеопоток H.264, который отправляется клиентскому устройству 101, и кодер 211 изображения может быть выполнен с возможностью кодирования синтезированного изображения в соответствии с форматом кодирования H.264. Следует принять во внимание, что может быть использован любой подходящий формат кодирования видео или изображения.

Кодер 211 изображения связан с генератором 213 вывода, который выполнен с возможностью генерирования выходного сигнала в форме потока данных, содержащего закодированное синтезированное изображение. Генератор 213 вывода связан с сетевым интерфейсом 203, который выполнен с возможностью передачи выходного потока данных клиентскому устройству 101.

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

Удаленный сервер 107 изображений дополнительно содержит генератор 215 данных, который выполнен с возможностью генерирования опорного вектора параметров позиции для синтезированного изображения, где опорный вектор параметров позиции указывает позицию просмотра и направление просмотра, и, как правило, момент времени, для синтезированного изображения.

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

ν=(x,y,z,θ,ϕ,t),

где x,y,z представляют позицию зрителя в евклидовых координатах, θ является полярным углом направления просмотра, ϕ является углом азимута направления просмотра и t представляет время. Действительно, комментарии, предоставленные в отношении вектора параметров позиции просмотра (и ассоциированных векторов параметров позиции) также являются релевантными, с необходимыми изменениями, для опорного вектора параметров позиции.

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

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

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

Генератор 215 данных связан с выходным генератором 213, который выполнен с возможностью включения опорного вектора параметров позиции в сгенерированный поток данных, который отправляется клиентскому устройству 101.

Фиг. 3 иллюстрирует некоторые элементы клиентского устройства 101 Фиг. 1 более подробно.

Клиентское устройство 101 содержит процессор 301 виртуальной реальности, который выполнен с возможностью исполнения приложения виртуальной реальности, обеспечивающего восприятие виртуальной реальности пользователю на основании изображений, принятых от удаленного сервера 107 изображений. Процессор 301 виртуальной реальности может в частности взаимодействовать со шлемом виртуальной реальности и/или джойстиком для того, чтобы отслеживать перемещение пользователя и перемещение головы в виртуальном мире. Процессор 301 виртуальной реальности может предоставлять 3D изображения шлему виртуальной реальности и отслеживать то, каким образом пользователь двигает свей головой на основании ввода от шлема виртуальной реальности.

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

Процессор 303 позиции связан с сетевым интерфейсом 305, который выполнен с возможностью обеспечения взаимодействия клиентского устройства 101 с сетью 109 таким образом, что оно может осуществлять связь с другими устройствами и в частности с удаленным сервером 107 изображений. Следует принять во внимание, что другие средства связи могут быть использованы в других вариантах осуществления.

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

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

Тем не менее из-за времени ожидания системы текущая позиция пользователя в виртуальном мире возможно изменилась с момента, как вектор параметров позиции просмотра был передан удаленному серверу 107 изображений. Соответственно клиентское устройство 101 содержит процессор 309 обновления, который выполнен с возможностью определения обновленного вектора параметров позиции просмотра, который отражает изменения позиции просмотра и направления просмотра по отношению к переданному вектору параметров позиции просмотра.

В некоторых вариантах осуществления обновленный вектор параметров позиции просмотра может быть сгенерирован в качестве относительного вектора, который, например, указывает отличия между текущими значениями и переданными значениями вектора параметров позиции просмотра. Тем не менее в других вариантах осуществления обновленный вектор параметров позиции просмотра может просто быть текущим вектором параметров позиции просмотра. Таким образом в некоторых вариантах осуществления процессор 309 обновления может просто запрашивать текущий вектор параметров позиции просмотра у процессора 303 позиции. Действительно, процессор 303 позиции может непрерывно генерировать и передавать векторы параметров позиции просмотра удаленному серверу 107 изображений и также может предоставлять их процессору 309 обновления. Вектор параметров позиции просмотра, который отправляется в настоящий момент, может соответственно также быть обновленным вектором параметров позиции просмотра для ранее отправленного вектора параметров позиции просмотра (и таким образом для текущего принятого изображения/опорного вектора параметров позиции).

Обновленный вектор параметров позиции просмотра подается клиентскому синтезатору 307 изображения, который переходит к синтезу выходного изображения на основании принятого изображения, опорного вектора параметров позиции и обновленного вектора параметров позиции просмотра.

Изменения позиции и направления просмотра пользователя, как, впрочем, и любое отклонение, внесенное обработкой на удаленном сервере 107 изображений, являются, как правило, относительно небольшими. Соответственно, отличия между обновленным вектором параметров позиции просмотра и опорным вектором параметров позиции являются, как правило, относительно небольшими. Как правило, отличия указывают относительно небольшие изменения позиции пользователя и/или направления, в котором он смотрим.

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

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

Преимущество применения преобразования вида на стороне клиента может быть проиллюстрировано на Фиг. 4 и 5. Фиг. 4 иллюстрирует траекторию 401, по которой может следовать камера при захвате сцены с много-направленными изображениями, которые захватываются в каждой позиции по данной траектории (с подходящей степенью разбиения/размером шага). Фиг. 5 иллюстрирует пример траектории 501, которая может быть принята пользователем в виртуальной среде. В каждой позиции просмотра ближайшее доступное захваченное изображение может быть добавлено в видеопоток (например, средство 207 выбора может выбирать ближайшее изображение). Клиентское устройство 101 может декодировать изображение для данной ближайшей точки. Тем не менее, как указано, позиции могут быть не идентичны, а наоборот, они могут иметь небольшое отличие. Поскольку удаленный сервер 107 изображений также предоставляет опорный вектор параметров позиции, клиентский синтезатор 307 изображения может сравнивать его с обновленным вектором параметров позиции и выполнять преобразование вида, которое соответственно компенсирует это. Данное преобразование таким образом компенсирует отличие просмотра между обновленным вектором параметров позиции просмотра и опорным вектором параметров позиции. Это может компенсировать проблемы времени ожидания и возможные неточности в принятых измерениях параметра.

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

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

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

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

Во многих вариантах осуществления синтез изображения синтезатора 209 изображения и/или клиентского синтезатора 307 изображения может быть основан на выполнении преобразования 3D вида на основании данных глубины. Данные глубины могут, например, быть в форме 3D сетки для изображения или могут, например, быть картой глубины, содержащей, например, значения глубины или несоответствия для пикселей изображения.

Соответственно во многих вариантах осуществления память 201 может в дополнение к изображениям также хранить информацию глубины, такую как карта глубины. Карта глубины может, например, быть сгенерирована непосредственно камерами 111, будучи 3D камерами.

При извлечении набора изображений средство 207 выбора также может извлекать данные глубины (в частности карты глубины) для этих изображений. Изображения и ассоциированные карты глубины затем могут быть использованы синтезатором 209 изображения, чтобы выполнять регулировки. В дополнение к генерированию синтезированного изображения синтезатор 209 изображения также может генерировать информацию глубины, такую как карта или сетка глубины для синтезированного изображения. Данная карта/сетка глубины также может быть подана генератору 213 вывода и может быть включена в выходной файл.

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

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

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

Таким образом во многих вариантах осуществления удаленный сервер 107 изображений может принимать ряд векторов параметров позиции просмотра, например, с частотой обновления 5-100Гц. В ответ удаленный сервер 107 изображений может генерировать синтезированные изображения и возвращать их клиентскому устройству 101, например, в качестве видеопотока с подходящей частотой кадров (или возможно с более высокой или более низкой частотой кадров чем требуется, причем клиентское устройство 101 имеет возможность выполнения адаптации частоты кадров (например, используя интерполяцию) на основании включенных параметров времени). Таким образом удаленный сервер 107 изображений может генерировать выходной сигнал изображения, содержащий последовательность синтезированных изображений, соответствующую ряду векторов данных позиции просмотра.

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

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

В некоторых вариантах осуществления средство 209 выбора может быть выполнено с возможностью прогнозирования модифицированного вектора параметров позиции просмотра из множества принятых векторов параметров позиции просмотра (включая текущий). Например, средство 209 выбора может включать в себя многомерный фильтр прогнозирования, такой как фильтр Калмана. Он может прогнозировать траекторию пользователя в трехмерном виртуальном пространстве и может, например, дополнительно или в качестве альтернативы прогнозировать направление просмотра. В качестве простого примера траектория пользователя в примере Фиг. 5 может быть легко спрогнозирована посредством даже линейного фильтра прогнозирования первого порядка.

Таким образом, на основании ряда принятых векторов параметров позиции просмотра, будущие векторы параметров позиции просмотра (или по меньшей мере их некоторые параметры) могут быть спрогнозированы удаленным сервером 107 изображений. Таким образом в некоторых вариантах осуществления средство 209 выбора может содержать средство прогнозирования, которое прогнозирует модифицированный вектор параметров позиции просмотра, который может соответствовать оценке позиции просмотра и/или направления просмотра для будущего времени.

Такое прогнозирование может быть использовано разными путями.

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

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

В качестве альтернативы или в дополнение прогнозирование может быть использовано, чтобы выполнять предварительный выбор. Например, удаленный сервер 107 изображений может включать в себя кэш, в котором изображения могут быть сохранены после того, как извлекаются из памяти 201. Кэш может, например, соответствовать памяти GPU или выделенной памяти для клиентского синтезатора 307 изображения. Изображения в данном кэше могут соответственно быть извлечены быстрее, чем из памяти 201 (которая будет, как правило, оптимизирована в отношении емкости, а не скорости).

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

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

νc,kkk≤νc,kk

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

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

В некоторых вариантах осуществления приемник может быть выполнен с возможностью применения низкочастотного фильтра по меньшей мере к одному параметру из ряда векторов параметров позиции просмотра. Например, принятые координаты x, y и z ряда последовательных векторов параметров позиции просмотра могут быть отдельно отфильтрованы для того, чтобы обеспечивать плавную траекторию позиции. Таким образом эффективно индивидуальные параметры могут быть обработаны низкочастотным фильтром по времени, чтобы отражать более плавную работу. Таким образом подход обеспечивает в частности эффективное сглаживание восприятия пользователя, например, не требуя временной интерполяции между смежными принятыми изображениями/кадрами посредством клиентского устройства 101. Подход может в частности обеспечивать более высокую согласованность и плавные вариации по последующим изображениям последовательности. Это может облегчать кодирование видео.

Действительно, для эффективного кодирования видеопотока предпочтительным является то, чтобы видео по времени следовало плавному движению. Чтобы гарантировать это, параметры позиции и направления просмотра пользователя могут быть отфильтрованы удаленным сервером 107 изображений, чтобы создавать видео, которое меняется плавно по времени. Это уменьшает скорость передачи видео для того же самого качества. Внесенные отличия в отношении фактической позиции и ориентации могут быть компенсированы синтезом вида на клиентской стороне (используя переданную сетку или карту глубины), т.е. подход в виде клиентского синтезатора 307 изображения, выполняющего преобразование вида, позволяет фильтрации вносить отклонения в отношении принятых векторов параметров позиции просмотра без данного неоправданного ухудшения воспринимаемого качества. Поскольку может присутствовать неизвестная двухсторонняя задержка, удаленный сервер 107 изображений может как упомянуто ранее отправлять опорный вектор параметров позиции с каждым видеокадром. Клиентское устройство 101 может использовать данную информацию для корректного синтеза вида. Чтобы не допускать временных несогласованностей между новыми принятыми данными и текущими синтезированными данными, альфа-сопряжение может быть использовано, чтобы обеспечивать восприятие плавного движения.

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

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

Инструкция выбора может в частности включать в себя указание того, каким образом должны присваиваться приоритеты разным параметрам или, например, насколько большое отклонение должно допускаться для разных параметров. Например, инструкция выбора может указывать, что допускаются относительно большие вариации скажем в направлении x, тогда как вариации в направлении y должны сохраняться низкими.

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

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

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

Примерные рабочие режимы могут, например, включать в себя:

1. Хроно-режим: Важное значение имеет хронологический порядок, в котором происходят события. Воспроизведение может быть временно остановлено, но кадры никогда не должны идти обратно по времени. Будут допускаться лишь небольшие вариации по параметру времени Δt.

Примеры: концерт (где аудио является самой критичной частью), спортивное событие.

2. Режим статичного мира: Запись рассматривается в качестве статичной 3D модели так, что время, в которое кадры были захвачены становится неважным. Пространство шести параметров теперь сокращается до пространства пяти параметров. Это приведет к плотному пространству для извлечения данных и вследствие этого к более плотным действительным позициям/углам просмотра для зрителя.

Примеры: посещение виртуального музея, архитектура.

3. Режим траектории: Запись рассматривается в качестве статичного 3D мира. Такая траектория или путь в 3D пространстве (x,y,z) тогда может быть исследована в разных направлениях, принимая разные маршруты.

Примеры: походная тропа.

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

1. В описанном выше режиме статичного мира отсутствует размерность времени, приводя к 5D пространству.

2. В режиме траектории, описанном выше, отсутствует размерность времени и позиция (x,y,z) может быть уменьшена до одного параметра s по траектории. Это приводит к 3D пространству.

3. Применительно к спортивным событиям, размерность времени является критичной, но, как правило, могут быть ограничены позиция просмотра и направление (зрители как правило смотрят на поле и не так много на сам стадион).

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

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

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

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

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

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

Кроме того, несмотря на то, что перечислены отдельно, множество средств, элементов, схем или этапов способа может быть реализовано посредством, например, одной схемы, блока или процессора. Дополнительно, несмотря на то, что отдельные признаки могут быть включены в разные пункты формулы изобретения, они могут быть преимущественно объединены, и включение в разные пункты формулы изобретения не предполагает того, что невозможно и/или не полезно сочетание признаков. Также включение признака в одну категорию пунктов формулы изобретения не предполагает ограничение данной категорией, а наоборот указывает, что признак в равной степени применим к другим категориям пунктов формулы изобретения при необходимости. Кроме того, очередность признаков в формуле изобретения не предполагает какой-либо особой очередности, в которой признаки должны работать и конкретная очередность отдельных этапов в пункте формулы изобретения для способа, не предполагает того, что этапы должны выполняться в данной очередности. Наоборот, этапы могут быть выполнены в любой подходящей очередности. В дополнение, ссылки на единственное число не исключают множества. Таким образом ссылки на формы единственного числа, «первый», «второй» и т.д. не исключают множество. Ссылочные обозначения в формуле изобретения предоставлены только в качестве поясняющего примера и не должны толковаться, как ограничивающие объем формулы изобретения каким-либо образом.

1. Устройство для предоставления изображения, содержащее:

хранилище (201) для хранения множества изображений для трехмерной сцены, причем изображения соответствуют разным позициям и направлениям просмотра для сцены, и хранилище (201) дополнительно выполнено с возможностью хранения ассоциированных векторов параметров позиции для множества изображений, причем ассоциированный вектор параметров позиции для изображения из множества изображений содержит данные, указывающие позицию просмотра и направление просмотра для изображения;

приемник (205) для приема вектора параметров позиции просмотра от удаленного клиента (101);

средство (207) выбора для выбора набора изображений из множества изображений в ответ на сравнение вектора параметров позиции просмотра и ассоциированных векторов параметров позиции;

синтезатор (209) изображения для генерирования синтезированного изображения из набора изображения;

генератор (215) данных, выполненный с возможностью генерирования опорного вектора параметров позиции для синтезированного изображения, причем опорный вектор параметров позиции указывает позицию просмотра и направление вида для синтезированного изображения;

кодер (211) изображения для кодирования синтезированного изображения, чтобы генерировать закодированное синтезированное изображение;

генератор (213) вывода для генерирования выходного сигнала изображения, содержащего закодированное синтезированное изображение и опорный вектор параметров позиции; и

передатчик (203) для передачи выходного сигнала изображения удаленному клиенту.

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

3. Устройство по п. 1 или 2, в котором средство (207) выбора выполнено с возможностью прогнозирования модифицированного вектора параметров позиции просмотра из множества принятых векторов параметров позиции просмотра, и

средство (207) выбора выполнено с возможностью выбора набора изображения в ответ на модифицированный вектор параметров позиции просмотра; или

синтезатор (209) изображения выполнен с возможностью синтеза синтезированного изображения в ответ на модифицированный вектор параметров позиции просмотра.

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

5. Устройство по любому предшествующему пункту, в котором хранилище (201) дополнительно содержит данные глубины для изображений, и синтезатор (209) изображения выполнен с возможностью дополнительного генерирования данных глубины для синтезированного изображения в ответ на данные глубины для набора изображений, и генератор (213) выполнен с возможностью включения данных глубины в выходной сигнал изображения.

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

7. Устройство по п. 6, в котором приемник (205) выполнен с возможностью применения низкочастотного фильтра по меньшей мере к одному параметру из ряда векторов параметров позиции просмотра.

8. Устройство по любому предшествующему пункту, в котором приемник (205) дополнительно выполнен с возможностью приема инструкции выбора, и средство (207) выбора выполнено с возможностью адаптации критерия выбора для выбора набора изображений в ответ на инструкцию выбора.

9. Устройство по п. 8, в котором средство (207) выбора выполнено с возможностью игнорирования параметра вектора параметров позиции просмотра при сравнении в ответ на прием инструкции выбора, запрашивающей то, что параметр должен быть проигнорирован.

10. Устройство по любому предшествующему пункту, в котором хранилище (201) выполнено с возможностью хранения ассоциированных векторов параметров позиции в структуре дерева диапазонов, и средство (207) выбора выполнено с возможностью выбора подмножества в ответ на поиск по структуре дерева диапазонов.

11. Устройство обработки изображения, содержащее:

процессор (303) позиции для определения первого вектора параметров позиции просмотра, содержащего параметры, указывающие позицию просмотра и направление просмотра;

передатчик (305) для передачи вектора параметров позиции просмотра удаленному серверу изображений;

приемник (305) для приема сигнала от удаленного сервера изображений, причем сигнал содержит первое изображение и опорный вектор параметров позиции, указывающий направление зрителя и позицию зрителя для первого изображения;

процессор (309) обновления, выполненный с возможностью определения обновленного вектора параметров позиции просмотра, отражающего изменения позиции зрителя и направления вида по отношению к первому вектору параметров позиции просмотра; и

синтезатор (307) изображения, выполненный с возможностью генерирования синтезированного изображения из первого изображения в ответ на опорный вектор параметров позиции и обновленный вектор параметров позиции просмотра.

12. Система обработки изображения, содержащая сервер изображений, содержащий устройство по любому из пп. 1-10, и клиент изображений, содержащий устройство обработки изображений по п. 11.

13. Способ для предоставления изображения, причем способ, содержащий этапы, на которых:

сохраняют множество изображений для трехмерной сцены, причем изображения соответствуют разным позициям и направлениям просмотра для сцены;

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

принимают вектор параметров позиции просмотра от удаленного клиента (101);

выбирают набор изображений из множества изображений в ответ на сравнение вектора параметров позиции просмотра и ассоциированных векторов параметров позиции;

генерируют синтезированное изображение из набора изображений;

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

кодируют синтезированное изображение, чтобы сгенерировать закодированное синтезированное изображение;

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

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

14. Способ для предоставления изображения, содержащий этапы, на которых:

определяют первый вектор параметров позиции просмотра, содержащий параметры, указывающие позицию просмотра и направление просмотра;

передают вектор параметров позиции просмотра удаленному серверу изображений;

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

определяют обновленный вектор параметров позиции просмотра, отражающий изменения позиции зрителя и направления вида по отношению к первому вектору параметров позиции просмотра; и

генерируют синтезированное изображение из первого изображения в ответ на опорный вектор параметров позиции и обновленный вектор параметров позиции просмотра.



 

Похожие патенты:

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

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

Изобретение относится к области вычислительной техники. Техническим результатом является обеспечение кодирования и декодирования видео с выполнением внутреннего предсказания.

Группа изобретений характеризует способы и устройства кодирования/декодирования сигнала видео. Техническим результатом является повышение эффективности кодирования/декодирования сигнала видео.

Изобретение относится к вычислительной технике. Технический результат заключается в снижении использования ЦП компьютера сервера.

Изобретение относится к технологии кодирования изображений, а более конкретно к способу и устройству кодирования изображений на основе преобразования системы кодирования изображений.

Изобретение относится к кодированию изображений. Технический результат - снижение сложности и повышение эффективности кодирования.

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

Изобретение относится к вычислительной технике. Технический результат заключается в уменьшении времени задержки и времени кодирования.

Заявленное изобретение относится к области видеоконтента, в частности контенту виртуальной реальности. Описываются способ и система для среды виртуальной реальности, VR, дополненной реальности, AR, смешанной реальности, MR, или Панорамного Видео.

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