ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Изобретение относится к устройству и способу для генерации мозаичного представления трехмерного изображения сцены, и, в частности, но не исключительно, к генерации улучшенного мозаичного представления трехмерного изображения сцены, пригодного для генерации изображений на основании преобразования в сеточное представление.
УРОВЕНЬ ТЕХНИКИ
Традиционно, техническая обработка и использование изображений основаны на формировании двухмерных изображений, но в обработке изображений все более явно рассматривается третье измерение.
Например, разработаны трехмерные (3D) дисплеи, которые добавляют третье измерение в зрительное восприятие путем снабжения двух глаз зрителя разными видами наблюдаемой сцены. Этого можно добиться за счет того, что пользователь носит очки для разделения двух отображаемых видов. Однако, поскольку это может быть неудобно пользователю, во многих сценариях предпочтительно использовать автостереоскопические дисплеи, которые используют средство на дисплее (например, лентикулярные линзы или барьеры) для разделения видов, и отправлять их в разных направлениях, где они по отдельности могут достигать глаз пользователя. Для стереодисплеев требуется два вида, тогда как автостереоскопические дисплеи обычно требуют больше видов (например, девять видов).
Во многих вариантах осуществления, может быть желательно генерировать обзорные изображения для новых направлений обзора. Тогда как известны различные алгоритмы для генерации таких новых обзорных изображений на основании информации изображения и глубины, им свойственно в высокой степени зависеть от точности предоставляемой (или выведенной) информации глубины.
Действительно, информация трехмерного изображения часто обеспечивается множеством изображений, соответствующих разным направлениям обзора для сцены. В частности, видеоконтент, например, фильмы или телепрограммы, все больше генерируется для включения некоторой 3D информации. Такая информация может захватываться с использованием специальных 3D камер или камер регистрации глубины, например, камер, которые захватывают два одновременных изображения из немного смещения позиций камеры.
Однако, во многих приложениях, обеспеченные изображения могут непосредственно не соответствовать желаемым направлениям, или может потребоваться больше изображений. Например, для автостереоскопических дисплеев требуется более двух изображений, и в действительности часто используются 9–26 обзорных изображений.
Для генерации изображений, соответствующих разным направлениям обзора, может применяться обработка сдвига точки обзора. Это обычно осуществляется алгоритмом сдвиг вида, который использует изображение для единого направления обзора совместно с связанной информации глубины.
Конкретным примером приложения, которое базируется на обработке трехмерных изображений, является приложение виртуальной реальности. В типичном восприятии виртуальной реальности, обзорные изображения правого глаза и левого глаза могут непрерывно генерироваться, например, для гарнитуры виртуальной реальности для согласования перемещения и изменения ориентации пользователем. Такая генерация динамических видов виртуальной реальности обычно опирается на обработку данных 3D изображения, представляющих данную сцену, соответствующую окружению виртуальной реальности. Например, сервер виртуальной реальности может генерировать обзорные изображения для конкретных видов на основании трехмерной модели или трехмерных изображений, например, изображений, представленных изображениями интенсивности света и картами глубины, или текстурных карт и сеток глубины.
Для таких приложений, как приложения виртуальной реальности, последовательность изображений может, например, генерироваться для отражения видов пользователя по мере их изменения вследствие виртуального перемещения или изменения направления обзора/ ориентации пользователя в виртуальном окружении. В некоторых приложениях, изображения могут генерироваться для отражения изменений ориентации зрителя, но без поддержания перемещения в области. Видео, отражающее такой сценарий, часто именуется всенаправленным видео. В других приложениях, перемещение позиции обзора также может поддерживаться для отражения виртуального перемещения пользователя в окружении виртуальной реальности. Видео, отражающее такой сценарий, часто именуется видео с погружением. Текущий вид пользователя можно представить вектором обзора, который выражает соответствующие параметры позиции и направления для точки обзора.
Для всенаправленного видео, вектор обзора обычно выражает ориентацию согласно трем степеням свободы (3DoF), обычно путем обеспечения значений рысканья, тангажа и крена (или азимута, возвышения и наклона).
Для видео с погружением, вектор обычно выражает как ориентацию, так и позицию согласно шесть степеням свободы (6DoF), обычно путем обеспечения значений рысканья, тангажа, крена и трех пространственных измерений.
Однако особая проблема в стремлении разработать и поддерживать гибкие приложения видео и изображений, поддерживающие переменные позиции и/или направления вида, состоит в том, что они, предпочтительно, не ограничиваются подмножеством позиций и/или направлений, но в идеале поддерживаются все позиции и/или направления. Например, для видео с погружением 6DoF, зритель может обозревать сцену из любой позиции и в любом направлении. Для этого требуется, чтобы 3D информация была доступна для всех частей сцены и из всех позиций и для всех направлений. Этому требованию трудно или невозможно удовлетворить во многих практических приложениях, например, в частности, приложениях, где 3D данные базируется на захватах сцены реального мира.
Комбинация позиции и направления/ ориентации объекта в поле обычно именуется расположением или позой. Таким образом, вектор расположения или позы может содержать шесть значений/ компонент, причем каждое значение/ компонента выражает отдельную характеристику позиции/ положения или ориентации/ направления соответствующего объекта. Конечно, в некоторых ситуациях, векторы расположения или позы могут иметь меньше компонентов для представления позиции и ориентации, например, если одна или более компонент считаются фиксированными (например, если все объекты считаются находящимися на одной и той же высоте и уровне, четыре компоненты могут обеспечивать полное представление позы объекта).
Один из наиболее сложных проблем состоит в эффективном представлении сцены таким образом, чтобы обеспечивать достаточно информации для генерации пригодной точки обзора изображения достаточно высокого качества, в то же время позволяя легко передавать, сохранять, адаптировать и/или обрабатывать представление.
Один используемый подход состоит в обеспечении всенаправленного изображения для данной позиции обзора, причем всенаправленное изображение обеспечивает, например, визуальную информацию в виде сферы или полусферы с центром в соответствующей позиции обзора, где на сферу наложено изображение, которое отражает визуальную характеристику сцены в соответствующем направлении обзора. Во многих приложениях, вместо этого подхода вид представляется в виде текстуры сферического объекта, окружающего точку обзора, причем текстура альтернативно отображается в трехмерную структуру на основе многоугольников, например, обычно куб, расположенный вокруг точки обзора. В подобных случаях, всенаправленный вид из данной точки обзора является, соответственно, текстурой, отображаемой в куб, расположенный вокруг точки обзора. При генерации изображения, соответствующего конкретному направлению обзора для зрителя, находящегося в точке обзора, система генерации изображения может просто отображать надлежащие части куба для данного окна обзора в соответствующее изображение.
Однако, в то время как такой подход во многих вариантах осуществления может обеспечивать преимущество, он может не быть оптимальным во всех сценариях и может страдать некоторыми недостатками. Например, он может не всегда обеспечивать оптимальное качество изображения, и, в частности, обработка текстуры, отображаемой на разные стороны куба, может приводить к образованию артефактов.
Поэтому требуется усовершенствованный подход к генерации представления трехмерного изображения сцены. В частности, требуется подход, который позволяет улучшить работу, повысить гибкость, облегчить реализацию, облегчить работу, снизить сложность, снизить потребность в ресурсах и/или повысить производительность.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Соответственно, задача изобретения состоит в ослаблении, смягчении или устранении одного или более из вышеупомянутых недостатков по отдельности или в любой комбинации.
В соответствии с аспектом изобретения, предусмотрено устройство генерации мозаичного представления трехмерного изображения сцены, содержащее: приемник для приема мозаичного представления трехмерного изображения сцены из первой точки обзора, причем мозаичное представление трехмерного изображения содержит множество соединенных между собой мозаичных элементов, причем каждый мозаичный элемент содержит карту глубины и текстурную карту, представляющие окно обзора сцены из первой точки обзора, и мозаичные элементы образуют мозаичную картину; первый процессор для определения соседних граничных областей в по меньшей мере первом мозаичном элементе и во втором мозаичном элементе в соответствии с мозаичной картиной, причем первый мозаичный элемент и второй мозаичный элемент являются соседними мозаичными элементами; второй процессор для изменения по меньшей мере первого значения глубины первой граничной области первого мозаичного элемента в соответствии с по меньшей мере вторым значением глубины во второй граничной области второго мозаичного элемента таким образом, что разность между первым значением глубины и вторым значением глубины уменьшается для по меньшей мере некоторых значений из первого значения глубины и второго значения глубины, причем первая граничная область и вторая граничная область являются соседними граничными областями.
Изобретение может обеспечивать повышенную производительность во многих сценариях и может, например, обеспечивать представление трехмерного изображения, которое можно эффективно передавать, сохранять и обрабатывать. Изобретение во многих сценариях может, в частности, обеспечивать подход низкой сложности для генерации представления трехмерного изображения, которое может часто обеспечивать представление более низкой скорости передачи данных для данного качества изображения, и которое может дополнительно поддерживать, например, гибкое и частичное распределение данных, которое может позволять, например, удаленным клиентам принимать данные и локально генерировать изображения, представляющие сцену из разных точек и направлений обзора. Подход, в частности, может обеспечивать высокоэффективное восприятие виртуальной реальности, где, например, удаленный клиент виртуальной реальности может гибко снабжаться надлежащие данные, где и когда это необходимо.
Приемник может принимать входное мозаичное представление трехмерного изображения и из него генерировать выходное мозаичное представление трехмерного изображения путем изменения по меньшей мере первого значения глубины, и обычно большое количество граничных значений глубины мозаичный элемент.
Во многих сценариях подход может обеспечивать повышенное качество изображения и, в частности, может уменьшать артефакты и неточности. Подход может отражать понимание, что ошибки и артефакты могут, в частности, возникать для точек обзора, перекрывающих разные мозаичные элементы, и что такие ошибки и артефакты часто могут происходить из несогласованностей между значениями глубины в граничных зонах разных мозаичных элементов, например, могут происходить из потерьного кодирования и декодирования, которое обычно осуществляется на картах глубины. Во многих сценариях подход может уменьшать, или даже устранять, многие такие артефакты и ошибки. Во многих сценариях подход может обеспечивать более плавное пользовательское восприятие, где переходами между мозаичными элементами незаметны.
Во многих вариантах осуществления представление трехмерного изображения сцены можно рассматривать как трехмерная модель по меньшей мере, части сцены.
Во многих вариантах осуществления второй процессор может быть выполнен с возможностью ограничения разности между первым значением глубины и вторым значением глубины путем изменения первого значения глубины таким образом, что разность между первым значением глубины и вторым значением глубины ограничивается для всех возможных значений первой глубины. В частности, во многих вариантах осуществления второй процессор может быть выполнен с возможностью изменения первого значения глубины таким образом, что разность между первым значением глубины и вторым значением глубины не превышает порог.
Изменение вторым процессором может изменять значение первого значения глубины только для некоторых значений первого значения глубины и второго значения глубины. Для некоторых значений первого значения глубины и второго значения глубины, первое значение глубины может не изменяться, т.е. измененное значение глубины может быть равно первоначальному значению глубины. Например, если первое и второе значения глубины равны, первое значение глубины может не изменяться вторым процессором.
Во многих вариантах осуществления мозаичная картина может представлять собой заранее определенную/ заранее заданную мозаичную картину. Мозаичная картина не является плоской. В частности, мозаичная картина может быть трехмерной и может проходить во всех трех измерениях. Мозаичные элементы и мозаичная картина могут образовывать трехмерную структуру.
Каждое значение глубины может соответствовать пикселю глубины в (обычно) прямоугольной или, в частности, квадратной, карте глубины, т.е. каждое значение глубины может быть значением пикселя глубины в соответствующей пиксельной позиции в соответствующей карте глубины.
Устройство может быть выполнено с возможностью изменения множества первых значений глубины, например, в частности, всех значений глубины в первой граничной области. В частности, подход может повторяться для множества пикселей глубины и, возможно, для каждого пикселя глубины, в первой граничной области.
Первое и второе значения глубины можно выбирать как значения глубины, соответствующие одному и тому же направлению обзора из первой точки обзора. Первое и второе значения глубины можно выбирать таким образом, что разность между направлением/вектором обзора из первой точки обзора к первому значению глубины и направлением/вектором обзора из первой точки обзора ко второму значению глубины ниже порога. Например, может потребоваться, чтобы угол обзора между векторами обзора из первой точки обзора в позиции, соответственно, для первого и второго значения глубины был меньше порога или был наименьшим для любой пары значений глубины в первом мозаичном элементе и втором мозаичном элементе.
Во многих вариантах осуществления, второе значение глубины может быть значением глубины для пикселя глубины во второй области, ближайшего к пикселю глубины для первого значения глубины.
Соединенные между собой мозаичные элементы могут иметь общую границу с одним и обычно более другими соединенными между собой мозаичными элементами. Соединенные между собой мозаичные элементы могут для мозаичной картины обеспечивать непрерывное покрытие для окна обзора, где все соединенные между собой мозаичные элементы обеспечивают подокно обзора, покрывающее подобласть/ область полного окна обзора. Полное окно обзора обычно может быть большим, например, в форме четвертьсферы, полусферы или даже полной сферы.
Соседние граничные области могут быть областями двух мозаичных элементов, где области совместно используют границу между двумя мозаичными элементами. Первая и вторая граничные области могут, соответственно, совместно использовать границу между первым и вторым мозаичными элементами, и могут, в частности, соединять/ касаться границы или одна или обе могут содержать границу (в случае перекрывающихся мозаичных элементов).
В соответствии с необязательным признаком изобретения, второй процессор выполнен с возможностью установления первого значения глубины и второго значения глубины на одно и то же значение.
Благодаря этому, низкая сложность и низкая потребность в ресурсах позволяет добиться высокой производительности при высоком качестве. В частности, это позволяет бороться с артефактами, ошибками и дефектами, обусловленными рассогласованием значений глубины разных мозаичных элементов, например, вследствие артефактов кодирования или декодирования. Это, в частности, обеспечивает точную, согласованную и надежную генерацию 3D сетки на основании карт глубины.
В соответствии с необязательным признаком изобретения, одно и то же значение является средним значением первого значения глубины и второго значения глубины.
Благодаря этому, низкая сложность и низкая потребность в ресурсах позволяет добиться высокой производительности при высоком качестве. Кроме того, тогда как это предположительно приводит к отклонениям глубины (от первоначальной глубины), которые больше, чем, например, для усреднения глубины, это может обеспечивать улучшенную поддержку для асимметричного обеспечения мозаичных элементов представления трехмерного изображения. Например, это облегчает и снижает вычислительную нагрузку для подхода, в котором только подмножество мозаичных элементов динамически обновляется, и некоторые из мозаичных элементов не изменяются.
В соответствии с необязательным признаком изобретения, второй процессор выполнен с возможностью установления первого значения глубины на второе значение глубины.
Благодаря этому, низкая сложность и низкая потребность в ресурсах позволяет добиться высокой производительности при высоком качестве. В частности, тогда как это предположительно приводит к отклонениям глубины (от первоначальной глубины), которые больше, чем, например, для усреднения глубины, это может обеспечивать улучшенную поддержку для асимметричного обеспечения мозаичных элементов представления трехмерного изображения. Например, это облегчает и снижает вычислительную нагрузку для подхода, в котором только подмножество мозаичных элементов динамически обновляется и некоторые из мозаичных элементов не изменяются.
Устройство может налагать граничные условия для карт глубины, например, карты глубины первого мозаичного элемента, на основании свойств глубины карт глубины соседних мозаичных элементов, например, карты глубины второго мозаичного элемента. Подход может, например, налагать граничные условия на новый мозаичный элемент таким образом, что это будет согласовываться и совпадать с существующими соседними мозаичными элементами без необходимости в обработке (например, фильтрации).
В соответствии с необязательным признаком изобретения, устройство дополнительно содержит генератор сеток для генерации трехмерной сетки из карт глубины мозаичных элементов.
Подход дает возможность генерировать улучшенную трехмерную сетку для сцены на основании карт глубины мозаичных элементов. В частности, опасность несогласованностей и, в частности, дырок в сетке вокруг границ мозаичного элемента можно существенно снижать или даже устранять во многих сценариях.
Подход допускает улучшенное преобразование или переход от представления на основе изображения сцены к геометрическому, пространственному представлению сцены трехмерной сеткой.
В соответствии с необязательным признаком изобретения, генератор сеток выполнен с возможностью выбора подмножества значений глубины первой граничной области для использования при генерации трехмерной сетки; и второй процессор выполнен с возможностью изменения значений глубины первой граничной области только если они принадлежат подмножеству значений глубины.
Снижения сложности и объема используемых вычислительных ресурсов можно добиться не в ущерб качеству. Подход может обеспечивать улучшение согласованности и соответствия между представлением мозаичными элементами и сгенерированным из него сеточным представлением.
В соответствии с необязательным признаком изобретения, второй процессор выполнен с возможностью применения пространственного фильтра к карте глубины первого мозаичного элемента после изменения первого значения глубины.
Это позволяет повышать качество и, в частности, улучшать согласованность между измененными граничными областями и другими областями мозаичных элементов. Применение пространственного фильтра может ограничиваться только значениями глубины карты глубины первого мозаичного элемента.
В соответствии с необязательным признаком изобретения, устройство дополнительно содержит коммуникатор удаленного источника, выполненный с возможностью приема мозаичных элементов для мозаичного представления трехмерного изображения от удаленного источника, и локальное хранилище для хранения мозаичных элементов для мозаичного представления трехмерного изображения; и приемник выполнен с возможностью извлечения по меньшей мере второго значения глубины из локального хранилища в случае приема первого мозаичного элемента от приемника удаленного источника.
Подход может обеспечивать эффективную поддержку динамического распределения представлений сцены, например, для приложения виртуальной реальности. Например, подход позволяют существенно сузить полосу, передавая только мозаичные элементы, которые были изменены, позволяя эффективно объединять их с ранее принятыми локально сохраненными мозаичными элементами, или, например, заранее определенными или заранее заданными номинальными мозаичными элементами, представляющими статичную часть сцены.
Локальное хранилище может быть выполнено с возможностью хранения мозаичных элементов для мозаичного представления трехмерного изображения, ранее принятого от удаленного источника.
В соответствии с необязательным признаком изобретения, локальное хранилище выполнено с возможностью хранения карты глубины или сетки для первого мозаичного элемента после изменения первого значения глубины.
Это обеспечивает эффективный подход, который может снижать, например, требования к связи для многих приложений. Это позволяет постепенно обновлять локально сохраненное представление сцены, обеспечивая согласованность между новыми и предыдущими мозаичными элементами.
В соответствии с необязательным признаком изобретения, устройство дополнительно содержит пользовательский интерфейс для определения текущего направления обзора; и при этом коммуникатор удаленного источника выполнен с возможностью передачи указания текущего направления обзора на удаленный источник; и при этом первый мозаичный элемент принимается согласно указанию.
Подход может, например, обеспечивать очень эффективную систему клиент-сервер для обеспечения, например, восприятия виртуальной реальности.
В соответствии с необязательным признаком изобретения, локальное хранилище выполнено с возможностью хранения сетки для сохраненных мозаичных элементов, и генератор сеток выполнен с возможностью добавления краевой вершины в сохраненную сетку для второго мозаичного элемента при обнаружении, что мера разности превышает порог, при этом мера разности указывает разность глубин между граничным значением глубины первого мозаичного элемента и соответствующим граничным значением глубины сохраненной сетки для второго мозаичного элемента.
Это позволяет обеспечивать повышенную производительность во многих вариантах осуществления.
В соответствии с необязательным признаком изобретения, второй процессор выполнен с возможностью определения первого значения глубины в соответствии только с ближайшим значением глубины каждого мозаичного элемента, соседствующего с первым мозаичным элементом в позиции первого значения глубины.
Это обеспечивает несложный, но весьма эффективный и преимущественный подход с высокой производительностью в большинстве сценариев и для многих приложений.
В соответствии с необязательным признаком изобретения, каждый мозаичный элемент является плоским многоугольником, и множество соединенных между собой мозаичных элементов образует трехмерную структуру.
Это обеспечивает несложный, но весьма эффективный и преимущественный подход с высокой производительностью в большинстве сценариев и для многих приложений.
В соответствии с аспектом изобретения, предусмотрен способ генерации представления трехмерного изображения сцены, содержащий: прием мозаичного представления трехмерного изображения сцены из первой точки обзора, причем мозаичное представление трехмерного изображения содержит множество соединенных между собой мозаичных элементов, причем каждый мозаичный элемент содержит карту глубины и текстурную карту, представляющие окно обзора сцены из первой точки обзора, и мозаичные элементы образуют мозаичную картину; определение соседних граничных областей в по меньшей мере первом мозаичном элементе и во втором мозаичном элементе в соответствии с мозаичной картиной, причем первый мозаичный элемент и второй мозаичный элемент являются соседними мозаичными элементами; изменение по меньшей мере первое значение глубины первой граничной области первого мозаичного элемента в соответствии с по меньшей мере вторым значением глубины во второй граничной области второго мозаичного элемента таким образом, что разность между первым значением глубины и вторым значением глубины уменьшается для по меньшей мере некоторых значений из первого значения глубины и второго значения глубины, причем первая граничная область и вторая граничная область являются соседними граничными областями.
Эти и другие аспекты, признаки и преимущества изобретения явствуют из описанных ниже вариантов осуществления.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Варианты осуществления изобретения будут описаны, исключительно в порядке примера, со ссылкой на чертежи, на которых:
фиг. 1 демонстрирует пример клиентско-серверной системы виртуальной реальности, содержащей некоторые варианты осуществления изобретения;
фиг. 2 демонстрирует пример элементов кубичного мозаичного представления сцены;
фиг. 3 демонстрирует пример устройства генерации изображения в соответствии с некоторыми вариантами осуществления изобретения;
фиг. 4 демонстрирует пример элементов кубичного мозаичного представления сцены;
фиг. 5 демонстрирует пример элементов кубичного мозаичного представления сцены;
фиг. 6 демонстрирует пример устройства генерации изображения в соответствии с некоторыми вариантами осуществления изобретения; и
фиг. 7 демонстрирует пример элементов кубичного мозаичного представления сцены.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Нижеследующее описание посвящено вариантам осуществления изобретения, применимым к генерации изображений для приложения виртуальной реальности. Однако очевидно, что изобретение не ограничивается этим приложением, но может применяться, in например, во многих разных приложениях обработки и генерации изображений.
Фиг. 1 демонстрирует пример системы, которая может воплощать примеры и варианты принципа изобретения.
В примере, клиент в форме устройства 101 генерации изображения выполнен с возможностью генерации изображений, представляющих сцену из разных точек обзора, т.е. могут генерироваться изображения, соответствующие разным точкам обзора сцены. Устройство 101 генерации изображения выполнено с возможностью приема представления трехмерного изображения сцены и затем генерирования изображений из этого представления. В примере, представление трехмерного изображения принимается от удаленного сервера 103 через сеть 105, например, интернет. В конкретном примере, удаленный сервер 103 является сервером виртуальной реальности, который обеспечивает представление трехмерного изображения трехмерного окружения для устройства 101 генерации изображения для генерации видов, соответствующих, например, виртуальному перемещению пользователя в окружении.
Во многих приложениях, представление трехмерного изображения может генерироваться из захвата сцены реального мира или окружения с использованием камер регистрации глубины. Это позволяет захватывать визуальные свойства совместно с трехмерной информацией. Для достаточного захвата сцены часто используется множество и часто большое количество камер. В некоторых приложениях, для обеспечения удовлетворительного захвата используется 10, 20 или еще больше камер.
Представление виртуальных данных сцены является критическим фактором в обеспечении преимущественного пользовательского восприятия. Необходимо, чтобы данные, описывающие сцену, обеспечивали точное представление как визуальных свойств, так и пространственных свойств. В то же время, важно уменьшать объем данных, необходимых для представления сцены, поскольку это во многих приложениях это является ограничивающим фактором для достижимого качества.
Кроме того, преобразование из захватов камер регистрации глубины в представление данных окружения/ сцены часто бывает очень сложным и может вносить ошибки или артефакты. Например, в некоторых приложениях, захваченные данные могут использоваться для разработки трехмерной модели сцены реального мира. Затем обзорные изображения для пользователя, получающего трехмерное восприятие виртуальной реальности, может генерироваться путем оценивания модели из конкретной точки обзора. В других приложениях, изображения для конкретных точек обзора или точки обзора могут непосредственно генерироваться из захваченных изображений и информации глубины, например, путем выбора одного или более из ближайших захваченных изображений и осуществления сдвига точки обзора в соответствии с желаемой точкой обзора, или, в ряде случаев, непосредственно используя захваченные изображения.
В данном случае, сцена представляется в области изображений множеством изображений, а не трехмерной моделью. Однако каждое изображение дополнительно снабжается картами глубины, которые обеспечивают информацию глубины для объектов в изображениях. В частности, обеспечивается представление трехмерного изображения сцены, содержащее множество изображений и связанные карты глубины.
В частности, в системе, показанной на фиг. 1, мозаичное представление трехмерного изображения сцены из данной первой точки обзора используется (по меньшей мере частично) для представления сцены. Для данной точки обзора, обеспечивается представление, в котором множество соединенных между собой мозаичных элементов представляет сцену, причем каждый мозаичный элемент содержит изображение/ текстурную карту, обеспечивающую информацию интенсивности света (обычно включающую в себя цвет). В частности, данное (большое) окно обзора из данной точки обзора делится на множество меньших подокон обзора, каждое из которых представлено мозаичным элементом.
Таким образом, каждый из мозаичных элементов обеспечивает представление части сцены, причем мозаичные элементы совместно обеспечивают представление более крупной части сцены. Обычно мозаичные элементы соединяются между собой вдоль линий и соединений, причем существует отдельная граница между мозаичными элементами. Однако, в некоторых вариантах осуществления, отдельные мозаичные элементы могут иметь (обычно очень малое) перекрытие.
Таким образом, для данного направления обзора из первой точки обзора, сцена будет представлена мозаичным элементом, представляющим подокно обзора, включающее в себя это направление обзора. В большинстве вариантов осуществления, существует прямое взаимно-однозначное соответствие между направлением обзора и одним мозаичным элементом, который содержит значимую информацию. Однако, как упомянуто, в ряде случаев может существовать малое перекрытие между мозаичными элементами и в этом случае может существовать потенциально более чем один мозаичный элемент, связанный с направлением обзора.
Мозаичные элементы совместно образуют мозаичную картину. Таким образом, большое окно обзора, представленное мозаичными элементами, делится на отдельные мозаичные элементы в соответствии с мозаичной картиной. Во многих вариантах осуществления, мозаичная картина может быть заранее определенной мозаичной картиной, которая известна как удаленному серверу 103, так и устройству 101 генерации изображения. В других вариантах осуществления, мозаичная картина может, например, динамически определяться удаленным сервером 103 и мозаичная картина может передаваться на устройство 101 генерации изображения. Мозаичная картина обычно непрерывно покрывает полное окно обзора, и, таким образом для каждого направления обзора в окне обзора, мозаичная картина будет иметь (по меньшей мере один) мозаичный элемент.
Картина мозаичных элементов может, соответственно, формировать окно обзора в сценическом мире/системе координат причем каждый мозаичный элемент соответствует (меньшему или вспомогательному) окну обзора сцены. Другими словами, точки обзора мозаичных элементов могут совместно формировать комбинированное окно обзора для первой точки обзора. Мозаичные элементы могут обеспечивать непрерывное покрытие комбинированного окна обзора. Комбинированное окно обзора может полностью или частично окружать первую точку обзора.
Соединенные между собой мозаичные элементы могут совместно использовать границы в сценическом мире /системе координат (в том числе перекрывающиеся границы). Во многих вариантах осуществления, каждый из двух соседних или смежных мозаичных элементов может представлять разные области сцены, причем два соседних или смежных мозаичных элемента совместно представляют единую непрерывную область (соответствующую двум комбинированным отдельным областям). Комбинация двух областей, представленных двумя соседними или смежными мозаичными элементами, может образовывать единую область. Каждый мозаичный элемент мозаичной картины может представлять окно обзора в другой области сцены, причем картина мозаичных элементов образован мозаичными элементами, представляющими окно обзора в непрерывной области сцены. Комбинация мозаичных элементов, соответствующих разным точкам обзора, в разные области сцены может образовывать комбинированное окно обзора в непрерывной области сцены. Непрерывной областью может быть область, соответствующая единой трехмерной форме в трехмерной сцене. Области сцены, представленные мозаичными элементами мозаичной картины, могут объединяться в единую трехмерную форму/область в сцене (например, в отличие от областей, объединяющихся в две или более отдельные формы, которые не касаются и не перекрываются).
Каждый мозаичный элемент может содержать карту глубины и текстурную карту, представляющие проекцию сцены в окно обзора/ область (в системе координат сцены), соответствующую мозаичному элементу. Мозаичные элементы картины мозаичных элементов могут отражать проекцию сцены в окно обзора, соответствующее комбинации/ объединении точек обзора мозаичных элементов картины мозаичных элементов. Мозаичные элементы картины мозаичных элементов соответствуют точкам обзора для одной и той же точки обзора.
Окно обзора для точки обзора может соответствовать области (или 3D поверхности) в сцене (системе координат), на которую может обеспечиваться проекция сцены из точки обзора. Точка обзора может быть видовой позой или, во многих вариантах осуществления, позицией обзора.
Термин «точка обзора» может, например, рассматриваться для отражения точки отсчета для видов/ точек обзора и обычно рассматривается в соответствии с номинальным зрителем/ камерой сцены. Это часто рассматривается в соответствии с позицией, но также может включать в себя направленный аспект. Это в более общем случае можно рассматривать в соответствии с позой. Например, точка обзора может отражать позицию зрителя и направление его взгляда. Мозаичное представление сцены для такой точки обзора может, например, быть по существу полусферической структурой мозаичных элементов, центрированной в этом направлении (т.е. конкретное мозаичное представление может быть для конкретных позиции и направления).
Действительно, во многих практических варианты осуществления, представление мозаичными элементами может представлять только часть сцены, а не полное сферическое представление. Например, для кубичного представления, одна или более из сторон/ мозаичных элементов куба могут пропускаться. Таким образом, мозаичное представление для сцены из данной точки обзора может не только отражать позицию, где номинально находится зритель/камера, но и направление обзора (например, диапазон возможных направлений обзора).
Термин «окно обзора» может, например, рассматриваться в соответствии с областью или окном к сцене из данной точки обзора. Например, окно обзора можно рассматривать как поверхность, на которое проецируется часть сцены.
Помимо изображения интенсивности света/текстурной карты, каждый мозаичный элемент обеспечивает карту глубины, обеспечивающую информацию глубины для пикселей изображения интенсивности света/текстурной карты. Карта глубины может обычно содержать значения глубины, которые указывают расстояние от первой точки обзора до объекта в направлении обзора, соответствующем позиции значения глубины. Значение глубины может, например, увеличиваться с увеличением расстояния от точки обзора до объекта или может уменьшаться с увеличением расстояния от точки обзора до объекта. Значения глубины во многих вариантах осуществления может обеспечиваться как значения расхождения.
Обеспечение информации глубины и изображению (текстуры) может обеспечивать дополнительную информацию, допуская улучшенную обработку устройством 101 генерации изображения. В частности, это может позволять или облегчать или улучшать генерацию обзорных изображений для точек обзора, отличных от данной точки обзора, для которой обеспечивается представление трехмерного изображения.
Мозаичные элементы во многих вариантах осуществления являются плоскими многоугольниками, например, прямоугольниками (или часто квадратами), которые совместно образуют трехмерную структуру, т.е. плоские мозаичные элементы располагаются и ориентированы в трехмерном пространстве таким образом, что результирующая структура проходит в трех измерениях, а не просто проходит в плоскости. Полное окно обзора, обеспеченное мозаичным представлением трехмерного изображения, соответственно, является трехмерной структурой/окном обзора.
Во многих вариантах осуществления, трехмерное окно обзора может быть сферическим, т.е. существует мозаичный элемент для любого направления обзора из первой точки обзора. В частности, рассматривая сферу (соответствующую сферическому окну обзора), расположенную вокруг первой точки обзора и внутри структуры, образованной мозаичной картиной, линия из первой точки обзора и через любую точку на сфере будет проходить в позицию на мозаичном элементе. В некоторых вариантах осуществления, окно обзора может не покрывать всевозможные направления обзора, но могут потенциально покрывать только часть сферы, например, полусферу или четвертьсферу.
Конкретным примером мозаичной картины является кубичной мозаичной картиной, например, известной из отображения куба. В кубичной мозаичной картине, шесть квадратных мозаичных элементов может образовывать шесть сторон куба, окружающего первую точку обзора. Таким образом, в таком примере, мозаичное представление трехмерного изображения может обеспечивать шесть квадратных мозаичных элементов, где каждый мозаичный элемент содержит текстурную карту и карту глубины.
Мозаичные элементы часто может обеспечиваться как комбинированное плоское представление. Однако, когда мозаичные элементы образуют трехмерную структуру (куб), такое плоское представление будут по существу разделять по меньшей мере некоторые соседние мозаичные элементы. Плоское представление картины мозаичных элементов куба представлено на фиг. 2, где указаны плоские представления текстурных карт и карт глубин.
В системе, показанной на фиг. 1, устройство 101 генерации изображения может, соответственно, принимать входное мозаичное представление трехмерного изображения, например, кубичное представление, для сцены из данной первой точки обзора. Из этого входного мозаичного представления трехмерного изображения, затем устройство 101 генерации изображения может генерировать изображения, соответствующие конкретному направлению обзора из первой точки обзора, или действительно соответствующие конкретному направлению обзора из разных точек обзора. Устройство 101 генерации изображения, соответственно, в примере, выполнено с возможностью синтезировать изображения для разных точек обзора и направлений из мозаичного представления трехмерного изображения. Например, устройство 101 генерации изображения может выполнять приложение виртуальной реальности, которое генерирует изображения для разных точек обзора и направлений в ответ на пользовательский ввод, например, из гарнитуры виртуальной реальности.
Фиг. 3 демонстрирует пример устройства 101 генерации изображения, показанного на фиг. 1.
Устройство 101 генерации изображения содержит приемник 301, который принимает входное мозаичное представление трехмерного изображения сцены из первой точки обзора. В примере, приемник 301 принимает входное мозаичное представление трехмерного изображения от удаленного сервера 103, и, таким образом, приемник 301 содержит пригодный сетевой интерфейс и функции для осуществления связи с удаленным сервером 103. Очевидно, что в других вариантах осуществления, входное мозаичное представление трехмерного изображения может приниматься от других внутренних или внешних источников, например, из локального хранилища или устройства чтения диска с данными.
В примере устройство 101 генерации изображения дополнительно содержит генератор 303 изображений, который выполнен с возможностью генерации изображения из принятого мозаичного представления трехмерного изображения. Генератор 303 изображений, в частности, может быть выполнен с возможностью генерации изображения для точек обзора, отличных от первой точки обзора, для которой обеспечивается мозаичное представление трехмерного изображения.
В конкретном примере, устройство 101 генерации изображения выполняет приложение виртуальной реальности и подключено к пользовательскому интерфейсу 305, которая может управлять позицией точки обзора и направлением обзора для которых генерируются обзорные изображения.
В конкретном примере, устройство 101 генерации изображения является устройством виртуальной реальности, содержащим пользовательский интерфейс 305, который выполнен с возможностью приема пользовательского ввода, который может отражать желаемое перемещение и/или ориентацию в сцене виртуальной реальности. Например, пользователь может осуществлять навигацию по сцене виртуальной реальности с использованием джойстика и/или клавиатуры, или, например, ориентация вида может определяться из гарнитуры виртуальной реальности, носимой пользователем и содержащей пригодные датчики. Во многих вариантах осуществления, пользовательский интерфейс 305 может содержать функции для преобразования пользовательского ввода в желаемую точку обзора рендеризации, которая указывает позицию, из которой наблюдается сцена, и/или ориентацию вида от данной позиции обзора (точку обзора можно рассматривать в отношении указания позиции, указания ориентации или обоих, таким образом, указывая желаемый вид для пользователя).
Очевидно, что в некоторых вариантах осуществления, множество видов может генерироваться для данной точки обзора рендеризации, или, в некоторых вариантах осуществления, множество точек обзора может генерироваться из одного и того же пользовательского ввода. Например, устройство виртуальной реальности может быть выполнено с возможностью генерации изображения, соответствующего виду правого глаза, и изображение, соответствующее виду левого глаза, таким образом, обеспечивая 3D эффект. Для краткости и наглядности, нижеследующее описание посвящено генерации одного изображения для данной точки обзора рендеризации.
Пользовательский интерфейс 305, в частности, может быть выполнен с возможностью генерации вектора обзора рендеризации, который указывает желаемую/целевую точку обзора рендеризации. Например, может генерироваться вектор обзора рендеризации, который содержит три компоненты/ значения, задающие ориентацию зрителя, например, параметры тангажа, рысканья и крена. Во многих вариантах осуществления, целевой вектор обзора может дополнительно или альтернативно содержать три значения, задающие трехмерную позицию в сцене, например, представленной значением x, y, z. Очевидно, что в некоторых вариантах осуществления, позицию и/или ориентацию можно представить менее, чем тремя значениями. Например, позиция может указываться расстоянием вдоль заранее определенного маршрута через сцену и, таким образом, позиция может указываться единым значением. Аналогично, можно предположить, что тангаж и рысканье постоянными, и ориентация может задаваться только значением крена.
Сгенерированный вектор обзора рендеризации поступает на генератор 303 изображений, который выполнен с возможностью генерации изображения для точки обзора, выраженной вектором обзора рендеризации. Генерация изображения зависит от мозаичного представления трехмерного изображения.
В некоторых вариантах осуществления, сгенерированное изображение может поступать на возбудитель дисплея для приведение в действие (возбуждения) пригодного дисплея, например, дисплея гарнитуры виртуальной реальности для правого или левого глаза. Гарнитура виртуальной реальности может дополнительно содержать датчики, которые обеспечивают пользовательский ввод в пользовательский интерфейс 305.
Таким образом, устройство виртуальной реальности может генерировать изображения, представляющие виды из конкретных точек обзора в виртуальной сцене, представленной мозаичным представлением трехмерного изображения. Точка обзора определяется пользовательским вводом, что позволяет пользователю обычным образом перемещаться и осматриваться в виртуальной сцене.
Изображения, генерируемые генератором 303 изображений, рендеризуются на основании принятого входного мозаичного представления трехмерного изображения. Однако устройство 101 генерации изображения непосредственно не использует входное мозаичное представление трехмерного изображения, но изменяет его до осуществления синтеза изображения. Таким образом, рендеризация осуществляется на основании измененного мозаичного представления трехмерного изображения, сгенерированного путем изменения по меньшей мере одного значения глубины входного мозаичного представления трехмерного изображения.
В конкретном примере, генератор 303 изображений непосредственно не использует информацию карты глубины, но вместо этого преобразует его в формат сетки. Хотя генерация трехмерной сетки из карты глубины, с последующей обработкой/синтезом изображений на основании сетки, является необязательным признаком, она может обеспечивать преимущественную операцию и/или реализацию во многих вариантах осуществления.
Действительно, в то время как карты глубины часто образуют естественный трехмерный формат получения и сжатия, большинство программ и устройств 3D, используемых, например, для воспроизведения виртуальной реальности использует трехмерное представление на основе сетки, состоящее из трехмерных координат вершин и краев. Поэтому преобразование карты глубины в сетку является важной операцией для многих автономных и оперативных алгоритмов (реального времени).
В примере, показанном на фиг. 3, устройство 101 генерации изображения, соответственно, содержит генератор 307 сеток, который выполнен с возможностью генерации трехмерной сетки на основании карт глубины мозаичных элементов. Таким образом, на генератор 303 изображений поступают текстурные карты мозаичных элементов от приемника 301 и сгенерированная сетка от генератора 307 сеток. Специалисту в данной области техники известны многие разные алгоритмы для синтезирования изображений из текстурных карт и сеток, и очевидно, что любой из них может использоваться без отхода от изобретения.
В многих графических приложениях сцена представляется комбинацией текстурной карты и трехмерной сетки, и поэтому специализированное оборудование часто используется для генерации изображений из таких представлений. Особенно эффективный подход во многих сценариях состоит в представлении объектов изображения, или действительно сцены целиком, многоугольной сеткой, где множественные многоугольники соединены их общими краями или углами (вершинами), которые задаются трехмерными позициями. Комбинированная трехмерная многоугольная сетка, соответственно, обеспечивает эффективную модель трехмерных объектов, включающих в себя, возможно, трехмерное представление всего изображения. Многоугольная сетка часто является треугольной сеткой, образованной треугольниками, имеющими общие углы, заданные в трехмерном пространстве.
На практике, карты глубины, соответственно, часто преобразуются в трехмерную сетку. Трехмерная сетка является общеизвестным форматом графики, который поддерживается большинством аппаратных возбудителей (например, на основе OpenGL).
В порядке примера, стереокамера может записывать изображение сцены из данной точки обзора. Для каждого пикселя, оценка расхождения может осуществляться для оценивания расстояния до объекта, представленного пикселем. Это может осуществляться для каждого пикселя таким образом, чтобы обеспечивать трехмерную позицию x, y, z для каждого пикселя. Затем эти позиции можно использовать как вершины треугольной сетки, где два треугольника формируются для каждой группы 2×2 пикселей. Поскольку это может приводить к формированию большого количества треугольников, процесс может включать в себя объединение нескольких начальных треугольников в более крупные треугольники (или в некоторых сценариях в более общем случае в более крупные многоугольники). Это будет уменьшать количество треугольников, а также снижать пространственное разрешение сетки. Соответственно, гранулярность сетки обычно зависит от изменений глубины, и более крупные многоугольники преимущественно образуются в более плоских зонах.
Каждая вершина дополнительно связана со значением интенсивности света текстурной карты. Текстурная карта, по существу, обеспечивает интенсивность света/цвета в сцене для объекта в пиксельной позиции вершины. Обычно изображение интенсивности света/текстурная карта обеспечивается совместно с сеткой, каждая вершина которой содержит данные, представляющие позицию x, y, z вершины и данные u, v, идентифицирующие связанную позицию в текстурной карте, т.е. указывающие на интенсивность света в позиции x, y, z, захваченную в текстурной карте.
В таких представлениях, многоугольная сетка используется для обеспечения информации о трехмерной геометрии объектов, тогда как текстура обычно обеспечивается как отдельная структура данных. В частности, текстура часто обеспечивается как отдельная двухмерная карта, которая, согласно алгоритму обработки, может накладываться на трехмерную геометрию.
Использование треугольных сеток особенно пригодно для обработки и манипуляции согласно алгоритмов компьютерной графики, и многие эффективные программные и аппаратные решения разработаны и доступны на рынке. Существенная вычислительная эффективность во многих системах достигается алгоритмом, совместно обрабатывающим отдельные вершины для множества многоугольников, а не обрабатывающим каждый многоугольник по отдельности. Например, для типичной треугольной сетки, отдельная вершина часто является общей для нескольких (часто 3-8) треугольников. Обработка единственной вершины может, соответственно, применяться к относительно большому количеству треугольников, что существенно уменьшает количество точек в изображении или другом обрабатываемом объекте.
В устройстве 101 генерации изображения, показанном на фиг. 3, генератор 307 сеток генерирует сетки на основании принятых карт глубины мозаичных элементов и, соответственно, осуществляет преобразование от представления на основе изображения к геометрическому представлению (сетку можно рассматривать как геометрическая трехмерная структура).
Однако, вместо того, чтобы непосредственно использовать принятые карты глубины мозаичных элементов, устройство 101 генерации изображения выполнено с возможностью его обработки и изменения некоторых значений глубины в картах глубины.
В частности, устройство 101 генерации изображения содержит первый процессор 311, который подключен к приемнику 301 и который выполнен с возможностью определения соседних граничных областей в по меньшей мере первом мозаичном элементе и во втором мозаичном элементе в соответствии с мозаичной картиной, причем первый мозаичный элемент и второй мозаичный элемент являются соседними мозаичными элементами. Первый процессор 311 может, на основании мозаичной картины, идентифицировать граничную или краевую область в одном мозаичном элементе и соответствующую граничную или краевую область в другом мозаичном элементе, причем две граничные области являются соседними, и, в частности две граничные области либо касаются/соединяются, либо перекрываются. В частности, для краевого пикселя первого мозаичного элемента, по меньшей мере один соседний/ смежный пиксель будет находиться в другом мозаичном элементе. Краевой пиксель и соседний/ смежный пиксель, соответственно, принадлежат граничным областям двух разных карт глубины/ мозаичных элементов. Поскольку мозаичная картина известна устройству 101 генерации изображения (например, будучи заранее определенной или передаваемой от удаленного сервера 103), первый процессор 311 способен определять, какие мозаичные элементы соединены/ соседствуют, и также, какие пиксели в другом мозаичном элементе/карте глубины являются соседними и соседствуют с данным краевым пикселем/значением глубины в текущем мозаичном элементе/ карте глубины.
Во многих вариантах осуществления, первый процессор 311 может быть выполнен с возможностью определения первой граничной области первого мозаичного элемента как всех краевых пикселей/значений глубины, которые находятся на краю первой карты глубины/мозаичного элемента и для которых ближайший/ соседний пиксель (в по меньшей мере одной генерации) находится во второй карте глубины/мозаичном элементе. В некоторых вариантах осуществления, вторая граничная область (т.е. граничная область во втором мозаичном элементе) может определяться как множество соседних пикселей во втором мозаичном элементе.
Первый процессор 311 подключен ко второму процессору 309, который подключен к приемнику 301 и который принимает от него карты глубины. Кроме того, он подключен к первому процессору 311 и принимает от него информацию первой и второй граничных областей.
Второй процессор 309 выполнен с возможностью обработки по меньшей мере некоторых из пикселей первой граничной области, т.е. выполнен с возможностью изменения значений глубины идентифицированной граничной области в первом мозаичном элементе. Значения глубины изменяются в зависимости от значений глубины во второй граничной области, т.е. измененные значения глубины в граничной области первого мозаичного элемента зависят от значений глубины в соседней граничной области второго мозаичного элемента. Таким образом, по меньшей мере первое значение глубины первой граничной области первого мозаичного элемента изменяется на основании по меньшей мере второго значения глубины во второй граничной области второго мозаичного элемента (где первая граничная область и вторая граничная область являются соседними граничными областями). Измененное первое значение глубины может определяться как функция второго значения глубины, т.е. является функцией по меньшей мере одного значения глубины в другом мозаичном элементе мозаичного представления. Очевидно, что для некоторых значений из первого и второго значений глубины, измененное значение глубины может быть равно первоначальному значению глубины.
Во многих вариантах осуществления, процесс повторяется для по меньшей мере всех краевых пикселей по меньшей мере одного мозаичного элемента. Дополнительно, во многих вариантах осуществления, обычно измененное значение глубины зависит только от одного значения глубины в соседнем мозаичном элементе (и, возможно, от первоначального значения глубины, т.е. входного значения изменяемого пикселя). В частности, во многих вариантах осуществления, значение глубины для данного краевого пикселя может определяться как функция только ближайшего значения глубины в другом мозаичном элементе и, возможно, первоначального значения глубины.
Таким образом, хотя во многих вариантах осуществления действительно возможно рассматривать множество значений глубины в соседнем (смежном) мозаичном элементе (например, путем усреднения количества близких значений глубины в соседнем мозаичном элементе), второй процессор 309 во многих вариантах осуществления будет рассматривать по одному значению глубины в каждом мозаичном элементе. Дополнительно, для большинства изменяемых значений глубины, только один соседний мозаичный элемент рассматривается и, таким образом, рассматривается только одно значение глубины из другого мозаичного элемента. Однако для некоторых значений глубины, например, углового значения глубины для кубичного мозаичного представления, второй процессор 309 может рассматривать одно значение глубины в каждом из соседних мозаичных элементов. Это может, например, минимизировать сумму квадратов разностей между измененным значением глубины и соответствующими угловыми значениями глубины в двух мозаичных элементах. В порядке другого примера, все три значения глубины могут устанавливаться на одно и то же значение, например, на среднее значение глубины.
Значение глубины, которое рассматривается в другом мозаичном элементе, когда рассматривается только одно значение глубины в этом мозаичном элементе, в частности может быть ближайшим значением глубины. Таким образом, выбирается значение глубины, ближайшее к изменяемому значению глубины. Ближайшим значением глубины может быть значение глубины, для которого расстояние в сцене между позициями в точках обзора для значений глубины минимально.
Таким образом, второй процессор 309 изменяет одну или более из карт глубины, принятых во входном мозаичном представлении трехмерного изображения, таким образом, генерируя измененное мозаичное представление трехмерного изображения. Затем результирующее множество карт глубины поступает на генератор 307 сеток, который генерирует сетку на основании этих измененных карт глубины.
Подход может обеспечивать существенное повышение производительности во многих вариантах осуществления и повышение согласованности между разными мозаичными элементами во многих сценариях. В частности, подход может обеспечивать существенное улучшение генерации сетки во многих вариантах осуществления, где, в частности, более согласованная сетка может генерироваться при существенном снижении опасности, например, дырок в сгенерированной глубинной сетке.
Далее различные аспекты описанного подхода будут описаны со ссылкой на конкретный пример кубичного мозаичного представления, но очевидно, что это лишь пример.
Реализации изобретения можно проиллюстрировать на примере кубичного мозаичного представления на фиг. 2. Обычно каждая сторона кубичного представления соответствует отдельной перспективной проекции и часто генерируется отдельно от других сторон куба. Например, кубичное мозаичное представление может генерироваться с использованием шести камер регистрации глубины с поворотами 90°. Для согласования глубинного представления на сторонах куба, предпочтительно сначала преобразовывать его в представление расстояния/диапазона таким образом, чтобы карта глубины кодировала для каждого мозаичного элемента расстояние между центром куба и точкой объекта. Для ограничения битовой глубины, это расстояние/диапазон в метрах может кодироваться как постоянная, деленная на расстояние, поскольку обратное отношение приводит к более компактному кодированию. После этого преобразования и этапа квантования, карту глубины можно дополнительно подвергать пространственному сжатию c потерями для каждого мозаичного элемента. Это обычно приводит к изменению глубины между разными сторонами куба.
В порядке альтернативы, разные мозаичные элементы могут объединяться в единую плоскую структуру, например, показанную на фиг. 2 для кодирования. Алгоритмы сжатия изображения и видео вносят ошибки квантования и кодирования и очевидно, что это может вносить конкретные краевые несогласованности в мозаичных представлениях, где кодирование не перекрывает разные мозаичные элементы.
Эти эффекты, в частности, преобразуют при кодировании единой плоской картины мозаичных элементов. Действительно, в подобных случаях преобразование трех измерений к двум измерениям приводит к зазорам и разрывам в структуре. Например, для кубичного представления, трехмерная топология разрывается на сторонах куба, как показано на фиг. 2. В результате, артефакты кодирования будут оказывать значительное влияние и часто становятся видимыми. В частности, поскольку трехмерные точки на краю одной стороны куба не будут согласованы (в отношении трехмерной позиции) с трехмерными точками на краю другой стороны куба, результирующая сетка также может оказываться несогласованной и потенциально может иметь зазоры.
Фиг. 4 иллюстрирует возможность возникновения ошибок сетки, когда используется кубичный мозаичный формат. Пример демонстрирует кубичное мозаичное представление глубины, закодированной как шесть отдельных мозаичных элементов. Стрелки указывают, на каких краях мозаичных элементов возможно возникновение ошибок сетки вследствие кодирования с потерями карт глубины.
В подходе устройства 101 генерации изображения, показанного на фиг. 3, такие эффекты можно ослаблять или их можно избегать, ограничивая значения глубины на границе данного мозаичного элемента таким образом, чтобы они были очень близки или обычно равны значениям глубины на границе одного или более других мозаичных элементов. Это позволяет гарантировать, что построенная затем сетка является согласованной и не страдает ошибками сжатия по глубине.
Фиг. 5 демонстрирует пример сетки, сгенерированной путем формирования треугольников между всеми пикселями/ значениями глубины. В примере, положения пикселей карты глубины, которые становятся вершинами сетки, указаны кружками. Обычно, правильная решетка положений пикселей используется (например, каждый второй или четвертый пиксель). Подмножество всех таких положений пикселей показан на фиг. 5. В примере, мозаичный элемент Dup имеет границу A мозаичного элемента, и мозаичный элемент Dfront имеет границу B мозаичного элемента и пиксели на каждой границе проиндексированы как DA,i и DB, jj соответственно. В примере, границы A и B являются границами двух разных мозаичных элементов и потерьное сжатие изображения карт глубины может делать эти образцы несогласованными, т.е. соответствующие значения глубины в разных мозаичных элементах могут оказываться разными, что будет приводить к ошибкам в сетке, поскольку треугольники, сгенерированные для мозаичного элемента Dup, не будут выравниваться со сгенерированными для Dfront. Однако, устанавливая значения глубины из соответствующих граничных положений на одно и то же значение глубины до генерации сетки, создается согласованная сетка.
Очевидно, что в разных вариантах осуществления, для определения значений глубины могут использоваться разные функции. Однако, во многих вариантах осуществления, значения глубины могут определяться таким образом, что соседние краевые значения глубины в двух соседних мозаичных элементах одинаковы, или по меньшей мере таким образом, что разность между ними уменьшается. В частности, если первое значение глубины и второе значение глубины являются краевыми значениями, оба будут устанавливаться на одно и то же значение. В некоторых вариантах осуществления, первое значение глубины может устанавливаться равным второму значению, но во многих вариантах осуществления значение глубины определяется как функция первого и второго значений глубины (и, возможно, других значений глубины или параметров), и затем первое и второе значения глубины устанавливается на это значение, т.е. оба значения изменяются.
В некоторых вариантах осуществления, два значения глубины могут не устанавливаться на одно и то же значение, но могут, например, устанавливаться на значения, более близкие друг к другу, т.е. таким образом, что разность между ними уменьшается. В порядке примера, первое значение глубины может устанавливаться равным среднему значению глубины для первого и второго значения глубины, подлежащих изменению первого значения глубины, не изменяющегося более чем на данную величину. Таким образом, изменение значения глубины ограничивается максимальным уровнем. Это может приводить в некоторых сценариях, например, к изменению значений глубины, по-прежнему приводящих к зазору в сгенерированной сетке, но потенциально такой зазор существенно уменьшается. Однако, в то же время, гарантируется, что значения глубины в граничных областях не изменяются чрезмерно по отношению к значениям глубины в первом мозаичном элементе за пределами граничной области. Это позволяет обеспечивать более согласованную карту глубины в мозаичном элементе. Очевидно, что конкретная используемая функция может зависеть от предпочтений и требований отдельного варианта осуществления и, в частности, может зависеть от желаемого компромисса между согласованностью по глубине в мозаичном элементе и согласованностью по глубине между мозаичными элементами.
Установление одинакового значения глубины краевых пикселей может обеспечивать высокий уровень согласованности между треугольниками сетки, сгенерированными из двух разных карт глубины, и будет, соответственно, обеспечивать согласованную сетку.
В некоторых вариантах осуществления, значение, применяемое к первому и второму значениям глубины, может определяться как среднее значение двух значений глубины. Например, в примере, приведенном на фиг. 5, значения глубины на границе мозаичных элементов может определяться как:
Таким образом, новое значение глубины устанавливается на среднее значение глубины, которое одинаково для соответствующих граничных положений пикселей. Теперь, когда сетка строится с использованием координат и значения глубины пикселя, соответствующие граничные пиксели из границ A и B окажутся в одном и том же 3D положении. В примере, операция ограничения глубины производит усреднение по двум образцам, но очевидно, что можно использовать больше образцов. В углах, усреднение обычно осуществляется по трем значениям глубины (в случае кубичной карты) или четырем значениям глубины (для других мозаичных форматов, где встречаются четыре мозаичные элементы). Другими словами, среднее значение может определяться усреднением по значениям глубины ближайших пикселей в каждом мозаичном элементе, с которым соседствует текущий пиксель.
В порядке альтернативы, может быть установлена равной среднему количеству положений образцов вокруг позиции j. Кроме того, можно немного отодвигать положения пикселей от границы.
В примере, второй процессор 309, соответственно, выполнен с возможностью определения первого значения глубины на основании только значения глубины ближайшего пикселя каждого мозаичного элемента, соседствующего с первым мозаичным элементом в позиции первого значения глубины.
Во многих вариантах осуществления, второй процессор 309 может быть дополнительно выполнен с возможностью применения пространственного фильтра к карте глубины первого мозаичного элемента после изменения первого значения глубины.
Таким образом, после того, как второй процессор 309 изменяет значения глубины в граничных областях данного мозаичного элемента, он может применять пространственный фильтр к измененной карте глубины. Пространственный фильтр может, в частности, применяться ко всей карте глубины, включающей в себя как граничные области, так и внутренние области. Однако, в других вариантах осуществления, пространственный фильтр может применяться только к граничным областям и частям внутренних областей, соседствующих с граничными областями.
Изменение значений глубины в граничной(ых) области(ях) позволяет повышать согласованность между мозаичными элементами. Однако существует опасность уменьшения внутренней согласованности в карте глубины, и для обеспечения или увеличения такой согласованности можно использовать пространственную низкочастотную фильтрацию.
Например, для уменьшения опасности того, что изменение вносит новую несогласованность между граничными пикселями и пикселями внутри мозаичного элемента, но не на границе, может быть желательно пространственно фильтровать значения глубины строк и столбцов, которые лежат (непосредственно) внутри границы, благодаря чему они пространственно согласуются с новыми значениями глубины на границе.
Во многих вариантах осуществления, такая пространственная фильтрация может не применяться к измененным значениям глубины. Например, краевые пиксели могут изменяться на основании значений глубины в других мозаичных элементах, и затем пространственный фильтр может применяться к пикселям, которые близки к краевым пикселям, но не включающим в себя их. Таким образом, краевые пиксели будут поддерживать свои значения, но вследствие фильтрации внутренних значений глубины, которые близки к краевым пикселям, они будут изменяться, чтобы лучше согласоваться с новыми значениями для краевых пикселей (ядро фильтрации для таких пикселей обычно включает в себя краевые пиксели).
Во многих вариантах осуществления, генератор 307 сеток может быть выполнен с возможностью использовать только подмножество пикселей для генерации сетки, т.е. можно выбирать только подмножество пикселей в соответствии с вершинами многоугольников (обычно треугольников) сетки. Например, вершина может генерироваться только для каждого второго или каждого четвертого пикселя карты глубины. Такой подход часто применяется для генерации менее сложной сетки, которая обеспечивает снижение скорости передачи данных и требования к вычислительному ресурсу.
Во многих таких вариантах осуществления, генератор 307 сеток может быть выполнен с возможностью указания второму процессору 309, что для генерации сетки используются только подмножество значений глубины. В ответ, второй процессор 309 может изменять только значения глубины карты глубины/граничной области, которые используются для последующей генерации сетки. Это позволяет во многих вариантах осуществления существенно снижать сложность и использование вычислительного ресурса второго процессора 309.
Такой подход может быть особенно пригоден в ситуациях, когда используются неправильные сетки. В частности, согласно вариантам осуществления, в которых используются правильные сетки, топология является фиксированной и независимой от динамических сеток, которые могут генерироваться, и, в частности, не зависит от сеток, сгенерированных для других мозаичных элементов. Поэтому второй процессор 309 может иметь заранее определенную информацию о том, какие значения глубины подлежат изменению.
Если же используются неправильные сетки, подмножество значений глубины, которые фактически преобразуются в вершины сетки, будет изменяться, и в такой ситуации выбор подмножества значений глубины, подлежащих изменению, может базироваться на вершинах неправильной сетки.
Например, генератор 307 сеток может, до любого изменения значений глубины, генерировать первую (внутреннюю) неправильную сетку только на основании значений глубины первого мозаичного элемента, т.е. он может генерировать первую начальную сетку для первого мозаичного элемента. Аналогично, генератор 307 сеток может, до любого изменения генерировать вторую (внутреннюю) неправильную сетку только на основании значений глубины второго мозаичного элемента, т.е. он может генерировать вторую начальную сетку для второго мозаичного элемента.
Для объединения этих двух неправильных сеток, генератор 307 сеток может идентифицировать все вершины, которые лежат вдоль границы между первым и вторым мозаичными элементами. Затем каждое значение глубины, соответствующее вершине либо первой, либо второй неправильной сетки, может включаться в подмножество, указанное вторым процессором 309. Затем второй процессор 309 может осуществлять изменение/ ограничение глубины, и, в частности, могут устанавливать значения глубины одинаковыми в двух мозаичных элементах. Затем результирующие значения глубины могут возвращаться на генератор 307 сеток, который может изменять значения глубины существующих вершин в сетках, а также добавить любые вершины (и соответствующие края), которые присутствуют только в одной сетке, в другую сетку. В результате, две результирующие неправильные сетки будут соответствовать точно вдоль линий границы между двумя мозаичными элементами и, таким образом, могут легко объединяться в единую сетку.
В предыдущем примере, удаленный сервер 103 генерировал и передавал мозаичное представление трехмерного изображения как единую комбинированную структуру. Однако, во многих вариантах осуществления, удаленный сервер 103 может быть выполнен с возможностью передачи только подмножества мозаичных элементов, и, в частности, только одного мозаичного элемента за раз. В таких вариантах осуществления, устройство 101 генерации изображения может быть выполнено с возможностью приема одного или подмножества мозаичных элементов и их объединения с мозаичными элементами от других источников, например, в частности, с другими мозаичными элементами, которые локально сохранены. Эти локально сохраненные мозаичные элементы могут быть мозаичными элементами, которые были ранее приняты от удаленного сервера 103 или потенциально могут быть, например, заранее определенными номинальными мозаичными элементами, представляющими заранее определенную номинальную сцену, которая затем динамически обновляется и адаптируется мозаичными элементами замены, принимаемыми от удаленного сервера 103.
В таком варианте осуществления, устройство 101 генерации изображения может быть выполнено с возможностью использования соответствующего подхода для ограничения значений глубины вновь принятого мозаичного элемента.
В порядке конкретного примера, устройство 101 генерации изображения может, как показано на фиг. 6, содержать коммуникатор 601 удаленного источника и локальное хранилище 603, подключенные к приемнику 301. В этом примере приемник 301 может, таким образом, извлекать мозаичные элементы мозаичного представления трехмерного изображения либо из локального хранилища 603, либо из коммуникатора 601 удаленного источника.
В примере, локальное хранилище 603 содержит полное множество мозаичных элементов, соответствующее мозаичному представлению трехмерного изображения, и приемник 301 может быть выполнен с возможностью извлечения надлежащих мозаичных элементов в случае необходимости. Сохраненное множество мозаичных элементов может, в частности, содержать мозаичные элементы, ранее принятые от удаленного сервера 103.
Коммуникатор 601 удаленного источника может быть выполнен с возможностью приема единичного мозаичного элемента (или потенциально подмножества мозаичных элементов) от удаленного сервера 103. Новый мозаичный элемент может заменять собой существующий мозаичный элемент на данный момент хранящийся в локальном хранилище 603.
Например, новый мозаичный элемент может приниматься в ответ на сообщение, передаваемое на удаленный сервер 103 от устройства 101 генерации изображения. Действительно, в конкретном примере пользовательский интерфейс 305 подключен к коммуникатору 601 удаленного источника и сообщает определенную на данный момент точку обзора (направление обзора и/или позицию) коммуникатору 601 удаленного источника. В ответ коммуникатор 601 удаленного источника передает указание точки обзора на удаленный сервер 103, который определяет, необходимо ли пригодное обновление любого из сохраненных мозаичных элементов. Например, если точка обзора соответствует направлению, которое долгое время не обновлялось, удаленный сервер 103 может принять решение передать новый мозаичный элемент замены. В других вариантах осуществления, удаленный сервер 103 может сам определить, что мозаичный элемент замены нужно передать, например, при обнаружении существенного динамического изменения в сцене.
В примере, когда коммуникатор 601 удаленного источника принимает новый мозаичный элемент (часто это мозаичный элемент замены), он может извлекать сохраненные соседние мозаичные элементы и затем осуществлять ранее описанную операцию для принятого мозаичного элемента, например, для одного или более граничных пикселей/значений глубины принятого мозаичного элемента, может изменять значения глубины для обеспечения соответствия между новыми мозаичными элементами и сохраненными соседними мозаичными элементами.
Однако, во многих вариантах осуществления, значения глубины изменяются только для нового мозаичного элемента. Таким образом, вместо того, чтобы, например, определять среднее значение глубины и назначать его пикселям как новой принятой карты, так и сохраненной соседней карты глубины, второй процессор 309 может устанавливать значение глубины новой карты глубины равным соседнему значению глубины сохраненной карты глубины. Таким образом, карта глубины нового мозаичного элемента изменяется для согласования с локально сохраненными картами глубины, но без их изменения. Соответственно, любая обработка, уже осуществляемая на сохраненных картах глубины, не нуждается в поторении, например, нет необходимости повторно фильтровать эти карты глубины. Напротив, карта глубины нового мозаичного элемента изменяется и затем может использоваться с существующими картами глубины.
После этого изменения, принятая новая карта глубины может сохраняться в локальном хранилище, таким образом, обновляя локально сохраненное представление трехмерного изображения.
Подход может обеспечивать очень эффективную систему, и, в частности, может уменьшать ширину полосы связи, поскольку только отдельные мозаичные элементы могут передаваться по мере необходимости. Дополнительно, опасность того, что такой новый мозаичный элемент приведет к снижению качества изображения и ошибкам или артефактам, может уменьшаться. Кроме того, вычислительный ресурс может оставаться низким, поскольку не требуется обработка или изменение сохраненных соседних карт глубины.
Действительно, в некоторых вариантах осуществления, сетки могут генерироваться для сцены, и значения глубины других мозаичных элементов могут сохраняться не как явные карты глубины, а как сетки. В такой ситуации, сетка для данного мозаичного элемента обычно генерируется, чтобы иметь несколько вершин вдоль края или границы мозаичного элемента. Теперь глубину этих вершин можно использовать как значения глубины граничной области соседнего мозаичного элемента и, таким образом, значения глубины вновь принятого мозаичного элемента могут изменяться для согласования с граничными значениями глубины существующей сетки для соответствующего соседнего мозаичного элемента.
Множество значений глубины в новой карте глубины, которые изменяются, можно дополнительно выбирать в ответ на сетку, и, в частности, для каждой вершины/значения глубины сетки, ограничивающей новый мозаичный элемент, соответствующее (ближайшее) значение глубины в новой карте глубины можно выбирать и устанавливать на то же значение, что и значение глубины вершина. Затем эти пиксели/значения глубины можно использовать в качестве вершин для многоугольников (обычно треугольников) сетки, где другие вершины выбираются в новом мозаичном элементе в соответствии с пригодным критерием выбора.
Таким образом, для нового мозаичного элемента генерируется сетка, согласующуюся с уже сгенерированными сетками сохраненных мозаичных элементов. Соответственно, эти соседние сетки не нуждаются в изменении и могут использоваться напрямую, таким образом, существенно снижая нагрузку обработки.
Однако, в то время как такой подход может обеспечивать очень высокую производительность во многих вариантах осуществления, это в некоторых ситуациях может приводить к отклонениям глубины. В частности, во многих вариантах осуществления, граничные вершины соседнего мозаичного элемента могут находиться на некотором расстоянии друг от друга, например, вследствие того, что несколько меньших треугольников сетки объединяются в более крупную сетку в результате малого изменения глубины в этой области. Если же в данный момент принимается новый мозаичный элемент, имеющий довольно большое изменение глубины вдоль этой линии, прямая линия единого треугольника сетки не способен отражать это изменение глубины. В некоторых вариантах осуществления, второй процессор 309 может быть выполнен с возможностью обнаружения, что разность глубин между граничным значением глубины нового мозаичного элемента и соответствующим значением глубины многоугольника существующей сетки сохраненного соседнего мозаичного элемента превышает порог, и в этом случае он может добавлять новую граничную вершину. Эта новая граничная вершина будет образовывать основу многоугольников в сетке, которая генерируется для нового мозаичного элемента, но также будет вершиной для соседнего мозаичного элемента. Соответственно, в ранее сгенерированную сетку добавляется новая вершина, и соответствующий многоугольник существующей сетки делится на два многоугольника. Таким образом, один или более краев добавляется в существующую сетку между новой вершиной и одной или более существующими вершинами в существующей сетке для соседнего мозаичного элемента (количество краев, необходимых для разделения существующего многоугольника на меньшие многоугольники вследствие появления новой вершины будет зависеть от конкретной топологии).
В порядке конкретного примера, когда принимается новый мозаичный элемент глубины, во многих вариантах осуществления желательно объединять его с уже существующей сеткой. Эта ситуация представлена на фиг. 7. В этом примере, карты глубины соседних мозаичных элементов уже преобразованы в сетку, и теперь желательно создавать сетку для вновь прибывшего мозаичного элемента. Это может осуществляться путем анализа значений глубины на краю мозаичных элементов. Если новая карта глубины имеет краевое значение глубины (например, определяемое как кандидат в вершину вследствие внутренних изменений глубины в новом мозаичном элементе) с большой разностью с уже существующим краем треугольника в этой позиции, то создается новая вершина, и один или более треугольников, разделенных в соседнем мозаичном элементе, таким образом, создавая более детализированную сетку в этой области.
В противном случае, топология сетки соседних мозаичных элементов может использоваться напрямую, и сетка формируется внутри нового мозаичного элемента и с использованием существующих краевых вершин соседней сетки.
Более сложный подход особенно пригоден для примеров использования неправильной сетки. В примере, показанном на фиг. 7, преобразование карты глубины в сетку для сохраненного мозаичного элемента основано на анализе изменения карты глубины и привело к образованию неправильной сетки. При создании сетки для нового мозаичного элемента, некоторые вершины не изменяются (закрашенные кружки). Однако, когда новая карта глубины указывает необходимость изменения модели сетки, устанавливается новая вершина. Это решение может базироваться на сравнении позиции кандидатов в вершины, сгенерированных из новой карты глубины на границе с соседними мозаичными элементами с существующей сеткой. Если разность по глубине или позиции слишком велика (указывая, что разность глубин между новой картой глубины и существующей сеткой слишком велика), то вводится новая вершина, и треугольники соседних мозаичных элементов обновляются.
Очевидно, что хотя вышеприведенное описание посвящено генерации изображения на основании мозаичного представления трехмерного изображения, и, в частности генерации сетки из карт глубины, ни один из них не является существенным признаком. Действительно, генерация улучшенного мозаичного представления трехмерного изображения может иметь преимущество во многих разных приложениях и не ограничивается конкретным последующим использованием такого улучшенного мозаичного представления трехмерного изображения как описано здесь.
Вышеприведенные примеры сосредоточены на вариантах осуществления, в которых первое краевое значение глубины первой карты глубины первого мозаичного элемента изменяется на основании ближайшего краевого значения глубины во второй карте глубины второго мозаичного элемента. Однако очевидно, что во многих вариантах осуществления, первое краевое значение глубины может дополнительно или альтернативно изменяться на основании значения глубины во второй карте глубины, которое не является ближайшей к первому краевому значению глубины. В некоторых вариантах осуществления, первое краевое значение глубины может изменяться на основании множества значений глубины в граничной области второй карты глубины, включающего в себя значения глубины, которые не обязательно являются краевыми значениями глубины, и потенциально даже за исключением ближайшего краевого значения глубины. Например, первое краевое значение глубины может изменяться на основании множества значений глубины во второй карте, которая состоит из всех значений глубины, которые отличаются от первого краевого значения глубины менее, чем на данный порог.
Аналогично, очевидно, что первое значение глубины, т.е. изменяемое значение глубины, не обязано быть краевым значением глубины.
Очевидно, что выше для наглядности приведено описание вариантов осуществления изобретения со ссылкой на разные функциональные схемы, блоки и процессоры. Однако очевидно, что любое пригодное распределение функций между разными функциональными схемами, блоками или процессорами может использоваться без отхода от изобретения. Например, функции, проиллюстрированные как осуществляемые отдельными процессорами или контроллерами, могут осуществляться одним и тем же процессором или контроллером. Поэтому ссылки на конкретные функциональные блоки или схемы рассматриваются только как ссылки на подходящее средство для обеспечения описанных функций, а не как указание конкретной логической или физической структуры или организации.
Изобретение можно реализовать в любой пригодной форме, включающей в себя аппаратное обеспечение, программное обеспечение, программно-аппаратное обеспечение или любую их комбинацию. Изобретение может быть, в необязательном порядке, реализовано по меньшей мере частично в виде компьютерного программного обеспечения, выполняющегося на одном или более процессорах данные и/или цифровых сигнальных процессорах. Элементы и компоненты варианта осуществления изобретения могут быть физически, функционально и логически реализованы любым пригодным образом. Действительно, функции могут быть реализованы в едином блоке, во множестве блоков или как часть других функциональных блоков. Таким образом, изобретение может быть реализовано в едином блоке или могут физически и функционально распределяться между разными блоками, схемами и процессорами.
Хотя настоящее изобретение описано в связи с некоторыми вариантами осуществления, оно не подлежит ограничению конкретной изложенной здесь формой. Напротив, объем настоящего изобретения ограничивается только нижеследующей формулой изобретения. Дополнительно, хотя признак может быть описан в связи с конкретными вариантами осуществления, специалисту в данной области техники понятно, что различные признаки описанных вариантов осуществления могут объединяться в соответствии с изобретением. В формуле изобретения термин «содержащий» не исключает наличия других элементов или этапов.
Кроме того, хотя они перечислены по отдельности, множество средств, элементов, схем или этапов способа может быть реализовано, например, как единая/й схема, блок или процессор. Дополнительно, хотя отдельные признаки могут быть включены в разные пункты формулы изобретения, их можно преимущественно комбинировать, и включение в разные пункты формулы изобретения не означает, что комбинация признаков неосуществима и/или не является преимущественной. Также включение признака в одну категорию пунктов формулы изобретения не налагает ограничение на эту категорию, но, напротив, указывает, что признак в равной степени при необходимости применим к другим категориям пунктов формулы изобретения. Кроме того, порядок признаков в формуле изобретения не предусматривает никакого конкретного порядка, в котором нужно обработать признаки и, в частности, порядок отдельных этапов в пункте способа не означает, что этапы должны осуществляться в этом порядке. Напротив, этапы могут осуществляться в любом пригодном порядке. Кроме того, ссылки в единственном числе не исключают множества. Таким образом ссылки на один, «первый», «второй» и т.д. элемент не исключают наличия множества элементов. Ссылочные позиции в формуле изобретения обеспечены лишь как пояснительный пример и никоим образом не служат ограничением объема формулы изобретения.
Изобретение относится к средствам для генерации мозаичного представления трехмерного изображения сцены. Технический результат заключается в повышении эффективности генерации представления трехмерного изображения сцены. Принимают мозаичное представление трехмерного изображения сцены из первой точки обзора. Причем мозаичное представление трехмерного изображения содержит множество соединенных между собой мозаичных элементов, причем каждый мозаичный элемент содержит карту глубины и текстурную карту, представляющие окно обзора сцены из первой точки обзора, и мозаичные элементы образуют мозаичную картину. Определяют соседние граничные области в первом мозаичном элементе и во втором мозаичном элементе в соответствии с мозаичной картиной, причем первый мозаичный элемент и второй мозаичный элемент являются соседними мозаичными элементами. Изменяют по меньшей мере первое значение глубины первой граничной области первого мозаичного элемента в соответствии с по меньшей мере вторым значением глубины во второй граничной области второго мозаичного элемента таким образом, что разность между первым значением глубины и вторым значением глубины уменьшается для по меньшей мере некоторых значений из первого значения глубины и второго значения глубины. 2 н. и 12 з.п. ф-лы, 7 ил.
1. Устройство для генерации мозаичного представления трехмерного изображения сцены, содержащее:
приемник (301) для приема мозаичного представления трехмерного изображения сцены из первой точки обзора, причем мозаичное представление трехмерного изображения содержит множество соединенных между собой мозаичных элементов, причем каждый мозаичный элемент содержит карту глубины и текстурную карту, представляющие окно обзора сцены из первой точки обзора, и мозаичные элементы образуют мозаичную картину;
первый процессор (311) для определения соседних граничных областей в по меньшей мере первом мозаичном элементе и во втором мозаичном элементе в соответствии с мозаичной картиной, причем первый мозаичный элемент и второй мозаичный элемент являются соседними мозаичными элементами;
второй процессор (309) для изменения по меньшей мере первого значения глубины первой граничной области первого мозаичного элемента в соответствии с по меньшей мере вторым значением глубины во второй граничной области второго мозаичного элемента таким образом, что разность между первым значением глубины и вторым значением глубины уменьшается для по меньшей мере некоторых значений из первого значения глубины и второго значения глубины, причем первая граничная область и вторая граничная область являются соседними граничными областями.
2. Устройство по п. 1, в котором второй процессор (309) выполнен с возможностью установления первого значения глубины и второго значения глубины на одно и то же значение.
3. Устройство по п. 2, в котором одно и то же значение является средним значением первого значения глубины и второго значения глубины.
4. Устройство по п. 1 или 2, в котором второй процессор (309) выполнен с возможностью установления первого значения глубины на второе значение глубины.
5. Устройство по любому из предыдущих пунктов, дополнительно содержащее генератор (307) сеток для генерации трехмерной сетки из карт глубины мозаичных элементов.
6. Устройство по п. 5, в котором генератор (307) сеток выполнен с возможностью выбора подмножества значений глубины первой граничной области для использования при генерации трехмерной сетки; и второй процессор выполнен с возможностью изменения значений глубины первой граничной области, только если они принадлежат подмножеству значений глубины.
7. Устройство по любому из предыдущих пунктов, в котором второй процессор (309) выполнен с возможностью применения пространственного фильтра к карте глубины первого мозаичного элемента после изменения первого значения глубины.
8. Устройство по любому из предыдущих пунктов, дополнительно содержащее коммуникатор (601) удаленного источника, выполненный с возможностью приема мозаичных элементов для мозаичного представления трехмерного изображения от удаленного источника (103), и локальное хранилище (603) для хранения мозаичных элементов для мозаичного представления трехмерного изображения; и приемник (301) выполнен с возможностью извлечения по меньшей мере второго значения глубины из локального хранилища в ответ на прием первого мозаичного элемента от удаленного источника (103).
9. Устройство по п. 8, в котором локальное хранилище (603) выполнено с возможностью хранения карты глубины или сетки для первого мозаичного элемента после изменения первого значения глубины.
10. Устройство по п. 8 или 9, дополнительно содержащее пользовательский интерфейс (305) для определения текущего направления обзора; и при этом коммуникатор (601) удаленного источника выполнен с возможностью передачи указания текущего направления обзора на удаленный источник; и при этом первый мозаичный элемент принимается согласно указанию.
11. Устройство по любому из пп. 8-10, в котором локальное хранилище (603) выполнено с возможностью хранения сетки для сохраненных мозаичных элементов, и генератор (307) сеток выполнен с возможностью добавления вершины и по меньшей мере одного края в сохраненную сетку для второго мозаичного элемента при обнаружении, что мера разности превышает порог, при этом мера разности указывает разность глубин между граничным значением глубины первого мозаичного элемента и соответствующим граничным значением глубины сохраненной сетки для второго мозаичного элемента.
12. Устройство по любому из предыдущих пунктов, в котором второй процессор (309) выполнен с возможностью определения первого значения глубины в соответствии только с значением глубины ближайшего пикселя каждого мозаичного элемента, соседствующего с первым мозаичным элементом в позиции первого значения глубины.
13. Устройство по любому из предыдущих пунктов, в котором каждый мозаичный элемент является плоским многоугольником, и множество соединенных между собой мозаичных элементов образует трехмерную структуру.
14. Способ генерации представления трехмерного изображения сцены, содержащий этапы, на которых:
принимают мозаичное представление трехмерного изображения сцены из первой точки обзора, причем мозаичное представление трехмерного изображения содержит множество соединенных между собой мозаичных элементов, причем каждый мозаичный элемент содержит карту глубины и текстурную карту, представляющие окно обзора сцены из первой точки обзора, и мозаичные элементы образуют мозаичную картину;
определяют соседние граничные области в по меньшей мере первом мозаичном элементе и во втором мозаичном элементе в соответствии с мозаичной картиной, причем первый мозаичный элемент и второй мозаичный элемент являются соседними мозаичными элементами;
изменяют по меньшей мере первое значение глубины первой граничной области первого мозаичного элемента в соответствии с по меньшей мере вторым значением глубины во второй граничной области второго мозаичного элемента таким образом, что разность между первым значением глубины и вторым значением глубины уменьшается для по меньшей мере некоторых значений из первого значения глубины и второго значения глубины, причем первая граничная область и вторая граничная область являются соседними граничными областями.
US 6903741 B2, 07.06.2005 | |||
US 7085409 B2, 01.08.2006 | |||
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
СПОСОБ И СИСТЕМА ДЛЯ КОДИРОВАНИЯ СИГНАЛА ТРЕХМЕРНОГО ВИДЕО, КОДЕР ДЛЯ КОДИРОВАНИЯ СИГНАЛА ТРЕХМЕРНОГО ВИДЕО, КОДИРОВАННЫЙ СИГНАЛ ТРЕХМЕРНОГО ВИДЕО, СПОСОБ И СИСТЕМА ДЛЯ ДЕКОДИРОВАНИЯ СИГНАЛА ТРЕХМЕРНОГО ВИДЕО, ДЕКОДЕР ДЛЯ ДЕКОДИРОВАНИЯ СИГНАЛА ТРЕХМЕРНОГО ВИДЕО | 2009 |
|
RU2503062C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ ЗАХВАТА ИЗОБРАЖЕНИЯ И ОДНОВРЕМЕННОГО ИЗВЛЕЧЕНИЯ ГЛУБИНЫ | 2014 |
|
RU2595759C2 |
Авторы
Даты
2022-05-16—Публикация
2018-07-17—Подача