ДВУХКОМПОНЕНТНЫЙ ШТРИХКОД
TWO-COMPONENT BAR-CODE

Настоящее изобретение относится к кодам, в частности к кодам, состоящим из двух взаимосвязанных частей.
Графические машиночитаемые коды обычно используются для маркировки продукции, например, такой как потребительские товары. В настоящее время используются несколько известных кодов, включая одно- и двухмерные штрихкоды и коды матричного типа. В любом случае код прилагается к товару и дает возможность передавать информацию о данном товаре, такую как идентификация производителя, артикул.
Один тип машиночитаемого кода, отвечающего уровню современных требований, описан в патенте Соединенного Королевства № GB 2383878 (полное содержание которого включено в данное описание путем ссылки) и является коммерчески доступным под торговой маркой «FractureCode» (RTM). Преимущества такого типа кода среди других торговых машиночитаемых кодов заключаются в очень высокой степени заполнения всевозможными отдельными кодами, а также в способности создавать индивидуальные коды на очень большой скорости.
С помощью подобных кодов маркируется такая продукция, как потребительские товары или их упаковка. Для того чтобы получить информацию о продукции, код должен считываться машиной, которая сначала выполняет операцию сканирования, чтобы представить изображение кода в цифровой форме. Затем изображение обрабатывается с помощью электроники, чтобы получить с применением алгоритма буквенно-цифровую символьную строку, которая может быть использована для поиска данных, соответствующих товару, в базе данных.
Другим важным преимуществом этого кода является сложность его копирования. Код, который обычно содержит прямоугольник, ограничивающий ряд пересекающихся линий, трудно скопировать с той необходимой степенью точности, чтобы при считывании машиной создавалась та же самая буквенно-цифровая символьная строка. Эта особенность является отчасти функцией уровня детализации, включая толщину линий и точность углов между ними, при которых устройство сканирования получает изображение во время считывания. Другая трудность для так называемых мошенников заключается в том, что многие используемые коды составляют площадь не более 1 мм × 1 мм и напечатаны ультрафиолетовыми, инфракрасными и другими маскировочными красками.
Важное преимущество в отношении защиты таких кодов заключается в том, что во время их создания они не несут вообще никакой информации, но при сканировании преобразовываются в буквенно-цифровую символьную строку с использованием алгоритма и затем сопоставляются с данными, хранящимися в базе данных. И только после этого они приобретают смысл.
Следовательно, без алгоритма нет способа получения информации. Соответственно, достоинством является то, что даже если код воспроизведен точно, то он не может применяться к товару, отличному от того, к которому он относился первоначально, поскольку он сразу же определяется человеком, выполняющим операцию сканирования/просмотра, законным путем.
Варианты реализации настоящего изобретения имеют целью создание машиночитаемого кода для связи данных и изделия, подлинность кода которого можно проверить без получения данных об изделии, к которому относится код.
Также варианты реализации настоящего изобретения имеют целью создание кода для связи изделия с данными, хранящимися в базе данных, с помощью которого данные могут быть получены быстрее, чем в предшествующих случаях (заменить слово).
В соответствии с одним вариантом настоящего изобретения предлагается графически представимый машиночитаемый код, имеющий первую и вторую части. Первая часть кода связана с данными, а вторая часть связана с первой частью так, что связь между этими частями или отсутствие таковой можно распознать путем считывания обеих частей этого кода для проверки подлинности кода.
Изобретение также содержит способ проверки подлинности или отсутствия подлинности графически представимого машиночитаемого кода, причем код состоит из первой, и второй части. Данный способ содержит считывание и первой, и второй частей кода и определение того, связаны ли эти две части, а также подтверждение подлинности кода в случае, если две части связаны, и подтверждение отсутствия подлинности кода в случае, если две части не связаны.
Изобретение также содержит кодовую систему для связи данных с изделием, при этом система содержит средства формирования графических кодов применительно к изделию, машинные средства считывания кодов с целью преобразования каждого кода в строку символов и запоминающее устройство для хранения данных, относящихся к каждому коду. Кодовая система характеризуется тем, что:
- каждый из кодов состоит из первой и второй частей;
- кодовая система содержит множество N кодов, имеющих в пределах указанного множества индивидуальные первые части и в которой в пределах системы множество n кодов имеет индивидуальные вторые части;
- N>n;
- для каждого кода первая часть и вторая часть связаны таким образом, что число N/n кодов имеют одинаковые вторые части, но индивидуальные первые части.
Предпочтительно, чтобы связь между первой и второй частями кодов была определимой посредством машинного считывания обеих частей и выполнения математического действия над обеими частями, чтобы распознать, связаны ли они.
N/n кодов, имеющих индивидуальные первые части N, обладают общими вторыми частями n. При считывании обеих частей кода есть возможность для отдельно взятого кода определять, является ли первая часть одной из группы первых частей, которые имеют связь со считанной второй частью. Если части связаны, то это предполагает, что код может быть подлинным. Если части не связаны, то код является определенно поддельным.
Предпочтительно, чтобы связь между первой и второй частями кодов являлась зависимой от процесса формирования первых частей. Например, во второй части кода может быть представлен один или более признаков группы первых частей, такой как взаимосвязь между пересекающимися линиями, которая является общей для всех первых частей в этой отдельной группе кодов.
Таким образом, при условии, что будущее машинное считывание обеих частей кода выполняется соответствующим принятым способом, имеется возможность обнаружить несоответствие между первой и второй частями, которое свидетельствует о наличии несанкционированного или поддельного кода.
Кроме того, изобретение предлагает способ поиска кода в базе данных с целью определения данных, относящихся к коду, характеризующийся тем, что код состоит из первой и второй частей (F и S), в котором первая часть (F) связана с данными в базе данных и является одной из группы N таких же первых частей, а вторая часть (S) связана с первой частью и является одной из группы n таких же вторых частей, причем N является намного больше n. Способ содержит поиск в базе данных второй части (S) кода в группе n, а затем поиск первой части (F) кода в пределах подмножества N/n первых частей, которые обладают одной и той же второй частью (S).
Поскольку каждый код имеет вторую часть, которая принадлежит к группе n и поскольку каждая конкретная вторая часть связана с большим количеством первых частей, то индивидуальные коды могут быть сгруппированы вместе в базе данных в соответствии с их общими вторыми частями. Таким образом, коды могут быть идентифицированы в базе данных посредством первого поиска подгруппы кодов, которая имеет общую вторую часть, и затем проведения поиска в пределах группы n для индивидуальной первой части. Это может ускорить поиск по сравнению с проведением поиска в пределах полной совокупности N.
Изобретение также содержит любую комбинацию характерных особенностей и ограничений в данном документе, кроме комбинаций тех характерных особенностей, которые являются взаимоисключающими.
Предпочтительный вариант реализации изобретения будет далее описан со ссылкой на сопроводительные чертежи, где
фиг.1 представляет двухкомпонентный код в соответствии с вариантом реализации данного изобретения;
фиг.2 представляет схематически устройство считывания двухкомпонентных кодов;
фиг.3 представляет блок-схему, изображающую операцию считывания с помощью устройства на фиг.2;
фиг.4 представляет блок-схему, изображающую процесс поиска в соответствии с другим вариантом реализации настоящего изобретения.
На фиг.1 в общих чертах показан двухкомпонентный код 10, напечатанный на основе 12. Двухкомпонентный код 10 содержит первую часть 14 и вторую часть 16, которые разделены частью 12а основы 12. В этом случае первая часть 14 занимает обычно первый прямоугольный участок, а вторая часть занимает второй обычно меньшего размера прямоугольный участок. Относительные размеры первого и второго участков и/или их форма могут отличаться от примера, представленного в описании.
Внутри участка, занятого первой частью 14, расположено множество прямых линий, по меньшей мере, некоторые из которых пересекаются. В данном примере первая часть двухкомпонентного кода содержит составной знак, такой, как описан в патенте Соединенного Королевства № GB 2383878 В и продан под торговой маркой «FractureCode» (RTM). Несмотря на то что в примере рассматривается код из множества пересекающихся линий, этот тип кода может содержать другие компоненты или форму, например, такие как точки, прямоугольники, или эллипсы, или комбинацию таких компонентов и/или форм.
В данном примере вторая часть кода содержит двухмерный штрихкод, такой как матричный код. На практике вторая часть кода может быть почти любой из известных в настоящее время кодов, относящихся к кодам под общим названием «штрихкоды» и содержащих, но этим не ограничивая, такие коды, как Data Matrix, PDF-417, Micro-PDF-417, QR Code, EAN, Maxi Code, Codabar, RSS, UPC и Interleaved 2 или 5.
Коды типа, применяющегося для первой части, имеют великое множество однозначно определенных отдельных элементов. Это означает, что существует очень большое количество определенных составных знаков, причем каждый является преобразуемым при использовании алгоритма в отдельную буквенно-цифровую символьную строку. Коды типа, используемого для второй части, обычно имеют значительно меньшее количество определенных отдельных элементов. И первые, и вторые части двухкомпонентного кода могут быть напечатаны на основе с использованием или обычных маркировочных красок, или скрытых красок, которые обнаруживаются только с помощью освещения или облучения светом определенного частотного диапазона.
Фиг.2 представляет схематически портативное считывающее устройство для считывания двухкомпонентных кодов 10. Прибор 20 получения изображения, который содержит камеру (не показана), применяется для получения изображения считываемого кода. Коррекция ошибок и повышение качества изображения с помощью электроники осуществляется в блоке 22 повышения качества изображения перед подачей на электронный блок управления 24. Блок управления 24 применяет алгоритмы к первой и второй частям двухкомпонентного кода для создания первой и второй соответствующих символьных строк. Далее блок управления 24 осуществляет обращение к памяти 26 в форме таблицы поиска для поиска второй символьной строки, т.е. символьной строки, связанной со второй частью (16) двухкомпонентного кода. Из таблицы поиска в памяти 26 затем блок управления способен определить, является ли первая символьная строка, т.е. первая часть двухкомпонентного кода, одной из многих первых частей, связанных со второй символьной строкой. Другими словами, путем выполнения функции поиска и последующего сравнения первого и второго символьных знаков, полученных соответственно от первой и второй частей кода, блок управления способен проверить, принадлежит ли первая часть кода (будучи индивидуальной среди очень большого множества N) подгруппе таких же первых частей, которая связана со второй частью, которая считана и является объектом операции поиска.
Индикаторное устройство 28 такое, например, как ЖК панель, используется для обеспечения индикации результатов, например, в виде сообщения [Подлинный], если первая и вторая части связаны, или [Подделка], если первая и вторая части не связаны.
Блок управления 24, память 26 и индикаторное устройство 28 могут быть отделены от прибора 20 получения изображения и блока 22 и могут быть, например, установлены в ПК или в персональном электронном ассистенте.
30
Наш британский патент, упомянутый выше, описывает одно техническое решение для того, чтобы вывести символьную строку из составного знака так же, как для формирования первой части кода в соответствии с вариантом реализации настоящего изобретения. Мельчайшие детали составного знака могут быть связаны с пересечением различных линий под косым углом. Расположение пересечений относительно исходного положения и дополнительно углы между пересекающимися линиями и/или толщина любой из линий все обрабатываются, чтобы получить буквенно-цифровую символьную строку. Как указывалось выше, может быть создано очень большое количество, возможно, 10 или более отдельных составных знаков, т.е. первых частей двухкомпонентного кода.
Один или более символов в строке может быть закодирован и заключен во второй части кода так, чтобы при декодировании второй части кода имелась возможность быстро сообщить путем обращения к просмотру таблицы, связана ли определенная первая часть с рассматриваемой первой частью.
Разумеется, главное назначение двухкомпонентного кода - передавать информацию об изделии, к которому он относится. Например, вторая часть кода может заключать в себе такую информацию, как название производителя и вид товара. Первая часть кода, которая имеет относящуюся к нему однозначно определенную символьную строку, может при поиске в базе данных давать значительно больше информации, такой как предприятие, на котором изделие изготовлено, дата и время изготовления и предполагаемый получатель, цена и т.д.
Следует принять во внимание, что сначала создаются первые части двухкомпонентного кода, а затем получают относящиеся к ним данные в базе данных.
Вторая часть кода создается целенаправленно, чтобы внести некоторые идентифицируемые признаки первой части. Однако, не применяя алгоритм к первой части кода, однозначно определенная буквенно-цифровая символьная строка, связанная с ней, не может быть воспроизведена, и, следовательно, вторая часть кода не может быть подобрана под пару с первой частью. Поэтому без обладания алгоритмом невозможно создать подлинный двухкомпонентный код, в котором первая и вторая части сочетаются соответствующим образом, поддающимся проверке.
На фиг.3 изображена блок-схема процесса установления подлинности двухкомпонентного кода. На этапе 30 производится сканирование двухкомпонентного кода и получение изображения (обоих частей). На этапе 32 с помощью электроники выполняется процесс коррекции ошибки и повышение качества изображения. На этапе 34 выполняется операция получения второй части кода и на этапе 36 происходит поиск второй части в таблице поиска базы данных. На этапе 38 выполняется операция получения первой части кода, используя соответствующий алгоритм, и на этапе 40 производится сравнение первой и второй частей кода с целью проверки, связаны ли обе части. Если ДА, то на этапе 42 отображается положительный ответ [Подлинный]. С другой стороны, если на этапе 40 определено, что первая и вторая части кода не связаны, то на этапе 44 отображается отрицательный ответ [Подделка].
Следует учитывать, что вышеописанные устройство и способ касаются только определения того, является или нет подлинным двухкомпонентный код. Однако сам код используется, главным образом, для получения информации об изделии, к которому он относится. Для того чтобы это сделать, должно быть произведено обращение к большой базе данных, которая содержит много индивидуальных буквенно-цифровых символьных строк, причем каждая заключает в себе информацию, относящуюся к товару.
Портативное устройство считывания согласно настоящему изобретению может заключать в себе такую базу данных, хотя это не вошло в вышеописанный вариант реализации изобретения. Скорее, база данных может размещаться в другом месте и, например, может быть получена дистанционно, как при использовании Интернета или в другом сетевом соединении.
Поскольку база данных содержит очень большое количество отдельных введенных данных, включая однозначно определенные символьные строки, получаемые от соответствующих однозначно определенных первых частей, поиск в базе данных может занять большое количество времени. Согласно варианту реализации настоящего изобретения с целью сокращения времени поиска определенных введенных данных база данных, в которой хранятся однозначно определенные символьные строки, полученные от однозначно определенных первых частей двухкомпонентного кода, группирует в области базы данных однозначно определенные символьные строки в соответствии со связанными с ними вторыми частями, количество которых может быть значительно меньше. Таким образом, при поиске конкретной первой части процесс поиска первоначально включает в себя осуществление доступа к той части базы данных, которая соответствует второй части кода. Тогда поиск данных, связанных с однозначно определенной символьной строкой, полученной от однозначно определенной первой части кода, может выполняться среди значительно меньшего количества подобных однозначно определенных символьных строк.
На фиг.4 представлена блок-схема способа поиска. На этапе 50 изображение и первой, и второй частей двухкомпонентного кода сканируется и получается с помощью электроники. На этапе 52 производится коррекция ошибок и повышение качества полученного изображения. На этапе 54 происходит получение первой части кода и на этапе 56 происходит получение второй части кода. На этапе 58 происходит поиск второй части кода, полученной на этапе 56, и на этапе 60 идентифицируется подобласть основной базы данных, в которой находится вторая часть. На этапе 62 происходит поиск первой части кода, полученной на этапе 54, в подобласти базы данных, идентифицированной на этапе 60, и на этапе 64 полные данные, относящиеся к двухкомпонентному коду, выводятся пользователю. Этот процесс совершается на порядок быстрее, чем последовательный поиск всех первых частей в базе данных.