СПОСОБЫ ОБНАРУЖЕНИЯ И УПРАВЛЕНИЯ ОПОРНЫМ МАРКЕРОМ, ОТОБРАЖАЕМЫМ НА УСТРОЙСТВЕ ОТОБРАЖЕНИЯ
METHODS FOR DETECTION AND CONTROL OF A REFERENCE MARKER DISPLAYED ON A DISPLAY DEVICE

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Областью раскрытия является область систем расширенной реальности на основе маркеров.
Более конкретно, раскрытие относится к способу обнаружения опорного (фидуциального) маркера, отображаемого на устройстве отображения в реальном мире, а также способу управления таким опорным маркером, отображаемым на устройстве отображения.
УРОВЕНЬ ТЕХНИКИ
Как правило, система расширенной реальности на основе маркера содержит модуль захвата, который захватывает изображение с камеры, модуль слежения (также упоминаемый как ʺблок детектора маркераʺ), который обнаруживает опорный маркер (например, маркер 2D-штрих-кода) и выводит расположение (т.е. местоположение и ориентацию) камеры и модуль визуализации (рендеринга), который объединяет исходное изображение и виртуальные компоненты (т.е. 3D-объекты, созданные компьютером) с использованием расположения, а затем визуализирует расширенное изображение на экране.
Такая система встраивается, например, в портативное устройство (оптическое или прозрачное устройство) или персональный компьютер, также содержащие камеру и экран. Портативное устройство представляет собой, например, смартфон, планшет, шлем-дисплей (HMD) и т.д.
Системы расширенной реальности на основе маркера являются многочисленными и нацелены на различные области приложений, такие как игры, маркетинг, медицинская визуализация и т.д.
Опорные маркеры располагаются в реальном мире, в поле зрения камеры. Они должны легко и надежно обнаруживаться при любых обстоятельствах. Они часто содержат 2D черно-белый узор, состоящий из геометрически простых фигур, таких как квадраты или прямоугольники. В большинстве систем, опорные маркеры напечатаны (например, на этикетке, которая должна быть прикреплена к реальному объекту, полу или стене). В некоторых других системах, они отображаются на устройстве отображения, например, на телевизоре (не путать с экраном, на котором визуализируется расширенное изображение).
Системы расширенной реальности на основе маркеров, по определению, сильно зависят от надежности детектора маркера. Как только обнаружение маркера потеряно или нестабильно, теряется связь между реальностью и виртуальными объектами и прерывается пользовательское погружение. Это может быть вызвано любым из следующих ограничений:
- маркер находится за пределами поля зрения камеры;
- размер маркера слишком мал по сравнению с расстоянием до камеры, и разрешение камеры недостаточно;
- размер маркера слишком велик (или камера теперь находится слишком близко): он больше, чем поле зрения камеры;
- внутренний контраст маркера слишком низок по сравнению с остальной частью изображения, снятого камерой: например, маркер теперь находится в тени, а основная часть изображения очень яркая;
- некоторая нестабильность в обнаружении также может появиться, когда камера находится прямо перед маркером.
Системы расширенной реальности на основе маркеров ограничены атрибутами маркера. Все известные системы расширенной реальности на основе маркеров используют статические маркеры, т.е. (напечатанные или отображаемые) маркеры, имеющие атрибуты (включая положение и ориентацию), которые являются фиксированными (неизменными). При использовании такого статического маркера, эффективность обнаружения маркера системы ограничена первоначальным выбором настройки атрибутов маркера. К сожалению, даже если атрибуты маркера тщательно выбраны, не всегда возможно предотвратить перечисленные выше ограничения, когда обнаружение маркера теряется или является нестабильным.
Поэтому существует необходимость в повышении надежности систем расширенной реальности на основе маркеров.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Конкретный аспект настоящего раскрытия относится к способу обнаружения опорного маркера, отображаемого на устройстве отображения в реальном мире, причем портативное устройство, содержащее камеру и блок детектора маркера, выполняет:
- получение текущей информации атрибута, представляющей текущее значение по меньшей мере одного модифицируемого атрибута, ассоциированного с упомянутым отображаемым опорным маркером;
- обнаружение упомянутого отображаемого опорного маркера в изображении, отображаемом на упомянутом устройстве отображения, в соответствии с упомянутой текущей информацией атрибута;
- вычисление информации расположения, представляющей расположение упомянутого портативного устройства по отношению к отображаемому опорному маркеру в реальном мире, в соответствии с упомянутой текущей информацией атрибута и упомянутым обнаруженным отображаемым опорным маркером; и
- получение первой новой информации атрибута, представляющей первое новое значение упомянутого по меньшей мере одного модифицируемого атрибута, причем упомянутое первое новое значение зависит от упомянутой вычисленной информации расположения.
Общий принцип заключается в использовании ʺдинамического отображаемого маркераʺ вместо обычного статического (печатного или отображаемого) маркера. Под ʺдинамическим отображаемым маркеромʺ подразумевается маркер, отображаемый на устройстве отображения и ассоциированный по меньшей мере с одним модифицируемым атрибутом.
С предлагаемым решением, когда динамический отображаемый маркер может быть обнаружен, и поэтому, когда текущее расположение портативного устройства может быть вычислено, значение по меньшей мере одного модифицируемого атрибута динамически отображаемого маркера изменяется (с текущего значения на первое новое значение) с учетом вычисленного текущего расположения. Это позволяет осуществлять адаптивное обновление динамического отображаемого маркера, что улучшает эффективность обнаружения маркера и, следовательно, надежность системы расширенной реальности на основе маркеров, выполняющей предложенный способ обнаружения.
В конкретной реализации способа обнаружения, получение первой новой информации атрибута содержит изменение текущего значения упомянутого по меньшей мере одного модифицируемого атрибута на первое новое значение в соответствии с упомянутой вычисленной информацией расположения.
Таким образом, в вышеупомянутом адаптивном обновлении, портативное устройство само выполняет изменение текущего значения по меньшей мере одного модифицируемого атрибута.
В альтернативной реализации способа обнаружения, получение первой новой информации атрибута содержит:
- передачу упомянутой вычисленной информации расположения, чтобы позволить устройству управления маркером изменять текущее значение упомянутого по меньшей мере одного модифицируемого атрибута на первое новое значение в соответствии с упомянутой вычисленной информацией расположения; и
- прием упомянутой первой новой информации атрибута, представляющей упомянутое первое новое значение.
Таким образом, в этой альтернативной реализации вышеупомянутого адаптивного обновления, изменение текущего значения по меньшей мере одного модифицируемого атрибута выполняется не портативным устройством, а устройством управления маркером.
В соответствии с конкретным признаком способа обнаружения, если упомянутый отображаемый опорный маркер не обнаружен, портативное устройство выполняет:
- получение второй новой информации атрибута, представляющей второе новое значение упомянутого по меньшей мере одного модифицируемого атрибута; и
- обнаружение упомянутого отображаемого опорного маркера в изображении, отображаемом на упомянутом устройстве отображения, в соответствии с упомянутой второй новой информацией атрибута.
С предлагаемым решением, когда динамический отображаемый маркер не может быть обнаружен, и поэтому когда текущее расположение портативного устройства не может быть вычислено, значение по меньшей мере одного модифицируемого атрибута динамически отображаемого маркера также изменяется (с текущего значения на второе новое значение), но используя догадки и/или историю состояния системы (т.е. предыдущее(ие) значение(я) по меньшей мере одного модифицируемого атрибута и/или предыдущее(ие) значение(я) расположения портативного устройства). Это позволяет корректировать обновление динамического отображаемого маркера, что также улучшает эффективность обнаружения маркера.
В конкретной реализации способа обнаружения, получение второй новой информации атрибута содержит изменение текущего значения упомянутого по меньшей мере одного модифицируемого атрибута на второе новое значение.
Таким образом, в вышеупомянутом корректирующем обновлении, портативное устройство само выполняет изменение текущего значения по меньшей мере одного модифицируемого атрибута.
В альтернативной реализации способа обнаружения, получение второй новой информации атрибута содержит:
передачу информации об отказе, чтобы позволить устройству управления маркером изменять текущее значение упомянутого по меньшей мере одного модифицируемого атрибута на второе новое значение; и
прием упомянутой второй новой информации атрибута, представляющей упомянутое второе новое значение.
Таким образом, в этой альтернативной реализации вышеупомянутого корректирующего обновления, изменение текущего значения по меньшей мере одного модифицируемого атрибута выполняется не портативным устройством, а устройством управления маркером.
Другой аспект настоящего раскрытия относится к способу управления по меньшей мере одним опорным маркером, отображаемым на устройстве отображения в реальном мире, причем устройство управления маркером выполняет:
- передачу текущей информации атрибута, представляющей текущее значение по меньшей мере одного модифицируемого атрибута, ассоциированного с упомянутым отображаемым опорным маркером, чтобы позволить портативному устройству обнаруживать упомянутый отображаемый опорный маркер в изображении, отображаемом на упомянутом устройстве отображения;
- прием информации расположения, представляющей расположение упомянутого портативного устройства по отношению к отображаемому опорному маркеру в реальном мире;
- изменение текущего значения упомянутого по меньшей мере одного модифицируемого атрибута на первое новое значение в соответствии с упомянутой принятой информацией расположения; и
- передачу, на упомянутое портативное устройство, первой новой информации атрибута, представляющей упомянутое первое новое значение.
Это соответствует вышеупомянутой альтернативной реализации адаптивного обновления, где изменение текущего значения по меньшей мере одного модифицируемого атрибута выполняется устройством управления маркером.
В соответствии с конкретным признаком способа управления, если устройство управления маркером принимает не упомянутую информацию расположения, а информацию об отказе, указывающую не-обнаружение упомянутого отображаемого опорного маркера, устройство управления маркером выполняет:
- изменение текущего значения упомянутого по меньшей мере одного изменяемого атрибута на второе новое значение; и
- передачу второй новой информации атрибута, представляющей упомянутое второе новое значение упомянутого по меньшей мере одного модифицируемого атрибута.
Это соответствует вышеупомянутой альтернативной реализации корректирующего обновления, где изменение текущего значения по меньшей мере одного модифицируемого атрибута выполняется устройством управления маркером.
В соответствии с конкретным признаком способа управления, устройство управления маркером управляет несколькими опорными маркерами, отображаемыми на упомянутом устройстве отображения, и каждый ассоциирован с отдельным портативным устройством. При выполнении этапа изменения текущего значения упомянутого по меньшей мере одного модифицируемого атрибута на первое или второе новое значение, для данного из упомянутых отображаемых опорных маркеров, устройство управления маркером обрабатывает по меньшей мере один случай конфликта между упомянутым данным отображаемым опорным маркером и другими из упомянутых отображаемых опорных маркеров.
Таким образом, на одном и том же дисплее могут отображаться несколько опорных маркеров (каждый из которых должен обнаруживаться отдельным пользователем, использующим отдельное портативное устройство).
В соответствии с конкретным признаком способа управления, упомянутый по меньшей мере один случай конфликта принадлежит группе, содержащей:
- столкновение между по меньшей мере двумя отображаемыми опорными маркерами и
- окклюзию между по меньшей мере двумя отображаемыми опорными маркерами.
В соответствии с конкретным признаком способа обнаружения и/или способа управления, упомянутый по меньшей мере один модифицируемый атрибут принадлежит группе, содержащей:
- положение отображаемого опорного маркера в отображаемом изображении;
- ориентацию отображаемого опорного маркера в отображаемом изображении;
- размер отображаемого опорного маркера в отображаемом изображении;
- цвет отображаемого опорного маркера в отображаемом изображении;
- яркость отображаемого опорного маркера в отображаемом изображении;
- контраст отображаемого опорного маркера в отображаемом изображении;
- шаблон отображаемого опорного маркера в отображаемом изображении.
Один или несколько из этих модифицируемых атрибутов могут использоваться в зависимости от реализаций. Этот список не является исчерпывающим. За счет увеличения количества модифицируемых атрибутов повышается эффективность обнаружения маркеров.
В конкретной реализации способа обнаружения и/или способа управления, портативное устройство представляет собой оптическое прозрачное устройство или видео прозрачное устройство.
Другой аспект настоящего раскрытия относится к компьютерному программному продукту, содержащему инструкции программного кода для реализации вышеупомянутого способа обнаружения опорного маркера (в любом из его различных вариантов осуществления) и/или способа управления опорным маркером (в любом из его различных вариантов осуществления), когда упомянутая программа исполняется на компьютере или процессоре.
Другой аспект настоящего раскрытия относится к постоянному машиночитаемому носителю, хранящему вышеупомянутый компьютерный программный продукт, то есть программу, которая, при исполнении компьютером или процессором, предписывает компьютеру или процессору выполнять способ обнаружения опорного маркера и/или способ управления опорным маркером.
Другой аспект настоящего раскрытия относится к портативному устройству системы расширенной реальности на основе маркера, причем упомянутое портативное устройство содержит камеру и блок детектора маркера и сконфигурировано, чтобы обнаруживать опорный маркер, отображаемый на дисплее в реальном мире. Упомянутое портативное устройство содержит:
- средство для получения текущей информации атрибута, представляющей текущее значение по меньшей мере одного модифицируемого атрибута, ассоциированного с упомянутым отображаемым опорным маркером;
- средство для обнаружения упомянутого отображаемого опорного маркера в изображении, отображаемом на упомянутом устройстве отображения, в соответствии с упомянутой текущей информацией атрибута;
- средство для вычисления информации расположения, представляющей расположение упомянутого портативного устройства, по отношению к отображаемому опорному маркеру в реальном мире в соответствии с упомянутой текущей информацией атрибута и упомянутым обнаруженным отображаемым опорным маркером; и
- средство для получения новой информации атрибута, представляющей новое значение упомянутого по меньшей мере одного модифицируемого атрибута, причем упомянутое новое значение зависит от упомянутой вычисленной информации расположения.
Другой аспект настоящего раскрытия относится к портативному устройству системы расширенной реальности на основе маркера, причем упомянутое портативное устройство содержит камеру и блок детектора маркера и сконфигурировано, чтобы обнаруживать опорный маркер, отображаемый на устройстве отображения в реальном мире, причем портативное устройство содержит:
- приемник, сконфигурированный, чтобы получать текущую информацию атрибута, представляющую текущее значение по меньшей мере одного модифицируемого атрибута, ассоциированного с упомянутым отображаемым опорным маркером;
- детектор, сконфигурированный, чтобы обнаруживать отображаемый опорный маркер в изображении, отображаемом на упомянутом устройстве отображения, в соответствии с текущей информацией атрибута;
- процессор, сконфигурированный, чтобы вычислять информацию расположения, представляющую расположение упомянутого портативного устройства по отношению к отображаемому опорному маркеру в реальном мире, в соответствии с упомянутой текущей информацией атрибута и упомянутым обнаруженным отображаемым опорным маркером; и
- приемник или процессор, сконфигурированный, чтобы получать новую информацию атрибута, представляющую новое значение упомянутого по меньшей мере одного модифицируемого атрибута, причем упомянутое новое значение зависит от упомянутой вычисленной информации расположения.
Предпочтительным образом, портативное устройство содержит средство для реализации этапов, которые оно выполняет в способе обнаружения опорного маркера, как описано выше, в любом из его различных вариантов осуществления.
Другой аспект настоящего раскрытия относится к устройству управления маркером системы расширенной реальности на основе маркера, причем упомянутое устройство управления маркером сконфигурировано, чтобы управлять по меньшей мере одним опорным маркером, отображаемым на устройстве отображения в реальном мире. Упомянутое устройство управления маркером содержит:
- средство для передачи текущей информации атрибута, представляющей текущее значение по меньшей мере одного модифицируемого атрибута, ассоциированного с упомянутым отображаемым опорным маркером, чтобы позволить портативному устройству обнаруживать упомянутый отображаемый опорный маркер в изображении, отображаемом на упомянутом устройстве отображения;
- средство для приема информации расположения, представляющей расположение упомянутого портативного устройства, по отношению к отображаемому опорному маркеру в реальном мире; и
- средство для изменения текущего значения упомянутого по меньшей мере одного модифицируемого атрибута на новое значение в соответствии с упомянутой принятой информацией расположения; и
- средство для передачи, на упомянутое портативное устройство, первой новой информации атрибута, представляющей упомянутое первое новое значение.
Другой аспект настоящего раскрытия относится к устройству управления маркером системы расширенной реальности на основе маркера, причем упомянутое устройство управления маркером сконфигурировано, чтобы управлять по меньшей мере одним опорным маркером, отображаемым на устройстве отображения в реальном мире. Упомянутое устройство управления маркером содержит:
- передатчик, сконфигурированный, чтобы передавать текущую информацию атрибута, представляющую текущее значение по меньшей мере одного модифицируемого атрибута, ассоциированного с упомянутым отображаемым опорным маркером, чтобы позволить портативному устройству обнаруживать упомянутый отображаемый опорный маркер в изображении, отображаемом на упомянутом устройстве отображения;
- приемник, сконфигурированный, чтобы принимать информацию расположения, представляющую расположение упомянутого портативного устройства по отношению к отображаемому опорному маркеру в реальном мире; и
- процессор, сконфигурированный, чтобы изменять текущее значение упомянутого по меньшей мере одного модифицируемого атрибута на новое значение в соответствии с упомянутой принятой информацией расположения; и
- передатчик, сконфигурированный, чтобы передавать, на упомянутое портативное устройство, первую новую информацию атрибута, представляющую упомянутое первое новое значение.
Предпочтительным образом, устройство управления маркером содержит средство для реализации этапов, которые оно выполняет в способе управления опорным маркером, как описано выше, в любом из его различных вариантов осуществления.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Другие признаки и преимущества вариантов осуществления будут понятны из нижеследующего описания характерных и неисчерпывающих примеров и из прилагаемых чертежей, на которых представлено следующее:
Фиг. 1A и 1B - схематичная иллюстрация примера эволюции во времени положения и масштаба динамического маркера в соответствии с конкретным вариантом осуществления изобретения;
Фиг. 2А и 2В - блок-схемы последовательности операций, соответственно, способа обнаружения опорного маркера и соответствующего способа управления опорным маркером в соответствии с первым вариантом осуществления изобретения;
Фиг. 3А и 3В - блок-схема последовательности операций, соответственно, способа обнаружения опорного маркера и соответствующего способа управления опорным маркером в соответствии со вторым вариантом осуществления изобретения;
Фиг. 4 - схематичная иллюстрация многопользовательского варианта осуществления изобретения;
Фиг. 5 - упрощенная структура портативного устройства в соответствии с конкретным вариантом осуществления изобретения; и
Фиг. 6 - упрощенная структура устройства управления маркером в соответствии с конкретным вариантом осуществления изобретения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
На всех фигурах в настоящем документе, аналогичные элементы и этапы обозначаются одной и той же ссылочной позицией.
Со ссылкой на фиг. 1A и 1B ниже представлен пример системы расширенной реальности на основе маркеров, в которой может применяться конкретный вариант осуществления раскрытия.
Этот пример системы содержит устройство 3 управления маркером (например, персональный компьютер), устройство 2 отображения (например, телевизор) и портативное устройство 1 (например, смартфон, планшет, шлем-дисплей (HMD) или любое оптическое или прозрачное устройство).
Устройство 3 управления маркером управляет по меньшей мере одним опорным маркером и его отображением на устройстве 2 отображения. Отображаемый опорный маркер (который визуально представляется на устройстве 2 отображения) обозначен ссылочной позицией 5 на фиг. 1А и 5' на фиг. 1B.
В примере согласно фиг. 1A и 1B, устройство 3 управления маркером осуществляет связь с устройством 2 отображения через прямую линию 7 связи. В альтернативном варианте осуществления (не показан), линия связи реализована через сеть.
В примере согласно фиг. 1A и 1B показан только один отображаемый опорный маркер 5, 5', соответствующий варианту осуществления с одним пользователем. На фиг. 4 показан многопользовательский вариант осуществления с несколькими маркерами, отображаемыми на одном устройстве отображения.
Портативное устройство 1 содержит камеру, экран, модуль захвата, модуль слежения (также называемый ʺблоком детектора маркераʺ) и модуль визуализации. Модуль захвата захватывает изображение с камеры. В примере согласно фиг. 1A и 1B, захваченное изображение соответствует части изображения, отображаемого на устройстве 2 отображения, и эта часть обозначена ссылочной позицией 6 на фиг. 1A и 6' на фиг. 1B. Модуль слежения обнаруживает отображаемый опорный маркер 5, 5' в захваченном изображении и выводит расположение (то есть местоположение и ориентацию) камеры. Модуль визуализации объединяет исходное захваченное изображение (или реальное представление, в случае оптического прозрачного портативного устройства) с одним или несколькими виртуальными компонентами (т.е. 3D-объектами, сгенерированными компьютером) с использованием расположения, а затем визуализирует расширенное изображение на экране.
В примере согласно фиг. 1A и 1B, портативное устройство 1 осуществляет связь с устройством 3 управления маркером по линии 8a, 8b связи, проходящей через сеть 4. В альтернативном варианте осуществления (не показан) реализована прямая линия связи (то есть не через сеть).
0
1
Фиг. 1A и 1B иллюстрируют общий принцип предлагаемого решения, то есть использование динамического отображаемого маркера 5, 5', ассоциированного по меньшей мере с одним модифицируемым атрибутом. Точнее, фиг. 1A и 1B представляют схематичную иллюстрацию примера эволюции во времени двух атрибутов динамического маркера, а именно, его положения и его масштаба. В этом примере, между T=t (ситуация, показанная на фиг. 1A) и T=t (ситуация, показанная на фиг. 1B), пользователь переместил портативное устройство 1, переводя его вправо при приближении к устройству 2 отображения. Отображаемый маркер (обозначенный ссылочной позицией 5 на фиг. 1A и 5' на фиг. 1B) перемещается и масштабируется соответственно. В противном случае он уже не наблюдался бы камерой портативного устройства 1.
В зависимости от реализаций, один или несколько атрибутов динамического маркера является(ются) модифицируемым(и). Неисчерпывающий список модифицируемых атрибутов содержит:
- положение отображаемого опорного маркера в отображаемом изображении (т.е. изображении, отображаемом на устройстве 2 отображения);
- ориентация отображаемого опорного маркера в отображаемом изображении;
- размер отображаемого опорного маркера в отображаемом изображении;
- цвет отображаемого опорного маркера в отображаемом изображении;
- яркость отображаемого опорного маркера в отображаемом изображении;
- контраст отображаемого опорного маркера в отображаемом изображении;
- шаблон отображаемого опорного маркера в отображаемом изображении;
- ….
Путем изменения значение одного или нескольких модифицируемых атрибутов (т.е. путем выполнения в реальном времени модификации одного или нескольких атрибутов маркера), предлагаемое решение позволяет исключить по меньшей мере некоторые из перечисленных выше ограничений решения предшествующего уровня техники (где обнаружение маркера теряется или является нестабильным). Другими словами, предлагаемое решение позволяет, например, выполнить одно или все из следующих действий для изменения отображаемого динамического маркера:
- переместить отображаемый маркер (т.е. изменить его положение), чтобы гарантировать, что он находится в поле зрения камеры;
- изменить размер отображаемого маркера для адаптации к расстоянию между портативным устройством 1 и устройством 2 отображения;
- изменить цвет и/или яркость и/или контраст отображаемого маркера для адаптации к изображению, снятому камерой портативного устройства 1;
- изменить ориентацию отображаемого маркера, чтобы избежать отображения отображаемого маркера непосредственно перед детектором (т.е. случай, когда оцененное расположение может колебаться между близкими значениями).
В вариантах осуществления, подробно описанных ниже, эти действия изменения могут выполняться либо проактивно (с упреждением), либо как механизм восстановления после отказа. Для обоих случаев используется контур обратной связи между устройством 3 управления маркером и портативным устройством 1.
Со ссылкой на фиг. 2А и 2В, далее представлен способ обнаружения опорного маркера (выполняемый портативным устройством 1; фиг. 2A) и соответствующий способ управления опорным маркером (выполняемый устройством 3 управления маркером; фиг. 2B), согласно первому варианту осуществления представленных принципов.
Рассмотрим подробно блок-схему последовательности операций согласно фиг. 2A.
На этапе 21 инициализации, портативное устройство 1 принимает информацию атрибута инициализации (отправленную устройством 3 управления маркером), представляющую значение инициализации каждого модифицируемого атрибута, ассоциированного с отображаемым опорным маркером.
На этапе 22 обнаружения маркера, портативное устройство 1 пытается обнаружить отображаемый опорный маркер в изображении, отображаемом на устройстве 2 отображения, в соответствии с текущей информацией атрибута (которая на этом этапе является информацией атрибута инициализации).
Если отображаемый опорный маркер не найден на этапе 22 (т.е. в случае отрицательного ответа на этапе 23 проверки), портативное устройство 1 выполняет:
- этап 210, на котором оно передает информацию об отказе, чтобы позволить устройству управления маркером изменять текущее значение (значение инициализации в данном случае) одного, нескольких или всех модифицируемых атрибутов на новое значение и получать новую информацию атрибута, представляющую новое(ые) значение(я); и
- этап 211, на котором оно принимает новую информацию атрибута, отправленную устройством 3 управления маркером, и возвращается к этапу 22 обнаружения маркера (на этом этапе, текущая информация атрибута представляет собой новую информацию атрибута, отправленную устройством 3 управления маркером).
Если отображаемый опорный маркер найден на этапе 22 (т.е. в случае положительного ответа на этапе 23 проверки), портативное устройство 1 выполняет этап 24 отслеживания маркера, на котором, спустя предопределенный период времени, оно пытается снова обнаружить отображаемый опорный маркер в изображении, отображаемом на устройстве 2 отображения, в соответствии с текущей информацией атрибута.
Если отображаемый опорный маркер не найден на этапе 24 (т.е. в случае отрицательного ответа на этапе 25 проверки), то портативное устройство 1 выполняет этапы 210 и 211 (уже описанные выше) и возвращается к этапу 22 обнаружения маркера.
Если отображаемый опорный маркер найден на этапе 24 (т.е. в случае положительного ответа на этапе 25 проверки), то портативное устройство 1 выполняет:
- этап 26, на котором оно вычисляет информацию расположения, представляющую расположение портативного устройства по отношению к отображаемому опорному маркеру в реальном мире в соответствии с текущей информацией атрибута и обнаруженным отображаемым опорным маркером;
- этап 27, на котором оно передает вычисленную информацию расположения, чтобы позволить устройству управления маркером изменять текущее значение одного, нескольких или всех модифицируемых атрибутов на новое значение в соответствии с вычисленной информацией расположения и получать новую информацию атрибута, представляющую новое(ые) значение(я);
- этап 28, на котором оно объединяет исходное захваченное изображение (или представление реального мира в случае оптического прозрачного портативного устройства) с одним или несколькими виртуальными компонентами с использованием вычисленной информации расположения, а затем визуализирует расширенное изображение на экране портативного устройства 1;
- этап 29, на котором оно принимает новую информацию атрибута, отправленную устройством 3 управления маркером, и возвращается к этапу 24 отслеживания маркера (на этом этапе текущая информация атрибута представляет собой новую информацию атрибута, отправленную устройством 3 управления маркером).
Рассмотрим подробно блок-схему последовательности операций согласно фиг. 2B.
На этапе 220 инициализации, устройство 3 управления маркером передает информацию атрибута инициализации (см. определение выше) на портативное устройство 1.
На этапе 221, устройство 3 управления маркером управляет отображением опорного маркера на устройстве 2 отображения в соответствии с текущей информацией атрибута (которая на данном этапе является информацией атрибута инициализации).
На этапе 222 проверки, устройство 3 управления маркером обнаруживает, приняло ли оно сообщение, отправленное портативным устройством 1 и содержащее либо информацию об отказе (см. этап 210 на фиг. 2A), либо вычисленную информацию расположения (см. этап 27 на фиг.2A). В случае отрицательного ответа на этапе 222 проверки, устройство 3 управления маркером остается на этапе 222. В случае положительного ответа на этапе 222 проверки, устройство 3 управления маркером выполняет:
- этап 223, на котором оно изменяет текущее значение одного, нескольких или всех модифицируемых атрибутов на новое значение и получает новую информацию атрибута, представляющую новое(ые) значение(я);
- этап 224, на котором оно передает новую информацию атрибута на портативное устройство l;
- этап 225, на котором оно управляет отображением опорного маркера на устройстве 2 отображения, в соответствии с новой информацией атрибута и возвращается к этапу 222.
Как показано на фиг. 2А и 2В, предлагаются два отдельных пути повышения надежности обнаружения маркера: корректирующее обновление атрибута(ов) маркера после отказа (см. этапы 210-211 на фиг. 2А и этапы 223-225 на фиг. 2B после приема информации об отказе) или адаптивное (и проактивное) обновление атрибута(ов) маркера, чтобы избежать - или по меньшей мере уменьшить - частоту отказов в обнаружении (см. этапы 26-29 на фиг. 2A и этапы 223-225 на фиг. 2B после приема вычисленной информации расположения).
В случае корректирующего обновления до первого успешного обнаружения, устройство 3 управления маркером может корректировать отображаемый маркер, используя любые наилучшие догадки подходящего(их) атрибута(ов), поскольку оно находится в ʺслепомʺ режиме. В случае корректирующего обновления после первого успешного обнаружения, устройство 3 управления маркером может корректировать отображаемый маркер с учетом истории состояния системы (например, атрибутов маркера и расположения устройства).
В случае адаптивного обновления (т.е. во время отслеживания маркера), устройство 3 управления маркером может корректировать атрибут(ы) маркера в соответствии с перемещениями портативного устройства 1 относительно устройства 2 отображения.
Со ссылкой на фиг. 3А и 3В, далее представлен способ обнаружения опорного маркера (выполняемый портативным устройством 1; фиг. 3А) и соответствующий способ управления опорным маркером (выполняемый устройством 3 управления маркером; фиг. 3В), в соответствии со вторым вариантом осуществления представленных принципов.
Разница с первым вариантом осуществления, показанным на фиг. 2А и 2В и рассмотренным выше, заключается в том, что портативное устройство 1 имеет начальное знание информации атрибута инициализации и выполняет изменения текущего значения одного, нескольких или всех модифицируемых атрибутов на новое значение (и, следовательно, получает новую информацию атрибута, представляющую новое(ые) значение(я)).
Рассмотрим подробно блок-схему последовательности операций согласно фиг. 3A.
На этапе 31 инициализации, портативное устройство 1 передает информацию атрибута инициализации (см. определение выше) на устройство 3 управления маркером.
Этап 32 обнаружения маркера идентичен этапу 22 обнаружения маркера согласно фиг. 2A.
Если отображаемый опорный маркер не найден на этапе 32 (т.е. в случае отрицательного ответа на этапе 33 проверки), портативное устройство 1 выполняет:
- этап 310, на котором оно изменяет текущее значение (значение инициализации в данном случае) одного, нескольких или всех модифицируемых атрибутов на новое значение и получает новую информацию атрибута, представляющую новое(ые) значение(я); и
- этап 311, на котором оно передает новую информацию атрибута на устройство 3 управления маркером и возвращается к этапу 32 обнаружения маркера.
Если отображаемый опорный маркер найден на этапе 32 (т.е. в случае положительного ответа на этапе 33 проверки), портативное устройство 1 выполняет этап 34 отслеживания маркера, идентичный этапу 24 отслеживания маркера согласно фиг. 2А.
Если отображаемый опорный маркер не найден на этапе 34 (т.е. в случае отрицательного ответа на этапе 35 проверки), портативное устройство 1 выполняет этапы 310 и 311 и возвращается к этапу 32 обнаружения маркера.
Если отображаемый опорный маркер найден на этапе 34 (т.е. в случае положительного ответа на этапе 35 проверки), портативное устройство 1 выполняет:
- этап 36, идентичный этапу 26 согласно фиг. 2A (вычисление информации расположения);
- этап 37, на котором оно изменяет текущее значение одного, нескольких или всех модифицируемых атрибутов на новое значение в соответствии с вычисленной информацией расположения и получает новую информацию атрибута, представляющую новое(ые) значение(я);
- этап 38, идентичный этапу 28 на фиг. 2А (визуализация расширенного изображения на экране портативного устройства 1);
- этап 39, на котором оно передает новую информацию атрибута на устройство 3 управления маркером и возвращается к этапу 34 отслеживания маркера.
Рассмотрим подробно блок-схему последовательности операций согласно фиг. 3B.
На этапе 320 инициализации, устройство 3 управления маркером принимает информацию атрибута инициализации (см. определение выше), отправленную портативным устройством 1.
Этап 321 идентичен этапу 221 согласно фиг. 2А (управление отображением опорного маркера на устройстве 2 отображения в соответствии с текущей информацией атрибута).
На этапе 322 проверки, устройство 3 управления маркером обнаруживает, приняло ли оно сообщение, отправленное портативным устройством 1 и содержащее новую информацию атрибута (см. этапы 311 и 39 на фиг. 3А). В случае отрицательного ответа, устройство 3 управления маркером остается на этапе 322. В случае положительного ответа на этапе 322 проверки, устройство 3 управления маркером выполняет этап 323, на котором оно управляет отображением опорного маркера на устройстве 2 отображения в соответствии с новой информацией атрибута, и возвращается к этапу 322.
1
2
3
1
2
3
1
2
2
3
На фиг. 4 показана схема многопользовательского варианта осуществления изобретения. Устройство 3 управления маркером управляет отображением нескольких опорных маркеров 5, 5, 5 … на устройстве 2 отображения. Каждый из отображаемых опорных маркеров ассоциирован с отдельным портативным устройством 1, 1, 1 …. В этом примере, каждое портативное устройство осуществляет связь с устройством 3 управления маркером по линии связи (8a, 8b), (8a, 8), (8a, 8b)…, проходящей через сеть 4.
1
1
2
3
При выполнении этапа изменения текущего значения одного, нескольких или всех модифицируемых атрибутов на новое значение (см. этап 223 на фиг. 2B), для данного из отображаемых опорных маркеров (например, 5), устройство 3 управления маркером обрабатывает один или несколько случаев конфликта между данным отображаемым опорным маркером (например, 5) и другими из отображаемых опорных маркеров (например, 5, 5…). Например, обрабатываются следующие случаи конфликта: столкновение между по меньшей мере двумя отображаемыми опорными маркерами и окклюзия между по меньшей мере двумя отображаемыми опорными маркерами.
На фиг. 5 показана упрощенная структура портативного устройства 1 в соответствии с конкретным вариантом осуществления представленных принципов.
Портативное устройство 1 содержит энергонезависимую память 53 (например, постоянную память (ROM) или жесткий диск), энергозависимую память 51 (например, память с произвольным доступом или RAM), процессор 52, камеру 54 и экран 55.
Энергонезависимая память 53 является постоянным машиночитаемым носителем. Он хранит инструкции 530 исполняемого программного кода, которые исполняются процессором 52, чтобы обеспечить реализацию описанного выше способа обнаружения опорного маркера.
После инициализации, инструкции 530 программного кода переносятся из энергонезависимой памяти 53 в энергозависимую память 51, чтобы исполняться процессором 52. Энергозависимая память 51 также включает в себя регистры для хранения переменных и параметров, необходимых для этого исполнения.
В первом варианте осуществления, проиллюстрированном на фиг. 2А, входы 56 содержат информацию атрибута инициализации и новую информацию атрибута, отправленную устройством 3 управления маркером, а выходы 57 содержат информацию об отказах и вычисленную информацию расположения, отправляемую на устройство 3 управления маркером.
Во втором варианте осуществления, проиллюстрированном на фиг. 3А, выходы 57 содержат информацию атрибута инициализации и новую информацию атрибута, отправляемую на устройство 3 управления маркером.
В конкретной реализации, некоторые части (531, 532 и 533) инструкций 530 программного кода, при исполнении процессором 52, позволяют реализовать модуль захвата, модуль слежения (также называемый ʺблоком детектора маркераʺ) и модуль визуализации, рассмотренные выше. В альтернативной реализации, эти модули представляют собой аппаратные модули, в том числе электронные схемы, сконфигурированные для выполнения своих соответствующих функций. Каждый из этих блоков также может быть реализован в комбинации аппаратных средств и программного обеспечения.
На фиг. 6 показана упрощенная структура устройства 3 управления маркером в соответствии с конкретным вариантом осуществления представленных принципов.
Устройство 3 управления маркером содержит энергонезависимую память 63 (например, постоянную память (ROM) или жесткий диск), энергозависимую память 61 (например, память с произвольным доступом или RAM) и процессор 62.
Энергонезависимая память 63 является постоянным машиночитаемым носителем. Он хранит инструкции 630 исполняемого программного кода, которые исполняются процессором 62, чтобы обеспечить реализацию описанного выше способа управления опорным маркером.
После инициализации, инструкции 630 программного кода переносятся из энергонезависимой памяти 63 в энергозависимую память 61, чтобы исполняться процессором 62. Энергозависимая память 61 также включает в себя регистры для хранения переменных и параметров, необходимых для этого исполнения.
В первом варианте осуществления, проиллюстрированном на фиг. 2В, выходы 65 содержат информацию атрибута инициализации и новую информацию атрибута, отправляемую на портативное устройство 1, а входы 64 содержат информацию об отказе и вычисленную информацию расположения, отправленную портативным устройством 1.
Во втором варианте осуществления, проиллюстрированном на фиг. 3В, входы 64 содержат информацию атрибута инициализации и новую информацию атрибута, отправленную портативным устройством 1.
Могут использоваться различные реализации портативного устройства 1 и устройства 3 управления маркером. Действительно, все этапы способа обнаружения опорного маркера (выполняемого портативным устройством 1) и всех этапов способа управления опорным маркером (выполняемого устройством 3 управления маркером) могут быть реализованы одинаково хорошо:
- путем исполнения набора инструкций программного кода, исполняемых перепрограммируемой вычислительной машиной, такой как устройство типа РС, DSP (процессор цифровых сигналов) или микроконтроллер. Эти инструкции программного кода могут быть сохранены на постоянном машиночитаемом носителе, который является съемным (например, гибкий диск, CD-ROM или DVD-ROM) или несъемным; или
- специализированной машиной или компонентом, таким как FPGA (программируемая вентильная матрица), ASIC (специализированная интегральная схема) или любой специализированный компонент аппаратных средств.
Другими словами, раскрытие портативного устройства 1 и устройства 3 управления маркером не ограничивается исключительно программной реализацией в форме инструкций компьютерной программы, но также может быть реализовано в аппаратной форме или в любой форме, комбинирующей аппаратную часть и часть программного обеспечения.