Область техники
Настоящее изобретение относится к устройствам дополненной реальности (AR), а именно к воспроизведению виртуального изображения без искажений.
Описание предшествующего уровня техники
Носимые очки дополненной реальности (AR) представляют собой персональное устройство, которое пользователь может использовать в качестве источника видеоинформации (изображения), проецируемой непосредственно в глаз пользователя в виде виртуального изображения, дополняющего окружающую пользователя реальную среду. Проблема известного уровня техники состоит в том, что при использовании очков дополненной реальности пользователь видит добавленное на AR-очки виртуальное изображение бледным и нечетким на фоне яркого изображения окружающей среды. Для улучшения четкости виртуального изображения на фоне яркого изображения окружающей среды в уровне техники используются области окклюзии представляющие собой затемняющий фон, на который накладываются виртуальные изображения.
Область окклюзии формируется окклюзивной маской. Поскольку окклюзивная маска размещается перед глазом пользователя, то есть дистанция от окклюзивной маски до глаза мала, то, в силу особенностей своего строения, глаз не может сфокусироваться на окклюзивную маску, поэтому окклюзивная маска будет видна размытой по краям виртуального изображения. Такое размытие можно исключить, отдалив окклюзивную маску от глаза, но при этом устройство, формирующее окклюзивную маску будет иметь большие размеры, то есть его применение в очках дополненной реальности станет невозможным.
Из уровня техники известен документ US 10311615 B2 (дата публикации 04.06.2019), раскрывающий устройство и способ уменьшения размытия вблизи глаза. Устройство включает в себя дисплей на близком расстоянии от глаза, выполненный с возможностью поочередного отображения первого изображения, включающего в себя объект, и второго изображения, включающего в себя маску для уменьшения размытия, падающего на дисплей в положение, где должен располагаться объект, процессор, сконфигурированный для определения периода времени и управления дисплеем для поочередного отображения первого изображения и второго изображения в течение периода времени, переключатель поляризации, выполненный с возможностью поочередной поляризации света, падающего на дисплей, в период переключения, определенный на основе периода времени. Уменьшение размытия достигается путем модификации второго изображения для компенсации размытия. Недостатком известного решения является отсутствие физического блокирования лучей, что не подходит для AR устройств.
Документ US 11468639 B2 (дата публикации 11.10.2022) является наиболее близким аналогом предлагаемого изобретения. В документе раскрыта система AR дисплея, включающая в себя прозрачный дисплей, источник изображения, датчик фоновой освещенности, селективный поглотитель фона, включающий в себя два амплитудных фильтра, изготовленных в виде жидкокристаллических панелей, расположенных между парой поляризаторов, и вычислительное устройство, содержащее команды, исполняемые логической подсистемой, для определения формы и положения области окклюзии, соответствующей виртуальному объекту, подлежащему отображению пользователю. Система осуществляет получение первого и второго шаблона двойного лучепреломления для первой и второй жидкокристаллических панелей, создание маски окклюзии путем применения модели двойного лучепреломления на жидкокристаллических панелях и отображение виртуального объекта в месте, визуально перекрывающемся окклюзивной маской. Недостатком известной системы является использование метода «симуляции отжига» для расчетов масок окклюзии. В результате расчет окклюзивных масок занимает много времени, поэтому получение областей окклюзии в реальном времени для носимых пользователем очков дополненной реальности невозможно. Кроме того, в известном решении невозможно построение маски сложной формы для закрытия области окклюзии, имеющей сложную форму.
Таким образом, необходимо создать метод расчета окклюзивных масок для использования в очках дополненной реальности, которые создадут такую область окклюзии, которая сделает виртуальное изображение четким, контрастным, хорошо различимым на фоне яркой окружающей среды, причем такие окклюзивные маски должны быстро формироваться и при этом область окклюзии, создаваемая окклюзивными масками, должна соответствовать по форме проецируемому виртуальному изображению и не иметь размытия.
Сущность изобретения
Предлагается устройство для уменьшения размытия области окклюзии в устройствах дополненной реальности, содержащее:
систему из двух амплитудных фильтров, причем амплитудные фильтры параллельны друг другу, экрану устройства дополненной реальности, а также плоскости зрачка пользователя, причем амплитудные фильтры расположены на известном расстоянии от плоскости зрачка пользователя и на известном расстоянии от плоскости экрана;
контроллер, управляющий упомянутой системой;
причем амплитудные фильтры представляют собой экраны, состоящие из пикселей,
причем каждый пиксель может быть либо открыт, в этом случае пиксель пропускает свет от окружающей среды, либо закрыт, в этом случае пиксель не пропускает свет от окружающей среды, либо может частично пропускать свет от окружающей среды,
причем пропускание света каждого пикселя регулируется сигналами, подаваемыми контроллером на каждый из пикселей;
причем каждый амплитудный фильтр выполнен с возможностью формирования окклюзивной маски посредством изменения пропускания света упомянутыми пикселями,
причем окклюзивные маски, выполненные на двух амплитудных фильтрах для одного виртуального изображения, формируют область окклюзии, внешние контуры которой совпадают с внешними контурами виртуального изображения.
Причем один из амплитудных фильтров может представлять собой фазовую решетку. Устройство может содержать по меньшей мере один дополнительный амплитудный фильтр, параллельный первому и второму амплитудным фильтрам.
Также предлагается способ работы предлагаемого устройства для уменьшения размытия области окклюзии в устройствах дополненной реальности, содержащий этапы, на которых:
А) на вход контроллера подают следующие входные данные:
размер и форму области окклюзии, которая не должна пропускать свет окружающей среды;
положение зрачка пользователя относительно системы амплитудных фильтров,
диаметр зрачка;
динамический диапазон, определяющий заданный уровень контраста, между излучением окружающей среды и областью окклюзии, выражаемый в процентах;
B) составляют базу данных углового соответствия пикселей между амплитудными фильтрами при заданном положении зрачка, содержащую следующие данные:
для заданного положения зрачка:
- диапазон углов от Wi до Wj между оптической осью зрачка и лучами окружающей среды, для каждого пикселя на каждом амплитудном фильтре, под которыми лучи из окружающей среды, проходя амплитудные фильтры, попадают в зрачок глаза,
- номер пикселя на первом амплитудном фильтре и сопряженные в угловой мере с ним номера пикселей на втором амплитудном фильтре и наоборот,
- коэффициент веса каждого луча, прошедшего от окружающей среды через два амплитудных фильтра, принимающий значения от 0 до 1, характеризующий математическую важность каждого луча;
С) по входным данным, а также используя базу данных, определяют:
- положение, размер и форму окклюзивной маски на первом амплитудном фильтре,
- положение, размер и форму окклюзивной маски на втором амплитудном фильтре;
D) осуществляют оценку величины размытия изображения области окклюзии, для этого:
- полностью блокируют все пиксели, соответствующие окклюзивным маскам на обоих амплитудных фильтрах,
осуществляют обратную трассировку лучей в обратном ходе лучей от плоскости зрачка пользователя через окклюзивные маски с заблокированными пикселями,
причем при обратной трассировке:
разбивают плоскость зрачка на множество точек Аi с постоянным шагом,
проводят луч из каждой точки зрачка, пересекающий амплитудные фильтры под одним и тем же углом αi между упомянутым лучом и оптической осью зрачка, причем i меняется с заданным шагом, то есть количество лучей, соответствующих углу αi, совпадает с количеством точек зрачка,
определяют декартовы координаты X(Аi), У(Аi), каждой точки на первом амплитудном фильтре, соответствующей каждому углу αi, а также номер Ain пикселя, которому принадлежит каждая точка на первом амплитудном фильтре, а также
определяют номер пикселя Bin+k на втором амплитудном фильтре, соответствующий номеру пикселя Ain на первом амплитудном фильтре, декартовы координаты X(Bin+k), Y(Bin+k) точки на втором амплитудном фильтре, соответствующей точке на первом амплитудном фильтре;
определяют коэффициент пропускания пикселей системы амплитудных фильтров для каждого значения угла αi, для этого умножают коэффициент энергии луча, соответствующего углу αi соответствующей точки зрачка, на полученный коэффициент пропускания соответствующего пикселя, принадлежащего системе амплитудных фильтров, причем коэффициент энергии луча представляет собой величину, обратную количеству лучей, соответствующих углу αi;
суммируют полученные после упомянутого умножения коэффициенты пропускания пикселей системы амплитудных фильтров для каждой точки зрачка для текущего значения угла αi, делят полученную сумму на общее количество лучей, падающих на все пиксели для каждого значения угла αi, получая коэффициент пропускания системы амплитудных фильтров, соответствующий углу αi:
где di - сумма коэффициентов энергии всех лучей, соответствующих углу αi;
- это коэффициент пропускания пикселя под номером на первом амплитудном фильтре;
, - это коэффициенты пропускания пикселей под номерами , которые соответствуют пикселю под номером в диапазоне углов блокировки;
таким образом получая зависимость коэффициента пропускания системы амплитудных фильтров от угла αi, определяют угловую величину диапазона размытия изображения области окклюзии;
E) выбирают алгоритм расчета пропускания пикселей на окклюзивных масках для устранения размытия изображения области окклюзии, при этом
- если диапазон углов от Wi до Wj из базы данных, под которыми излучение, проходя пиксели на амплитудных фильтрах, попадает в зрачок, меньше, чем угловая величина области окклюзии, то расчет осуществляют по методу «широких углов»;
- если диапазон углов от Wi до Wj из базы данных под которыми излучение, проходя пиксели на амплитудных фильтрах, попадает в зрачок, больше, чем угловая величина области окклюзии, то расчет осуществляют по методу «узких углов»;
F) причем метод «широких углов» заключается в решении системы уравнений (1) минимум для двух углов (αi=0), (αi+к=max):
для получения коэффициента пропускания каждого пикселя, принадлежащего системе амплитудных фильтров;
где - это коэффициент пропускания пикселя под номером на первом амплитудном фильтре;
, - это коэффициенты пропускания пикселей под номерами , которые соответствуют пикселю под номером в диапазоне углов блокировки (αi=0);
, - это коэффициенты пропускания пикселей под номерами , которые соответствуют пикселю под номером при максимальном угле из диапазона углов размытия ( αi+k=max);
G) причем метод «узких углов» заключается в следующем:
устанавливают значение параметра порога, стартовое значение которого равно 1, причем значение параметра порога может уменьшаться до 0 с заданным шагом;
делают пропускающими все пиксели на каждом амплитудном фильтре;
a) рассчитывают вектор коэффициентов весов лучей на каждом амплитудном фильтре, для этого на каждом амплитудном фильтре:
- коэффициент веса каждого луча окружающей среды, падающего в зрачок глаза под углом, попадающим в угловую величину диапазона размытия области окклюзии, умножают на 1, в противном случае на 0,
- для каждого пикселя суммируют все значения полученных коэффициентов веса луча;
- полученная сумма для каждого пикселя нормируется на наибольшее значение суммы коэффициентов весов из всех пикселей;
b) на первом амплитудном фильтре:
- делают пропускающими пиксели, сумма коэффициентов весов лучей которых больше или равна текущему значению параметра порога,
-блокируют остальные пиксели;
c) на втором амплитудном фильтре:
- блокируют пиксели, соответствующие открытым пикселям первого амплитудного фильтра, попадающие в заданную область окклюзии;
- делают пропускающими остальные пиксели;
d) по полученным на первом и втором амплитудном фильтре окклюзивным маскам осуществляют оценку величины размытия изображения полученной области окклюзии, повторяя этап (D) и выбирают окклюзивные маски с меньшим значением размытия;
е) уменьшают значение параметра порога;
повторяют этапы (а) - (е) с учетом уже открытых и закрытых областей пикселей на двух амплитудных фильтрах, до тех пор, пока не закончатся пиксели, соответствующие области окклюзии или величина размытия не начнет увеличиваться при оценке величины размытия;
H) если диапазон углов от Wi до Wj из базы данных, под которыми излучение, проходя пиксели на амплитудных фильтрах, попадает в зрачок, равен угловой величине диапазона блокировки, то параллельно осуществляют этап (F) и этап (G), и затем выбирают вариант блокировки пикселей, при котором размытие меньше.
Краткое описание чертежей
Вышеописанные и другие признаки и преимущества настоящего изобретения поясняются в последующем описании, иллюстрируемом чертежами, на которых представлено следующее:
Фиг. 1 иллюстрирует угловое соответствие пикселей между амплитудными фильтрами при заданном положении зрачка.
Фиг. 2 иллюстрирует метод расчета углового соответствия пикселей между двумя амплитудными фильтрами при фиксированном положении зрачка.
Фиг. 3 определение координат точек на амплитудных фильтрах, соответствующих углу αi, кроме того, фигура 3 относится так же к трассировке лучей те фигуре 4.
Фиг. 4 иллюстрирует метод математического задания трассировки лучей через два амплитудных фильтра в обратном ходе луча от зрачка пользователя.
Фиг. 5 иллюстрирует графики зависимости пропускания системы из двух амплитудных фильтров от угла αi, (а) - пропускание системы без использования предлагаемого изобретения, (b) - пропускание системы с использованием предлагаемого изобретения.
Фиг. 6 иллюстрирует уменьшение размытия области окклюзии в результате применения предлагаемого изобретения.
Подробное описание изобретения
Предлагается способ уменьшения размытия изображения области окклюзии для виртуального изображения, отображаемого на фоне изображения окружающей среды при использовании очков дополненной реальности.
Благодаря использованию предлагаемого изобретения в очках дополненной реальности пользователь видит виртуальное изображение контрастным, ярким, хорошо различимым на фоне яркой окружающей среды. Причем форма области окклюзии соответствует форме проецируемого на AR-очки виртуального изображения.
Техническим результатом настоящего изобретения является получение контрастного, яркого, хорошо различимого на фоне яркой окружающей среды изображения области окклюзии с существенным уменьшением размытия.
В настоящей заявке используются следующие термины.
Амплитудный фильтр - пиксельный экран, который может изменять амплитуду проходящего излучения окружающей среды через каждый пиксель, причем каждый пиксель может находиться в следующих состояниях: полной блокировки излучения окружающей среды (закрытый пиксель), полного пропускания излучения окружающей среды (открытый пиксель), пропускание части излучения окружающей среды (частично закрытый пиксель). Для создания области окклюзии, согласно предлагаемому изобретению, используется два амплитудных фильтра, расположенных на расстоянии друг от друга и параллельно друг другу.
Согласно предлагаемому изобретению вдоль оптической оси расположены:
зрачок глаза;
AR-очки, экран которых параллелен плоскости зрачка, причем на экране AR-очков располагается виртуальное изображение, имеющее заданное положение на экране, заданную форму, заданный размер;
два амплитудных фильтра, параллельные экрану AR-очков, причем амплитудные фильтры параллельны друг другу и расположены на известном расстоянии друг от друга и на известном расстоянии от плоскости зрачка;
окружающая среда.
Окклюзивная маска - совокупность пикселей на амплитудном фильтре для формирования области окклюзии. Окклюзивных масок две - на первом амплитудном фильтре и на втором амплитудном фильтре.
Область окклюзии для виртуального изображения формируется окклюзивной маской на каждом амплитудном фильтре, причем окклюзивные маски этих фильтров расположены таким образом, что при просмотре пользователем виртуального изображения на фоне изображения окружающей среды, изображения упомянутых окклюзивных масок и виртуальное изображение накладываются друг на друга до полного совпадения их внешних контуров.
Динамический диапазон - требуемый уровень контраста между излучением окружающей среды и областью окклюзии, выражаемый в процентах (0-100%).
Коэффициент веса луча - это безразмерный коэффициент, принимающий значения от 0 до 1, характеризующий математическую важность каждого луча, прошедшего от окружающей среды через два амплитудных фильтра, и используемый в предлагаемом изобретении. Термин известен и используется в уровне техники (см., например, US 2009128562 A1, 21.05. 2009)
Для определения соответствия пикселей на амплитудных фильтрах введем систему координат. Начало системы координат расположено в центре О зрачка, ось X соответствует оптической оси зрачка, ось Y перпендикулярна оптической оси зрачка и параллельна плоскости, в которой расположен зрачок, то есть плоскости, в которой расположены амплитудные фильтры, ось Z перпендикулярна плоскости XY, и направлена вдоль плоскости амплитудных фильтров.
Угловой размер какой-либо области - это угол между прямыми линиями, соединяющими диаметрально противоположные крайние точки этой области на амплитудных фильтрах и центр зрачка пользователя.
Все пиксели на каждом амплитудном фильтре пронумерованы по порядку расположения.
Поскольку зрачок имеет определенный угол поля зрения, то окклюзивные маски на амплитудных фильтрах должны иметь разные геометрические размеры, но один и тот же угловой размер, и располагаться внутри угла поля зрения зрачка, чтобы обе окклюзивные маски могли создавать при просмотре глазом одну область окклюзии, перекрывающую виртуальное изображение.
В предлагаемом изобретении для формирования области окклюзии используются два амплитудных фильтра, расположенных на заданном расстоянии друг от друга. Необходимость использования именно двух амплитудных фильтров определяется следующими причинами.
Если использовать по меньшей мере два амплитудных фильтра, то становится возможным осуществлять угловую селекцию для формирования окклюзивных масок, расположенных на двух амплитудных фильтрах и относящихся к одному изображению виртуальной реальности, и изменять общую величину пропускания света этими амплитудными фильтрами для соответствующего изображения виртуальной реальности независимо от пикселей других изображений.
Лучи от окружающей среды сквозь амплитудные фильтры попадают на зрачок 1 глаза пользователя (фиг. 1). Для того, чтобы область окклюзии, формируемая двумя окклюзивными масками на фильтрах А и В для конкретного изображения виртуальной реальности, при наблюдении пользователем была видна не размытой, необходимо задать правильное распределение открытых, закрытых или частично закрытых пикселей на окклюзивных масках каждого амплитудного фильтра.
Зрачок является динамически изменяющейся системой, поскольку он вместе с глазом перемещается при рассматривании изображения, а также меняет свой диаметр. В зависимости от расположения области окклюзии глаз может видеть эту область под разными углами. Для расчетов используется только одно расположение зрачка относительно центра амплитудных фильтров.
Для определения углового размера и положения окклюзивной маски на каждом из амплитудных фильтров необходимо знать следующие параметры:
1) угловое положение центра зрачка глаза относительно центра амплитудных фильтров, то есть угол между оптической осью зрачка и прямой, соединяющей центр зрачка и центр амплитудных фильтров,
2) диаметр зрачка,
3) угловой размер, форму и расположение области окклюзии, которая должна соответствовать размеру, форме и расположению виртуального изображения, для которого эта маска окклюзии формируется,
4) требуемый динамический диапазон,
а также конструктивные параметры:
1) размер одного пикселя каждого из амплитудных фильтров,
2) расстояние между первым амплитудным фильтром и вторым амплитудным фильтром,
3) расстояние от центра зрачка до любого из амплитудных фильтров.
Фиг. 1 иллюстрирует угловое соответствие пикселей между амплитудными фильтрами при заданном положении зрачка. Пиксель а на первом амплитудном фильтре A, через который лучи от окружающей среды попадают в зрачок на втором амплитудном фильтре B проходят через область пикселей b.
Фиг. 2 иллюстрирует метод расчета углового соответствия пикселей между двумя амплитудными фильтрами при фиксированном положении зрачка. Для системы из двух амплитудных фильтров предварительно осуществляют расчет углового соответствия между пикселями на амплитудном фильтре А и на амплитудном фильтре В для всех лучей, падающих из окружающей среды на плоскость зрачка при заданном положении зрачка.
На основании расчетов составляется база данных углового соответствия пикселей между амплитудными фильтрами при заданном положении зрачка.
На фиг. 2 показаны амплитудные фильтры и зрачок глаза в плоскости XY:
первый амплитудный фильтр А;
второй амплитудный фильтр В;
k - координата верхней точки одного пикселя ai на амплитудном фильтре А;
p - координата центра одного пикселя ai на амплитудном фильтре А;
m - координата нижней точки одного пикселя ai на амплитудном фильтре А;
зрачок 1;
t- верхняя точка зрачка 1;
o -центр зрачка 1;
s - нижняя точка зрачка 1;
на амплитудном фильтре А размечены пиксели ai;
на амплитудном фильтре В размечены пиксели bi.
Et - луч, проходящий из окружающей среды через нижнюю точку m первого амплитудного фильтра А, пересекающий второй амплитудный фильтр В в точке С, и падающий на верхнюю точку t зрачка 1, причем угол ∠ kEt=Wi является наименьшим углом между оптической осью зрачка и лучом окружающей среды, падающим из окружающей среды и попадающим в зрачок. Лучи окружающей среды, падающие на пиксель km амплитудного фильтра A под меньшим углом, чем угол Wi, не будут попадать в зрачок;
ks - луч, проходящий из окружающей среды через верхнюю точку k первого амплитудного фильтра А, пересекающий второй амплитудный фильтр В в точке D, и падающий на нижнюю точку s зрачка 1, причем угол ∠ lks=Wj является наибольшим углом между оптической осью зрачка и лучом окружающей среды, падающим из окружающей среды и попадающим в зрачок. Лучи окружающей среды, падающие на пиксель km амплитудного фильтра A под большим углом, чем угол Wj, не будут попадать в зрачок.
Следовательно, для пикселя km (ai) на фильтре А при данном положении зрачка в зрачок будут попадать лучи из окружающей среды, падающие на первый амплитудный фильтр под углами, величины которых находятся в диапазоне от Wi до Wj.
Зная величины углов Wi и Wj, расстояние между амплитудными фильтрами, расстояние от одного из амплитудных фильтров до зрачка, диаметр зрачка, координаты верхней точки пикселя на амплитудном фильтре А, координаты нижней точки пикселя на амплитудном фильтре А можно рассчитать координаты точек С и D на амплитудном фильтре В, причем участок СD на амплитудном фильтре В будет соответствовать участку km на амплитудном фильтре А при просмотре глазом.
Также возможно определить номера соответствующих пикселей на каждом амплитудном фильтре, если пронумеровать каждый пиксель на каждом фильтре. Кроме того, каждому лучу, прошедшему от окружающей среды через два амплитудных фильтра присваивают коэффициента веса.
При работе системы из двух амплитудных фильтров на вход контроллера, управляющего системой из двух амплитудных фильтров, подаются следующие данные:
размер и форму области окклюзии, которая не должна пропускать свет окружающей среды;
положение зрачка пользователя относительно системы амплитудных фильтров,
диаметр зрачка;
динамический диапазон, определяющий заданный уровень контраста, между излучением окружающей среды и областью окклюзии, выражаемый в процентах.
По входным данным, а также используя базу данных, определяют:
- положение, размер и форму окклюзивной маски на первом амплитудном фильтре,
- положение, размер и форму окклюзивной маски на втором амплитудном фильтре.
Для корректного уменьшения размытия изображения области окклюзии, необходимо оценить величину размытия, которое получается на изображении области окклюзии без коррекции размытия. Для этого все пиксели, расположенные в областях окклюзивных масок, полностью блокируют на обоих амплитудных фильтрах (или на одном из них).
Осуществляют обратную трассировку лучей в обратном ходе лучей от плоскости зрачка пользователя через окклюзивные маски с заблокированными пикселями.
При обратной трассировке разбивают плоскость зрачка на множество точек Аi с постоянным шагом, проводят луч из каждой точки зрачка, пересекающий амплитудные фильтры под одним и тем же углом αi между упомянутым лучом и оптической осью зрачка, причем i меняется с заданным шагом.
Как показано на фиг. 3, зная угол αi, расположение точки на плоскости зрачка, расстояние L1 между амплитудными фильтрами и расстояние L от одного из амплитудных фильтров до плоскости зрачка можно определить соответствующие этому углу декартовы координаты точки, через которую луч проходит на амплитудном фильтре А и точки, через которую луч проходит на амплитудном фильтре В (см. фиг. 3). Центр зрачка берется за центр системы координат, ось x соответствует оптической оси зрачка, ось y параллельна плоскости зрачка. Как показано на фиг. 3 из точки К на плоскости зрачка проведен луч, пересекающий амплитудные фильтры под углом αi к оптической оси зрачка, ОК - расстояние от центра зрачка до выбранной точки К на плоскости зрачка (то есть положение точки зрачка). Очевидно, что координата точки Аi по оси x - X(Аi), и координата точки Аi по оси у - У(Аi) и координата точки Вi по оси x - X(Вi), и координата точки Вi по оси у - У(Вi) будут равны:
Y(Аi)= OK+(L1+L)*tg( αi)
X(Аi)= L1+L
Y(Bi)= OK+L*tg(αi)
X(Bi)= L
Точно такие же данные рассчитываются для всех углов αi для каждой точки зрачка (фиг. 4). Зная координаты любой точки на амплитудном фильтре А можно определить номер пикселя Ain на амплитудном фильтре А и соответствующий ему номер пикселей Bin+k на амплитудном фильтре В и координаты соответствующей точки на амплитудном фильтре В (X(Bin+k), Y(Bin+k)).
Далее определяют коэффициент пропускания пикселей системы амплитудных фильтров для каждого значения угла αi. Для этого каждому лучу присваивается значение коэффициента энергии луча. Коэффициент энергии луча представляет собой величину, обратную количеству лучей, соответствующих углу αi. Умножают коэффициент энергии луча, соответствующего углу αi, соответствующей точки зрачка, а полученный коэффициент пропускания соответствующего пикселя, принадлежащего системе амплитудных фильтров.
Например, (см. фиг. 4), углу αi, под которым луч попадает в точку О на плоскости зрачка, соответствуют точка на пикселе А1 амплитудного фильтра А и точка на пикселе В1 амплитудного фильтра В. Пусть пиксель, соответствующий точке А1 заблокирован, то есть пропускание в А1=0. Пусть пиксель, соответствующий точке В1 не заблокирован, то есть пропускание в В1=1. Следовательно, пропускание для точки О зрачка для лучка окружающей среды, падающего под углом αi равно 0. Аналогично рассчитывают пропускание для каждой точки зрачка (на примере фиг. 4 для точек M, N, O).
Суммируют полученные после упомянутого умножения коэффициенты пропускания пикселей системы амплитудных фильтров для каждой точки зрачка для текущего значения угла αi , делят полученную сумму на общее количество лучей, падающих на все пиксели для значения угла αi, получая коэффициент пропускания системы амплитудных фильтров, соответствующий углу αi:
где di - сумма коэффициентов энергии всех лучей, соответствующих углу αi,
- это коэффициент пропускания пикселя под номером на первом амплитудном фильтре;
, - это коэффициенты пропускания пикселей под номерами , которые соответствуют пикселю под номером в диапазоне углов блокировки.
Таким образом получают зависимость коэффициента пропускания системы амплитудных фильтров от угла αi (см. фиг. 5). Наклонный участок кривой (а) на фиг. 5 соответствует размытию изображения. На фиг. 5 угловой диапазон от углов α3 до α8 - это угловая величина размытия изображения, без уменьшения размытия.
По кривой (а) на фиг.5, полученной в результате обратной трассировки лучей через два амплитудных фильтра для требуемого динамического диапазона, задают уменьшение размытия изображения области окклюзии (кривая (b) на фиг.5). Для кривой (b) угловой диапазон от углов α3 до α5 - угловая величина размытия изображения.
Далее необходимо выбрать алгоритм расчета пропускания пикселей на окклюзивных масках для устранения размытия изображения области окклюзии.
Если в базе данных есть пиксели, диапазон углов от Wi до Wj, под которыми излучение окружающей среды, проходя пиксели на амплитудных фильтрах, попадает в зрачок, меньше, чем угловая величина области окклюзии, то расчет осуществляют по методу «широких углов».
Если диапазон углов от Wi до Wj из базы данных, под которыми излучение окружающей среды, проходя пиксели на амплитудных фильтрах, попадает в зрачок, больше, чем угловая величина области окклюзии, то расчет осуществляют по методу «узких углов».
Метод «широких углов» заключается в решении системы уравнений (1) для получения коэффициента пропускания каждого пикселя, принадлежащего системе амплитудных фильтров. Система решается для минимум двух углов, один из которых αi=0 (на фиг.5 кривая b угол α3), второй из которых отличен от первого и является максимальным, то есть равен αi+к=max (на фиг.5 кривая b угол α5):
(1)
где - это коэффициент пропускания пикселя под номером на первом амплитудном фильтре;
, - это коэффициенты пропускания пикселей под номерами , которые соответствуют пикселю под номером в диапазоне углов блокировки ( αi=0);
, - это коэффициенты пропускания пикселей под номерами , которые соответствуют пикселю под номером при максимальном угле из диапазона углов размытия ( αi+k=max).
Расчет по методу «узких углов» состоит в следующем.
Устанавливают значение параметра порога, стартовое значение которого равно 1, причем значение параметра порога может уменьшаться до 0 с заданным шагом.
Делают пропускающими все пиксели на каждом амплитудном фильтре.
Далее:
a) рассчитывают вектор коэффициентов весов лучей на каждом амплитудном фильтре, для этого на каждом амплитудном фильтре:
- коэффициент веса каждого луча окружающей среды, падающего в зрачок глаза под углом, попадающим в угловую величину диапазона размытия области окклюзии, умножают на 1, в противном случае на 0,
- для каждого пикселя суммируют все значения полученных коэффициентов веса луча;
- полученная сумма для каждого пикселя нормируется на наибольшее значение суммы коэффициентов весов из всех пикселей;
b) на первом амплитудном фильтре:
- делают пропускающими пиксели, сумма коэффициентов весов лучей которых больше или равна текущему значению параметра порога,
-блокируют остальные пиксели;
c) на втором амплитудном фильтре:
- блокируют пиксели, соответствующие открытым пикселям первого амплитудного фильтра, попадающие в заданную область окклюзии;
- делают пропускающими остальные пиксели;
d) по полученным на первом и втором амплитудном фильтре окклюзивным маскам осуществляют оценку величины размытия изображения полученной области окклюзии, повторяя этап (D) и выбирают окклюзивные маски с меньшим значением размытия;
е) уменьшают значение параметра порога.
Этапы (а) - (е) повторяют, с учетом уже открытых и закрытых областей пикселей на двух амплитудных фильтрах, до тех пор, пока не закончатся пиксели, соответствующие области окклюзии или величина размытия не начнет увеличиваться при оценке величины размытия.
Если диапазон углов от Wi до Wj из базы данных, под которыми излучение окружающей среды, проходя пиксели на амплитудных фильтрах, попадает в зрачок, равен угловой величине диапазона блокировки, то параллельно осуществляют расчет по методу «широких углов» и по методу «узких углов». Затем выбирают вариант блокировки пикселей, при котором размытие меньше.
Фиг. 6 иллюстрирует результат уменьшения размытия окклюзивной маски с помощью предлагаемого изобретения. Показана область окклюзии (а), полученная без использования предлагаемого изобретения, область окклюзии (b), полученная с помощью предлагаемого изобретения. Видно, что размытие в области окклюзии (b) существенно уменьшено и практически сводится к нулю по сравнению с размытием области окклюзии (а).
Вместо одного из амплитудных фильтров может быть использована фазовая решетка. При использовании фазовой решетки падающее на нее излучение будет дифрагировать, в результате появится несколько дифракционных порядков лучей. 0-ой порядок блокируется выбором соответствующего периода решетки, то есть самими параметрами решетки, таким образом, чтобы заблокировать 0 порядок. Порядок +/- m при выходе из фазовой решетки будет отклоняться на угол, определяемый формулой:
m-порядок дифракции, -период решетки,-угол падения,-угол порядка дифракции на выходе.
Задавая значения периода фазовой решетки для нужных пикселей, необходимо добиться того, чтобы все лучи порядка +/- 1 не попадали во входной зрачок, то есть они не попадут в глаз, а значит пользователь их не увидит.
Использование трех или более амплитудных фильтров позволит более точно заблокировать угловой диапазон и позволит использовать амплитудные фильтры с большими размерами пикселей. При большом размере пикселя его эффективная площадь больше, но слишком большие пиксели скажутся на исправлении размытия, поэтому как альтернативное решение можно добавить еще один фильтр, поскольку он будет на другом расстоянии то можно отсекать углы сначала на одном, потом на втором амплитудных фильтрах.
Использование предлагаемого изобретения в очках дополненной реальности позволяет использовать очки дополненной реальности с любыми ярко освещенными изображениями окружающей среды. Такое устройство возможно использовать в любом месте, в том числе на улице в солнечную погоду, поскольку виртуальное изображение за счет устранения размытости от области окклюзии не будет искажаться различными видами ярких предметов. Любое заранее известное виртуальное изображение, расположенное в любом месте экрана очков дополненной реальности, может быть обработано с помощью предлагаемого способа уменьшения размытия области окклюзии.
Хотя изобретение описано в связи с некоторыми иллюстративными вариантами осуществления, следует понимать, что сущность изобретения не ограничивается этими конкретными вариантами осуществления. Напротив, предполагается, что сущность изобретения включает в себя все альтернативы, коррекции и эквиваленты, которые могут быть включены в сущность и объем формулы изобретения.
Кроме того, изобретение сохраняет все эквиваленты заявляемого изобретения, даже если пункты формулы изобретения изменяются в процессе рассмотрения.
Изобретение относится к устройствам дополненной реальности и относится к устройству для уменьшения размытия области окклюзии в устройствах дополненной реальности. Устройство содержит систему из двух амплитудных фильтров и контроллер. Амплитудные фильтры параллельны друг другу, экрану устройства дополненной реальности и плоскости зрачка пользователя и представляют собой экраны, состоящие из пикселей. Каждый пиксель может быть либо открыт, в этом случае пиксель пропускает свет от окружающей среды, либо закрыт, в этом случае пиксель не пропускает свет, либо может частично пропускать свет. Пропускание света каждого пикселя регулируется сигналами, подаваемыми контроллером на каждый из пикселей. Каждый амплитудный фильтр выполнен с возможностью формирования окклюзивной маски посредством изменения пропускания света пикселями, причем окклюзивные маски, выполненные на двух амплитудных фильтрах для одного виртуального изображения, формируют область окклюзии, внешние контуры которой совпадают с внешними контурами виртуального изображения. Технический результат заключается в обеспечении возможности получения контрастного, яркого, хорошо различимого на фоне яркой окружающей среды изображения области окклюзии с существенным уменьшением размытия. 2 н. и 2 з.п. ф-лы, 6 ил.
1. Устройство для уменьшения размытия области окклюзии в устройствах дополненной реальности, содержащее:
систему из двух амплитудных фильтров, причем амплитудные фильтры параллельны друг другу, экрану устройства дополненной реальности, а также плоскости зрачка пользователя, причем амплитудные фильтры расположены на известном расстоянии от плоскости зрачка пользователя и на известном расстоянии от плоскости экрана;
контроллер, управляющий упомянутой системой;
причем амплитудные фильтры представляют собой экраны, состоящие из пикселей,
причем каждый пиксель может быть либо открыт, в этом случае пиксель пропускает свет от окружающей среды, либо закрыт, в этом случае пиксель не пропускает свет от окружающей среды, либо может частично пропускать свет от окружающей среды,
причем пропускание света каждого пикселя регулируется сигналами, подаваемыми контроллером на каждый из пикселей;
причем каждый амплитудный фильтр выполнен с возможностью формирования окклюзивной маски посредством изменения пропускания света упомянутыми пикселями,
причем окклюзивные маски, выполненные на двух амплитудных фильтрах для одного виртуального изображения, формируют область окклюзии, внешние контуры которой совпадают с внешними контурами виртуального изображения.
2. Устройство по п. 1, в котором один из амплитудных фильтров представляет собой фазовую решетку.
3. Устройство по любому из пп. 1, 2, содержащее по меньшей мере один дополнительный амплитудный фильтр, параллельный первому и второму амплитудным фильтрам.
4. Способ работы устройства по п. 1 для уменьшения размытия области окклюзии в устройствах дополненной реальности, содержащий этапы, на которых:
А) на вход контроллера подают следующие входные данные:
размер и форму области окклюзии, которая не должна пропускать свет окружающей среды;
положение зрачка пользователя относительно системы амплитудных фильтров,
диаметр зрачка;
динамический диапазон, определяющий заданный уровень контраста, между излучением окружающей среды и областью окклюзии, выражаемый в процентах;
B) составляют базу данных углового соответствия пикселей между амплитудными фильтрами при заданном положении зрачка, содержащую следующие данные для заданного положения зрачка:
- диапазон углов от Wi до Wj между оптической осью зрачка и лучами окружающей среды, для каждого пикселя на каждом амплитудном фильтре, под которыми лучи из окружающей среды, проходя амплитудные фильтры, попадают в зрачок глаза,
- номер пикселя на первом амплитудном фильтре и сопряженные в угловой мере с ним номера пикселей на втором амплитудном фильтре и наоборот,
- коэффициент веса каждого луча, прошедшего от окружающей среды через два амплитудных фильтра, принимающий значения от 0 до 1, характеризующий математическую важность каждого луча;
С) по входным данным, а также используя базу данных, определяют:
- положение, размер и форму окклюзивной маски на первом амплитудном фильтре,
- положение, размер и форму окклюзивной маски на втором амплитудном фильтре;
D) осуществляют оценку величины размытия изображения области окклюзии, для этого:
- полностью блокируют все пиксели, соответствующие окклюзивным маскам на обоих амплитудных фильтрах,
осуществляют обратную трассировку лучей в обратном ходе лучей от плоскости зрачка пользователя через окклюзивные маски с заблокированными пикселями,
причем при обратной трассировке:
разбивают плоскость зрачка на множество точек Аi с постоянным шагом,
проводят луч из каждой точки зрачка, пересекающий амплитудные фильтры под одним и тем же углом αi между упомянутым лучом и оптической осью зрачка, причем i меняется с заданным шагом, то есть количество лучей, соответствующих углу αi, совпадает с количеством точек зрачка,
определяют декартовы координаты X(Аi), У(Аi), каждой точки на первом амплитудном фильтре, соответствующей каждому углу αi, а также номер Ain пикселя, которому принадлежит каждая точка на первом амплитудном фильтре, а также
определяют номер пикселя Bin+k на втором амплитудном фильтре, соответствующий номеру пикселя Ain на первом амплитудном фильтре, декартовы координаты X(Bin+k), Y(Bin+k) точки на втором амплитудном фильтре, соответствующей точке на первом амплитудном фильтре; определяют коэффициент пропускания пикселей системы амплитудных фильтров для каждого значения угла αi, для этого умножают коэффициент энергии луча, соответствующего углу αi соответствующей точки зрачка, на полученный коэффициент пропускания соответствующего пикселя, принадлежащего системе амплитудных фильтров, причем коэффициент энергии луча представляет собой величину, обратную количеству лучей, соответствующих углу αi;
суммируют полученные после упомянутого умножения коэффициенты пропускания пикселей системы амплитудных фильтров для каждой точки зрачка для текущего значения угла αi каждого значения угла αi, делят полученную сумму на общее количество лучей, падающих на все пиксели для каждого значения угла αi, получая коэффициент пропускания системы амплитудных фильтров, соответствующий углу αi:
где di - сумма коэффициентов энергии всех лучей, соответствующих углу αi,
- это коэффициент пропускания пикселя под номером на первом амплитудном фильтре;
, - это коэффициенты пропускания пикселей под номерами , которые соответствуют пикселю под номером в диапазоне углов блокировки;
таким образом, получая зависимость коэффициента пропускания системы амплитудных фильтров от угла αi, определяют угловую величину диапазона размытия изображения области окклюзии;
E) выбирают алгоритм расчета пропускания пикселей на окклюзивных масках для устранения размытия изображения области окклюзии, при этом
- если диапазон углов от Wi до Wj из базы данных, под которыми излучение окружающей среды, проходя пиксели на амплитудных фильтрах, попадает в зрачок, меньше, чем угловая величина области окклюзии, то расчет осуществляют по методу «широких углов»;
- если диапазон углов от Wi до Wj из базы данных, под которыми излучение окружающей среды, проходя пиксели на амплитудных фильтрах, попадает в зрачок, больше, чем угловая величина области окклюзии, то расчет осуществляют по методу «узких углов»;
F) причем метод «широких углов» заключается в решении системы уравнений (1) минимум для двух углов (αi=0), (αi+к=max) для получения коэффициента пропускания каждого пикселя, принадлежащего системе амплитудных фильтров:
где - это коэффициент пропускания пикселя под номером на первом амплитудном фильтре;
, - это коэффициенты пропускания пикселей под номерами , которые соответствуют пикселю под номером в диапазоне углов блокировки (αi=0);
, - это коэффициенты пропускания пикселей под номерами , которые соответствуют пикселю под номером при максимальном угле из диапазона углов размытия (αi+k=max);
G) причем метод «узких углов» заключается в следующем:
устанавливают значение параметра порога, стартовое значение которого равно 1, причем значение параметра порога может уменьшаться до 0 с заданным шагом;
делают пропускающими все пиксели на каждом амплитудном фильтре;
a) рассчитывают вектор коэффициентов весов лучей на каждом амплитудном фильтре, для этого на каждом амплитудном фильтре:
- коэффициент веса каждого луча окружающей среды, падающего в зрачок глаза под углом, попадающим в угловую величину диапазона размытия области окклюзии, умножают на 1, в противном случае на 0,
- для каждого пикселя суммируют все значения полученных коэффициентов веса луча;
- полученная сумма для каждого пикселя нормируется на наибольшее значение суммы коэффициентов весов из всех пикселей;
b) на первом амплитудном фильтре:
- делают пропускающими пиксели, сумма коэффициентов весов лучей которых больше или равна текущему значению параметра порога,
-блокируют остальные пиксели;
c) на втором амплитудном фильтре:
- блокируют пиксели, соответствующие открытым пикселям первого амплитудного фильтра, попадающие в заданную область окклюзии;
- делают пропускающими остальные пиксели;
d) по полученным на первом и втором амплитудном фильтре окклюзивным маскам осуществляют оценку величины размытия изображения полученной области окклюзии, повторяя этап (D) и выбирают окклюзивные маски с меньшим значением размытия;
е) уменьшают значение параметра порога;
повторяют этапы (а) - (е), с учетом уже открытых и закрытых областей пикселей на двух амплитудных фильтрах, до тех пор, пока не закончатся пиксели, соответствующие области окклюзии, или величина размытия не начнет увеличиваться при оценке величины размытия;
H) если диапазон углов от Wi до Wj из базы данных, под которыми излучение окружающей среды, проходя пиксели на амплитудных фильтрах, попадает в зрачок, равен угловой величине диапазона блокировки, то параллельно осуществляют этап (F) и этап (G) и затем выбирают вариант блокировки пикселей, при котором размытие меньше.
US 11468639 B2, 11.10.2022 | |||
US 10311615 B2, 04.06.2019 | |||
WO 2021105751 A1, 03.06.2021 | |||
WO 2023028284 A1, 02.03.2023. |
Авторы
Даты
2024-03-19—Публикация
2023-12-22—Подача