Код документа: RU2639672C2
ОБЛАСТЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
Настоящее изобретение в целом относится к способам, системам и программному обеспечению для кодирования и декодирования машиночитаемых символов и, в частности, к использованию таких символов при предоставлении информации на основании местоположения.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
Из уровня техники известно большое разнообразие способов и стандартов для кодирования информации в такой форме, которая может быть прочитана посредством компьютера с использованием датчика изображений или другого типа оптического датчика. Наиболее известными стандартами такого типа являются штрихкоды, включая обычные одномерные массивы полос и двумерные штрихкоды, такие как QR-коды.
В патентной литературе были предложены другие типы машиночитаемых схем и символов кодирования на основе изображений. В некоторых из этих схем используется цветовая информация, а не монохромные символы, предоставленные традиционными штрихкодами. Типичные примеры описаны в патентах США 7936901, 5869828 и 7020327.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Варианты осуществления настоящего изобретения, описанные в данном документе, обеспечивают улучшенные типы машиночитаемых символов, а также способы использования таких символов.
Таким образом, в соответствии с вариантом осуществления настоящего изобретения предусмотрен способ кодирования информации, который включает установление цифрового значения и предоставление символа, содержащего несколько многоугольников, сходящихся в общей вершине и имеющих различные соответствующие цвета, выбранные так, чтобы кодировать установленное цифровое значение.
В некоторых вариантах осуществления символ содержит мозаику, имеющую несколько вершин, кодирующих несколько соответствующих цифровых значений в зависимости от цветов многоугольников, сходящихся в каждой из вершин, и при этом символ кодирует обобщенное цифровое значение, образованное путем комбинирования нескольких соответствующих цифровых значений, закодированных несколькими вершинами.
Как правило, предоставление символа включает присваивание цифрового кода каждому цвету и комбинирование цифровых кодов для выдачи установленного цифрового значения. В описанном варианте осуществления цифровой код представляет собой трехзначный код, представляющий красную, зеленую и синюю составляющие цветов многоугольников. Трехзначный код может быть трехразрядным кодом, содержащим соответствующее бинарное значение, представляющее каждую из красной, зеленой и синей составляющих, при этом цвета многоугольников выбирают из группы цветов, состоящей из красного, зеленого, синего, голубого, пурпурного и желтого, и имеющей трехразрядные коды (1,0,0), (0,1,0), (0,0,1), (0,1,1), (1,0,1) и (1,1,0) соответственно.
Символ может быть предоставлен без специальных меток совмещения.
В описанных вариантах осуществления способ включает захват изображения символа и декодирование символа путем измерения цветов в изображении в местах расположения проб, расположенных под несколькими углами вокруг общей вершины. Как правило, все места расположения проб расположены на одном расстоянии от общей вершины.
В соответствии с вариантом осуществления настоящего изобретения также предусмотрен материальный носитель, содержащий символ, предусмотренный на нем в соответствии с вышеописанными способами. Символ может быть напечатан на носителе.
В соответствии с вариантом осуществления настоящего изобретения дополнительно предусмотрена информационная система, которая содержит несколько символов, при этом каждый символ содержит несколько многоугольников, сходящихся в общей вершине и имеющих различные соответствующие цвета, выбранные так, что символы кодируют соответствующие цифровые значения. Сервер сконфигурирован для приема сообщения от клиентского устройства, указывающего цифровое значение, декодированное клиентским устройством после захвата и анализа изображения, содержащего один из символов, и для предоставления на клиентское устройство единицы информации, соответствующей цифровому значению, в ответ на сообщение.
В описанном варианте осуществления несколько символов распределены по различным соответствующим местоположения в окружающей среде, и сервер сконфигурирован для определения местоположения клиентского устройства в соответствии с цифровым значением и для предоставления единицы информации в соответствии с местоположением. Как правило, единица информации содержит графический элемент, сконфигурированный для наложения клиентским устройством на отображение изображения, содержащего один из символов.
В соответствии с вариантом осуществления настоящего изобретения дополнительно предусмотрен компьютерный программный продукт, содержащий материальный, энергонезависимый машиночитаемый носитель, в котором хранятся программные команды, при этом команды при считывании вычислительным устройством вызывают захват устройством изображения символа, содержащего несколько многоугольников, сходящихся в общей вершине и имеющих различные соответствующие цвета, выбранные так, чтобы кодировать установленное цифровое значение, и обработку изображения для декодирования цифрового значения.
В описанном варианте осуществления команды вызывают декодирование вычислительным устройством символа путем измерения цветов в изображении в местах расположения проб, расположенных под несколькими углами вокруг общей вершины.
Кроме того, в соответствии с вариантом осуществления настоящего изобретения предусмотрено вычислительное устройство, которое содержит датчик изображений, сконфигурированный для захвата изображения, содержащего символ, содержащий несколько многоугольников, сходящихся в общей вершине и имеющих различные соответствующие цвета, выбранные так, чтобы кодировать установленное цифровое значение. Процессор сконфигурирован для обработки изображения с целью декодирования цифрового значения.
В некоторых вариантах осуществления устройство содержит дисплей, который присоединен для отображения изображения, захваченного датчиком изображений, при этом процессор сконфигурирован для наложения графического элемента на дисплей в соответствии с цифровым значением. Дополнительно или альтернативно, устройство содержит интерфейс связи, при этом процессор сконфигурирован для отправки сообщения, содержащего цифровое значение, по сети на сервер через интерфейс связи, и для приема графического элемента от сервера в ответ на сообщение.
Кроме того, в соответствии с вариантом осуществления настоящего изобретения предусмотрен способ кодирования информации, который включает установление цифрового значения и создание символа, который кодирует установленное цифровое значение в набор цветовых элементов, имеющих различные соответствующие цвета, которые должны быть определены на изображении символа в качестве красного, зеленого, синего, голубого, пурпурного и желтого цветовых элементов соответственно. Символ создается путем наложения голубого, пурпурного и желтого пигментов на подложку для создания цветовых элементов, так что цветовые элементы проявляют следующие свойства интенсивности красного, зеленого и синего при измерении в цветовом пространстве sRGB:
для красных цветовых элементов, интенсивность красного более чем в два раза больше интенсивностей синего и зеленого;
для зеленых цветовых элементов, интенсивность зеленого более чем в два раза больше интенсивностей красного и синего;
для синих цветовых элементов, интенсивность синего более чем в два раза больше интенсивностей красного и зеленого;
для голубого цветового элемента, обе интенсивности синего и зеленого более чем в два раза больше интенсивности красного;
для пурпурного цветового элемента, обе интенсивности красного и синего более чем в два раза больше интенсивности зеленого; и
для желтого цветового элемента, обе интенсивности красного и зеленого более чем в два раза больше интенсивности синего.
Дополнительно или альтернативно, символ создается путем наложения голубого, пурпурного и желтого пигментов на подложку для создания цветовых элементов, так что цветовые элементы проявляют свойства интенсивности красного, зеленого и синего при измерении в цветовом пространстве sRGB, которые удовлетворяют отношению:
для каждого цвета с = красный, зеленый, синий, при этом
В соответствии с вариантом осуществления настоящего изобретения дополнительно предусмотрен материальный носитель, содержащий символ, предусмотренный на нем в соответствии с любым из вышеуказанных способов.
Настоящее изобретение будет более полным образом понятно из последующего подробного описания его вариантов осуществления, рассматриваемых вместе с графическими материалами, на которых:
КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ
На фиг. 1 изображено схематическое наглядное изображение системы для навигации и отображение дополненной реальности в соответствии с вариантом осуществления настоящего изобретения;
на фиг. 2 изображено схематическое представление мобильного вычислительного устройства в системе по фиг. 1 в соответствии с вариантом осуществления настоящего изобретения;
на фиг. 3 изображена блок-схема, схематически изображающая способ навигации и отображение дополненной реальности в соответствии с вариантом осуществления настоящего изобретения;
на фиг. 4-7 представлены схематические изображения разноцветных машиночитаемых символов в соответствии с вариантом осуществления настоящего изобретения; и
на фиг. 8 представлена блок-схема, на которой схематически изображен способ декодирования разноцветного символа в соответствии с вариантом осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
ОБЩИЙ ОБЗОР
Использование мобильных вычислительных устройств с поддержкой GPS, таких как смартфоны, планшеты и специальные навигационные устройства, получило широкое применение для навигации на открытой местности. Однако в закрытых окружающих средах (включая как закрытые помещения, так и плотно застроенные городские районы) GPS навигация не работает должным образом и пользовательские требования отличаются. Пользователю нужны не только точные направления для нахождения требуемых мест назначения при движении пешком, но требования пользователя, как правило, являются более сложными и динамичными, чем требования для навигации на основе GPS на открытой местности. Например, пользователю может потребоваться определить место конкретной продукции или деятельности и сама навигация находится в трехмерной (3D) окружающей среде, часто на различных этажах или уровнях, с различными опциями по перемещению от одного этажа или уровня к другому. Таким образом, выбор навигации непосредственно зависит от целей и предпочтений пользователя, а также ограничений и способностей в отношении физической подвижности.
В то же время, предоставление оптимальных команд для навигации и ориентирования в закрытом комплексе, как правило, требует подробного и глубокого знания структурной и функциональной организации комплекса. Интегрирование знания такого типа в целом требует участия оператора комплекса, который обладает таким знанием. Оператор имеет значительную мотивацию по удовлетворению потребностей навигации пользователя для предоставления лучшего и более эффективного восприятия пользователя, и особенно для того, чтобы указать пользователям направление к продукции и деятельностям, которые подходят их потребностям, в то же время продвигая интересы оператора и владельцев комплекса. Предоставление сфокусированных навигационных команд такого типа увеличивает вероятность того, что пользователи будут приобретать продукцию и услуги в комплексе и впоследствии вернутся.
Однако существующие способы передачи навигационных команд пользователям в закрытых окружающих средах не очень хорошо подходят для выполнения данной задачи. Обычно навигационные команды обеспечиваются посредством карт, посредством указателей общего направления и перечней заведений, в то время как рекламный контент появляется на рекламных знаках и дисплеях. Вместо того, чтобы способствовать улучшению восприятия пользователей, эти средства сообщения могут ввести пользователей в состояние когнитивной перегрузки и замешательство, при которых большая часть информационного содержимого на них теряется.
Одним вариантом решения данной проблемы является предоставление пользователям возможности выбора пунктов, относительно которых они желают получать информацию, путем предоставления символов на этих пунктах, которые могут быть считаны с использованием датчика изображений (такого как камера, которая встроена в большинство мобильных вычислительных устройств). Однако пользователь может испытывать затруднения при нахождении существующих типов символов, таких как QR-коды, если они не напечатаны очень крупно, и обычно мобильное вычислительное устройство нужно держать близко к символу для захвата и декодирования изображения.
Варианты осуществления настоящего изобретения, описанные в данном документе, предусматривают новые машиночитаемые символы и способы использования таких символов, которые преодолевают ограничения существующих схем кодирования на основе изображения. Каждый символ содержит несколько многоугольников, сходящихся в общей вершине и имеющих различные соответствующие цвета, выбранные так, чтобы кодировать установленное цифровое значение. Для кодирования больших цифровых значений многоугольники могут быть расположены в мозаике, имеющей несколько вершин, при этом каждая вершина кодирует соответствующее цифровое значение в зависимости от цветов многоугольников, которые сходятся в данной вершине. Затем символ может кодировать обобщенное цифровое значение, созданное путем комбинирования соответствующих цифровых значений, закодированных посредством нескольких вершин. В описанных вариантах осуществления цвета, которые используются в символе, выбирают новым образом, который обеспечивает возможность их декодирования мобильным вычислительным устройством достоверно и однозначно независимо от условий освещенности, в которых они находятся.
Как правило, символы напечатаны на материальном носителе, таком как бумага, пластик, или любой другой подложке, пригодной для печати, которая может затем быть повешена или иным образом закреплена в требуемом местоположении, таком как стена или указательный столб. Альтернативно такие символы могут быть представлены на электронном дисплее. Пользователи хорошо различают и распознают цветные символы. В то же самое время изображения символов могут быть захвачены и декодированы надежным образом с большого диапазона расстояний с использованием камер такого вида, которые встраиваются в мобильные вычислительные устройства, и алгоритмов, описанных ниже, которые не зависят от размера символа в захваченном изображении.
Таким образом, описанные символы используются, в частности, при обеспечении навигации в закрытых окружающих средах и запуске отображения информации дополненной реальности на основе местоположения на экране мобильного вычислительного устройства. Такие символы при сочетании с подходящей системой для предоставления информации на основе местоположения могут быть использованы для улучшения восприятия пользователя в таких окружающих средах и преодоления недостатков существующих вышеописанных решений. Несмотря на то, что некоторые варианты осуществления, описанные в данном документе, ориентированы на данные виды применений, тем не менее символы, созданные в соответствии с принципами настоящего изобретения, могут быть аналогичным образом использованы также для предоставления закодированной информации на устройства для захвата изображений и вычислительные устройства для других целей.
ОПИСАНИЕ СИСТЕМЫ
На фиг. 1 представлено схематическое наглядное изображение системы 20 для навигации и отображение дополненной реальности в соответствии с вариантом осуществления настоящего изобретения. Работа системы 20 изображена здесь в закрытой окружающей среде 22, например в плотно застроенной городской окружающей среде или торговом центре, как в данном примере. Однако эта окружающая среда представлена лишь в качестве иллюстрации, а не ограничения, поскольку принципы настоящего изобретения могут быть реализованы по существу в любой доступной для пользователей окружающей среде, как внутри помещения, так и на открытой местности.
Пользователь 24, который ищет информацию относительно окружающей среды 22, замечает символ 28, размещенный на стене, и направляет камеру, находящуюся в его смартфоне 26 (или другом портативном вычислительном устройстве), для захвата изображения, содержащего символ. Символы, используемые в прикладном контексте такого типа, также называются в данном документе "якорями". Символ 28 содержит мозаичную форму из многоугольников - в данном примере прямоугольников - различных цветов. Такие формы подробно описаны со ссылкой на следующие фигуры. Несмотря на то, что с целью упрощения на фиг. 1 показаны только один пользователь и и только один якорь, оператор или другой специалист, в окружающей среде 22, как правило, размещают несколько якорей в нескольких разных местоположениях, распределенных по окружающей среде, для обеспечения возможности доступа пользователей к информации на основе местоположения во всех этих местоположениях. Для надежной навигации пользователями в окружающей среде, как правило, необходимо, чтобы был по меньшей мере один якорь, который отчетливо виден пользователям в любом данном местоположении.
Процессор в смартфоне 26 обрабатывает захваченное изображение для декодирования цифрового значения, которое закодировано посредством символа 28, и затем отправляет сообщение, устанавливающее цифровое значение, на сервер 34. Как описано ниже, сообщение может также содержать данные, относящиеся к общему местоположению смартфона, полученные из уровня сигнала сотовой радиосвязи, или любой другой тип информации для определения местоположения, доступной для системы смартфона, а также пользовательский профиль и поисковые требования. В связи с этим смартфон 26 действует как клиентское устройство под управлением подходящего приложения, описанного ниже в данном документе. В изображенном варианте осуществления смартфон 26 связывается с сервером 34 посредством точки 30 беспроводного доступа, которая соединена с сетью 32, как известно из уровня техники. Альтернативно или дополнительно, смартфон 26 и сервер 34 могут связываться посредством соединения по сотовой сети или посредством любого другого вида линии связи, известного из уровня техники. Сервер 34, как правило, содержит универсальный компьютер с процессором, запоминающим устройством и интерфейсом связи, которые приводятся в действие подходящим программным обеспечением для связи с клиентскими устройствами, такими как смартфон 26, и предоставления информации на основе местоположения в соответствующей форме.
В альтернативном варианте осуществления смартфон или другое мобильное вычислительное устройство может работать без связи с сетью посредством предварительного кэширования релевантных данных якоря и последующего извлечения данных, когда обнаружен конкретный якорь. Например, такая опция может быть полезной для туристов, которые могут иметь очень ограниченный (если он вообще есть) доступ к сети передачи данных.
На фиг. 2 представлено схематическое представление смартфона 26 в соответствии с вариантом осуществления настоящего изобретения. Смартфон содержит камеру 45, которая соединена с процессором 46 с запоминающим устройством 48 и интерфейсом 49 связи, как известно из уровня техники. Пользовательский интерфейс смартфона 26, как правило, реализован посредством сенсорного дисплея 40, хотя смартфон может содержать, альтернативно или дополнительно, другие типы компонентов пользовательского интерфейса, такие как указательное устройство и/или клавиатура. Процессор 46 выполняет функции, которые описаны в данном документе, под управлением подходящего программного обеспечения. Данное программное обеспечение может быть загружено в смартфон 26 в электронной форме, например, по сети. Дополнительно или альтернативно, программное обеспечение может храниться на материальных энергонезависимых носителях, например, в электронном, оптическом или магнитном запоминающем устройстве.
Смартфон 26 является лишь одним типичным примером мобильного вычислительного устройства, которое может быть использовано в вариантах осуществления настоящего изобретения, и другие виды устройств с подходящей камерой, процессором, дисплеем и интерфейсом связи могут быть равнозначно использованы для выполнения функций, описанных в данном документе. Примеры таких устройств могут включать планшеты и другие портативные компьютеры, а также устанавливаемые на голове устройства, такие как очки Google® Glass, и специальные навигационные устройства.
Смартфон 26 захватывает и обрабатывает изображение места действия, содержащего символ 28 (фиг. 1), как указано выше, и отправляет сообщение на сервер 34, содержащий цифровое значение, закодированное посредством символа, как правило, вместе с другой информацией, как указано выше. В ответ сервер 34 возвращает информацию относительно местоположения символа на смартфон. Смартфон в целом предоставляет данную информацию на дисплей 40, как правило, наложенной на изображение места действия, содержащего символ 28. Таким образом, в примере, показанном на фиг. 2, предполагая, что пользователь 24 проявляет интерес в покупке ковра, процессор 46 накладывает стрелку 42 на дисплей 40, и может также добавлять текстовую легенду 44 или другую графическую информацию, указывающую направление к желаемому месту назначения.
Данный вид дисплея, в котором сгенерированные компьютером графические элементы накладываются на изображение реальной окружающей среды таким образом, чтобы моделировать действительные физические элементы окружающей среды, обычно называется дисплеем дополненной реальности. Стрелка 42 и легенда 44 являются лишь простыми примерами видов элементов дополненной реальности, которые могут быть показаны на дисплее 40. Типы элементов и их местоположения, соответствующие местоположениям символов 28, которые размещены в окружающей среде, выбираются и программируются оператором системы 20 для предоставления широкого выбора визуальных подсказок и рекламного контента, возможно включающих анимированные элементы и возможно сопровождаемых звуком, который может варьировать в зависимости от личных предпочтений и целей различных пользователей в окружающей среде 22.
На фиг. 3 представлена блок-схема, на которой схематически показан способ навигации и отображение дополненной реальности в соответствии с вариантом осуществления настоящего изобретения. Способ описан в целях удобства и доходчивости со ссылкой на элементы системы 20 (фиг. 1) и смартфон 26; но данные принципы этого способа могут применяться, mutatis mutandis, по существу в любых подходящих условиях применения с использованием любого желаемого типа мобильного вычислительного устройства.
В качестве подготовительного этапа смартфон 26 принимает и хранит информацию о профиле относительно пользователя 24 на этапе 50 определения профиля. Пользователь может активно вводить информацию о профиле, содержащую личные данные и предпочтения, в ответ на запросы от клиентского программного приложения, запущенного на смартфоне. Альтернативно или дополнительно, информация о профиле может быть собрана автоматически на основе поведения пользователя и других источников информации. Само приложение может быть предложено пользователю 24 для загрузки на смартфон 26, когда пользователь впервые попадает в окружающую среду 22. Дополнительно или альтернативно, приложение может быть предварительно установлено на смартфон.
На этапе 52 инициации пользователя, при нахождении в окружающей среде 22, пользователь 24 открывает клиентское приложение и, как правило, выбирает цель. Цель может быть конкретным местом назначения, таким как название ресторана или магазина, или она может быть заведением или деятельностью, например, типа покупки ковра или поиском ближайшего туалета. Затем на этапе 54 захвата изображения пользователь 24 визуально отыскивает якорь (символ 28), и после его нахождения направляет смартфон 26 для захвата изображения места действия, содержащего якорь.
На этапе 56 обработки процессор 46 в смартфоне 26 под управлением клиентского приложения обрабатывает захваченное изображение для извлечения цифрового значения, которое закодировано посредством символа 28 (также называемого ID якоря). Как правило, каждый якорь в окружающей среде 22 отличается от других и кодирует уникальный ID. Затем процессор отправляет запрос на сервер 34, указывая ID якоря, клиентскую цель и релевантную информацию из пользовательского профиля.
Альтернативно или дополнительно, релевантная информация пользовательского профиля может предварительно храниться в сервере 34.
Сервер 34 обрабатывает запрос с помощью хранящейся информации, относящейся к окружающей среде 22. Как правило, данная информация содержит подробные карты окружающей среды, которые указывают местоположения заведений и услуг, а также местоположения всех якорей. Сервер объединяет эту информацию с местоположением, целями и предпочтениями пользователя, предоставленными из запроса пользователя, и генерирует ответ. Как правило, этот ответ содержит один или несколько графических элементов и возможно текстовые и/или звуковые элементы, также предназначенные для направления пользователя 24 к местоположению, которое удовлетворит его цель. Ответ может также содержать рекламную информацию, подходящую для пользовательского профиля и местоположения пользователя.
Сервер 34 передает этот ответ на смартфон 26 на этапе 58 передачи ответа. На этапе 60 отображения процессор 46 под управлением клиентского приложения выводит графические и текстовые элементы ответа на дисплей 40. Как правило, по меньшей мере, графические элементы появляются в качестве компонентов дополненной реальности на изображении, показанном на дисплее, в месте на дисплее, которое накладывается или иным образом привязывается к действительному местоположению якоря на изображении. (Альтернативно или дополнительно, смартфон 26 может осуществлять предварительное кэширование некоторых или всех якорей в его непосредственной близости для уменьшения задержки при создании знаков и отображении.)
Процессор 46 продолжает предоставлять информацию на дисплей 40 до тех пор, пока соответствующий якорь является видимым на изображениях, захваченных смартфоном 26. Поскольку пользователь перемещается по окружающей среде 22, местоположение информации на дисплее 40 может изменяться вместе с местоположением действительного якоря на захваченных изображениях. Если пользователь продвигается к местоположению, в котором первоначальный якорь больше не является видимым, он может захватывать изображение, содержащее другой якорь, и информация на дисплее 40 будет соответствующим образом обновляться, пока пользователь не достигнет требуемого места назначения.
ДИЗАЙН СИМВОЛОВ
На фиг. 4 и 5 представлены схематические изображения разноцветных машиночитаемых символов 70 и 80 согласно вариантам осуществления настоящего изобретения. Оба символа 70 и 80 содержат несколько многоугольников, которые сходятся в общей вершине. В случае символа 70 многоугольники представляют собой прямоугольники 72, сходящиеся в вершине 74, тогда как в символе 80 многоугольники представляют собой треугольники 82, сходящиеся в вершине 84. В качестве альтернативы для схождения в общей вершине могут быть размещены другие виды многоугольников (с пятью, шестью или большим количеством сторон), не обязательно одинаковые. По существу, можно использовать любой вид многоугольников и форму мозаичного расположения. Желательно (но не обязательно), для простоты и достоверности декодирования, чтобы все многоугольники, которые сходятся в заданной вершине, были различных цветов. При использовании Nc цветов и вершины, общей для Np многоугольников, вершина может иметь
На фиг. 6 и 7 представлены схематические изображения разноцветных машиночитаемых символов 90 и 100 согласно дополнительным вариантам осуществления настоящего изобретения. В этих вариантах осуществления мозаика из нескольких многоугольных элементов мозаики с несколькими вершинами в каждом символе используется для увеличения диапазона цифровых значений, которые могут быть закодированы, и надежности идентификации. (В настоящем описании и формуле изобретения термин "мозаика" используется для обозначения мозаичного расположения области с геометрическими формами для заполнения области без перекрытий или промежутков между формами.) Например, символ 90 содержит шестиугольные элементы 92, 94 мозаики, образующие шесть общих вершин 96, 98, каждая с тремя соседними элементами мозаики. Символ 100 содержит прямоугольные элементы 102 мозаики, расположенные в решетке 3×3 для образования четырех общих вершин 104.
Каждая из нескольких вершин 96, 104 в символах 90 и 100 кодирует соответствующее цифровое значение, и эти значения комбинируют для образования обобщенного цифрового значения, например, посредством соединения отдельных значений вершин. Таким образом, вершины в символе 100 с различным расположением шести цветов среди элементов 102 мозаики могут использоваться для кодирования 126, 360 различных значений. Кроме того, как только известны расположения и распределения цветов среди трех вершин 104, однозначно определены расположение и распределение трех цветов вокруг четвертой вершины. Если четвертая вершина не согласуется с предполагаемым расположением и распределением цвета, то мобильное вычислительное устройство, обрабатывающее изображение, отклонит символ и таким образом избежит ложного и ошибочного считывания значений символов.
Мозаичные символы с несколькими вершинами, такие как символы 90 и 100, должны кодировать достаточное количество различных цифровых значений для большинства приложений и операционных сред, например, типа приложений для навигации, которые показаны на фиг. 1. Символы, содержащие большее число элементов мозаики, могут быть использованы для кодирования больших значений. Несимметричные мозаики также могут использоваться. Дополнительная информация, например приблизительное местоположение, предоставляемое GPS, или уровень сигнала сотовой радиосвязи и номер мобильного телефона, может быть использована для различия между символами, обладающими одинаковыми значениями, которые размещены в различных местоположениях.
Ключевым преимуществом кодирования с центрированием по вершине на основании цвета, которое проиллюстрировано вышеописанными символами (в частности, относительно схем кодирования на основании изображения, например QR-коды, которые известны из уровня техники) заключается в том, что декодирование в значительной степени является масштабно-инвариантным. Другими словами, относительный размер символа в изображении, захваченном мобильным вычислительным устройством, и, следовательно, расстояние между устройством и символом, имеет небольшое влияние или не влияет на декодирование по большому диапазону размеров.
Для считывания цифрового значения, кодированного вероятной вершиной, например, процессор 46 может выбрать расположение вероятной вершины и затем вычислить цвет в выборочной точке в каждом многоугольнике вокруг вершины с определенным смещением относительно вершины. Эти выборочные точки, называемые в данном документе пробами или местами расположения проб, обычно расположены по биссектрисам угла между границами перехода цветов многоугольников. Таким образом, количество проб и углов между ними определяются типом и количеством многоугольников вокруг каждой вершины, как показано в предыдущих фигурах.
(Расположения вероятной вершины, вокруг которой отбирают выборочные точки, могут быть определены расположением границ перехода цветов, которые сходятся в вершине, и занимающие местоположение на пересечении границ перехода цветов, или они могут быть выбраны посредством любого другого подходящего критерия или даже случайным образом.) Поскольку многоугольные элементы мозаики не меньше определенного вектора
Такой тип кодирования с центрированием по вершине также надежен для поворотов: Если поворот меньше половины наименьшего угла вершины (например, менее 45° для прямоугольной мозаики), то нет необходимости в регулировке направления измерения цвета по биссектрисам углов. Информация, предоставляемая инерционным датчиком (например, акселерометром), который доступен в большинстве смартфонов и других мобильных вычислительных устройствах, может быть использована для устранения неоднозначностей и корректировки угла измерения цвета независимо от поворота, собственно, камеры. Вершины сами по себе служат в качестве меток совмещения, так что нет необходимости в добавлении к якорям дополнительных меток совмещения.
ЦВЕТОВАЯ СХЕМА
По существу, любой набор цветов, который может быть распознан датчиком изображения, может использоваться для окрашивания многоугольных элементов мозаики вокруг вершин в символах согласно вариантам осуществления настоящего изобретения. Однако изобретатели обнаружили, что определенное семейство цветовых схем является предпочтительным для обеспечения надежного, эффективного контроля цветовоспроизведения, использующегося в общедоступных датчиках изображения. Цветовые схемы такого типа могут применяться при создании символов для вышеописанных способов кодирования на основе вершины. Тем не менее, такие цветовые схемы пригодны не только в этом конкретном способе кодирования, а также в других методиках кодирования на основе цвета.
В одном варианте осуществления изобретения количество цветов выбирают для Nc=6, используя набор основных цветов "Красный" (R), "Зеленый" (G) и "Синий" (В) и их соответствующие дополнения "Пурпурный" (М), "Голубой" (С) и "Желтый" (Y). Такой набор цветов имеет несколько преимуществ:
- Основные цвета, и даже более того, границы раздела соединения нескольких таких цветов, относительно редко встречаются в естественной окружающей среде. Этот отличительный признак является преимущественным для идентификации якорей людьми и компьютерами, а также способствует надежности декодирования.
- RGB - это естественное цветовое пространство цифровых изображений, создаваемых фотоаппаратами. Дополнительные цвета могут быть легко рассчитаны как М=G+В, C=R+B, Y=R+G.
- Nc=6 является достаточным для прямоугольных, шестиугольных и треугольных мозаик, как показано выше. В настоящем изобретении используется трехмерное бинарное представление цветов:
1. R=(1,0,0)
2. G=(0,1,0)
3. В=(0,0,1)
4. С=(0,1,1)
5. М=(1,0,1)
6. Y=(1,1,0)
Каждый из трех размеров представляет собой канал сигнала основного цвета (РСС).
В настоящем варианте осуществления необходимо, чтобы все цвета, окружающие любую заданную общую вершину, отличались друг от друга и изменялись в бинарном представлении каждого из РСС, т.е. не допускается вершина, вокруг которой все окружающие цвета имеют одинаковое значение бита R, G или В. Например, вершина трех элементов мозаики цветов R, G, В удовлетворяет критерию, поскольку бинарный РСС не постоянен для всех элементов мозаики. С другой стороны, три элемента мозаики цветов С, G, В не удовлетворяют критерию, поскольку красный бинарный РСС для всех них равен нулю. При совокупности шести цветов это ограничение применяется только к шестиугольным мозаикам, поскольку любое расположение треугольных или прямоугольных элементов мозаики различных цветов вокруг вершины отвечает этому ограничению.
Прямоугольная мозаика символов является предпочтительной, так как она геометрически совпадает с мозаикой элементов датчика, которые используются при создании изображения символов, и также имеет тенденцию к совпадению с областью, доступной для установки якорей в общих закрытых окружающих средах. Прямоугольные элементы мозаики легко могут быть вытянуты по горизонтали с целью компенсации горизонтального ракурса, который может иметь место, когда изображения якоря захватываются под углом, что чаще происходит в этом случае, чем при фронтальном захвате изображений.
На фиг. 8 представлена блок-схема, в которой схематически показан способ декодирования разноцветного символа с вышеуказанным дизайном, например символ 100, в соответствии с вариантом осуществления настоящего изобретения. Для каждого координатного вектора изображения r=(x, y), отображающего расположение заданной вершины в изображении символа, процессор 46 извлекает Np значений Vp(р=1,…Np) цветовой пробы на этапе 110 измерения цвета. Эти значения соответствуют интенсивностям I(vр) цвета изображения при координатах vp=r+dp пробы. Все векторы dp смещения имеют одинаковую длину
В целом углы между соседними векторами смещения равны 2π/Np. Как было отмечено ранее, такое угловое распределение векторов смещения обеспечивает надежность относительно поворота изображения вплоть до π/Np. Для треугольных мозаик dp=Round[d (sinφp, cosφp)], при φр=(2p-1)π/Np для р=1, …,6. Для шестиугольных мозаик шесть векторов разделены на два набора из четных и нечетных р, соответствующих двум возможным типам вершин, как представлено вершинами 96 и вершинами 98 на фиг.6.
Параметр D длины определяет наименьший выявляемый размер изображения якоря. Очень маленькие значения (такие как D=1 или 2 пикселя) соответствуют частным наборам проб, которые, в основном, могут улавливать якоря, которые захвачены небольшим значением пикселей (порядка D2). Идентификация якоря становится более надежной при больших значениях D, но обычно хорошо осуществляется для любого D≥3. Тем не менее, даже большие символы могут быть надежно определены с небольшими значениями D, поскольку вершины определены в определенном месте, независимо от размера якоря. Таким образом, использование одной выборки D достаточно для обнаружения как маленьких, так и больших якорей.
Следующий этап - это классифицирование каждой пробы, как одного из Ncцветов. На фиг. 8 представлен надежный способ для этой цели, который отчасти обеспечивает выполнение местного баланса белого в естественном пространстве RGB и устанавливает набор необходимых условий, которые автоматически отклоняют вероятные вершины, которые потенциально являются ненадежными. В частности, процессор 46 сначала находит максимальное значение
Наконец, на основании диапазона
и, наоборот, Vp,c не определено. Если на этом этапе какое-либо Vp,c не определено, то испытание для определения вершины терпит неудачу, и процесс снова следует на этап 122.
Если вероятная вершина успешно проходит этапы 114-118, то процессор 46 присваивает каждой пробе определенный цвет в виде триплета (Vр,r, Vр,g, Vр,b) при представлении бинарного РСС. Тем не менее, за пределами вышеуказанных схем из шести цветов бинарные триплеты (Vp,r, Vp,g, Vp,b) могут иметь две дополнительные недопустимые конфигурации: К=(0,0,0) и W=(1,1,1). Процессор 46 проверяет, чтобы ни один из триплетов бинарного РСС не представлял собой К или W, и чтобы не было двух проб вокруг вероятной вершины, которые имели бы одинаковый код цвета, на этапе 120 проверки цвета. Последнее условие проверяют попарным сравнением между пробами.
Если эти заключительные условия не удовлетворены, то процессор 46 определяет в качестве вершины точку, соответствующую центру кластеров пикселей, которые соответствуют условиям вершины по цвету, на этапе 124 определения вершины. Процессор присваивает ID вершины посредством комбинирования кодов цвета отдельного многоугольника, например, посредством превращения трехбитного бинарного значения РСС каждой пробы в трехзначное бинарное число, а затем объединения Np проб в единое бинарное число. ID для всего якоря с нескольким вершинами может быть найдено, например, посредством объединения отдельных ID вершин.
На надежное выявление вершин может сильно влиять выбор цветов. Поскольку якоря могут занимать только небольшой участок захваченного изображения, то их освещенность обычно может сильно отличаться от освещенности всего изображения, которая влияет на экспозицию и коэффициент усиления, применяемые камерой. По факту, изобретатели обнаружили, что считывание значения РСС для заданного элемента мозаики якоря обычно может изменяться посредством фактора трех относительно применяемых экспозиции и коэффициента усиления, которые должны быть оптимальными для этого элемента мозаики. Например, если большая часть изображения полностью находится в солнечном свете, но якорь расположен в тени, то тогда его значения РСС будут намного ниже по сравнению с изображением, в котором якорь также находится полностью в солнечном свете. Наоборот, если большая часть изображения находится в тени, а якорь более сильно освещен, то его значения РСС будут намного выше.
Дополнительное ограничение, которое необходимо учесть, состоит в том, что отражающие цвета реальных объектов (включая пигменты цвета) обладают физическими ограничениями в рамках цветоделения. В результате, захваченное RGB изображение "чистого цвета" обязательно будет иметь существенные дополнения от "неправильных" каналов. Например, наивная попытка создать "чистый зеленый" на калиброванном принтере, удовлетворяющем требования общеизвестного стандарта рулонной офсетной печати (SWOP), при оптической плотности слоя краски CMYK=(100%,0,100%,0), может привести к кодам цвета в захваченном изображении, заданным посредством RGB=(0, 166, 80), с "неправильным" каналом красного, имеющим существенное значение порядка 80. Во избежание таких ситуаций, которые могут привести к потере или ошибочной идентификации вершин символов, варианты осуществления согласно настоящему изобретению предусматривают схему для взаимной оптимизации параметров для выявления цвета, которые описаны выше, с возможностями цветовоспроизведения для устройства, которое непосредственно используется для создания якорей.
Для поддержки такого рода схем предложен способ оценки набора цветов. В способе происходит оценка набора цветов в соответствии с действительным значением RGB элементов мозаики якоря с набором цветов в захваченном изображении, или, в качестве альтернативы, используется цветовое пространство sRGB для прогнозирования этих значений. (Цветовое пространство sRGB определено техническими условиями IEC 61966-2-1:1999 и широко используется для калибровки датчиков цветного изображения и камер.) Затем выбирают набор цветов для символов якоря так, чтобы оптимизировать оценку.
Для вычисления оценки для заданного набора цветов RGBCMY, используют
Например, выбор схемы создания простого цвета на калиброванном принтере SWOP:
- R создается оптической плотностью слоя краски CMYK (0,100%,100%,0)
- G создается оптической плотностью слоя краски CMYK (100%,0,100%,0)
- В создается оптической плотностью слоя краски CMYK (100%,100%,0,0)
- С создается оптической плотностью слоя краски CMYK (100%,0,0,0)
- М создается оптической плотностью слоя краски CMYK (0,100%,0,0)
- Y создается оптической плотностью слоя краски CMYK (0,0,100%,0)
Для камеры, калиброванной в соответствии с техническими условиями sRGB, измеренные значения цвета составляют:
- Захваченное R - (237,28,36)
- Захваченное G - (0,166,80)
- Захваченное В - (46,48,146)
- Захваченное С-(0,173,239)
- Захваченное М-(236,0,140)
- Захваченное Y - (255,242,0)
Эти измерения приводят к следующим большим и малым значениям для каждого цвета:
-
-
-
-
-
-
-
-
-
-
-
-
Для уменьшения ложноположительных результатов при выявлении общей вершины каждое пороговое значение
Установка δ до максимального значения 255 (предполагая восьмибитное представление цвета) легко удерживает оценку в диапазоне от 0 до 1.
Строгий выбор значений
Две оценки объединены в одну оптимальную оценку:
S≡S надежность *S интенсивность
Для каждого из средств, применяющихся для создания цвета якоря, выполняют процесс оптимизации вышеуказанной оценки для получения наилучшего набора цветов для создания якоря.
Для вышеуказанной простой схемы создания цвета якоря оптимальная оценка не может быть рассчитана точно, поскольку при вычислении:
нарушено правило сложения диапазонов
Ниже, в таблицах I и II приведены результаты оптимизации схемы создания цвета якоря для двух различных видов чернил для печати с целью минимизации
Таким образом, как можно увидеть из вышеприведенных примеров, применение вышеизложенного критерия оценки при выборе соотношений голубого, пурпурного и желтого пигментов для нанесения на подложку приводит к символам, цветовые элементы которых (многоугольные элементы мозаики согласно настоящему примеру) могут быть однозначно определены в изображении символа как красный, зеленый, синий, голубой, пурпурный или желтый цветовые элементы. Одна причина заключается в том, что при измерении в цветовом пространстве sRGB красный, зеленый и синий цветовые элементы имеют соответствующую красную, зеленую или синюю интенсивность, которая более чем в два раза больше интенсивностей других основных цветов RGB. Аналогично, для голубых цветовых элементов как синяя, так и зеленая интенсивности более чем в два раза больше красной интенсивности; для пурпурных цветовых элементов как красная, так и синяя интенсивности более чем в два раза больше зеленой интенсивности; и для желтых цветовых элементов как красная, так и зеленая интенсивности более чем в два раза больше синей интенсивности. Как результат, малые значения
Другим предпочтительным результатом использования вышеописанного критерия оценки является то, что все значения интенсивности итоговых цветов сгруппированы вокруг либо очень малых значений, либо очень больших значений, но не между ними. Например, значения синего sRGB в таблице I находятся в пределах либо диапазона 61±1, либо диапазона 151±2. Известные из уровня техники цветовые схемы не проявляют такого свойства. При использовании вышеуказанной оценки надежности наборы цветов в общем могут быть определены, так что составляющая Sнадежность,
Как указано ранее, несмотря на то, что вышеуказанные цветовые схемы в данном документе описаны более конкретно со ссылками на способы кодирования на основе вершин с использованием окрашенных многоугольных элементов мозаики, подобные виды схем также могут быть использованы при создании других видов цветовых элементов, которые используются в других схемах кодирования на основе цвета.
Выбор пигментов для использования при создании якорей может быть оптимизирован посредством использования цветового пространства sRGB для вычисления цветового решения, с учетом известных спектральных свойств массива цветных фильтров (CFA) и датчика изображения, которые используются в распространенных смартфонах и других мобильных вычислительных устройствах. Изобретатели обнаружили, что несмотря на то, что различные производители используют различные CFA, пересечения между амплитудно-частотными характеристиками зеленого фильтра и синего фильтра приблизительно при 500 нм (т.е., длина волны, при которой затухание зеленого фильтра равно затуханию синего фильтра), и между амплитудно-частотными характеристиками зеленого фильтра и красного фильтра приблизительно при 580 нм (длина волны, при которой затухание зеленого фильтра равно затуханию красного фильтра), практически одинаковы среди всех основных производителей. Эти спектральные точки пересечения не чувствительны к изменению освещенности.
Две устойчивые точки пересечения при 500 нм и 580 нм определяют набор из шести цветов в соответствии с их спектральной отражательной способностью:
"красный" -
"зеленый" -
"синий" -
"голубой" -
"пурпурный" -
"желтый" -
Выбор комбинации пигментов со свойствами, максимально возможно близкими к свойствам, определенным вышеизложенными формулами, предоставляет цвета якоря, которые максимально увеличивают разницу между значениями R, G и В в изображении якоря. Конкретнее, для каждого РСС R, G и В, CК оптимизировано с точки зрения максимального отличия от красный-зеленый и красный-синий; CG оптимизировано с точки зрения максимального отличия от зеленый-красный и зеленый-синий; CB оптимизировано с точки зрения максимального отличия синий-красный и синий-зеленый; "голубое" CC оптимизировано с точки зрения максимального отличия зеленый-красный и синий-красный; "пурпурное" СM оптимизировано с точки зрения максимального отличия красный-зеленый и синий-зеленый; и "желтое" СYоптимизировано с точки зрения максимального отличия красный-синий и зеленый-синий. Поскольку обычный диапазон длин волн для чувствительности датчика ограничен 390 nm<λ<680 nm (вследствие инфракрасного обрезания), спектральные характеристики набора цветов для якоря также ограничены этим диапазоном.
При создании якорей желательно, чтобы якоря проявляли диффузную отражательную способность (матовая поверхность), что минимизирует влияние зеркальных отражений. В качестве альтернативы, в плохих условиях освещения якорь может быть покрыт световозвращающим покрытием, таким как светоотражающее прозрачное покрытие, изготовленное микроскопических стеклянных гранул с высоким коэффициентом преломления. Когда луч света, такого как свет, созданный вспышкой камеры, попадает на поверхность якоря, поверхность отражает назад основные цвета якоря.
Как отмечено ранее, вышеуказанный выбор цветов подходит не только для вида многоугольных мозаичных символов, описанные ранее, на также для других видов машиночитаемых символов на основе цвета. Таким образом, следует принять во внимание, что вышеописанные варианты осуществления упомянуты в качестве примера, и что настоящее изобретение не ограничено тем, что подробно показано и описано выше. Наоборот, объем настоящего изобретения включает как комбинации, так и субкомбинации различных признаков, описанных выше, а также его изменений и вариаций, которые могут прийти в голову специалисту в области техники при прочтении вышеупомянутого описания и которые не описаны в уровне техники.
Группа изобретений относится к технологиям кодирования/декодирования машиночитаемых символов. Техническим результатом является повышение эффективности кодирования/декодирования цифровых значений изображения. Предложен способ кодирования цифровых значений изображения. Способ содержит этап, на котором осуществляют установление цифрового значения изображения. Далее согласно способу предоставляют символ, содержащий несколько многоугольников, сходящихся в общей вершине и имеющих различные соответствующие цвета, которые не включают черный и белый и выбраны так, чтобы кодировать установленное цифровое значение изображения. При этом цифровое значение изображения кодируют посредством присвоения каждому цвету трехразрядного кода, содержащего соответствующие бинарные значения, представляющие три основные составляющие цвета цветов многоугольников, и комбинирования цифровых кодов для задания установленного цифрового значения изображения. 5 н. и 13 з.п. ф-лы, 8 ил., 2 табл.