ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Изобретение относится к формированию изображений по видеоэлементам и, в частности, но не исключительно, к формированию изображений представления для среды виртуальной реальности по сохраненным видеоэлементам, которые могут возникать в результате записи видео сред реального мира.
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
В последние годы значительно выросли разнообразие и спектр применений изображений и видео с использованием постоянно разрабатываемых и внедряемых новых средств и способов применения и потребления видео.
Например, одним из все более популярных средств является создание последовательностей изображений таким образом, чтобы наблюдатель мог активно и динамически взаимодействовать с системой для изменения параметров визуализации. Довольно привлекательной особенностью во многих сферах применения является возможность изменения эффективного положения наблюдения и направления наблюдения наблюдателя, например, позволяющая наблюдателю перемещаться и «осматриваться» на отображаемой сцене.
Такая особенность может, в частности, обеспечивать предоставление пользователю возможностей виртуальной реальности. Это может позволять пользователю (относительно) свободно перемещаться в виртуальной среде и динамически изменять свое положение и направление наблюдения. Как правило, такие применения виртуальной реальности основаны на трехмерной модели сцены, при этом модель динамически оценивается для обеспечения конкретного требуемого представления. Данный подход хорошо известен, например, из игровых приложений, например, в категории шутеров от первого лица для компьютеров и игровых приставок.
Желательно также, в частности, для приложений виртуальной реальности, чтобы отображаемое изображение являлось трехмерным. Действительно, с целью оптимизации эффекта погружения наблюдателя, как правило, предпочтительно, чтобы пользователь воспринимал представляемую сцену как трехмерную. Действительно, восприятие виртуальной реальности предпочтительно должно позволять пользователю выбирать свое положение, точку съемки камеры и момент времени относительно виртуального мира.
Как правило, приложения виртуальной реальности по существу ограничены тем, что они основаны на заранее определенной модели сцены и, как правило на искусственной модели виртуального мира. Было бы желательно, если бы восприятие виртуальной реальности могло обеспечиваться на основе съемки реального мира. Однако во многих случаях такой подход является весьма ограниченным или чаще всего требует, чтобы виртуальная модель реального мира строилась по представлениям реального мира. Восприятие виртуальной реальности при этом создается путем оценивания этой модели.
Однако существующие подходы чаще всего являются условно оптимальными и, как правило, часто имеют высокие требования к вычислительным или коммуникационным ресурсам и/или обеспечивают условно оптимальное пользовательское восприятие, например, при пониженном качестве или ограниченной свободе.
В качестве примера применения, в настоящее время на рынке появляются очки виртуальной реальности. Эти очки позволяют наблюдателям воспринимать 360-градусное (панорамное) видео. Эти 360-градусные видео часто предварительно снимаются с использованием камерных установок, в которых сшиваются отдельные изображения с получением единого сферического отображения. Стандартные форматы стерео для 360-градусного видео - «сверху-вниз» и «слева-направо». Аналогичное непанорамному стереовидео, левое и правое изображения сжимаются в составе единого видеопотока Н.264. После декодирования отдельного кадра наблюдатель поворачивает свою голову, чтобы рассмотреть мир вокруг себя. Существующий пример - выполненная компанией Google запись концерта в Карнеги Холл [https://performingarts.withgoogle.tabhumblecom/en_us/performances/carnegie-hall]. В данном примере наблюдатели могут воспринимать эффект 360-градусного обзора и могут дискретно переключаться между тремя видеопотоками, записанными из различных положений. При переключении загружается другой видеопоток, который прерывает восприятие.
Один из недостатков подхода с использованием панорамного стереовидео состоит в том, что наблюдатель не может изменять положение в виртуальном мире. Кодирование и передача карты панорамных глубин помимо панорамного стереовидео может предусматривать компенсацию небольших прямолинейных перемещений наблюдателя на стороне клиента, но такие компенсации в сущности будут ограничиваться небольшими колебаниями и перемещениями и не смогут обеспечивать эффект погружения и свободной виртуальной реальности.
Связанной с этим технологией является видео со свободной точкой съемки, в котором множество точек съемки с картами глубин кодируется и передается в едином видеопотоке. Скорость передачи битов видеопотока может быть уменьшена за счет использования угловых зависимостей между точками съемки в дополнение к хорошо известным схемам временного предсказания. Однако данный подход, тем не менее, требует высокой скорости передачи битов и ограничен применительно к изображениям, которые могут формироваться. Он практически не в состоянии обеспечивать восприятие полностью свободного перемещения в трехмерном пространстве виртуальной реальности.
К сожалению, ни одна из технологий предыдущего уровня техники не может обеспечивать идеального восприятия, но часто оказывается ограничивающей в возможностях изменения положений и направлений наблюдения. Кроме того, эти технологии чаще всего требуют очень высокой скорости передачи данных и предусматривают потоки данных, которые содержат больше данных, чем это необходимо для формирования отдельных изображений/представлений.
К тому же, подходы известного уровня техники чаще всего требуют большого объема памяти с целью хранения большого числа, например, отдельно снятых изображений. Кроме того, подходы известного уровня техники чаще всего требуют относительно сложной обработки и имеют высокие требования к вычислительным ресурсам. Несмотря на это, подходы известного уровня техники чаще всего приводят к условно оптимальному формированию наблюдаемых изображений, и, в частности, пользователю, перемещающемуся в виртуальном мире, часто обеспечивается разрозненное и относительно рассогласованное восприятие.
Например, в KR20170007098 описывается система для формирования изображений для заданной позиции пользователя, которая может отличаться от позиций съемки, для которых было снято изображение сцены. В данном подходе может выбираться ближайшая позиция съемки и формироваться изображение представления для позиции пользователя по изображению ближайшей позиции съемки. Однако данный подход чаще всего страдает всеми вышеописанными недостатками и, в частности, требует высоких вычислительных ресурсов, является сложным, основан на сложных и трудновыполнимых операциях съемки и чаще всего формирует изображения представления, которые не имеют оптимального качества и, кроме того, чаще всего являются несогласованными при перемещении пользователя.
Таким образом, усовершенствованный подход был бы предпочтительным. В частности, предпочтительным был бы подход, который обеспечивает улучшенное функционирование, повышенную гибкость, увеличенные возможности формирования изображений, соответствующих различным положениям и направлениям наблюдения, и улучшенное восприятие виртуальной реальности, пониженные скорости передачи данных, упрощенное распространение, пониженную сложность, упрощенную реализацию, пониженные требования к объему памяти и/или улучшенные характеристики и/или функционирование.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В связи с этим, целью изобретения является предпочтительно смягчение, снижение или устранение одного или более из вышеупомянутых недостатков по отдельности или в любой комбинации.
В соответствии с одним аспектом изобретения, предлагается устройство, содержащее: накопитель для хранения набора маршрутов в N-мерном пространстве, отображающем пространственные позиции, причем, набор маршрутов содержит множество маршрутов, при этом каждый маршрут из набора маршрутов описывает траекторию позиций камеры в N-мерном пространстве и связан с видеоэлементом, содержащим кадры, содержащие и изображение, и информацию о глубине для позиций камеры на маршруте; средство ввода для приема индикации положения наблюдателя; средство выбора для выбора первого маршрута из набора маршрутов в соответствии с критерием выбора, зависящим от показателя расстояния, зависящего от индикации положения наблюдателя и положений маршрутов из набора маршрутов; средство извлечения для извлечения первого видеоэлемента, ассоциированного с первым маршрутом, из источника видео; средство формирования изображений для формирования по меньшей мере одного изображения представления для индикации положения наблюдателя по первому набору кадров из первого видеоэлемента; причем, критерий выбора смещен к выбираемому в настоящий момент маршруту относительно других маршрутов из набора маршрутов.
Данный подход может обеспечивать улучшенные характеристики и/или функционирование во многих сценариях и для многих применений. В частности, данный подход может обеспечивать улучшенное восприятие виртуальной реальности во многих сценариях. В частности, часто может достигаться эффективный подход с малой задержкой, высоким качеством, низкими требованиями к коммуникационным ресурсам, низкими требованиями к ресурсам хранения и/или низкими требованиями к вычислительным ресурсам.
Данный подход может, например, обеспечивать пониженные требования к коммуникационным ресурсам или вычислительным ресурсам для конфигурации клиент-сервер для обеспечения восприятия виртуальной реальности в клиентском устройстве на основе сервера, хранящего видеоэлементы, а, возможно, также выдающего данные о маршруте.
Данный подход может, например, использоваться для отображения виртуальной среды на основе видеоэлементов, ассоциированных (связанных) с данными о маршруте, а не на основе отдельных изображений и ассоциированных положений. Это может, например, обеспечивать использование эффективных методов кодирования видео, приводящих к пониженным ресурсам хранения и коммуникационным ресурсам.
Данный подход может во многих вариантах осуществления обеспечивать упрощенное формирование данных, отображающих виртуальную среду, по снимкам реального мира. Например, виртуальное восприятие в виртуальной среде, соответствующей среде реального мира, может эффективно формироваться на основе видеоэлементов, снятых при передвижении по среде реального мира.
N-мерное пространство может, в частности, содержать измерения, относящиеся к местоположению и/или ориентации представления в N-мерном пространстве. N является целым числом, которое, в частности, может отображать 1-3 пространственных измерения, отражающие местоположение в виртуальной среде, и 1-3 пространственных измерения, отражающие ориентацию представления в виртуальной среде.
Индикация положения наблюдателя может, в частности, являться М-мерной (при этом М, как правило, равно N) индикацией положения в N-мерном пространстве. Индикация положения наблюдателя может, в частности, отображать 1-3 пространственных измерения, отражающие местоположение в виртуальной среде, и 1-3 пространственных измерения, отражающие ориентацию представления в виртуальной среде.
Видеоэлементы включают в себя и изображения, и информацию о глубине, тем самым позволяя формировать изображения представления по точкам съемки, которые могут отличаться от точек, снятых с помощью видеоэлементов. Они могут обеспечивать улучшенное восприятие, например, позволяя пользователю поворачиваться относительно направления камеры изображений видеоэлементов.
Каждый маршрут может быть связан с одним видеоэлементом, при этом маршрут описывает (возможно, виртуальную) траектории камеры посредством N-мерного пространства, соответствующего видеоэлементу. Положения вдоль маршрута могут ассоциироваться с положениями кадров видеоэлементов.
Средство выбора может быть выполнено с возможностью увеличения вероятности выбора заданного маршрута в соответствии с показателем расстояния данного маршрута, характеризующим уменьшающееся расстояние между индикацией положения наблюдателя и заданным маршрутом. Показатель расстояния может, например, основываться на подходящей норме.
Изображение представления может формироваться соответствующим представлению, которое будет восприниматься наблюдателем в положении в N-мерном пространстве, задаваемом индикацией положения наблюдателя.
Средство ввода может принимать последовательность индикаций положения наблюдателя, при этом устройство может быть выполнено с возможностью формирования соответствующей последовательности изображений представления. Функционирование устройства может динамически итерироваться, тем самым обеспечивая динамическое пользовательское восприятие. Например, индикации положения наблюдателя могут описывать путь или маршрут через N-мерное пространство, а устройство может в соответствии с этим формировать последовательность изображений, соответствующих представлениям, которые воспринимались бы наблюдателем, движущимся по пути или маршруту.
Выбираемый в настоящий момент маршрут может являться маршрутом, выбираемым для индикации предыдущего положения наблюдателя, и, в частности, может являться маршрутом, выбираемым для индикации последнего принятого положения наблюдателя. В частности, индикация положения наблюдателя может являться индикацией положения наблюдателя в последовательности индикаций положения наблюдателя, а выбираемый в настоящий момент маршрут может являться маршрутом, выбираемым для индикации последнего положения наблюдателя, принятого перед индикацией текущего положения наблюдателя.
Видеоэлементы могут являться кодированными видеоэлементами. Видеоэлементы могут включать в себя кадры с внутрикадровым кодированием и кадры с межкадровым кодированием. Кадры с внутрикадровым кодированием кодируются независимо от остальных кадров. Кадры с межкадровым кодированием кодируются относительно по меньшей мере одного другого кадра. Видеоэлементы могут включать в себя I-кадры и В- или Р-кодированные кадры.
Смещение к выбираемому в настоящий момент маршруту может быть реализовано с помощью критерия выбора, отличающегося для выбираемого в настоящий момент маршрута от других маршрутов из набора маршрутов. Критерий выбора может являться асимметричным по отношению к выбираемому в настоящий момент маршруту и другим маршрутам из набора маршрутов. В частности, критерий выбора может являться асимметричным по отношению к показателю расстояния для выбираемого в настоящий момент маршрута относительно показателей расстояния для других маршрутов из набора маршрутов.
Критерий выбора может быть выполнен с возможностью получения в результате различных маршрутов, выбираемых для различных значений индикации положения наблюдателя. Смещение может быть таким, что выбираемый в настоящий момент маршрут будет выбираться до тех пор, пока показатель расстояния до другого маршрута не будет меньше показателя расстояния до текущего маршрута более чем в один раз.
Первый набор кадров может представлять собой один или более кадров. В некоторых вариантах осуществления средство формирования изображений может быть выполнено с возможностью дополнительного формирования изображения представления в соответствии с кадрами из более чем одного видеоэлемента. Например, если выбирается новый маршрут, изображение представления может формироваться по кадрам и ранее выбранного маршрута, и вновь выбираемого маршрута.
В соответствии с необязательным признаком изобретения, средство формирования изображений выполнено с возможностью выбора первых кадров в соответствии с данными о положении маршрута для кадров первого видеоэлемента относительно индикации положения наблюдателя.
Это может обеспечивать улучшенные характеристики и/или функционирование во многих вариантах осуществления.
В соответствии с необязательным признаком изобретения, средство формирования изображений выполнено с возможностью - если первый маршрут выбирается в качестве выбираемого в настоящий момент маршрута - смещения выбора первого набора кадров к кадрам, имеющим меньшее временное расстояние до выбираемого в настоящий момент первого набора кадров первого видеоэлемента.
Это может обеспечивать улучшенные характеристики и/или функционирование во многих вариантах осуществления. Это может, в частности, обеспечивать улучшенную временную согласованность и может уменьшать изменяющиеся во времени артефакты.
В соответствии с необязательным признаком изобретения, средство формирования изображений выполнено с возможностью - если первый маршрут выбирается в качестве выбираемого в настоящий момент маршрута - выполнения выбора первого набора кадров на основе показателя выбора кадра, который увеличивается с уменьшением временного расстояния до выбираемого в настоящий момент кадра первого видеоэлемента.
Это может обеспечивать улучшенные характеристики и/или функционирование во многих вариантах осуществления. Это может, в частности, обеспечивать улучшенную временную согласованность и может уменьшать изменяющиеся во времени артефакты.
В соответствии с необязательным признаком изобретения, накопитель дополнительно выполнен с возможностью хранения положений пересечения для маршрутов видеопоследовательностей; при этом критерий выбора зависит от положений пересечения.
Это может обеспечивать улучшенные характеристики во многих вариантах осуществления и может, в частности, обеспечивать улучшенный выбор подходящих видеоэлементов. Это может, например, в некоторых вариантах осуществления уменьшать задержку, например, позволяя устройству извлекать видеоэлементы для потенциальных будущих маршрутов, пересекающихся с текущим маршрутом.
Положения пересечения могут характеризовать пересечения между маршрутами и могут выдаваться, например, в координатах (по меньшей мере, некоторых) размеров N-мерного пространства или могут, например, выдаваться относительно данных о маршруте или видеоэлемента (например, в виде номера кадра).
Пересечение может считаться существующим, если положения двух маршрутов находятся на расстоянии ниже порога.
Пересечение может представлять собой любое соединение, включая T-образное соединение или соединение между концом одного маршрута и началом другого.
В соответствии с необязательным признаком изобретения, средство выбора выполнено с возможностью уменьшения смещения к выбираемому в настоящий момент маршруту для индикаций положения наблюдателя, соответствующих положениям пересечения.
Это может обеспечивать улучшенные характеристики и может, в частности, улучшать переход между различными видеоэлементами, делая такие переходы более вероятными в пересечениях, чем в других местах. В некоторых вариантах осуществления переходы на новый маршрут могут допускаться только в пересечениях.
В соответствии с необязательным признаком изобретения, смещение к выбираемому в настоящий момент маршруту зависит от расстояния между индикацией положения наблюдателя и положениями пересечения.
Это может обеспечивать улучшенные характеристики и может, в частности, улучшать переход между различными видеоэлементами, делая такие переходы более вероятными в пересечениях, чем в других местах. В некоторых вариантах осуществления переходы на новый маршрут могут допускаться только в пересечениях.
В соответствии с необязательным признаком изобретения, накопитель выполнен с возможностью хранения графа, имеющего пересечения в виде узлов и маршруты, отражаемые ребрами.
Это может обеспечивать особенно эффективное функционирование во многих вариантах осуществления.
В соответствии с необязательным признаком изобретения, кадры, ассоциированные с положениями пересечения по меньшей мере для некоторых видеопоследовательностей, являются кадрами с внутрикадровым кодированием.
Это может упрощать и/или улучшать функционирование во многих вариантах осуществления. Например, это может упрощать переход между различными маршрутами/видеоэлементами, поскольку это может уменьшать число кадров, нуждающихся в декодировании.
В соответствии с необязательным признаком изобретения, средство формирования изображений выполнено с возможностью формирования изображения представления по меньшей мере по первому кадру из первого набора кадров и второму кадру из ранее выбранного второго маршрута.
Это может упрощать и/или улучшать функционирование во многих вариантах осуществления.
Первый кадр может выбираться в виде кадра с внутрикадровым кодированием, и/или второй кадр может выбираться в виде кадра с внутрикадровым кодированием. Первый кадр может, в частности, являться кадром пересечения. Формирование изображения представления может включать в себя декодирование предсказанного (часто двунаправленного (В)) кадра по кадру с внутрикадровым кодированием (I-кадру) из ранее выбранного маршрута и кадру с внутрикадровым кодированием (I-кадру) (первому кадру) из первого маршрута. (Ранее выбранный маршрут может соответствовать выбираемому в настоящий момент маршруту до выбора первого маршрута, особенно, когда средство выбора выбирает первый маршрут в качестве маршрута, отличного от выбираемого в настоящий момент маршрута (до выбора первого маршрута)). Это может, как правило, являться сценарием, когда устройство переключается с одного маршрута на другой маршрут.
В соответствии с необязательным признаком изобретения, второй кадр является кадром, ассоциированным с пересечением между первым маршрутом и ранее выбранным вторым маршрутом.
Это может упрощать и/или улучшать функционирование во многих вариантах осуществления.
В соответствии с необязательным признаком изобретения, накопитель дополнительно выполнен с возможностью хранения данных о соотношении, характеризующих пространственное соотношение между маршрутами из набора маршрутов, при этом выбор первого маршрута осуществляется в соответствии с данными о соотношении.
Это может упрощать и/или улучшать функционирование во многих вариантах осуществления.
В соответствии с необязательным признаком изобретения, данные о соотношении могут характеризовать по меньшей мере одно пространственное соотношение между двумя маршрутами из группы из: пересечения двух маршрутов; соединения двух маршрутов; первого маршрута из двух маршрутов, соответствующего противоположному направлению движения относительно второго маршрута из двух маршрутов; и двух маршрутов, являющихся параллельными.
Это может обеспечивать улучшенное функционирование во многих вариантах осуществления.
В соответствии с необязательным признаком изобретения, видеоэлементы являются кодированными видеоэлементами, содержащими и кадры с внутрикадровым кодированием, и кадры с межкадровым кодированием, при этом средство выбора выполнено с возможностью уменьшения смещения к выбираемому в настоящий момент маршруту для индикаций положения наблюдателя, соответствующих кадрам с внутрикадровым кодированием, относительно индикаций положения наблюдателя, соответствующих кадрам с межкадровым кодированием.
Это может уменьшить коэффициент использования вычислительных ресурсов и, в частности, может уменьшить сложность и использование ресурсов для декодирования кадров, подходящих для формирования изображений представления.
В соответствии с одним из аспектов изобретения, предлагается способ, включающий в себя: хранение набора маршрутов в N-мерном пространстве, отображающем пространственные позиции, причем, набор маршрутов содержит множество маршрутов, при этом каждый маршрут из набора маршрутов описывает траекторию позиций камеры в N-мерном пространстве и связан с видеоэлементом, содержащим кадры, содержащие и изображение, и информацию о глубине для позиций камеры на маршруте; прием индикации положения наблюдателя; выбор первого маршрута из набора маршрутов в соответствии с критерием выбора, зависящим от показателя расстояния, зависящего от индикации положения наблюдателя и положений маршрутов из набора маршрутов; извлечение первого видеоэлемента, ассоциированного с первым маршрутом, из источника видео; формирование по меньшей мере одного изображения представления для индикации положения наблюдателя по первому набору кадров из первого видеоэлемента; причем, критерий выбора смещен к выбираемому в настоящий момент маршруту относительно других маршрутов из набора маршрутов.
Эти и другие аспекты, признаки и преимущества изобретения будут понятны из описываемого ниже варианта (вариантов) осуществления и объяснены со ссылкой на него (них).
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Далее варианты осуществления описываются исключительно для примера со ссылкой на чертежи, на которых
фиг. 1 иллюстрирует пример элементов устройства для формирования изображений представления вследствие индикации положения наблюдателя в соответствии с некоторыми вариантами осуществления изобретения;
фиг. 2 иллюстрирует пример конфигурации клиент-сервер, содержащей изображенное на фиг. 1 устройство в качестве клиентского устройства;
фиг. 3 иллюстрирует пример сервера для изображенной на фиг. 2 конфигурации клиент-сервер;
фиг. 4 иллюстрирует пример маршрутов съемки для съемки среды;
фиг. 5 иллюстрирует пример маршрута наблюдателя относительно маршрутов съемки в виртуальной среде;
фиг. 6 иллюстрирует пример маршрутов съемки для виртуальной среды;
фиг. 7 иллюстрирует пример графа маршрутов съемки/видеоэлементов, отображающих виртуальную среду; и
фиг. 8 иллюстрирует пример графа соотношений между маршрутами съемки/видеоэлементами, отображающими виртуальную среду.
ПОДРОБНОЕ ОПИСАНИЕ НЕКОТОРЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Виртуальные возможности, позволяющие пользователю передвигаться в виртуальном мире, становятся все популярнее, и разрабатываются средства для удовлетворения таких потребностей. Однако обеспечение эффективных средств виртуальной реальности является весьма проблематичным, особенно, если восприятие должно основываться на съемке среды реального мира, а не на полностью виртуально формируемом искусственном мире.
Один из подходов к обеспечению средства виртуальной реальности состоит в сохранении большого числа изображений, при этом каждое изображение связано с конкретным положением и, как правило, направлением/ориентацией наблюдения. При наличии положения пользователя в виртуальном мире может осуществляться поиск сохраненных положений для извлечения изображения для этого положения (или для близкого к нему положения), и это может быть визуализировано соответствующим образом для пользователя. Например, сервер может принимать положения пользователей и может извлекать соответствующие изображения из локального накопителя изображений и формировать специальную видеопоследовательность, соответствующую пути пользователя по виртуальному миру.
Однако такой подход потребует сохранения большого объема данных с целью обеспечения достаточного охвата виртуальной среды. Требуемая плотность изображений и, следовательно, общее число изображений, которые необходимо сохранять, может быть уменьшено путем сохранения вместе с изображениями информации о глубине. Это может предусматривать локальное формирование изображений представления для положений и направлений представления, которые не в точности совпадают с сохраненными положениями и направлениями. Однако, как правило, все же необходимо большое число сохраненных изображений. Кроме того, структура данных, требуемая для индивидуального сохранения изображений и ассоциированных положений, как правило, не обеспечивает оптимизированной эффективности хранения.
Кроме того, данный подход приводит к относительно высокой сложности, как правило, при относительно высоком использовании вычислительных и коммуникационных ресурсов. В частности, данный подход не вполне согласуется, например, с возрастающим числом пользователей, осуществляющих доступ к общему серверу по Интернету. В таком случае серверу потребуется формировать специальный видеосигнал для каждого пользователя и соответствующим образом индивидуально выполнять (как правило, сложное) кодирование видео для каждого пользователя.
Фиг. 1 иллюстрирует устройство, которое во многих сценариях может обеспечивать улучшенное восприятие пользователем виртуальной реальности. В некоторых вариантах осуществления устройство может представлять собой клиентское устройство 201, которое взаимодействует с удаленным сервером 203, например, по сети 205, такой как Интернет, как показано на фиг. 2. Сервер 203 может быть выполнен с возможностью одновременной поддержки потенциально большого числа клиентских устройств 201.
Устройство выполнено с возможностью формирования изображений, соответствующих представлениям сцены для заданной позиции представления наблюдателя. Во многих вариантах осуществления устройство выполнено с возможностью формирования стереоизображений для заданной позиции наблюдателя или, что то же, два изображения могут формироваться для несколько отличающихся позиций наблюдателя, соответствующих расстоянию между двумя глазами наблюдателя.
В данной области техники термины «размещение» и «позиция» используются в качестве общего термина для положения и/или направления/ориентации. Комбинация положения и направления/ориентации, например, объекта, камеры или представления может называться позицией или размещением. Таким образом, индикация размещения или позиции может включать в себя шесть значений/компонентов/степеней свободы, при этом каждое значение/компонент, как правило, описывает отдельное свойство положения/местоположения или ориентации/направления соответствующего объекта. Разумеется, во многих ситуациях размещение или позиция могут рассматриваться или отображаться с использованием меньшего числа компонентов, например, если один или более компонентов считаются фиксированными или неприменимыми (например, если все объекты считаются находящимися на одинаковой высоте и имеют горизонтальную ориентацию, четыре компонента могут обеспечивать полное отображение позиции объекта). В дальнейшем термин «позиция» используется, когда речь идет о положении и/или ориентации, которые могут быть отображены 1-6 значениями (соответствующими максимальным возможным степеням свободы). В описании основное внимание будет уделяться вариантам осуществления и примерам, в которых позиция имеет максимальные степени свободы, т.е., три степени свободы каждого из положения и ориентации, что в результате дает в целом шесть степеней свободы. Позиция может при этом отображаться набором векторов из шести значений, представляющих шесть степеней свободы, и, следовательно, вектор позиции может обеспечивать трехмерное положение и/или трехмерную индикацию направления. Однако, понятно, что в других вариантах осуществления позиция может отображаться меньшим числом значений.
Устройство содержит накопитель 101, который выполнен с возможностью хранения данных о маршруте для набора маршрутов в N-мерном пространстве (где N - целое число). N-мерное пространство может являться пространством виртуального мира и, в частности, может являться 3-мерным пространством, соответствующим местоположениям пользователя в пространстве. В некоторых вариантах осуществления одно или более измерений могут соответствовать ориентации представления в виртуальном пространстве, при этом в некоторых вариантах осуществления пользователь может быть отображен тремя степенями свободы (3DoF), а в других вариантах осуществления, например, шестью степенями свободы (6DoF), соответствующими 3-мерному местоположению и трехмерной ориентации. N-мерное пространство отображает пространственные позиции и, в частности, отображает позиции в N-мерном пространстве, отображающем пространственные измерения в виртуальном мире.
Накопитель 101 при этом хранит маршруты (например, пути или траектории) в N-мерном пространстве. Каждый из маршрутов предусматривает путь или траекторию по миру виртуальной реальности. Кроме того, каждый из набора маршрутов, который был сохранен, связан с видеоэлементом. Таким образом, каждый маршрут связан с видеоэлементом, который содержит последовательность изображений, соответствующую положениям и/или ориентациям маршрута. Аналогичным образом, каждый видеоэлемент может предусматривать последовательность изображений, соответствующую представлениям на маршруте. Видеоэлемент для заданного маршрута в соответствии с этим содержит последовательность изображений, соответствующую представлениям при движении по маршруту. В этой связи, вместо того, чтобы соответствовать статическому изображению, положению или представлению, видеоэлемент для конкретного маршрута предусматривает изображения, которые снимались бы камерой при движении по маршруту или, что то же, воспринимались бы виртуальным пользователем, движущимся по маршруту. Каждый видеоэлемент включает в себя кадры, содержащие информацию и об изображении, и о глубине для позиций камеры связанного маршрута, при этом каждый маршрут описывает соответствующую траектории позиций камеры (позиции камеры) в N-мерном пространстве.
Каждый видеоэлемент может включать в себя последовательность изображений, соответствующую последовательности положений на маршруте. Воспроизведение видеоэлемента может обеспечивать представления лица или камеры, движущихся по маршруту. Каждый из маршрутов может быть отображен последовательностью положений по маршруту. В некоторых вариантах осуществления могут рассматриваться только явно заданные положения (например, для каждого кадра может быть включено одно положение), а в других вариантах осуществления положения между явными значениями, хранящимися в накопителе, могут определяться путем интерполяции). В других вариантах осуществления каждый маршрут может, например, задаваться математической функцией, обеспечивающей, например, три значения положения в зависимости от временной переменной. Временная переменная может, например, быть разбита на временные сегменты, соответствующие периодам кадра для соответствующего видеоэлемента.
В данном примере накопитель 101 связан с сетевым интерфейсом 103, который сопрягает клиентское устройство 201 с сетью 205 (в качестве которой в нижеследующем описании будет рассматриваться Интернет). Сетевой интерфейс 103 может, в частности, обеспечивать функциональные возможности для клиентского устройства 201 по соединению с сервером 203.
В данном примере сервер 203 является общим сервером, который может одновременно обслуживать множество пользователей. Некоторые элементы сервера 203 иллюстрируются на фиг. 3. В данном примере сервер 203 содержит сетевой интерфейс 301 сервера, который выполнен с возможностью сопряжения сервера 203 с сетью 205, тем самым позволяя ему связываться с клиентским устройством 201. Сетевой интерфейс 301 сервера связан с контроллером 303 сервера, который выполнен с возможностью управления и выполнения значительной части работы сервера 203. Контроллер 303 сервера связан с видеонакопителем 305 и накопителем 307 маршрутов.
В данном примере накопитель 307 маршрутов хранит данные о маршрутах для набора маршрутов, а видеонакопитель 305 хранит соответствующие связанные видеоэлементы. Сервер 203 может, в частности, отображать мир виртуальной реальности с помощью набора маршрутов с ассоциированными видеоэлементами, как описано выше. Например, виртуальная среда может быть отображена (возможно, относительно большим) числом маршрутов в N-мерном пространстве виртуальной среды. Для каждого из маршрутов сохраняется видеоэлемент, который отображает представления на маршрутах, т.е., может формироваться видеоэлемент, отображающий представления камеры или пользователя при движении по маршруту.
Во многих вариантах осуществления виртуальная среда может являться отображением реальной среды, при этом видеоэлементы и маршруты могут формироваться путем записи/съемки в реальной среде. Например, видеокамера, позволяющая отслеживать положение, может быть пронесена по реальной среде, при этом снятое видео может сохраняться в виде видеоэлемента, а соответствующая информация о положении может сохраняться в виде маршрута. В некоторых вариантах осуществления видеоэлемент и данные о маршруте могут формироваться по виртуальной модели виртуальной среды, например, благодаря перемещению виртуальной камеры по виртуальной среде.
Сохраненные видеоэлементы включают в себя последовательность кадров/изображений, отображающих представления на маршрутах. Особое преимущество данного подхода состоит в том, что методы видеокодирования могут использоваться для кодирования кадров/изображений, тем самым формируя видеоэлементы. Это обеспечивает очень эффективное кодирование, дающее в результате более низкие скорости передачи данных для заданного качества изображения и тем самым, как правило, обеспечивающее значительно более эффективное кодирование, чем при кодировании отдельных изображений. В частности, методы видеокодирования, такие как оценка движения и (как правило, двунаправленное) видеокодирование с предсказанием, могут использоваться для уменьшения объема данных. В конкретном варианте осуществления кадры кодируются либо как I-кадры (кадры с внутрикадровым кодированием - кодированные без использования каких-либо иных кадров), либо как В-кадры (двунаправленные кадры - остаточные кадры, кодированные относительно I-кадров, в частности, на основе оценки движения по I-кадрам). Кроме того, помимо пониженных требований к хранению и коммуникационных требований, применение видеокодирования позволяет использовать имеющиеся в наличии функциональные возможности кодирования и декодирования (включая специализированные аппаратные средства). Методы видеокодирования, которые могут использоваться, включают в себя, например, кодирование Н.264 или MPEG2.
Видеоэлементы включают в себя и изображения, и информацию о глубине. В частности, видеоэлементы могут представлять собой 3-мерные видеоэлементы, у которых изображения/кадры интенсивности света ассоциированы с информацией о глубине для кадров. Понятно, что для обеспечения информации о глубине могут использоваться различные подходы, включая стереоизображения, явные карты глубин или расхождений и т.д. Информация о глубине обеспечивает гибкость формирования представлений и, в частности, обеспечивает, упрощает и улучшает формирование изображений представлений, соответствующих положениям(/ориентациям), которые не в точности соответствуют положениям, для которых маршруты/видеоэлементы обеспечивают изображение.
В данном примере виртуальная среда при этом отображается, как правило, относительно разреженным набором пространственных маршрутов, например, снимаемых камерой, которая движется в среде реального мира. Каждый маршрут связан с видеоэлементом, а также метаданными в форме данных о маршруте, которые обеспечивают информацию о положении для видеоэлемента и которые, в частности, могут обеспечивать индикацию положения для каждого кадра видеоэлемента. Фиг. 4 иллюстрирует пример того, как 2-мерная среда может охватываться некоторым числом (возможно, довольно произвольных) маршрутов.
В данном примере клиентское устройство 201 выполнено с возможностью запроса данных о маршруте и видеоэлементов у сервера 203, а в ответ сервер 203 приступает к выдаче запрошенных данных.
Однако в данном примере клиентское устройство 201 не просто загружает все данные и обрабатывает их локально, а, скорее, сначала извлекает только данные о маршруте, которые затем используются, чтобы динамически определять, какой маршрут (маршруты) близок к требуемым положениям. Видеоэлементы для выбранных маршрутов после этого выборочно извлекаются из сервера 203 и используются для формирования подходящих представлений.
Таким образом, в данном конкретном примере, когда клиентское устройство 201 инициирует приложение виртуальное реальности, оно запрашивает данные о маршруте у сервера 203. В ответ сервер 203 извлекает данные о маршруте из накопителя 307 маршрутов и передает их в клиентское устройство 201. Однако сначала никакие видеоданные не выдаются, и по сети 205 передаются только данные о маршруте.
Более подробно, когда инициализируется новое приложение виртуальной реальности, сетевой интерфейс 103 передает в сервер 203 запрос на передачу данных о маршруте, хранящихся в накопителе 307 маршрутов. В ответ сервер 203 передает данные о маршруте. Данные о маршруте принимаются сетевым интерфейсом 103 и сохраняются в накопителе 101. Таким образом, после начальной загрузки накопитель 101 сохраняет локальную реплику данных о маршруте для набора маршрутов в N-мерном пространстве. Несмотря на то, что каждый из маршрутов ассоциирован(/связан) с соответствующим видеоэлементом, отображающим представления маршрута, эти видеоэлементы не загружаются, а остаются на сервере.
Клиентское устройство 201 дополнительно содержит средство 105 ввода положения, которое выполнено с возможностью приема индикации положения наблюдателя. Индикация положения наблюдателя характеризует положение наблюдателя в N-мерном пространстве виртуальной среды и, следовательно, характеризует требуемое представление виртуальной среды. В некоторых вариантах осуществления индикация положения наблюдателя может формироваться в ответ на конкретный ввод данных пользователем, например, путем непосредственной выдачи пользователем положения или, например, управления джойстиком или мышью. В других вариантах осуществления индикация положения наблюдателя может формироваться приложением, например, также запущенным на клиентском устройстве 201. Например, индикация положения наблюдателя может формироваться игровым приложением.
Индикация положения наблюдателя может представлять собой полную шестимерную индикацию позиции, предусматривающую трехмерное местоположение и трехмерную ориентацию для наблюдателя. В других вариантах осуществления, например, может предусматриваться лишь двумерное местоположение вместе с двумерной ориентацией (например, когда наблюдатель считается всегда находящимся на одной и той же высоте, а маршруты по существу являются двумерными маршрутами).
Клиентское устройство 201 дополнительно содержит средство 107 выбора, которое связано с накопителем 101 и средством 105 ввода положения. Средство 107 выбора выполнено с возможностью выбора маршрутов из сохраненного набора маршрутов на основе принятых индикаций положения наблюдателя. В частности, для заданной индикации положения наблюдателя средство 107 выбора выполнено с возможностью оценки критерия выбора, который зависит от показателя расстояния, зависящего от индикации положения наблюдателя и положений маршрутов из набора маршрутов. Таким образом, на основе индикации положения наблюдателя и данных о положении для сохраненных маршрутов оценивается показатель расстояния, и при необходимости выбираются один или более маршрутов для формирования изображений представлений для текущей индикации положения наблюдателя.
Клиентское устройство 201 дополнительно содержит средство 109 извлечения, которое связано с средством 107 выбора и сетевым интерфейсом 103. Средство 109 извлечения принимает информацию о том, какой видеоэлемент (видеоэлементы) был выбран, и в соответствии с этим оно через сетевой интерфейс 103 связывается с сервером 203 для извлечения выбранного видеоэлемента (видеоэлементов).
Клиентское устройство 201 дополнительно содержит средство 111 формирования изображений для формирования по меньшей мере одного изображения представления для индикации положения наблюдателя по первому набору кадру из первого видеоэлемента. Извлеченный видеоэлемент направляется в средство 111 формирования изображений, которое приступает к формированию изображения, соответствующего изображению, которое наблюдалось бы наблюдателем в положении в виртуальной среде, указанном с помощью индикации положения наблюдателя. Выбор кадров, которые используются для формирования изображения представления, может также основываться на индикации положения наблюдателя и пространственном показателе расстояния. Действительно, поскольку кадры в видеоэлементе имеют положения на маршруте, может выбираться кадр (кадры), который в максимальной степени соответствует положению индикации положения наблюдателя (например, с учетом других параметров или соображений).
Таким образом, для заданной индикации положения наблюдателя клиентское устройство 201 может приступать к выбору соответствующего видеоэлемента (или видеоэлементов) и соответствующего кадра (или кадров) данного видеоклипа и использовать выбранные кадры для формирования изображения представления. В некоторых вариантах осуществления и сценариях выбранные кадры могут достаточно близко соответствовать непосредственно изображению представления для индикации положения наблюдателя, при этом формируемое изображения представления может формироваться непосредственно в виде копии выбранного кадра.
Однако в большей части вариантов осуществления и сценариев различия между положением (включая ориентацию) кадра (кадров) и индикацией положения наблюдателя могут компенсироваться путем обработки кадров. Эта обработка может, в частности, являться преобразованием представления на основе информации о глубине. Ясно, что специалистам в данной области техники известно множество подходов к такому преобразованию представления, которые могут использоваться в пределах данного изобретения.
Клиентское устройство 201 в этой связи выполнено с возможностью формирования изображения представления на основе принимаемой индикации положения наблюдателя. Действительно, описанный процесс итерируется, и клиентское устройство 201 в этой связи может формировать последовательность изображений представления в соответствии с последовательностью индикаций положения наблюдателя. Клиентское устройство 201 может, в частности, формировать последовательность представлений для наблюдателя, движущегося по маршруту через виртуальную среду.
Формируемые изображения могут обеспечивать представления, которые наблюдатель видел бы при движении через виртуальную среду по траектории, указанной последовательностью индикаций положения наблюдателя. Однако в данном примере это достигается с использованием подхода, основанного на видеоэлементе и маршруте, а не с использованием отдельных изображений. Это дает в результате значительно более эффективный подход и обеспечивает эффективное кодирование, упрощенную съемку, уменьшенную сложность, пониженные требования к хранению и т.д. Кроме того, система может предусматривать существенно пониженные коммуникационные требования и требования к хранению в клиентском устройстве 201, поскольку необходимо извлекать и загружать только требуемые видеоэлементы. Таким образом, данный подход может проводить различия для обработки и, в частности, передачи между данными о маршруте и данными видеоэлемента. Поскольку данные о маршруте, как правило, занимают на порядок меньший объем, чем видеоданные, это может обеспечивать значительное снижение коммуникационных требований при загрузке.
Выбор соответствующего маршрута основан на показателе расстояния, который отражает расстояние между индикацией положения наблюдателя (ее положением) и положениями маршрутов. В частности, показатель расстояния может отражать расстояние между индикацией положения наблюдателя и положением текущего кадра для выбираемого в настоящий момент видеоэлемента/маршрута и минимальное расстояние между индикацией положения наблюдателя и положениями маршрутов для не выбираемых в настоящий момент маршрутов. Расстояния могут определяться в соответствии с любой подходящей нормой или, например, с помощью монотонно убывающей функции подходящей нормы.
Такой показатель расстояния может обеспечивать приемлемую индикацию подходящего маршрута путем индикации того, какой маршрут имеет положение, ближайшее к требуемому положению. Однако в клиентском устройстве 201 на фиг. 1 критерий выбора не просто основан на показателе расстояния и не просто выбирает маршрут, являющийся ближайшим к требуемой точке съемки. Скорее, средство 107 выбора выполнено с возможностью использования критерия выбора, который смещен к выбираемому в настоящий момент маршруту относительно других маршрутов. Критерий выбора может в этой связи смещаться к тому, чтобы оставаться на текущем маршруте и, следовательно, формировать изображения представлений на основе того же видеоэлемента, а не переходить к другому видеоэлементу.
В клиентском устройстве 201 на фиг. 1 критерий выбора средства 107 выбора асимметричен по отношению к показателю расстояния для выбираемого в настоящий момент маршрута (и, следовательно, видеоэлемента) и для остальных маршрутов (и, следовательно, видеоэлементов), которые в настоящий момент не выбираются. В частности, используемый критерий выбора потребует, чтобы показатель расстояния для другого маршрута был меньше, чем показатель расстояния для текущего маршрута, на некоторый запас или порог до того, как будет выбран другой маршрут, т.е., до того, как клиентское устройство 201 переключится на другой маршрут/видеоэлемент.
Можно привести конкретный пример со ссылкой на фиг. 5, которая иллюстрирует два параллельных маршрута RT1 и RT2, где RT1 - выбираемый в настоящий момент маршрут, при этом изображения представлений в настоящий момент формируются на основе соответствующего видеоэлемента. Маршрут RT3 наблюдателя через среду находится между двумя снятыми маршрутами RT1, RT2 при изменяющихся расстояниях до двух маршрутов.
Пример критерия выбора для данного примера может иметь вид
где
Смещение критерия выбора к выбираемому в настоящий момент маршруту может на практике обеспечивать значительные преимущества. Во-первых, это чаще всего обеспечивает более эффективный подход при пониженных коммуникационных требованиях, поскольку число видеоэлементов, которые необходимо извлекать и загружать, как правило, может быть значительно уменьшено.
Кроме того, это может обеспечивать значительно более согласованный выход c меньшим числом воспринимаемых артефактов. Действительно, было обнаружено, что обеспечивается более стабильное и согласованное по пространству и времени восприятие виртуальной среды.
В некоторых вариантах осуществления данные о маршруте не ограничены информацией о положении для маршрутов, а включают в себя также данные, обеспечивающие информацию о том, как маршруты соотносятся друг с другом.
В частности, данные о маршруте могут дополнительно содержать информацию, относящуюся к пересечениям между маршрутами. Например, как приведено в качестве примера на фиг. 4, маршруты могут во многих вариантах осуществления основываться на относительно случайных маршрутах, и это может приводить ко множеству пересечений и наложений между маршрутами. Действительно, пересечения могут также часто возникать, когда конкретные маршруты формируются преднамеренно для обеспечения приемлемого охвата среды. Например, заданное пространство может быть охвачено путем преднамеренного обхода по некоторому числу параллельных и ортогональных маршрутов с целью формирования координатной сети маршрутов. В таком примере будет иметься множество пересечений между различными ортогональными маршрутами.
В различных вариантах осуществления могут использоваться различные критерии анализа существования пересечений между маршрутами. Может считаться, что пересечение между двумя маршрутами произошло, когда они имеют общее положение. Пересечение включает в себя любое соединение между двумя маршрутами, такое как T-образное соединение, или соединение между более чем двумя маршрутами. В некоторых вариантах осуществления может считаться, что пересечение/соединение существует, когда расстояние между положением на одном маршруте и положением на другом маршруте меньше порогового значения. Пороговое значение, как правило, является очень небольшим, и, следовательно, пересечение, как правило, считается существующим только в том случае, когда два маршрута практически накладываются по меньшей мере в одном положении.
Во многих вариантах осуществления критерий выбора дополнительно зависит от сохраненных положений пересечения. В частности, средство 107 выбора может быть выполнено с возможностью уменьшения смещения к выбираемому в настоящий момент маршруту для индикаций положений наблюдателя, соответствующих положениям пересечения. Индикация положения наблюдателя может соответствовать положению пересечения, когда положение на текущем маршруте, наилучшим образом согласующееся с текущей индикацией положения наблюдателя (например, наименьшим расстоянием), является точкой пересечения, в которой текущий маршрут пересекает другой маршрут.
Таким образом, в некоторых вариантах осуществления критерий выбора облегчит выбор нового маршрута при нахождении на пересечении (в частности, когда отображение индикации положения наблюдателя на текущий маршрут является точкой пересечения) между текущим маршрутом и новым маршрутом по сравнению с нахождением не на пересечении.
Действительно, в некоторых вариантах осуществления выбор нового маршрута может оказаться возможным только в том случае, когда индикация положения наблюдателя соответствует точке/положению пересечения. В таком варианте осуществления индикация положения наблюдателя может, например, изменяться в соответствии с требуемым путем или траекторией по виртуальной среде. Эта индикация положения наблюдателя будет проецироваться на текущий маршрут, при этом соответствующие кадры выбираемого в настоящий момент видео могут извлекаться и использоваться для формирования изображений представления, соответствующих индикации положения наблюдателя. Однако для проецируемых положений на выбираемом в настоящий момент маршруте, которые не находятся в точке пересечения, средство 107 выбора может и не выбрать новый маршрут, т.е., в этом случае смещение к выбираемому в настоящий момент маршруту является предельным в том отношении, что оно не обеспечивает выбора нового маршрута. Однако, когда индикация положения наблюдателя изменяется на значение, при котором проецируемое или соответствующее положение на выбираемом в настоящий момент маршруте согласуется с точкой пересечения, критерий выбора может обеспечивать выбор любого другого маршрута в этом пересечении. Таким образом, предельное смещение к выбираемому в настоящий момент маршруту уменьшается, а, возможно, и полностью устраняется, например, в некоторых вариантах осуществления средство 107 выбора может попросту выбирать маршрут в виде маршрута пересечения, которое является ближайшим к индикации положения наблюдателя.
Такой подход может тем самым позволять клиентскому устройству 201 «привязываться» к имеющимся маршрутам и лишь «переходить» на другой маршрут в точках пересечения. Несмотря на то, что это может приводить к тому, что изображения представлений формируются на основе кадров, которые находятся пространственно дальше от индикации положения наблюдателя, чем другие имеющиеся кадры (из других видеоэлементов), данный подход может во многих сценариях обеспечивать предпочтительное пользовательское восприятие. В частности, он обеспечивает улучшенную согласованность в формируемой выходной последовательности изображений представления и может понизить число и критичность ошибок или артефактов.
Во многих вариантах осуществления выбор других маршрутов не ограничен точками пересечения, при этом выполняется более постепенное изменение смещения. Во многих вариантах осуществления смещение к выбираемому в настоящий момент маршруту может зависеть от показателя расстояния, характеризующего расстояние между индикацией положения наблюдателя и положениями пересечения. Показатель расстояния может во многих вариантах осуществления являться подходящей нормой, либо в некоторых вариантах осуществления расстояние может измеряться вдоль маршрута и, в частности, вдоль выбираемого в настоящий момент маршрута. Таким образом, индикация положения наблюдателя может проецироваться на выбираемый в настоящий момент маршрут (например, положение на маршруте с наименьшим расстоянием до индикации положения наблюдателя), при этом может определяться расстояние вдоль маршрута от этого проецируемого положения до точки пересечения.
В большей части вариантов осуществления смещение к выбираемому в настоящий момент маршруту уменьшается при уменьшении расстояния до точки пересечения. В таком примере клиентское устройство 201 будет, тем не менее, стремиться «привязаться» к текущему маршруту, но оно может обеспечивать «переход» между различными маршрутами, даже если это не точка пересечения. Это может обеспечивать более гибкий подход, который, например, может при необходимости обеспечивать некоторое «срезание углов» между маршрутами.
Выбор кадра или кадров, которые используются для формирования изображения представления для заданной индикации положения наблюдателя может осуществляться из выбранного видеоэлемента (соответствующего выбранному маршруту) исходя из различных соображений. Однако кадры, как правило, выбираются средством 111 формирования изображений в соответствии с данными о положении маршрута для кадров первого видеоэлемента относительно индикации положения наблюдателя. В частности, положения кадров в выбранном видеоэлементе сравниваются с индикацией положения наблюдателя, при этом может определяться показатель расстояния. В некоторых вариантах осуществления кадр или кадры могут попросту выбираться в виде кадров, которые являются пространственно наиболее близкими к индикации положения наблюдателя.
В некоторых вариантах осуществления при выборе кадра (кадров) может дополнительно учитываться временной аспект. В частности, когда кадры, используемые для формирования изображений представлений, являются карами из выбираемого в настоящий момент маршрута/видео, т.е., когда система остается на том же маршруте и не перешла на новый маршрут, выбор кадра при осуществлении выбора может смещаться к кадрам, которые временно близки (в видеоэлементе) к выбираемым в настоящий момент кадрам. Таким образом, когда новые кадры выбираются без изменения используемого видеоэлемента, новые кадры выбираются таким образом, что имеется смещение к меньшему временному расстоянию в видеоэлементе. Например, если два набора кадров пространственно в равной степени удалены от индикации положения наблюдателя, средство 111 формирования изображений приступит к выбору кадров, которые являются ближайшими к ранее выбранным кадрам.
В частности, может использоваться показатель выбора кадра, который увеличивается при уменьшающемся временном расстоянии до выбираемого в настоящий момент кадра видеоэлемента. В частности, показатель выбора кадра может возрастать тем больше, чем меньше разность между номерами кадров в видеоэлементе.
Данный подход может обеспечивать улучшенные характеристики во многих вариантах осуществления. В частности, он может обеспечивать улучшенное функционирование во многих сценариях, в которых текущий маршрут фактически пересекает сам себя. Пример такого маршрута представлен на фиг. 6. В данном примере маршрут накладывается сам на себя, тем самым создавая точку пересечения. Если выбор кадров попросту основан на пространственном расстоянии, индикация положения наблюдателя, остающаяся около точки пересечения и, возможно, незначительно (например, случайным образом) перемещающаяся, может приводить к частому изменению набора кадров, используемого для формирования изображения представления, а именно, она может переключаться между кадрами с первого момента времени, когда достигнута точка пересечения, и кадрами со второго момента времени, когда она достигнута. В этой связи, выбираемые кадры могут случайно и, возможно, часто переключаться между кадрами в очень различные моменты времени в видеоэлементе. Это приведет к формированию изображений, основанному на различных кадрах, и это, вероятно, приведет к значительному временному шуму.
Однако, если соответствующим образом смещаться к отсутствию временного перехода на различные части одного и того же видеоэлемента, этого можно избежать, при этом может формироваться значительно более согласованный и стабильный выход. Например, для примера на фиг. 6, если пользователь движется в направлении участка, соответствующего точке пересечение, снизу от чертежа, изображения представления, когда пользователь находится на данном участке, будут основаны на кадрах из первого момента времени, когда достигнута точка пересечения, и продолжат оставаться такими. Однако, если пользователь приближается к участку, соответствующему точке пересечения, слева от чертежа, изображения представления, когда пользователь находится на данном участке, будут основаны на кадрах из второго момента времени, когда была достигнута точка пересечения, и продолжат оставаться такими.
Описанная система основана на использовании одного (или более) видеоэлемента, соответствующего маршрутам(/путям/траекториям) по виртуальному пространству, для формирования подходящих изображений представления. Основное соображение в такой системе состоит в том, как выбирать, какой видеоэлемент следует использовать, и, в частности, когда переключать маршруты/видеоэлементы.
В клиентском устройстве 201 целью данного подхода является визуализация изображений представления по одному и тому же видео и смещение к невыполнению переключения на новые видеоэлементы. Аналогичным образом, при выборе того, какие кадры должны использоваться в видеоэлементе, клиентское устройство 201 смещается к отсутствию временных переходов.
Это обеспечивает ряд преимуществ и основано на различных соображениях. Например:
1. Как правило, расхождение/глубина, используемые для синтеза представлений, оцениваются с использованием стереокамеры, а временная стабильность усиливается с использованием временной фильтрации по глубине. Несмотря на то, что значения глубины могут быть неправильными, они, как правило, согласуются от одного кадра до следующего, что означает, что временные артефакты часто исключаются.
2. Положения виртуальной камеры, которые соответствуют соседним кадрам в одном видео, как правило, близки друг к другу. Например, при 30 кадрах в секунду виртуальные камеры могут быть разделены на расстояние от 3 мм до 1 см. Положения виртуальной камеры из различных видео могут находиться друг от друга на расстоянии до 20 см, что означает, что внезапное изменение опорной точки наблюдения на столь большом расстоянии, скорее всего, приведет к артефактам.
3. Частое переключение увеличит затраты вычислительных ресурсов на кодирование, поскольку каждый большой переход в отдельном видеопотоке или каждый переход между видео потребует загрузки и декодирования кадра с внутрикадровым кодированием.
Данный подход, таким образом, относится к отображению среды таким образом, что изображения могут формироваться для различных позиций наблюдения для пользователя, который не ограничен конкретной позицией в среде.
Одна из основных проблем в данной области техники и для таких приложений состоит в том, как эффективно отображать и снимать среды тем способом, который позволяет формировать изображения высокого качества для различных позиций, но при этом позволяет сохранять их без требования чрезмерно большой памяти, реализуется в формате, который предусматривает подходящую обработку и формирование изображений без чрезмерной сложности и без требования чрезмерно больших вычислительных ресурсов, а также способен снижать коммуникационные требования в приложениях клиента/сервера и т.д. Еще одной существенной проблемой является обеспечение практической операции съемки, которая предпочтительно не требует слишком дорогой или специализированной схемотехники и которая не является слишком обременительной или трудоемкой.
Обычный подход - попросту сделать отдельные снимки (изображения и глубину) сцены, как правило, из заранее определенных позиций наблюдения, а затем сохранить эти изображения и снимки глубины. Как правило, позиции съемки предварительно задаются, и пользователь должен вручную перемещать камеру в новую позицию, делать снимок, перемещать ее в следующую позицию, делать еще один снимок и т.д. Это очень длительный и тяжелый процесс. В альтернативном варианте может использоваться большое число камер, но это не только дорого, но и очень трудоемко, поскольку все камеры необходимо тщательно размещать в правильных позициях. Кроме того, для точного функционирования необходимо большое число снимков, и, следовательно, необходимо сохранять большое число отдельных снимков доступным способом.
При обычных подходах изображение представления для заданной позиции наблюдения при этом формируется путем переключения точки наблюдения из имеющихся и сохраненных снимков с использованием одного из хорошо известных алгоритмов изменения точки наблюдения.
В описанном подходе сцена не отображается отдельными снимками, а отображается множеством маршрутов и связанных видеоэлементов. Например, данный подход обеспечивает процесс съемки, в котором один или более человек могут попросту перемещаться в заданной среде, снимая видео с ассоциированным положением. Например, группа людей может попросту обходить сцену, снимая видео по мере того, как они идут, например, по случайным маршрутам. Видеоэлементы с данными ассоциированного маршрута могут затем компилироваться для получения набора из множества маршрутов с ассоциированными видеоэлементами, тем самым обеспечивая отображение сцены.
Данный подход может тем самым обеспечивать существенно упрощенную операцию съемки и может, например, обеспечивать выполнение съемки попросту путем съемки большого числа случайных маршрутов с видео. Таким образом, вместо того, чтобы требовать тщательной и планомерной съемки с использованием отдельных изображений с целью формирования достаточно точного отображения сцены, использование маршрутов и видеопотоков предусматривает съемку значительного большего объема информации, тем самым часто исключается необходимость в тщательной контролируемой записи изображений в выгодных положениях.
В частности, благодаря базированию отображения сцены на видеоэлементах (и ассоциированной информации о маршруте), а не просто на отдельных изображениях, требования к памяти/хранению могут быть значительно понижены, и/или объем информации, которая может храниться, может быть значительно больше. Кодирование видео значительно эффективнее, чем кодирование отдельных изображений. Кодирование видео не только использует избыточность в изображении для уменьшения требуемого объема данных, но и (а часто и значительно эффективнее) использует избыточность между различными кадрами для значительного сокращения объема данных для каждого кадра (например, с использованием оценки движения). Для многих типичных сцен, например, для приложений виртуальной реальности (например, неподвижных сцен) корреляция между различными кадрами столь высока, что может достигаться огромное сокращение данных.
Таким образом, один эффект от использования видеоэлементов с ассоциированными маршрутами по сравнению с использованием дискретных изображений состоит в том, что он обеспечивает значительно более эффективное сжатие, что на практике обеспечивает выполнение совершенно иной операции съемки, в которой отображение основывается не на изображениях с тщательно выбираемых положений, а, скорее, на множестве (и, как правило, большом числе) маршрутов, которые могут, как правило, быть практически случайными. Данный подход, как правило, снижает требования к хранению и очень значительно уменьшает сложность отображения съемки и трудозатраты на ее выполнение.
Описанный подход, тем не менее, не просто связан с отображением среды с помощью множества связанных маршрутов и видеоэлементов. Скорее, он также связан с тем, как по такому отображению формируются изображения.
В описанном подходе определение подходящей базы, по которой должно формироваться изображение представления, опирается на основанный на маршруте процесс выбора. Для выбора маршрута используется критерий выбора, при этом изображение формируется по меньшей мере по одному кадру связанного видео. Выбор основан на расстоянии от положения наблюдателя, но критерий выбора дополнительно включает в себя смещение к выбираемому в настоящий момент маршруту.
Таким образом, вместо того, чтобы просто выбирать наиболее близкий маршрут, критерий выбора дополнительно включает в себя смещение к выбираемому в настоящий момент маршруту относительно других маршрутов. Таким образом, система не просто выбирает ближайшие кадры, а может смещаться к продолжению создания изображений на основе согласованного во времени выбора кадров, принадлежащих одному и тому же маршруту. Система может эффективно «привязываться» к маршруту и оставаться на этом маршруте (в качестве основы для формирования изображений) до тех пор, пока смещение не перестанет быть достаточным для того, чтобы удерживать пользователя привязанным к этому маршруту. Например, критерий выбора может смещаться к текущему маршруту, требуя, чтобы переключение на другой маршрут требовало расстояния до этого другого маршрута, составляющего, скажем, менее половины расстояния до текущего маршрута.
Данный подход сильно зависит от конкретного метода отображения сцены с помощью множества маршрутов и связанных видеоэлементов. Изображения (кадры) и положения съемки в описанных подходах не являются независимыми и изолированными от других изображений и положений съемки, а, скорее, видеоэлементы содержат тесно взаимосвязанные кадры, и они тесно взаимосвязаны с маршрутами. Действительно, кадры видеоэлементов имеют пространственное соотношение и имеют близкую корреляцию друг с другом, т.е., последовательные кадры видеоэлементов, как правило, имеют высокую степень корреляции. Аналогичным образом, маршруты задают некоторое число положений, которые непосредственно связаны с видеоэлементами, и, следовательно, маршруты не просто обеспечивают информацию о положениях в пространстве, а обеспечивают информацию о времени, например, информацию о том, как положения изменяются для кадров в видеоканале (который является по существу временным отображением).
Авторы изобретения поняли эти различия и поняли, что подход с использованием выбора информации о ближайшем изображении к текущему представлению меньше подходит для отображений и данных о съемке, имеющихся не просто по отдельным съемкам, определяемым только положениями, но вместо этого обеспечивает последовательность близко коррелированных снимков, которые имеют тесно связанные свойства (в частности, имеющие временное соотношение по видеоэлементу).
В частности, авторы изобретения поняли, что несмотря на то, что в действительности может оказаться возможным попросту выбирать ближайший снимок (и тем самым кадр в основанной на видеоэлементе съемке), в вычислительном отношении это будет очень сложным и может привести к ошибкам ввиду игнорируемой корреляции между кадрами и положениями съемки.
В частности, авторы изобретения поняли, что кадры видеоэлементов не кодируются как отдельные кадры, а кодируются применительно к другим кадрам в видеоэлементе. Как правило, видеоэлемент содержит некоторые кадры с внутрикадровым кодированием и, как правило, значительно большее число кадров с межкадровым кодированием, которые кодируются применительно к другим кадрам и имеют значительно более высокую эффективность, чем кадры с внутрикадровым кодированием.
Это, в частности, затрудняет извлечение отдельных изображений, поскольку они потребуют извлечения связанных с ними кадров с внутрикадровым кодированием, их декодирования, извлечения любых предсказанных кадров, по которым предсказывается требуемый кадр, их декодирования с использованием кадров с внутрикадровым кодированием, извлечения требуемого кадра, его декодирования и, наконец, комбинации всего перечисленного. При этом очень высоки затраты вычислительных ресурсов. Более того, неизбежны ошибки кодирования, шум и артефакты, и они могут понизить качество результирующего изображения.
Авторы изобретения поняли также, что путем учета не только положения, но истории положений наблюдателя можно адаптироваться к имеющейся в видеоэлементах временной и межкадровой корреляции и использовать ее. Это реализуется путем осуществления выбора на основе маршрутов, а не учета только отдельных положений, и путем дополнительного смещения этого выбора к «залипанию» на одном и том же маршруте.
Это приводит к подходу, который, в частности, значительно эффективнее для свойств видеокодирования и, в частности, решает проблемы формирования изображений по видеоэлементам. В частности, на практике было установлено, что он очень существенно снижает затраты вычислительных ресурсов. Основанный на маршруте выбор и повышенная согласованность выбора (часто последовательных) кадров из одного и того же видеоэлемента/маршрута приводит к существенному повторному использованию кадров с внутрикадровым кодированием, которые необходимо декодировать лишь однократно для всех кадров с межкадровым кодированием, которые кодируются на основе них. Аналогичным образом, необходимость в формировании промежуточных предсказанных кадров для другого кадра не вызовет затраты вычислительных ресурсов, если эти промежуточные кадры уже использовались для формирования предыдущих изображений.
Кроме того, неизбежные ошибки и артефакты кодирования/декодирования в данном подходе в большинстве случаев будут значительно более согласованными для последовательных изображений. Например, артефакт кодирования/декодирования, который возникает для кадра с внутрикадровым кодированием, будет в равной степени отображаться во всех изображениях, которые формируются на основе кадров из одного и того же видеоэлемента/маршрута, которые кодируются с использованием этого кадра с внутрикадровым кодированием. Это часто может быть предпочтительным для потенциально менее видимых ошибок или артефактов, которые, тем не менее, являются менее согласованными между последовательными формируемыми изображениями.
Таким образом, подход к смещенному основанному на маршруте выбору маршрутов/видеоэлементов обеспечивает существенно улучшенные характеристики и, в частности, обеспечивает более низкую вычислительную сложность и коэффициент использования ресурсов, пониженные требования к хранению, упрощенное формирование изображений представлений и повышенное качество изображений. Он позволяет также снижать коммуникационные требования, например, для основанных на клиент-серверной архитектуре приложениях.
В некоторых вариантах осуществления данные о маршруте могут содержать граф, отображаемый пересечениями в качестве узлов и маршрутами в качестве ребер. Пример виртуальной среды, соответствующей дому, приведен на фиг. 7.
В данном примере каждый узел отображает пересечение между маршрутами, включая t соединений (n2). В таком графе пересечение может дополнительно отражать положение, в котором заканчивается один маршрут и начинается другой. В данном примере каждый маршрут тем самым ограничен двумя узлами, при этом узлы, как правило, являются общими для множества маршрутов. Данный подход особенно подходит для сценария, в котором маршруты и видеоэлементы формируются путем специальной и плановой съемки, либо, когда снятые маршруты и видеоэлементы разделены на меньшие маршруты и видеоэлементы. Граф может, например, кодироваться как двоичный отрезок или текст (например, xml) и может (по меньшей мере, частично) передаваться с сервера 203 на клиентское устройство 201 при инициализации приложения.
Использование графа может быть эффективным во многих вариантах осуществления и может обеспечивать эффективное функционирование. Например, структура графа позволяет установить, что в конце того или иного маршрута может начинаться некоторое число (0, 1, …) заданных других маршрутов, и, следовательно, извлечение и декодирование соответствующих видео может инициироваться заранее, благодаря чему уменьшаются потенциальная задержка и прерывания.
В некоторых вариантах осуществления данные о маршруте могут дополнительно содержать данные о соотношении, характеризующие пространственное соотношение между маршрутами из набора маршрутов. Данные о соотношении могут при этом использоваться при выборе маршрута для индикации текущего положения наблюдателя.
В конкретном примере данные о соотношении могут для каждого маршрута обеспечивать индикацию того, какие маршруты он пересекает. Средство 107 выбора может в некоторых вариантах осуществления при этом для выбираемого в настоящий момент маршрута проверять данные о соотношении, чтобы выяснить, через какие другие маршруты он проходит и с какими имеет пересечения. Средство 107 выбора может после этого приступать к рассмотрению, например, только этих конкретных маршрутов при определении того, выбирать ли другой маршрут.
В некоторых вариантах осуществления данные о соотношении могут обеспечивать индикацию того, какие маршруты образуют соединения друг с другом. Такие данные могут использоваться средством 107 выбора для выбора надлежащих видео и кадров для синтеза представления. Например, при приближении к Т-образному соединению мы можем исходя из данных о положении изначально предполагать, склонен ли пользователь поворачивать на этом соединении направо или налево.
В некоторых вариантах осуществления данные о соотношении могут обеспечивать индикацию того, что некоторые маршруты соответствуют противоположным направлениям движения для одного и того же пути. Такие данные могут использоваться средством 107 выбора для переключения направления, когда наблюдатель поворачивает, например, на 180 градусов на своем пути.
В некоторых вариантах осуществления данные о соотношении могут обеспечивать индикацию маршрутов, которые практически параллельны друг другу. Такие данные могут использоваться средством 107 выбора для принятия решения о переключении на другой путь, который лучше отображает направление, в котором движется пользователь.
Соотношения могут, например, предусматриваться в форме графа, имеющего маршруты в виде узлов и ребра, указывающие соотношение между соответствующими двумя узлами. Пример такого графа иллюстрируется на фиг. 8.
Как упоминалось выше, любое подходящее видеокодирование видеоэлементов может использоваться без ущерба для изобретения. Во многих вариантах осуществления видеоэлементы могут кодироваться с использованием и кадров с внутрикадровым кодированием, которые кодируются без учета каких-либо других кадров, и предсказанных кадров, которые кодируются относительно по меньшей мере одного другого кадра. Предсказанные кадры могут кодироваться относительно одного или более кадров с внутрикадровым кодированием и/или одного или более предсказанных кадров. Предсказанные кадры могут представлять собой кадры, которые кодируются только относительно одного или более предшествующих кадров (т.е., предшествующих по времени в видеоэлементе) или могут представлять собой, например, двунаправленные (bi-predicted) кадры, которые кодируются относительно одного или более предшествующих кадров и относительно одного или более последующих кадров (т.е., относительно кадров как до текущего кадра, так и после него). Видеокодирование может представлять собой видеокодирование Н-264 или Н.265.
Во многих вариантах осуществления может быть особенно предпочтительным, чтобы процесс кодирования использовал только I-кадры (снимки из кадров с внутрикадровым кодированием), связанные с В-кадрами (двунаправленными кадрами). Это может приводить к формированию изображений представления с малой задержкой во многих вариантах осуществления.
Таким образом, видеоэлементы могут представлять собой кодированные видеоэлементы, содержащие кадры с внутрикадровым кодированием и предсказанные кадры / кадры с межкадровым кодированием. Предсказанные кадры в некоторых вариантах осуществления могут быть только двунаправленно предсказанными / кодированными кадрами. Формирование изображения представления может в этой связи включать в себя средство 111 формирования изображений, декодирующее кадр (кадры), который используется для формирования изображения представления.
Целью описанного подхода, в частности, является обеспечение эффективной съемки, хранения и воспроизведения представлений виртуальной среды на основе набора из множества маршрутов. Использование видеоэлементов, а не отдельных изображений снижает требования к хранению, требования к пропускной способности канала связи и т.д. Это достигается потому, что видеокодирование чаще всего значительно эффективнее, чем кодирование отдельных изображений. Главным образом, использование предсказанных кадров может очень существенно сократить объем данных, требуемый для отображения кадра. Однако использование видеосъемок и кодирования контринтуитивно для отображения виртуальной среды, в которой пользователь может свободно перемещаться. Например, в таких ситуациях пользователь может двигаться в противоположном направлении относительно направления, в котором снималось видео, тем самым не только не придерживаясь, но и даже прямо противостоя пространственным и временным соотношениям видеоконтента. Однако авторы изобретения поняли, что данный подход может обеспечивать очень эффективное функционирование.
Описанный подход с использованием основанного на маршруте выбора со смещением к удержанию на том же маршруте обеспечивает улучшенное функционирование. В частности, авторы изобретения поняли, что такое смещение (помимо того, что оно приводит к более стабильному во времени качеству синтеза представлений) приводит к существенно пониженным требованиям к пропускной способности (пониженной скорости передачи данных для извлечения/передачи кадра) ввиду того, что кадры, соответствующие точкам наблюдения пользователя, межкадрово кодируются (прогнозируются), когда пользователь продолжает быть связанным с тем же маршрутом, вместо того, чтобы переключаться на другой маршрут (т.е., когда выбор маршрута изменяется с одного на другой).
Во многих вариантах осуществления при выборе маршрута может учитываться видеокодирование. В частности, во многих вариантах осуществления средство 107 выбора может быть выполнено с возможностью уменьшения смещения к выбираемому в настоящий момент маршруту для индикаций положений наблюдателя, соответствующих кадрам с внутрикадровым кодированием. Средство 107 выбора может быть выполнено с возможностью уменьшения смещения к выбираемому в настоящий момент маршруту для индикаций положений наблюдателя, соответствующих кадрам с внутрикадровым кодированием, относительно индикаций положений наблюдателя, соответствующих кадрам с межкадровым кодированием (предсказанных кадров). Таким образом, средство выбора может, скорее всего, выбирать новый маршрут, а не продолжать на том же маршруте, когда положение наблюдателя соответствует кадру с межкадровым кодированием/предсказанному кадру.
Рассматриваемый кадр (влияющий на смещение) может в некоторых вариантах осуществления являться кадром выбираемого в настоящий момент/ранее выбранного маршрута или может являться кадром нового потенциально подходящего маршрута. Таким образом, кадр может являться кадром, который будет использоваться для формирования изображения представления для выбираемого в настоящий момент/ранее выбранного маршрута (если он выбирается) или может являться кадром, который будет использоваться для формирования изображения представления для потенциально подходящего маршрута, если он выбирается. Таким образом, кадр может являться кадром выбираемого в настоящий момент маршрута или первого маршрута (маршрута, который выбирается). Во многих вариантах осуществления смещение может быть уменьшено и для целевого/потенциально подходящего кадра, являющегося кадром с внутрикадровым кодированием, и для кадра выбираемого в настоящий момент/ранее выбранного маршрута, являющегося кадром с внутрикадровым кодированием.
Соответствующий кадр (кадры) для индикации положения наблюдателя может являться кадром (кадрами) отдельно взятого маршрута, который будет использоваться для формирования изображения представления для индикации положения наблюдателя, если выбирается отдельно взятый маршрут. Соответствующий кадр может, как правило, являться кадром в отдельно взятом маршруте, ближайшем к позиции/положению, указанному с помощью индикации положения наблюдателя (как правило, с использованием показателя расстояния, используемого также для выбора маршрута).
Во многих вариантах осуществления первый кадр может выбираться как кадр с внутрикадровым кодированием после переключения с одного маршрута на другой маршрут. При переключении на новый маршрут средство 111 формирования изображений может в этой связи приступать к первому выбору кадра с внутрикадровым кодированием и использованию его для формирования изображения представления.
Во многих вариантах осуществления эти подходы могут использоваться для установления связей между различными маршрутами. Например, фиг. 9 иллюстрирует два маршрута 901, 903 с множеством положений, ассоциированных с кадрами с внутрикадровым кодированием (показанными небольшими кружками). В таком варианте осуществления для кадров с внутрикадровым кодированием может быть уменьшено смещение к удержанию на том же маршруте, при этом кадр, выбираемый для нового маршрута, может соответствовать другому кадру с внутрикадровым кодированием. В частности, смещение к текущему маршруту может быть уменьшено (как правило, весьма существенно) для переключений маршрута, которые происходят между двумя кадрами с внутрикадровым кодированием. Таким образом, «переходы» чаще всего будут происходить между кадрами с внутрикадровым кодированием, как показано стрелками на фиг. 9.
На практике это может достигаться путем учета таких соображений в графе, отображающем маршруты, как описано выше. Действительно, узлы могут создаваться в таком графе вблизи переходов/пересечений. Кроме того, узлы могут выбираться соответствующими кадрам с внутрикадровым кодированием, при этом сегменты между ними соответствуют кадрам с межкадровым кодированием. При этом могут предусматриваться дополнительные данные, которые связывают такие узлы, например, показывающие соотношение между ними (например, «переход» или «обратный путь»).
Как описывается ниже, система может, в частности, формировать кадры с внутрикадровым кодированием в пересечениях между маршрутами (например, путем транскодирования видеоэлемента).
Во многих вариантах осуществления может, кроме того, быть предпочтительным использование относительно большого числа В-кадров между I-кадрами отдельно взятого маршрута. Данный подход приводит к высокой эффективности, поскольку В-кадры (которые являются остаточными кадрами после компенсации предсказания) часто являются более сжатыми, чем I-кадры. Использование большого числа В-кадров, как правило, является приемлемым ввиду высокой согласованности между соседними положениями камеры в статической сцене. Наличие большого числа В-кадров между I-кадрами также является привлекательным для воспроизведения видео, поскольку для отдельно взятого перемещения пользователя необходимо декодировать меньшее число I-кадров.
Однако с целью уменьшения потенциальных недостатков использования большого числа В-кадров при изменении видеоэлементов ввиду выбора нового маршрута в данном подходе может использоваться выборочное выделение I-кадров.
Во многих вариантах осуществления I-кадры могут формироваться и включаться в видеоэлементы для пересечений. Таким образом, кадры, ассоциированные с пересечениями, могут кодироваться как I-кадры. Это может обеспечивать особенно привлекательное функционирование во многих вариантах осуществления, поскольку это может упрощать переключение маршрутов. Действительно, наличие кадров пересечений, кодированных как I-кадры, чаще всего приведет к переключению, выполняемому в пересечениях, обеспечивающих ассоциированные видеоэлементы, которые начинаются с I-кадра и/или заканчиваются им, и, следовательно, исключается необходимость кодирования дополнительных I-кадров с целью кодирования В-кадров.
Действительно, если кадр пересечения кодируется как I-кадр, один и тот же I-кадр может потенциально использоваться и для ранее выбранного маршрута, и для вновь выбираемого маршрута. Таким образом I-кадр из ранее выбранного маршрута может использоваться вместе с I-кадром для вновь выбираемого маршрута с целью декодирования В-кадра вновь выбираемого маршрута. В некоторых вариантах осуществления это может достигаться с использованием I-кадра предыдущего маршрута, который не находится в точности в точке пересечения, а потенциально близок к ней и в этой связи обеспечивает приемлемую оценку. Однако в предпочтительном подходе I-кадр из ранее выбранного маршрута может являться кадром на пересечении, при этом действительно I-кадр может даже являться общим кадром для видеоэлемента, ассоциированного с ранее выбранным маршрутом, и для видеоэлемента, ассоциированного с вновь выбираемым маршрутом.
Во многих вариантах осуществления может быть реализована целесообразная организация и структура В-кадров и I-кадров. Например, сервер 203 может сначала выдавать подходящие I-кадры. Они могут декодироваться клиентским устройством 201, даже если они не ассоциированы непосредственно с индикацией текущего положения наблюдателя. Однако декодированные I-кадры могут после этого обеспечивать опорные кадры, которые предусматривают быстрое декодирование надлежащих В-кадров, когда они выбираются средством 111 формирования изображений для использования при формировании изображения представления.
Действительно, во многих вариантах осуществления может использоваться иерархический метод видеокодирования, при котором В-кадры располагаются в иерархической структуре таким образом, что некоторые В-кадры могут дополнительно использоваться в качестве опорных кадров для других В-кадров. В таких случаях надлежащие В-кадры могут дополнительно декодироваться в готовности к использованию в качестве опорных кадров для других В-кадров.
Таким образом, в некоторых вариантах осуществления средство 109 извлечения может при этом содержать декодер, который декодирует некоторое число I-кадров и потенциально В-кадров в готовности к использованию их для декодирования других В-кадров, которые кодировались относительно этих кадров.
В этой связи, в некоторых вариантах осуществления может использоваться иерархическое упорядочивание, обеспечивающее произвольный доступ и двунаправленное воспроизведение из видео при одновременном сохранении высокой эффективности кодирования путем исключения большой части I-кадров. Например, в любой момент времени декодер может иметь по меньшей мере два I-кадра и некоторое число (0 или больше) В-кадров, готовых (дешифрованных и декодированных) к использованию в качестве опорных для декодирования В-кадров.
Такие подходы могут поддерживаться более новыми схемами видеокодирования, такими как H.264/MPEG-4 и HEVC.
Понятно, что поскольку основное внимание в вышеизложенном описании уделено клиент-серверному подходу, как иллюстрируется примером на фиг. 2, концепции этим не ограничены, а в равной мере подходят для многих других конфигураций и распределений функциональных возможностей. Например, в некоторых вариантах осуществления видеонакопитель, хранящий видеоэлементы, может являться локальным накопителем, при этом средство 109 извлечения может извлекать видео из локального накопителя. В некоторых вариантах осуществления данный подход может использоваться в отдельном автономном устройстве, хранящем и видеоэлементы, и данные о маршруте и формирующем изображений представлений в соответствии с принимаемой индикацией положения наблюдателя.
Понятно, что в вышеизложенном описании для ясности описаны варианты осуществления изобретения применительно к различным функциональным схемам, блокам и процессорам. Однако понятно, что без ущерба для изобретения может использоваться любое подходящее распределение функциональных возможностей между различными функциональными схемами, блоками или процессорам. Например, иллюстрированные функциональные возможности, осуществляемые отдельными процессорами или контроллерами, могут осуществляться одним и тем же процессором или контроллерами. Поэтому ссылки на конкретные функциональные блоки или схемы следует рассматривать лишь как ссылки на подходящие средства для обеспечения описанных функциональных возможностей, а не как характеризующие строгую логическую или физическую структуру или организацию.
Изобретение может быть реализовано в любой подходящей форме, включая аппаратные средства, программные средства, микропрограммные средства или любую их комбинацию. Изобретение может при необходимости быть реализовано по меньшей мере частично, в виде компьютерной программы, работающей на одном или более процессоров данных и/или цифровых сигнальных процессоров. Элементы и компоненты варианта осуществления изобретения могут быть физически, функционально и логически реализованы любым подходящим способом. Действительно, функциональные возможности могут быть реализованы в отдельном блоке, во множестве блоков или в составе других функциональных блоков. В этой связи, изобретение может быть реализовано в отдельном блоке или может быть физически и функционально распределено между различными блоками, схемами и процессорами.
Несмотря на то, что настоящее изобретение описано применительно к некоторым вариантам осуществления, оно не ограничено конкретной формой, изложенной в данном документе. Напротив, объем настоящего изобретения ограничен только прилагаемой формулой изобретения. Кроме того, несмотря на то, что признак может, по всей видимости, описываться применительно к конкретным вариантам осуществления, специалистам в данной области техники понятно, что различные признаки описанных вариантов осуществления могут комбинироваться в соответствии с изобретением. В формуле изобретения термин «содержащий» не исключает наличия других элементов или этапов.
Кроме того, хотя они и перечислены по отдельности, множество средств, элементов, схем или этапов способа может быть реализовано с помощью, например, отдельной схемы, блока или процессора. Кроме того, несмотря на то, что отдельные признаки могут входить в различные пункты формулы изобретения, они могут быть эффективно объединены, и включение в различные пункты формулы изобретения не означает, что комбинация признаков не является реализуемой и/или эффективной. Кроме того, включение признака в одну категорию формулы изобретения не предполагает ограничения этой категорией, а, скорее, указывает, что признак при необходимости в равной мере применим к другим категориям формулы изобретения. Кроме того, порядок признаков в формуле изобретения не предполагает какого-либо конкретного порядка, в котором эти признаки должны быть задействованы, и, в частности, порядок отдельных этапов в пункте формулы изобретения на способ не предполагает, что этапы должны осуществляться в этом порядке. Напротив, этапы могут осуществляться в любом подходящем порядке. Кроме того, ссылки на единственное число не исключают множества. Так, признаки единственного числа, в частности слова «первый», «второй» и т.д., не исключают множества. Ссылочные позиции в формуле изобретения приводятся лишь в качестве поясняющего примера и не должны трактоваться как ограничивающие объем формулы изобретения каким бы то ни было образом.
Изобретение относится к формированию изображений по видеоэлементам и, в частности, но не исключительно, к формированию изображений представления для среды виртуальной реальности по сохраненным видеоэлементам, которые могут возникать в результате записи видео сред реального мира. Техническим результатом является обеспечение улучшенного функционирования, повышенной гибкости, увеличенные возможности формирования изображений, соответствующих различным положениям и направлениям наблюдения. Предложено устройство, содержащее накопитель (101) для хранения данных о маршруте для набора маршрутов в N-мерном пространстве, причем каждый маршрут из набора маршрутов ассоциирован с видеоэлементом, содержащим кадры, содержащие и изображение, и информацию о глубине. Средство (105) ввода принимает индикацию положения наблюдателя, а средство (107) выбора выбирает первый маршрут из набора маршрутов в соответствии с критерием выбора, зависящим от показателя расстояния, зависящего от индикации положения наблюдателя и положений маршрутов из набора маршрутов. Средство (103, 109) извлечения извлекает первый видеоэлемент, ассоциированный с первым маршрутом, из источника (203) видео. Средство (111) формирования изображений формирует по меньшей мере одно изображение представления для индикации положения наблюдателя по первому набору кадров из первого видеоэлемента. В данной системе критерий выбора смещен к выбираемому в настоящий момент маршруту относительно других маршрутов из набора маршрутов. 2 н. и 13 з.п. ф-лы, 8 ил.
1. Устройство формирования изображений, содержащее:
накопитель (101) для хранения набора маршрутов в N-мерном пространстве, отображающем пространственные позиции, причем набор маршрутов содержит множество маршрутов, при этом каждый маршрут из набора маршрутов описывает траекторию позиций камеры в N-мерном пространстве и связан с видеоэлементом, содержащим кадры, содержащие и изображение, и информацию о глубине для позиций камеры на маршруте;
средство (105) ввода для приема индикации положения наблюдателя;
средство (107) выбора для выбора первого маршрута из набора маршрутов в соответствии с критерием выбора, зависящим от показателя расстояния, зависящего от индикации положения наблюдателя и положений маршрутов из набора маршрутов;
средство (103, 109) извлечения для извлечения первого видеоэлемента, ассоциированного с первым маршрутом, из источника (203) видео;
средство (111) формирования изображений для формирования по меньшей мере одного изображения представления для индикации положения наблюдателя по первому набору кадров из первого видеоэлемента;
причем критерий выбора смещен к выбираемому в настоящий момент маршруту относительно других маршрутов из набора маршрутов.
2. Устройство по п. 1, отличающееся тем, что средство (111) формирования изображений выполнено с возможностью выбора первых кадров в соответствии с данными о положении маршрута для кадров первого видеоэлемента относительно индикации положения наблюдателя.
3. Устройство по п. 1 или 2, отличающееся тем, что средство (111) формирования изображений выполнено с возможностью – если первый маршрут выбирается в качестве выбираемого в настоящий момент маршрута – смещения выбора первого набора кадров к кадрам, имеющим меньшее временное расстояние до выбираемого в настоящий момент первого набора кадров первого видеоэлемента.
4. Устройство по п. 1 или 2, отличающееся тем, что средство (111) формирования изображений выполнено с возможностью – если первый маршрут выбирается в качестве выбираемого в настоящий момент маршрута – выполнения выбора первого набора кадров на основе показателя выбора кадра, который увеличивается с уменьшением временного расстояния до выбираемого в настоящий момент кадра первого видеоэлемента.
5. Устройство по п. 1, отличающееся тем, что накопитель (101) дополнительно выполнен с возможностью хранения положений пересечения для маршрутов видеопоследовательностей; и отличающееся тем, что критерий выбора зависит от положений пересечения.
6. Устройство по п. 5, отличающееся тем, что средство (107) выбора выполнено с возможностью уменьшения смещения к выбираемому в настоящий момент маршруту для индикаций положения наблюдателя, соответствующих положениям пересечения.
7. Устройство по п. 5, отличающееся тем, что смещение к выбираемому в настоящий момент маршруту зависит от расстояния между индикацией положения наблюдателя и положениями пересечения.
8. Устройство по п. 5 или 7, отличающееся тем, что накопитель (101) выполнен с возможностью хранения графа, имеющего пересечения в виде узлов и маршруты, отражаемые ребрами.
9. Устройство по пп. 5–8, отличающееся тем, что кадры, ассоциированные с положениями пересечения по меньшей мере для некоторых видеопоследовательностей, являются кадрами с внутрикадровым кодированием.
10. Устройство по любому из предыдущих пунктов, отличающееся тем, что средство формирования изображений выполнено с возможностью формирования изображения представления по меньшей мере по первому кадру из первого набора кадров и второму кадру из видеоэлемента, связанного с ранее выбранным вторым маршрутом.
11. Устройство по п. 10, отличающееся тем, что второй кадр является кадром, ассоциированным с пересечением между первым маршрутом и ранее выбранным вторым маршрутом.
12. Устройство по п. 1, отличающееся тем, что накопитель (101) дополнительно выполнен с возможностью хранения данных о соотношении, характеризующих пространственное соотношение между маршрутами из набора маршрутов, при этом выбор первого маршрута осуществляется в соответствии с данными о соотношении.
13. Устройство по п. 12, отличающееся тем, что данные о соотношении могут характеризовать по меньшей мере одно пространственное соотношение между двумя маршрутами из группы из:
– пересечения двух маршрутов;
– соединения двух маршрутов;
– первого маршрута из двух маршрутов, соответствующего противоположному направлению движения относительно второго маршрута из двух маршрутов; и
– двух маршрутов, являющихся параллельными.
14. Устройство по любому из предыдущих пунктов, отличающееся тем, что видеоэлементы являются кодированными видеоэлементами, содержащими и кадры с внутрикадровым кодированием, и кадры с межкадровым кодированием, при этом средство выбора выполнено с возможностью уменьшения смещения к выбираемому в настоящий момент маршруту для индикаций положения наблюдателя, соответствующих кадрам с внутрикадровым кодированием, относительно индикаций положения наблюдателя, соответствующих кадрам с межкадровым кодированием.
15. Способ формирования изображений, включающий в себя:
хранение набора маршрутов в N-мерном пространстве, отображающем пространственные позиции, причем набор маршрутов содержит множество маршрутов, при этом каждый маршрут из набора маршрутов описывает траекторию позиций камеры в N-мерном пространстве и связан с видеоэлементом, содержащим кадры, содержащие и изображение, и информацию о глубине для позиций камеры на маршруте;
прием индикации положения наблюдателя;
выбор первого маршрута из набора маршрутов в соответствии с критерием выбора, зависящим от показателя расстояния, зависящего от индикации положения наблюдателя и положений маршрутов из набора маршрутов;
извлечение первого видеоэлемента, ассоциированного с первым маршрутом, из источника видео;
формирование по меньшей мере одного изображения представления для индикации положения наблюдателя по первому набору кадров из первого видеоэлемента;
причем критерий выбора смещен к выбираемому в настоящий момент маршруту относительно других маршрутов из набора маршрутов.
KR 20170007098 A, 18.01.2017 | |||
US 2007030342 A1, 08.02.2007 | |||
US 2004032410 A1, 19.02.2004 | |||
US 2016330408 A1, 10.11.2016 | |||
US 2013044181 A1, 21.02.2013 | |||
СПОСОБ КОДИРОВАНИЯ И СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, УСТРОЙСТВА ДЛЯ НИХ, ПРОГРАММА ДЛЯ НИХ И НОСИТЕЛЬ ИНФОРМАЦИИ ДЛЯ ХРАНЕНИЯ ПРОГРАММ | 2007 |
|
RU2407220C2 |
Авторы
Даты
2021-11-23—Публикация
2018-03-02—Подача