СПОСОБ И УСТРОЙСТВО ФОРМИРОВАНИЯ ИЗОБРАЖЕНИЯ Российский патент 2020 года по МПК G06K19/06 G06F21/64 

Описание патента на изобретение RU2713859C1

Испрашивание приоритета

Эта заявка испрашивает приоритет китайской патентной заявки № 201710076533.1, поданной 13 февраля 20017 года, полное содержание которой, таким образом, содержится по ссылке.

Область техники, к которой относится изобретение

Настоящая заявка относится к области технологий графических изображений и, в частности, к способу и устройству формирования изображения.

Предшествующий уровень техники

Двумерный код, также известный как двумерный штрих–код, записывает данные символьной информации с помощью графического изображения чередующихся штрихов/промежутков, сформированного посредством конкретного типа геометрических графических изображений, распределенных на плоскости (двумерное направление) согласно конкретному правилу. Двумерный код имеет такие отличительные признаки как большая информационная емкость, широкий диапазон кодирования, сильную устойчивость к ошибкам и высокую надежность декодирования, и дополнительно имеет преимущества, такие как низкие затраты и легкость производства. Следовательно, двумерные коды широко применяются в жизни людей.

С развитием Интернета и популяризацией мобильных терминалов двумерные коды можно встретить повсюду в повседневной жизни. Например, продавец может размещать двумерный код оплаты при расчете, и пользователь может сканировать двумерный код оплаты с помощью функции сканирования двумерного кода в приложении. В качестве другого примера, при продвижении товара, продавец может размещать двумерный код загрузки приложения в относительно многолюдных местах (таких как метро или торговый центр), чтобы привлекать внимание проходящих людей для сканирования двумерного кода и загрузки приложения. Следовательно, продавец или третья сторона должна предоставить аутентичный и действительный двумерный код для пользователей.

В настоящее время существует такой риск, что двумерный код, напечатанный продавцом, может быть заменен. Однако, когда двумерный код является абстрактным, продавец, в основном, не может распознавать замену невооруженным глазом. На предшествующем уровне техники продавец может использовать камеру мобильного телефона, чтобы определять, заменен ли двумерный код. В этом процессе мобильный телефон, имеющий функцию сканирования, дополнительно нуждается в доступе к сети. Следовательно, изобретатель настоящего изобретения находит, что является необходимым техническое решение для проверки действительности двумерного кода без сети.

Информация выше представляется просто в качестве информации об уровне техники, чтобы помочь пониманию настоящего изобретения. Еще не решено или не изложено, может ли какая–либо из информации, упомянутой выше, быть применена в качестве предшествующего уровня техники для настоящего изобретения.

Сущность изобретения

Главной целью настоящего изобретения является предоставление способа и устройства для формирования изображения, с тем, чтобы решать проблему проверки двумерного кода автономно на предшествующем уровне техники.

Аспект настоящего изобретения предоставляет способ формирования изображения, включающий в себя разбор исходного двумерного кода в двумерный массив; и формирование изображения с помощью двумерного массива согласно предварительно заданному шаблону.

Другой аспект настоящего изобретения предоставляет устройство формирования изображения, включающее в себя блок разбора, сконфигурированный, чтобы выполнять разбор двумерного кода в двумерный массив; и блок формирования, сконфигурированный, чтобы формировать изображение с помощью двумерного массива согласно предварительно заданному шаблону.

По сравнению с предшествующим уровнем техники варианты осуществления настоящего изобретения могут формировать изображение с помощью исходного двумерного кода на основе предварительно заданного шаблона, тем самым, проверяя исходный двумерный код с помощью изображения. Таким образом, может быть решено, когда нет доступной сети, искажен ли двумерный код. Настоящее изобретение имеет многочисленные сценарии использования, не ограничивается сетями или мобильными терминалами и делает проверку двумерного кода более интересной.

Краткое описание чертежей

Сопровождающие чертежи, описанные в данном документе, используются, чтобы обеспечивать дополнительное понимание настоящей заявки, и составляют часть настоящей заявки. Схематические варианты осуществления настоящей заявки и их описание используются для иллюстрации настоящей заявки и не составляют какое–либо неправильное ограничение на настоящую заявку. На прилагаемых чертежах:

Фиг. 1 – это блок–схема последовательности операций способа формирования изображения согласно варианту осуществления настоящего изобретения;

Фиг. 2A–2C – это схематичные чертежи обработки двумерного кода согласно варианту осуществления настоящего изобретения;

Фиг. 3 – это подробная блок–схема последовательности операций этапа 120 в способе формирования изображения на фиг. 1;

Фиг. 4A–4C – это схемы результатов применения способа формирования изображения согласно варианту осуществления настоящего изобретения;

Фиг. 5 – это блок–схема устройства формирования изображения согласно варианту осуществления настоящего изобретения; и

Фиг. 6 – это блок–схема электронного устройства согласно варианту осуществления настоящего изобретения.

Фиг. 7 – это блок–схема последовательности операций, иллюстрирующая пример компьютерно–реализованного способа для формирования шаблона изображения для проверки 2D–кода, согласно реализации настоящего изобретения.

Подробное описание вариантов осуществления

Чтобы делать цели, технические решения и преимущества настоящей заявки яснее, технические решения настоящей заявки описываются более подробно со ссылкой на конкретные варианты осуществления настоящей заявки и сопровождающие чертежи. Очевидно, описываемые варианты осуществления являются просто некоторыми, а не всеми вариантами осуществления настоящей заявки. Все другие варианты осуществления, полученные обычными специалистами в области техники без творческих усилий, принадлежат рамкам защиты настоящей заявки.

В последующем, варианты осуществления будут описаны в дополнительных подробностях со ссылкой на сопровождающие чертежи. Идентичные номера ссылок всегда представляют идентичные элементы.

Способ формирования изображения, предоставленный в вариантах осуществления настоящего изобретения, может быть выполнен посредством устройства формирования изображения, и устройство формирования изображения может быть любым электронным устройством, имеющим функцию вычисления и обработки данных и функцию хранения. В настоящем изобретении электронное устройство может включать в себя, но не только, любое из следующих устройств, имеющих блок вывода: персональный компьютер (PC), мобильное устройство (такое как сотовый телефон, персональный цифровой помощник (PDA), цифровая камера, портативная игровая консоль, MP3–проигрыватель, портативный/персональный мультимедийный проигрыватель (PMP), карманная электронная книга, планшетный PC, переносной портативный PC и навигатор системы глобального позиционирования (GPS), интеллектуальный ТВ и т.п.

Фиг. 1 – это блок–схема последовательности операций способа формирования изображения согласно варианту осуществления настоящего изобретения.

На этапе 110 исходный двумерный код разбирается в двумерный массив, где двумерный массив ссылается на массив кодирования, состоящий из "0" и "1".

Двумерный код может использовать черно–белый матричный шаблон, чтобы выражать "0" и "1" в двоичных данных. Другими словами, данные двумерного кода могут быть сформированы из информации с помощью алгоритма кодирования для двумерного кода (такого как алгоритм кода быстрого реагирования (QR–кода)), и значение 1 в сформированных данных двумерного кода представляются черным цветом, а значение 0 представляется белым цветом. Следовательно, наоборот, черный цвет в исходном двумерном коде может быть представлен значением 1, а белый цвет в исходном двумерном коде может быть представлен значением 0. Согласно вышеописанному способу, двумерный код разбирается линия за линией в двумерный массив, состоящий из "0" и "1".

Следует отметить, что исходный двумерный код может быть электронным двумерным кодом или может быть физическим двумерным кодом, который печатается согласно электронному двумерному коду и размещается во внешнем мире. Если исходный двумерный код является электронным двумерным кодом, черный цвет в электронном двумерном коде представляется значением 1, а белый цвет представляется значением 0, таким образом, получая двумерный массив, соответствующий электронному двумерному коду. Если двумерный код является физическим двумерным кодом, электронный двумерный код, соответствующий двумерному физическому коду, может быть найден, и затем электронный двумерный код обрабатывается вышеупомянутым образом. Альтернативно, изображение двумерного кода может быть захвачено, и затем изображение двумерного кода преобразуется в двоичное изображение, таким образом, получая двумерный массив, соответствующий двоичному изображению.

Может быть видно, что способ формирования изображения согласно настоящему изобретению не только может формировать изображение, соответствующее электронному двумерному коду, заранее, но также может формировать изображение, соответствующее физическому двумерному коду, впоследствии, когда требуется. Например, во время формирования электронного двумерного кода, продавец может формировать шаблон, соответствующий электронному двумерному коду согласно предварительно заданному шаблону. Альтернативно, после размещения двумерного кода на доске объявлений, продавец может задавать предварительно определенный шаблон и формировать шаблон согласно физическому двумерному коду. Таким образом, двумерный код на доске объявлений может быть проверен с помощью сформированного шаблона.

Как показано на фиг. 2A, фиг. 2A представляет исходный двумерный код. Посредством разбора исходный двумерный код может быть разобран в двумерный массив следующим образом:

[1,0,1,0]

[1,0,0,1]

[0,0,1,0]

[0,1,0,0]

Затем, на этапе 120, изображение формируется с помощью двумерного массива согласно предварительно заданному шаблону. Предварительно заданный шаблон является шаблоном, предварительно заданным пользователем. Специалисты в области техники должны понимать, что пользователь может ссылаться на научно–исследовательский персонал в фазе исследования и разработки, технический персонал во время эксплуатационной подготовки, фактического пользователя или т.п. Предварительно заданный шаблон может быть простым шаблоном, легко распознаваемым человеческими глазами, например, улыбающимся лицом, текстом и т.д. Предпочтительно, предварительно заданный шаблон является черно–белым изображением, так что пикселы в изображении могут быть идентифицированы с помощью значений 0 и 1. Предположим, что предварительно заданный шаблон является цветным изображением, контур цветного изображения может быть выделен согласно алгоритму выделения контура. Контурная линия представляется с помощью значения 1, а другие области представляются с помощью значения 0. Альтернативно, цветное изображение может быть преобразовано в изображение в оттенках серого, и затем изображение в оттенках серого преобразуется в двоичное изображение. Обращаясь к фиг. 2B, шаблон на фиг. 2B является предварительно заданным шаблоном. Теперь этап 120 будет описан подробно со ссылкой на фиг. 3.

Затем, на этапе 310, предварительно заданный шаблон разбирается в двоичное изображение. Необязательно, размер предварительно заданного шаблона может быть преобразован, чтобы быть таким же, что и размер исходного двумерного кода. Если их размеры различаются, предварительно заданный шаблон может быть увеличен или уменьшен в масштабе соответствующим образом. Например, если размер предварительно заданного шаблона равен 5*5, предварительно заданный шаблон может быть увеличен в масштабе до 25*25, т.е., каждый пиксел укрупняется и представляется с помощью пяти пикселов, имеющих одинаковое значение. Разумеется, размер двумерного кода может также быть увеличен или уменьшен в масштабе, когда требуется. Таким образом, битовая операция может быть выполнена по элементам в двумерной матрице, соответствующей исходному двумерному коду, с помощью предварительно заданного шаблона. Таким образом, шаблон на фиг. 2B может быть разобран следующим образом:

[0,0,1,0]

[0,0,1,0]

[0,0,1,0]

[1,1,1,1]

Другими словами, черный цвет в каждом пикселе в предварительно заданном шаблоне может быть разобран, чтобы быть 1, а белый цвет разбирается, чтобы быть 0. Таким образом, предварительно заданный шаблон разбирается в двоичное изображение.

Далее, на этапе S320, битовая операция выполняется по значению соответствующего элемента в двумерном массиве согласно пиксельному значению каждого пиксела в двоичном изображении. В частности, в случае, когда пиксельное значение пиксела в двоичном изображении равно 0, если значение соответствующего элемента в двумерном массиве равно 1, соответствующее значение изменяется в 0, а если значение соответствующего элемента в двумерном массиве равно 0, соответствующее значение изменяется на значение null.

В случае, когда пиксельное значение для пиксела в двоичном изображении равно 1, если значение соответствующего элемента в двумерном массиве равно 1, соответствующее значение изменяется на значение null, а если значение соответствующего элемента в двумерном массиве равно 0, соответствующее значение изменяется в 1.

На этапе S330 изображение формируется согласно результату битовой операции. В частности, двумерный массив может быть сначала сформирован согласно результату битовой операции. Затем, двумерный массив преобразуется в изображение согласно следующему правилу: в новом двумерном массиве значение 0 элемента представляет белый цвет, значение null элемента представляет прозрачность, а значение 1 элемента представляет черный цвет. Например, после того как битовая операция выполняется по исходному двумерному коду, показанному на фиг. 2A согласно этапу S320, следующий двумерный массив формируется:

[0,null,null,null]

[0,null,1,0]

[null,null,null,null]

[1,null,1,1]

Затем, в новом двумерном массиве, значение 0 элемента представляет белый цвет, значение null элемента представляет прозрачность, а значение 1 элемента представляет черный цвет. Двумерный массив, описанный выше, преобразуется в изображение, как показано на фиг. 2C.

В альтернативном варианте осуществления изображение может быть выведено на прозрачный носитель с помощью устройства вывода. Например, изображение может быть напечатано на куске прозрачной бумаги с помощью принтера. Затем, выходное изображение покрывает исходный двумерный код; исходный двумерный код проверяется посредством определения, является ли шаблон, полученный после покрытия, предварительно заданным шаблоном. Если определяется, что шаблон, полученный после покрытия, является предварительно заданным шаблоном, определяется, что исходный двумерный код не изменен. Если определяется, что шаблон, полученный после покрытия, не является предварительно заданным шаблоном, определяется, что исходный двумерный код был изменен. Конкретная операция покрытия будет описана подробно со ссылкой на фиг. 4A–4C и, таким образом, не описывается в данном месте.

Для того, чтобы полностью иллюстрировать действие настоящего изобретения, описание выполняется теперь со ссылкой на фиг. 4A–4C.

Как показано на фиг. 4A–4C, фиг. 4A–4C являются схемами результата применения способа формирования изображения согласно варианту осуществления настоящего изобретения. Фиг. 4A показывает исходный двумерный код. Двумерный код может быть электронным двумерным кодом или может быть физическим двумерным кодом, который печатается согласно электронному двумерному коду и размещается во внешнем мире. Если двумерный код, показанный на фиг. 4A, является электронным двумерным кодом, черный цвет в электронном двумерном коде представляется значением 1, а белый цвет представляется значением 0, таким образом, получая двумерный массив, соответствующий электронному двумерному коду. Если двумерный код, показанный на фиг. 4A, является физическим двумерным кодом, электронный двумерный код, соответствующий двумерному физическому коду, может быть найден, и затем электронный двумерный код обрабатывается вышеупомянутым образом. Альтернативно, изображение двумерного кода может быть захвачено, и затем изображение двумерного кода преобразуется в двоичное изображение, таким образом, получая двумерный массив, соответствующий двоичному изображению.

Может быть видно, что способ формирования изображения согласно настоящему изобретению не только может формировать изображение, соответствующее электронному двумерному коду, заранее, но также может формировать изображение, соответствующее физическому двумерному коду, впоследствии, когда требуется.

Затем, предварительно заданный шаблон может быть определен. Шаблон может быть шаблоном, предварительно заданным пользователем согласно предпочтениям. В этом варианте осуществления предварительно заданный шаблон является улыбающимся лицом.

Затем, изображение, как показано на фиг. 4B, формируется согласно способу формирования изображения настоящего изобретения. В шаблоне, показанном на фиг. 4C, серый цвет представляет значение null, черный цвет представляет 1, и белый цвет представляет 0. Таким образом, после того как шаблон на фиг. 4B печатается на прозрачном материале с помощью устройства вывода, отпечатанный материал может непосредственно покрывать двумерный код, как показано на фиг. 4A. Таким образом, в изображении двумерного кода, цвет в позиции, которая соответствует серому цвету, соответствующему значению null, не изменяется. Другими словами, если цвет пиксела в двумерном коде на фиг. 4A, соответствующего значению null, является черным, цвет пиксела все еще является черным после непосредственного покрытия отпечатанного материала, и если цвет пиксела является белым, его цвет все еще является белым после покрытия. Цвет позиции, которая соответствует белому цвету, соответствующему 0, или черному цвету, соответствующему 1, будет изменен. В частности, если цвет пиксела в двумерном коде на фиг. 4A, соответствующего черному цвету (цвету на отпечатанном материале), является белым, цвет пиксела является черным после непосредственного покрытия отпечатанного материала; если цвет пиксела в двумерном коде на фиг. 4A, соответствующего белому цвету (цвету на отпечатанном материале), является черным, цвет пиксела является белым после непосредственного покрытия отпечатанного материала.

Таким образом, двумерный код на фиг. 4A может быть проверен согласно тому, является ли шаблон после покрытия шаблоном улыбающегося лица. Например, если шаблон после покрытия не является шаблоном улыбающегося лица, это указывает, что двумерный код был искажен, например, заменен или изменен другими. Если шаблон после покрытия все еще является шаблоном улыбающегося лица, это указывает, что двумерный код не изменился.

Как описано выше, способ формирования изображения согласно настоящему изобретению формирует изображение с помощью исходного двумерного кода на основе предварительно заданного шаблона, тем самым, проверяя исходный двумерный код с помощью изображения. Таким образом, может быть решено, когда нет доступной сети, искажен ли двумерный код. Настоящее изобретение имеет многочисленные сценарии использования, не ограничивается сетями или мобильными терминалами и делает проверку двумерного кода более интересной.

Фиг. 5 – это блок–схема устройства формирования изображения согласно варианту осуществления настоящего изобретения.

Специалисты в области техники должны понимать, что структура устройства формирования изображения, показанная на фиг. 5, не ограничивает электронное устройство настоящего изобретения и может включать в себя больше или меньше компонентов по сравнению с компонентами, показанными на чертеже, или некоторые компоненты могут быть объединены, или другая компоновка компонентов может быть применена.

Как показано на фиг. 5, устройство формирования изображения согласно варианту осуществления настоящего изобретения включает в себя блок 510 разбора и блок 520 формирования.

Блок 510 разбора конфигурируется, чтобы разбирать исходный двумерный код в двумерный массив. Исходный двумерный код может быть электронным двумерным кодом или может быть физическим двумерным кодом. Если исходный двумерный код является электронным двумерным кодом, черный цвет в двумерном коде представляется значением 1, а белый цвет представляется значением 0, таким образом, получая двумерный массив, соответствующий исходному двумерному коду. Если двумерный код является физическим двумерным кодом, электронный двумерный код, соответствующий физическому двумерному коду, может быть найден, и затем найденный электронный двумерный код обрабатывается вышеупомянутым образом. Альтернативно, изображение двумерного кода может быть захвачено, и затем изображение двумерного кода преобразуется в двоичное изображение, таким образом, получая двумерный массив, соответствующий двоичному изображению.

Блок 520 формирования конфигурируется, чтобы формировать изображение с помощью двумерного массива согласно предварительно заданному шаблону. Предварительно заданный шаблон является шаблоном, предварительно заданным пользователем.

В альтернативном варианте осуществления блок 520 формирования включает в себя: подблок разбора (не показан), операционный подблок (не показан) и подблок формирования (не показан). Подблок разбора конфигурируется, чтобы разбирать предварительный шаблон в двоичное изображение. Операционный подблок конфигурируется, чтобы выполнять битовую операцию по значению соответствующего элемента в двумерном массиве согласно пиксельному значению каждого пиксела в двоичном изображении. Подблок формирования конфигурируется, чтобы формировать изображение согласно результату битовой операции.

В альтернативном варианте осуществления, перед выполнением обработки с помощью вышеупомянутых подблоков, блок 520 формирования может быть сконфигурирован, чтобы преобразовывать размер предварительно заданного шаблона в такой же, что и размер исходного двумерного кода. Если их размеры различаются, предварительно заданный шаблон может быть увеличен или уменьшен в масштабе соответствующим образом.

В альтернативном варианте осуществления операционный подблок конфигурируется, чтобы выполнять битовую операцию по значению соответствующего элемента в двумерном массиве согласно следующим этапам: в случае, когда пиксельное значение для пиксела в двоичном изображении равно 0, если значение соответствующего элемента в двумерном массиве равно 1, изменение соответствующего значения в 0, или если значение соответствующего элемента в двумерном массиве равно 0, изменение соответствующего значения на значение null; и в случае, когда пиксельное значение пиксела в двоичном изображении равно 1, если значение соответствующего элемента в двумерном массиве равно 1, изменение соответствующего значения на значение null, или если значение соответствующего элемента в двумерном массиве равно 0, изменение соответствующего значения на 1.

В альтернативном варианте осуществления подблок формирования конфигурируется, чтобы формировать новый двумерный массив согласно результату битовой операции; и преобразовывать новый двумерный массив в изображение согласно следующему правилу: в новом двумерном массиве значение 0 элемента представляет белый цвет, значение null элемента представляет прозрачность, а значение 1 элемента представляет черный цвет.

В альтернативном варианте осуществления настоящий шаблон может быть сформирован посредством наложения значений в соответствующих позициях изображения и исходного двумерного кода.

В альтернативном варианте осуществления устройство вывода изображения включает в себя блок вывода (не показан). Блок вывода может выводить изображение на прозрачный носитель с помощью устройства вывода.

Например, после того как изображение напечатано на прозрачном материале с помощью устройства вывода, отпечатанный материал может непосредственно покрывать двумерный код. Таким образом, в изображении двумерного кода, цвет в позиции, которая соответствует серому цвету, соответствующему значению null, не изменяется. Другими словами, если цвет пиксела в двумерном коде, соответствующего значению null, является черным, цвет пиксела все еще является черным после непосредственного покрытия отпечатанным материалом, и если цвет пиксела является белым, его цвет все еще является белым после покрытия. Цвет позиции, которая соответствует белому цвету, соответствующему 0, или черному цвету, соответствующему 1, будет изменен. В частности, если цвет пиксела в двумерном коде, соответствующего черному цвету (цвету на отпечатанном материале), является белым, цвет пиксела является черным после непосредственного покрытия отпечатанного материала; если цвет пиксела в двумерном коде, соответствующего белому цвету (цвету на отпечатанном материале), является черным, цвет пиксела является белым после непосредственного покрытия отпечатанного материала.

Таким образом, двумерный код может быть проверен согласно тому, является ли шаблон после покрытия шаблоном улыбающегося лица. Например, если шаблон после покрытия не является шаблоном улыбающегося лица, это указывает, что двумерный код был искажен, например, заменен или изменен другими. Если шаблон после покрытия все еще является шаблоном улыбающегося лица, это указывает, что двумерный код не изменился.

Как описано выше, устройство формирования изображения согласно настоящему изобретению формирует изображение с помощью исходного двумерного кода на основе предварительно заданного шаблона, тем самым, проверяя исходный двумерный код с помощью изображения. Таким образом, может быть решено, когда нет доступной сети, искажен ли двумерный код. Настоящее изобретение имеет многочисленные сценарии использования и не ограничиваются сетями или мобильными терминалами.

Фиг. 6 показывает блок–схему электронного устройства, которое выполняет алгоритм формирования изображения согласно примерному варианту осуществления настоящего изобретения. Обращаясь к фиг. 6, на уровне аппаратных средств, электронное устройство включает в себя процессор, внутреннюю шину, сетевой интерфейс, память и энергонезависимое запоминающее устройство. Определенно, электронное устройство может дополнительно включать в себя другие аппаратные средства, требуемые службами. Процессор считывает соответствующую компьютерную программу с энергонезависимого запоминающего устройства в память и запускает компьютерную программу, чтобы формировать оборудование для снимка экрана веб–страницы на логическом уровне. Определенно, в дополнение к программной реализации, настоящая заявка не исключает других реализаций, таких как логические устройства или программное обеспечение и аппаратные средства объединенным образом. Другими словами, последующая процедура обработки не ограничивается выполнением различных логических блоков и может также быть выполнена посредством аппаратных средств или логических устройств.

В 1990–е улучшение технологии могло быть очевидно распознано как улучшение в аппаратных средствах (например, улучшение в схемной структуре, такой как диод, транзистор и переключатель) или улучшение в программном обеспечении (улучшение в процедуре способа). Однако, с развитием технологий, улучшения множества процедур способов в настоящее время могут рассматриваться как непосредственные улучшения в схемных структурах аппаратных средств. Почти все разработчики программируют улучшенные процедуры способа в аппаратных схемах, чтобы получать соответствующие схемные структуры аппаратных средств. Следовательно, неправильно предполагать, что улучшение процедуры способа не может быть реализовано с помощью модуля–объекта аппаратных средств. Например, программируемое логическое устройство (PLD) (например, программируемая пользователем вентильная матрица (FPGA)) является такой интегральной схемой, чьи логические функции определяются устройствами, программируемыми пользователем. Разработчики программируют сами по себе, чтобы "интегрировать" цифровую систему в часть PLD, без необходимости просить производителя микросхем проектировать и изготавливать специализированный кристалл интегральной схемы. Кроме того, в настоящее время, программирование, главным образом, реализуется с помощью программного обеспечения логического компилятора, вместо ручного производства кристалла интегральной схемы. Программное обеспечение логического компилятора является аналогичным компилятору программного обеспечения для разработки и написания программы, и исходный код перед компиляцией также нуждается в написании с помощью особого языка программирования, который называется языком описания аппаратных средств (HDL). Существует множество типов HDL, таких как усовершенствованный язык булевых выражений (ABEL), язык описания аппаратных средств Altera (AHDL), Confluence, язык программирования Корнелльского университета (CUPL), HDCal, язык описания аппаратных средств Java (JHDL), Lava, Lola, MyHDL, PALASM и язык описания аппаратных средств Ruby (RHDL), среди которых язык описания аппаратных средств на быстродействующих интегральных схемах (VHDL) и Verilog чаще всего используются в настоящее время. Специалисты в области техники также должны знать, что схема аппаратных средств для реализации логической процедуры способа может быть легко получена посредством легкого логического программирования процедуры способа с помощью вышеупомянутых нескольких языков описания аппаратных средств и программирования его в интегральную схему.

Контроллер может быть реализован любым подходящим образом. Например, контроллер может быть в форме, например, микропроцессора или процессора и компьютерно–читаемого носителя, хранящего компьютерно–читаемый программный код (например, программное обеспечение или микропрограммное обеспечение), исполняемый (микро)процессором, логического вентиля, переключателя, специализированной интегральной схемы (ASIC), программируемого логического контроллера и встроенного микроконтроллера. Примеры контроллера включают в себя, но не только, следующие микроконтроллеры: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 и Silicone Labs C8051F320. Контроллер памяти может также быть реализован как часть логики управления памяти. Специалисты в области техники также знают, что контроллер может быть реализован с помощью чисто компьютерного читаемого программного кода, и кроме того, этапы способа могут быть логически запрограммированы, чтобы предоставлять возможность контроллеру реализовывать ту же функцию в форме логического вентиля, переключателя, специализированной интегральной схемы, программируемого логического контроллера и встроенного микроконтроллера. Следовательно, этот тип контроллера может рассматриваться как компонент аппаратных средств, и оборудования, включенные в него для реализации различных функций, могут также рассматриваться в качестве структур внутри компонента аппаратных средств. Или оборудования, используемые для реализации различных функций, могут даже рассматриваться в качестве как модулей программного обеспечения для реализации способа, так и структур внутри компонента аппаратных средств.

Система, оборудование, модуль или блок, иллюстрированные в вышеупомянутых вариантах осуществления, могут быть, в частности, реализованы с помощью компьютерной микросхемы или объекта, или продукта, имеющего некоторую функцию. Типичное устройство для реализации является компьютером. В частности, компьютер может быть, например, персональным компьютером, портативным компьютером, сотовым телефоном, камерофоном, смартфоном, персональным цифровым помощником, мультимедийным проигрывателем, навигационным устройством, устройством электронной почты, игровой консолью, планшетным компьютером, носимым устройством или сочетанием любых из этих устройств.

Для легкости описания, когда описывается оборудование, оно делится на различные блоки с точки зрения функций для соответствующих описаний. Определенно, когда настоящая заявка реализуется, функции блоков могут быть реализованы в одних и тех же или множественных частях программного обеспечения и/или аппаратных средств.

Специалисты в области техники должны понимать, что варианты осуществления настоящего изобретения могут быть предоставлены как способ, система или компьютерный программный продукт. Следовательно, настоящее изобретение может быть реализовано как полностью аппаратный вариант осуществления, полностью программный вариант осуществления или вариант осуществления, объединяющий программное обеспечение и аппаратные средства. Кроме того, настоящее изобретение может быть компьютерным программным продуктом, реализованным на одном или более используемых компьютером носителях хранения (включающих в себя, но не только, память на магнитных дисках, CD–ROM, оптическую память и т.п.), включающих в себя используемый компьютером программный код.

Настоящая заявка описывается со ссылкой на блок–схемы последовательности операций и/или блок–схемы согласно способу, устройству (системе) и компьютерному программному продукту согласно вариантам осуществления настоящего изобретения. Следует понимать, что компьютерная программная инструкция может быть использована, чтобы реализовать каждый процесс и/или блок в блок–схемах последовательности операций и/или блок–схемах и сочетания процессов и/или блоков в блок–схемах последовательности операций и/или блок–схемах. Эти компьютерные программные инструкции могут быть предоставлены для компьютера общего назначения, специализированного компьютера, встроенного процессора или процессора любого другого программируемого устройства обработки данных, чтобы создавать автомат, так что инструкции, исполняемые компьютером или процессором любого другого программируемого устройства обработки данных, создают оборудование для реализации конкретной функции в одном или более процессах в блок–схемах последовательности операций и/или в одном или более блоках в блок–схемах.

Эти компьютерные программные инструкции могут также быть сохранены в компьютерно–читаемой памяти, которые могут инструктировать компьютеру или любому другому программируемому устройству обработки данных работать особым образом, так что инструкции, сохраненные в компьютерно–читаемой памяти, создают изделие, которое включает в себя инструктирующее оборудование. Инструктирующее оборудование реализует особую функцию в одном или более процессах в блок–схемах последовательности операций и/или в одном или более блоках в блок–схемах.

Эти компьютерные программные инструкции могут дополнительно быть загружены в компьютер или другое программируемое устройство обработки данных, так что последовательность операций и этапов выполняются на компьютере или другом программируемом устройстве, таким образом, создавая компьютерно–реализованную обработку. Следовательно, инструкции, исполняемые на компьютере или другом программируемом устройстве, предоставляют этапы для реализации указанной функции в одном или более процессах в блок–схемах последовательности операций и/или в одном или более блоках в блок–схемах.

В типичной конфигурации вычислительное устройство включает в себя один или более центральных процессоров (CPU), I/O–интерфейс, сетевой интерфейс и память.

Память может включать в себя компьютерно–читаемые носители, такие как энергозависимая память, оперативное запоминающее устройство (RAM), и/или энергонезависимая память, например, постоянное запоминающее устройство (ROM) или флеш–RAM. Память является примером компьютерно–читаемого носителя.

Компьютерно–читаемый носитель включает в себя энергонезависимые и энергозависимые носители, также как съемные и несъемные носители, и может реализовывать хранение информации посредством любого способа или технологии. Информация может быть компьютерно–читаемой инструкцией, структурной данных и модулем программы или другими данными. Носитель хранения компьютера включает в себя, например, но не только, память на фазовых переходах (PRAM), статическое оперативное запоминающее устройство (SRAM), динамическое оперативное запоминающее устройство (DRAM), другие типы RAM, ROM, электрически стираемое программируемое постоянное запоминающее устройств (EEPROM), флеш–память или другие технологии памяти, оперативное запоминающее устройство на компакт–дисках (CD–ROM), цифровой универсальный диск (DVD) или другие оптические запоминающие устройства, кассетную ленту, запоминающее устройство на магнитной ленте/магнитном диске или другие магнитные запоминающие устройства или любой другой не являющийся средой передачи носитель, и может быть использован для хранения информации, к которой осуществляет доступ вычислительное устройство. Согласно определению этого текста, компьютерно–читаемый носитель не включает в себя временные носители, такие как модулированный информационный сигнал и несущая.

Следует дополнительно отметить, что термин "включает в себя", "содержит" или другие их варианты предназначаются, чтобы охватывать неэксклюзивное включение, так что процесс, способ, продукт или устройство, включающие в себя последовательность элементов, не только включают в себя элементы, но также включают в себя другие элементы, явно не перечисленные, или дополнительно включают в себя неотъемлемые элементы процесса, способа, продукта или устройства. В случае без каких–либо дополнительных ограничений, элемент, определенный как "включающий в себя…", не исключает того, что процесс, способ, продукт или устройство, включающий в себя элемент, дополнительно имеет другие идентичные элементы.

Специалисты в области техники должны понимать, что варианты осуществления настоящей заявки могут быть предоставлены как способ, система или компьютерный программный продукт. Следовательно, настоящая заявка может быть реализована как полностью аппаратный вариант осуществления, полностью программный вариант осуществления или вариант осуществления, объединяющий программное обеспечение и аппаратные средства. Кроме того, настоящая заявка может быть в форме компьютерного программного продукта, реализованного на одном или более используемых компьютером носителях хранения (включающих в себя, но не только, запоминающее устройство на магнитном диске, CD–ROM, оптическую память и т.п.), включающих в себя используемые компьютером программные коды.

Настоящая заявка может быть описана в общем контексте компьютерно–исполняемой инструкции, исполняемой компьютером, например, программного модуля. В целом, программный модуль включает в себя алгоритм, программу, объект, ассемблированную программу, структуру данных и т.п., используемые для выполнения конкретной задачи или реализации конкретного абстрактного типа данных. Настоящая заявка может также быть реализована в распределенных вычислительных окружениях и в распределенных компьютерных окружениях, задача выполняется с помощью удаленных устройств обработки, соединенных через сеть связи. В распределенном компьютерном окружении программный модуль может быть расположен на локальных и удаленных компьютерных носителях хранения, включающих в себя запоминающее устройство.

Варианты осуществления в описании описываются постепенно, идентичные или аналогичные части вариантов осуществления могут быть получены со ссылкой друг на друга, и каждый вариант осуществления выделяет часть, отличную от других вариантов осуществления. В частности, вариант осуществления системы, в основном, является аналогичным варианту осуществления способа, таким образом, он описывается просто, а что касается связанных частей, ссылка может быть выполнена на описания частей в варианте осуществления способа.

Вышеприведенные описания являются просто вариантами осуществления настоящей заявки и не предназначены, чтобы ограничивать настоящую заявку. Для специалистов в области техники настоящая заявка может иметь различные модификации и варианты. Любая модификация, эквивалентная замена, улучшение или т.п., выполненные без отступления от духа и принципа настоящей заявки, все должны попадать в рамки формулы настоящей заявки.

Фиг. 7 – это блок–схема последовательности операций, иллюстрирующая пример компьютерно–реализованного способа 700 для формирования шаблона изображения для проверки 2D–кода, согласно реализации настоящего изобретения. Для ясности представления, описание, которое следует, в общем, описывает способ 700 в контексте других чертежей в этом описании. Тем не менее, следует понимать, что способ 700 может осуществляться, например, посредством любой системы, окружения, программного обеспечения и аппаратных средств либо комбинации систем, окружений, программного обеспечения и аппаратных средств, надлежащим образом. В некоторых реализациях, различные этапы способа 700 могут выполняться параллельно, в комбинации, циклически или в любом порядке.

На этапе 710 2D–код разбирается, чтобы идентифицировать множество черных пикселов и множество белых пикселов. Например, фиг. 2A показывает примерный 2D–код. Черные и белые пикселы могут быть представлены черными и белыми квадратами, показанными на фиг. 2A. От 710, способ 700 переходит к 720.

На этапе 720 множество черных пикселов и множество белых пикселов 2D–кода преобразуются в первое множество двоичных массивов, при этом множество черных пикселов и множество белых пикселов соответствует различным двоичным цифрам на основе предварительно определенного правила. Например, первое предварительно определенное правило может быть преобразованием черных пикселов в двоичную цифру "1" и преобразованием белых пикселов в двоичную цифру "0". Второе предварительно определенное правило может быть преобразованием черных пикселов в двоичную цифру "0" и преобразованием белых пикселов в двоичную цифру "1". С помощью первого предварительно определенного правила в качестве примера 2D–код, показанный на фиг. 2A, может быть преобразован в следующие двоичные массивы:

[1,0,1,0],

[1,0,0,1],

[0,0,1,0], и

[0,1,0,0].

В некоторых случаях каждый двоичный массив может соответствовать линии пикселов в 2D–коде, и каждая двоичная цифра в двоичном массиве может иметь соответствие один к одному с соответствующим пикселом в 2D–коде. От 720, способ 700 переходит к 730.

На этапе 730 целевое изображение разбирается, чтобы идентифицировать множество черных пикселов и множество белых пикселов. Целевое изображение может быть изображением, которое включает в себя предварительно определенный шаблон, который является легко распознаваемым, таким как буква, улыбающееся лицо или другие правильные формы. В некоторых случаях суммарное число пикселов, идентифицированных посредством разбора целевого изображения, является таким же, что и число пикселов в 2D–коде. В некоторых случаях суммарное число пикселов, идентифицированных посредством разбора целевого изображения, может отличаться от числа пикселов в 2D–коде. Пикселы в целевом изображении могут затем быть преобразованы с понижением или преобразованы с повышением, чтобы соответствовать числу пикселов в 2D–коде. Например, если 2D–код состоит из 5х5 пикселов, но целевое изображение состоит из 25х25 пикселов, целевое изображение может быть преобразовано с понижением в аналогичный шаблон, состоящий из 5х5 пикселов. От 730, способ 700 переходит к 740.

На этапе 740 множество черных пикселов и множество белых пикселов целевого изображения преобразуются во второе множество двоичных массивов на основе предварительно определенного правила. Другими словами, множество черных пикселов целевого изображения преобразуются в ту же двоичную цифру, что и множество черных пикселов 2D–кода, и множество белых пикселов изображения преобразуются в ту же двоичную цифру, что и множество белых пикселов 2D–кода на основе предварительно определенного правила. С помощью изображения, показанного на фиг. 2B, в качестве примерного целевого изображения 200b, изображение имеет предварительно определенный шаблон из 4х4 черных и белых пикселов. Предположим, что предварительно определенное правило должно преобразовывать черные пикселы в двоичную цифру "1" и преобразовывать белые пикселы в двоичную цифру "0", пикселы в изображении тогда преобразуются в следующие двоичные массивы:

[0,0,1,0],

[0,0,1,0],

[0,0,1,0], и

[1,1,1,1].

Двоичные массивы, преобразованные из целевого изображения, используются, чтобы формировать аутентифицирующее изображение, которое может быть использовано для проверки аутентичности 2D–кода. От 740, способ 700 переходит к 750.

На этапе 750, по меньшей мере, доля первого множества двоичных массивов и доля второго множества двоичных массивов сравниваются. Например, двоичные массивы, преобразованные из 2D–кода 200a, как показано на фиг. 2A, могут быть сравнены с двоичными массивами, преобразованными из целевого изображения 200b, показанного на фиг. 2B. Сравнение может быть побитным. Т.е., каждая двоичная цифра в двоичных массивах, преобразованных из 200a, сравнивается с соответствующей двоичной цифрой в той же позиции в двоичных массивах, преобразованных из 200b. Например, рассмотрим оба двоичных массива как матрицу 4х4, тогда каждый элемент в первой матрице сравнивается с соответствующим элементом во второй матрице, которая имеет то же число строк и столбцов.

На этапе 750 первое множество двоичных цифр, по меньшей мере, доли первого множества двоичных массивов, которые отличаются от соответствующих двоичных цифр, по меньшей мере, доли второго множества двоичных массивов, изменяются на те же двоичные цифры, что и соответствующие двоичные цифры, по меньшей мере, доли второго множества двоичных массивов, и измененные двоичные цифры преобразуются во множество черных пикселов и множество белых пикселов на основе предварительно определенного правила. Чтобы формировать аутентифицирующее изображение для аутентификации 2D–кода, массив данных может быть получен из первых двоичных массивов, соответствующих 2D–коду, посредством сравнения со вторыми двоичными массивами, соответствующими целевому изображению. Если двоичная цифра в первых двоичных массивах отличается от соответствующей двоичной цифры во вторых двоичных массивах, двоичная цифра в первых двоичных массивах изменяется на такую же, что и соответствующая двоичная цифра во вторых двоичных массивах. В некоторых случаях, массивы данных, соответствующие аутентифицирующему изображению, могут быть непосредственно сформированы посредством сравнения первых двоичных массивов со вторыми двоичными массивами. В таких случаях, когда двоичная цифра в первых двоичных массивах отличается от соответствующей двоичной цифры во вторых двоичных массивах, двоичная цифра во вторых двоичных массивах применяется, чтобы заполнять соответствующую позицию в массивах данных. От 750, способ 700 переходит к 760.

На этапе 760 второе множество двоичных цифр, по меньшей мере, доли первого множества двоичных массивов, которые являются такими же, что и соответствующие двоичные цифры, по меньшей мере, доли второго множества двоичных массивов, преобразуются во множество прозрачных пикселов. В некоторых случаях, двоичная цифра в первых двоичных массивах является такой же, что и соответствующая двоичная цифра во вторых двоичных массивах, соответствующая позиция в массивах данных может быть заполнена значением null, которое, в свою очередь, может быть преобразовано в прозрачный пиксел. Другими словами, если пиксел в 2D–коде имеет тот же цвет, что и соответствующий пиксел в целевом изображении, пиксел может быть преобразован в прозрачный пиксел в аутентифицирующем изображении. От 760, способ 700 переходит к 770.

На этапе 770 аутентифицирующее изображение формируется с помощью множества черных пикселов, множества белых пикселов и множества прозрачных пикселов. Аутентифицирующее изображение, сформированное посредством множества черных, белых и прозрачных пикселов, может иметь то же число пикселов, что и 2D–код. Каждый пиксел в аутентифицирующем изображении может иметь соответствие один к одному с 2D–кодом. Может быть понятно, что аутентифицирующее изображение может непосредственно покрывать или накладываться на 2D–код. Наложенное изображение является целевым изображением (или преобразованным с понижением или преобразованным с повышением целевым изображением, которое соответствует пикселам 2D–кода), если 2D–код является неискаженным. Иначе, 2D–код может быть искаженным или модифицированным. Следовательно, аутентифицирующее изображение может быть использовано для аутентификации 2D–кода.

Если 2D–код представлен в электронной форме, аутентифицирующее изображение может быть электронным образом сформировано и применено к 2D–коду, чтобы выглядеть наложенным на изображение для зрителя. Если 2D–код существует в печатной форме, физическая копия аутентифицирующего изображения может быть предоставлена пользователю и непосредственно покрывать 2D–код, чтобы показывать наложенное изображение. Поскольку целевое изображение выбирается, чтобы иметь легко распознаваемый шаблон, пользователь может легко идентифицировать, является ли 2D–код искаженным, восстанавливая целевое изображение с помощью аутентифицирующего изображения. Процесс аутентификации может быть выполнен либо в режиме онлайн, либо автономно. После этапа 770 процесс 700 заканчивается.

В то время как это описание содержит множество конкретных подробностей реализации, они не должны истолковываться как ограничения рамок какой–либо изобретательской идеи или рамок того, что может быть заявлено, а скорее как описания отличительных признаков, которые могут быть характерными для конкретных реализаций конкретных изобретательских идей. Некоторые отличительные признаки, которые описываются в этом описании в контексте отдельных реализаций, могут также быть реализованы в сочетании, в одной реализации. Наоборот, различные признаки, которые описываются в контексте одной реализации, могут также быть реализованы во множестве реализаций, отдельно, или в любой подкомбинации. Более того, хотя ранее описанные признаки могут быть описаны как действующие в некоторых комбинациях и даже первоначально заявленные как таковые, один или более признаков из заявленной комбинации могут, в некоторых случаях, быть удалены из комбинации, и заявленная комбинация может быть направлена на подкомбинацию или вариант подкомбинации.

Конкретные реализации предмета изучения были описаны. Другие реализации, изменения и преобразования описанных реализаций находятся в рамках следующей формулы изобретения, как будет очевидно специалистам в области техники. В то время как операции изображаются на чертежах или в формуле изобретения в конкретном порядке, это не должно пониматься как требование того, что такие операции должны выполняться в конкретном показанном порядке или последовательном порядке, или что все иллюстрированные операции должны выполняться (некоторые операции могут считаться необязательными), чтобы добиваться желаемых результатов. В некоторых обстоятельствах многозадачность или параллельная обработка (или сочетание многозадачности и параллельной обработки) могут быть полезными и выполняться, когда считаются необходимыми.

Кроме того, разделение или объединение различных модулей системы и компонентов в ранее описанных реализациях, не должно пониматься как требующее такого разделения или объединения во всех реализациях, и должно быть понятно, что описанные программные компоненты и системы могут, в целом, быть объединены вместе в единый программный продукт или упакованы во множество программных продуктов.

Соответственно, ранее описанные примерные реализации не определяют или ограничивают настоящее изобретение. Другие изменения, замены и переделки также являются возможными без отступления от духа и рамок настоящего изобретения.

Кроме того, любая заявленная реализация считается применимой, по меньшей мере, к компьютерно–реализованному способу; энергонезависимому, компьютерно–читаемому носителю, хранящему компьютерно–читаемые инструкции, чтобы выполнять компьютерно–реализованный способ; и компьютерной системе, содержащей компьютерную память, соединенную с возможностью взаимодействия с аппаратным процессором, сконфигурированным, чтобы выполнять компьютерно–реализованный способ или инструкции, сохраненные на энергонезависимом, компьютерно–читаемом носителе.

Варианты осуществления предмета изучения и операции, описанные в этом описании, могут быть реализованы в цифровой электронной схеме или в программном обеспечении компьютера, программно–аппаратных средствах или аппаратных средствах, включающих в себя структуры, раскрытые в этом описании, и их структурные эквиваленты, или в комбинациях одной или более из них. Варианты осуществления предмета изучения, описанного в этом описании, могут быть реализованы как одна или более компьютерных программ, т.е., один или более модулей компьютерных программных инструкций, закодированных на энергонезависимых компьютерных носителях хранения информации для исполнения посредством, или чтобы управлять работой, оборудования обработки данных. Альтернативно или в дополнение, программные инструкции могут быть закодированы на искусственно созданном распространяемом сигнале, например, машинно–созданном электрическом, оптическом или электромагнитном сигнале, который формируется, чтобы кодировать информацию для передачи подходящему оборудованию приемника для исполнения посредством оборудования обработки данных. Компьютерный носитель хранения информации может быть, или быть включен в, компьютерно–читаемым запоминающим устройством, компьютерно–читаемым носителем хранения информации, массивом или устройством памяти со случайным или последовательным доступом или комбинацией одного или более из них. Кроме того, в то время как компьютерный носитель хранения информации не является распространяемым сигналом, компьютерный носитель хранения информации может быть источником или получателем компьютерных программных инструкций, закодированных в искусственно–созданном распространяемом сигнале. Компьютерный носитель хранения может также быть, или быть включенным в, один или более отдельных физических компонентов или носителей (например, множество компакт–дисков (CD), цифровых видеодисков (DVD), магнитных дисков или другие запоминающие устройства).

Операции, описанные в этом описании, могут быть реализованы как операции, выполняемые посредством устройства обработки данных, по данным, сохраненным на одном или более компьютерно–читаемых запоминающих устройствах или принятым из других источников.

Термин "в реальном времени", "реальное время", "в режиме реального времени", "реальное (быстрое) время (RFT)", "почти реальное время (NRT)", "псевдореальное время" или аналогичные термины (как понимаются обычным специалистом в области техники) означают, что действие и ответ являются близкими во временном отношении, так что человек воспринимает действие и ответ происходящими практически одновременно. Например, временная разница для реакции на отображение (или для инициирования отображения) данных следом за действием человека, чтобы осуществлять доступ к данным, может быть меньше 1 миллисекунды (мс), меньше 1 секунды (с) или меньше 5 с. В то время как запрошенные данные не должны быть отображены (или инициированы для отображения) мгновенно, они отображаются (или инициируются для отображения) без намеренной задержки, принимая во внимание ограничения обработки для описанной вычислительной системы и время, требуемое, чтобы, например, собирать, точно измерять, анализировать, обрабатывать, сохранять или передавать данные.

Выражения "оборудование обработки данных", "компьютер" или "вычислительное устройство" охватывают все виды оборудования, устройств и машин для обработки данных, включающих в себя в качестве примера программируемый процессор, компьютер, систему на кристалле, или их множество, или комбинации, вышеописанного. Оборудование может включать в себя логическую схему специального назначения, например, центральный процессор (CPU), программируемую пользователем вентильную матрицу (FPGA) или специализированную интегральную схему (ASIC). Оборудование может также включать в себя, в дополнение к аппаратным средствам, код, который создает среду выполнения для рассматриваемой компьютерной программы, например, код, который составляет микропрограммное обеспечение процессора, стек протоколов, систему управления базами данных, операционную систему (например, LINUX, UNIX, WINDOWS, MAC OS, ANDROID, IOS, другую операционную систему или сочетание операционных систем), кросс–платформенную среду выполнения, виртуальную машину или сочетание одного или более из них. Оборудование и окружение выполнения могут реализовывать всевозможные инфраструктуры вычислительных моделей, такие как веб–службы, распределенные вычислительные и сетевые параллельные вычислительные инфраструктуры.

Компьютерная программа (также известная, например, в качестве программы, программного обеспечения, приложения системы программного обеспечения, программного модуля, программного блока, сценария или кода) может быть написана на любой форме языка программирования, включающей в себя компилируемые или интерпретируемые языки, декларативные или процедурные языки, и она может быть развернута в любой форме, в том числе в качестве автономной программы или в качестве модуля, компонента, подпрограммы, объекта другого блока, подходящего для использования в вычислительном окружении. Компьютерная программа может, но не должна, соответствовать файлу в файловой системе. Программа может сохраняться в части файла, который хранит другие программы или данные (например, один или более сценариев, сохраненных в документе на языке разметки), в одном файле, выделенном для рассматриваемой программы, либо в нескольких координированных файлах (например, в файлах, которые сохраняют один или более модулей, подпрограмм или частей кода). Компьютерная программа может быть развернута, чтобы выполняться на одном компьютере или на множестве компьютеров, которые находятся в одном месте или распределены по множеству мест и взаимно соединены сетью связи.

Процессоры, подходящие для исполнения компьютерной программы, включают в себя, в качестве примера, микропроцессоры как общего, так и специального назначения, и любой один или более процессоров любого вида цифрового компьютера. В общем, процессор принимает инструкции и данные из постоянного запоминающего устройства или оперативного запоминающего устройства, или из того и из другого. Существенные элементы компьютера представляют собой процессор для выполнения действий в соответствии с инструкциями и одно или более запоминающих устройств для сохранения инструкций и данных. Как правило, компьютер будет также включать в себя, или быть функционально соединен, чтобы принимать данные от или передавать данные к, или и то, и другое, одному или более массовым запоминающим устройствам для хранения данных, например, магнитным, магнитно–оптическим дискам или оптическим дискам. Однако, компьютер не обязан иметь такие устройства. Кроме того, компьютер может быть встроен в другое устройство, например, мобильное устройство, персональный цифровой помощник (PDA), игровую консоль, приемник системы глобального позиционирования (GPS) или переносное запоминающее устройство (например, флеш–накопитель универсальной последовательной шины (USB), если перечислять лишь несколько примеров. Устройства, подходящие для хранения компьютерных программных инструкций и данных, включают в себя все формы энергонезависимой памяти, носители и запоминающие устройства, включающие в себя, в качестве примера, полупроводниковые запоминающие устройства, например, стираемое программируемое постоянное запоминающее устройство (EPROM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM) и устройства флеш–памяти; магнитные диски, например, внутренние жесткие диски или съемные диски; магнито–оптические диски; и диски CD–ROM и DVD–ROM. Процессор и запоминающее устройство могут дополняться посредством или включаться в логическую схему специального назначения.

Мобильные устройства могут включать в себя мобильные телефоны (например, смартфоны), планшеты, носимые устройства (например, интеллектуальные часы, интеллектуальные очки, интеллектуальную ткань, интеллектуальную бижутерию), имплантированные устройства в человеческом теле (например, биодатчики, интеллектуальные кардиостимуляторы, кохлеарные имплантаты) или другие типы мобильных устройств. Мобильные устройства могут обмениваться данными в беспроводном режиме (например, с использованием радиочастотных (RF) сигналов) с различными сетями связи (описаны ниже). Мобильные устройства могут включать в себя датчики для определения характеристик текущего окружения мобильного устройства. Датчики могут включать в себя камеры, микрофоны, бесконтактные датчики, GPS–датчики, датчики движения, акселерометры, датчики окружающего света, датчики содержания влаги, гироскопы, компасы, барометры, датчики отпечатков пальцев, системы распознавания лиц, RF–датчики (например, Wi–Fi– и сотовые радиомодули), тепловые датчики или другие типы датчиков. Например, камеры могут включать в себя обращенную по ходу движения или против движения камеру с подвижными или неподвижными линзами, флэш–памятью, датчиком изображений и процессором изображений. Камера может представлять собой мегапиксельную камеру, допускающую захват деталей для распознавания лиц и/или радужной оболочки глаз. Камера наряду с процессором данных и аутентификационной информацией, сохраненной в запоминающем устройстве или доступной удаленно, может формировать систему распознавания лиц. Система распознавания лиц либо один или более датчиков, например, микрофонов, датчиков движения, акселерометров, GPS–датчиков или RF–датчиков, могут использоваться для аутентификации пользователя.

Чтобы обеспечивать взаимодействие с пользователем, варианты осуществления предмета изучения, описанные в этом описании, могут быть реализованы на компьютере, имеющем устройство отображения и устройство ввода, например, жидкокристаллический дисплей (ЖК–дисплей) или дисплей на органических светоизлучающих диодах (OLED)/дисплей виртуальной реальности (VR)/дополненной реальности (AR) для отображения информации пользователю и сенсорный экран, клавиатуру и указательное устройство, например, мышь или трекбол, посредством которых пользователь может осуществлять ввод данных в компьютер. Другие виды устройств также могут использоваться для того, чтобы предоставлять взаимодействие с пользователем; например, обратная связь, предоставленная пользователю, может представлять собой любую форму сенсорной обратной связи, например, визуальную обратную связь, акустическую обратную связь или тактильную обратную связь; и ввод от пользователя может приниматься в любой форме, включающей в себя акустический, речевой или тактильный ввод. Помимо этого, компьютер может взаимодействовать с пользователем посредством отправки документов и приема документов из устройства, которое используется пользователем; например, посредством отправки веб–страниц в веб–браузер на клиентском устройстве пользователя в ответ на запросы, принимаемые из веб–браузера.

Варианты осуществления предмета изучения, описанные в этом описании, могут быть реализованы с помощью вычислительных устройств, взаимосвязанных посредством любой формы или носителя проводной или беспроводной передачи цифровых данных (или их сочетания), например, сети связи. Примеры сетей связи включают в себя локальную вычислительную сеть (LAN), сеть радиодоступа (RAN), общегородскую вычислительную сеть (MAN) и глобальную вычислительную сеть (WAN). Сеть связи может включать в себя все или часть из Интернета, другой сети связи либо комбинации сетей связи. Информация может быть передана по сети связи согласно различным протоколам и стандартам, включающим в себя технологию широкополосного доступа в микроволновом диапазоне (WIMAX), проект долгосрочного развития (LTE), множественный доступ с кодовым разделением канала (CDMA), 5G–протоколы, протоколы IEEE 802.11 a/b/g/n или 802.20 (или сочетание 802.11x и 802.20 или другие протоколы, совместимые с настоящим изобретением), протокол Интернета (IP), Frame Relay, асинхронный режим передачи (ATM), ETHERNET или другие протоколы или сочетания протоколов. Сеть связи может передавать голосовые, видео–, биометрические данные или аутентификационные данные или другую информацию между соединенными вычислительными устройствами.

Варианты осуществления предмета изучения, описанные в этом описании, могут быть реализованы с помощью клиентов и серверов, взаимосвязанных посредством сети связи. Клиент и сервер, как правило, удалены друг от друга и типично взаимодействуют через сеть связи. Взаимосвязь клиента и сервера осуществляется на основе компьютерных программ, работающих на соответствующих компьютерах и имеющих клиент–серверную взаимосвязь друг с другом. Клиент, например, мобильное устройство, может выполнять транзакции непосредственно, с сервером или через сервер, например, выполнять транзакции покупки, продажи, оплаты, выдачи, отправки или ссуды либо авторизовать их.

В то время как это описание содержит множество конкретных подробностей реализации, они не должны истолковываться как ограничения рамок изобретения и того, что заявляется. Некоторые отличительные признаки, которые описываются в этом описании в контексте отдельных реализаций, могут также быть реализованы в сочетании, в одной реализации. Наоборот, различные признаки, которые описываются в контексте одной реализации, могут также быть реализованы во множестве реализаций, отдельно, или в любой подходящей подкомбинации. В то время как операции описываются и заявляются в конкретном порядке, это не следует понимать как требование того, что такие операции должны выполняться в конкретном показанном порядке или последовательном порядке, или что все иллюстрированные операции должны выполняться (некоторые операции могут считаться необязательными). При необходимости, могут выполняться многозадачность или параллельная обработка (или сочетание многозадачности и параллельной обработки).

Похожие патенты RU2713859C1

название год авторы номер документа
ФОРМИРОВАНИЕ, ФИКСАЦИЯ И ИСПОЛЬЗОВАНИЕ МЕТОК ВИЗУАЛЬНОЙ ИДЕНТИФИКАЦИИ ДЛЯ ДВИЖУЩИХСЯ ОБЪЕКТОВ 2011
  • Руян Паль
RU2596997C2
СИСТЕМЫ И СПОСОБЫ АНАЛИЗА, ЯВЛЯЕТСЯ ЛИ ОБЪЕКТ ЖИВЫМ 2015
  • Хирвонен Дэвид
RU2671540C2
Способ кодирования цифровой информации в виде многомерного нанобар-кода 2020
  • Пряхин Евгений Иванович
  • Ларионова Екатерина Владимировна
  • Захаренко Евгений Анатольевич
  • Романов Валерий Витальевич
  • Одинцова Галина Викторовна
  • Горный Сергей Георгиевич
RU2777708C2
СПОСОБ И СИСТЕМА РАСПОЗНАВАНИЯ ЗАКОДИРОВАННЫХ ДАННЫХ ПОСРЕДСТВОМ СКАНИРОВАНИЯ ИЗОБРАЖЕНИЙ 2020
  • Ретунский Дмитрий Андреевич
  • Шавалеев Руслан Ильясович
RU2726227C1
АППАРАТНОЕ УСКОРЕНИЕ ГРАФИЧЕСКИХ ОПЕРАЦИЙ ПРИ ПОСТРОЕНИИ ИЗОБРАЖЕНИЙ НА ОСНОВЕ ПИКСЕЛЬНЫХ ПОДКОМПОНЕНТОВ 2003
  • Ляпунов Михаил М.
  • Леонов Михаил В.
  • Бетрайси Клод
  • Браун Дэвид Колин Уилсон
  • Эл-Гаммал Мохаммед Габер
RU2312404C2
УПРАВЛЕНИЕ ЭЛЕКТРИЧЕСКИМИ КОМПОНЕНТАМИ С ПОМОЩЬЮ ГРАФИЧЕСКИХ ФАЙЛОВ 2020
  • Синофски, Брайан
  • Нортон, Киркпатрик
  • Шетх, Сохам
RU2825019C1
ТЕХНОЛОГИИ УМЕНЬШЕНИЯ ПИКСЕЛЬНОГО ШЕЙДИНГА 2015
  • Ликтор Габор
  • Салви Марко
  • Ваидианатхан Картхик
RU2666300C2
ПРЕДВАРИТЕЛЬНАЯ ОБРАБОТКА ДАННЫХ ИЗОБРАЖЕНИЯ ДЛЯ УЛУЧШЕННОГО СЖАТИЯ 2007
  • Макдауэлл Брайан К.
  • Абдо Надим Й.
  • Коулман Пол
RU2433478C2
СПОСОБ И СИСТЕМА ОПРЕДЕЛЕНИЯ ПРИГОДНОСТИ ИЗОБРАЖЕНИЯ ДОКУМЕНТА ДЛЯ ОПТИЧЕСКОГО РАСПОЗНАВАНИЯ СИМВОЛОВ И ДРУГИХ ОПЕРАЦИЙ ПО ОБРАБОТКЕ ИЗОБРАЖЕНИЙ 2016
  • Загайнов Иван Германович
  • Логинов Василий Васильевич
  • Орлов Никита Константинович
RU2608239C1
УСОВЕРШЕНСТВОВАННЫЙ ПОДХОД К ДЕКОДИРОВАНИЮ m-МАССИВА И ИСПРАВЛЕНИЮ ОШИБОК 2004
  • Ванг Дзиан
  • Ванг Квианг
  • Ма Ксиаоксу
  • Ли Юе
  • Лин Зхоучен
RU2380736C2

Иллюстрации к изобретению RU 2 713 859 C1

Реферат патента 2020 года СПОСОБ И УСТРОЙСТВО ФОРМИРОВАНИЯ ИЗОБРАЖЕНИЯ

Изобретение относится к способу и устройству формирования изображения. Техническим результатом является формирование изображения с помощью исходного двумерного кода, которое может быть использовано для проверки исходного двумерного кода без использования сети. Способ формирования изображения содержит этапы, на которых: разбирают исходный двумерный код в двумерный массив; и формируют изображение с помощью двумерного массива согласно предварительно заданному шаблону, включая этапы, на которых: разбирают предварительно заданный шаблон в двоичное изображение; выполняют битовую операцию по значению соответствующего элемента в двумерном массиве согласно пиксельному значению для каждого пиксела в двоичном изображении; и формируют изображение на основе результата битовой операции. 2 н. и 11 з.п. ф-лы, 11 ил.

Формула изобретения RU 2 713 859 C1

1. Способ формирования изображения, содержащий этапы, на которых:

разбирают исходный двумерный код в двумерный массив; и

формируют изображение с помощью двумерного массива согласно предварительно заданному шаблону,

включая в себя этапы, на которых:

разбирают предварительно заданный шаблон в двоичное изображение;

выполняют битовую операцию по значению соответствующего элемента в двумерном массиве согласно пиксельному значению для каждого пиксела в двоичном изображении,

включая в себя этапы, на которых:

в случае, когда пиксельное значение для пиксела в двоичном изображении равно 0: если значение соответствующего элемента в двумерном массиве равно 1, изменяют соответствующее значение на 0, или если значение соответствующего элемента в двумерном массиве равно 0, изменяют соответствующее значение на значение null; и

в случае, когда пиксельное значение для пиксела в двоичном изображении равно 1: если значение соответствующего элемента в двумерном массиве равно 1, изменяют соответствующее значение на значение null, или если значение соответствующего элемента в двумерном массиве равно 0, изменяют соответствующее значение на 1; и

формируют изображение на основе результата битовой операции.

2. Способ формирования изображения по п. 1, при этом перед этапом разбора предварительно заданного шаблона в двоичное изображение, способ дополнительно содержит этап, на котором

преобразуют размер предварительно заданного шаблона, чтобы он был таким же, что и размер исходного двумерного кода.

3. Способ формирования изображения по п. 2, при этом преобразование размера предварительно заданного шаблона, чтобы он был таким же, что и размер исходного двумерного кода, содержит этап, на котором

преобразуют размер пикселов в предварительно заданном шаблоне, чтобы он был таким же, что и размер пикселов в исходном двумерном коде.

4. Способ формирования изображения по п. 1, при этом этап формирования изображения согласно результату битовой операции содержит этапы, на которых:

формируют новый двумерный массив согласно результату битовой операции; и

преобразуют новый двумерный массив в изображение согласно следующему правилу:

в новом двумерном массиве значение 0 элемента представляет белый цвет, значение null элемента представляет прозрачность, а значение 1 элемента представляет черный цвет.

5. Способ формирования изображения по любому из пп. 1-4, при этом предварительно заданный шаблон может быть сформирован непосредственным наложением изображения на исходный двумерный код.

6. Способ формирования изображения по п. 1, при этом после этапа формирования изображения с помощью двумерного массива способ дополнительно содержит этап, на котором

выводят изображение на прозрачный носитель с помощью устройства вывода.

7. Способ формирования изображения по п. 6, при этом после этапа вывода изображения на прозрачный носитель с помощью устройства вывода способ дополнительно содержит этапы, на которых:

перекрывают выходное изображение с исходным двумерным кодом; и

проверяют исходный двумерный код, определяя, является ли шаблон, полученный после перекрывания, предварительно заданным шаблоном.

8. Способ формирования изображения по п. 7, при этом этап проверки двумерного кода посредством определения того, является ли шаблон, полученный после покрытия, предварительно заданным шаблоном, содержит этапы, на которых:

определяют, что исходный двумерный код не изменен, если определяется, что шаблон, полученный после перекрывания, является предварительно заданным шаблоном; и

определяют, что исходный двумерный код был изменен, если определяется, что шаблон, полученный после перекрывания, не является предварительно заданным шаблоном.

9. Способ формирования изображения по любому предшествующему пункту, при этом двумерный код содержит матрицу с черными и белыми элементами, и при этом двумерный массив содержит двоичные цифры, представляющие черные и белые элементы.

10. Способ формирования изображения по п. 9, при этом двумерный массив содержит первое множество одномерных массивов.

11. Способ формирования изображения по п. 10, при этом предварительно заданный шаблон содержит изображение, изображение содержит множество черных и белых пикселов, которые идентифицируются с помощью двоичных цифр, и при этом разбор предварительно заданного шаблона в двоичное изображение содержит этап, на котором

преобразуют множество черных и белых пикселов во второе множество одномерных массивов, содержащих двоичные цифры.

12. Способ формирования изображения по п. 11, при этом выполнение битовой операции по значению соответствующего элемента в двумерном массиве согласно пиксельному значению каждого пиксела в двоичном изображении содержит этап, на котором выполняют битовую операцию по значению соответствующего элемента в первом множестве одномерных массивов согласно пиксельному значению для пиксела во втором множестве одномерных массивов.

13. Устройство формирования изображения, содержащее множество блоков, сконфигурированных, чтобы выполнять способ по любому из пп. 1-12.

Документы, цитированные в отчете о поиске Патент 2020 года RU2713859C1

Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1
CN 105095939 A, 25.11.2015
CN 106372560 A, 01.02.2017
СПОСОБ И УСТРОЙСТВО ДЛЯ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ДОКУМЕНТОВ 2007
  • Массикот Жан-Пьер
  • Фоку Ален
  • Саган Збигню
RU2477522C2
ИЗДЕЛИЕ С ВИЗУАЛЬНЫМ КОДОМ, УСТРОЙСТВО ГЕНЕРИРОВАНИЯ ВИЗУАЛЬНОГО КОДА И СПОСОБ ПЕРЕДАЧИ ИНФОРМАЦИИ 2009
  • Цудзи Сусуму
RU2536348C2

RU 2 713 859 C1

Авторы

Го, Вэй

Даты

2020-02-07Публикация

2018-02-13Подача