закодированная бумага для оптического считывания
Классы МПК: | G06K19/06 отличающиеся видом цифровой маркировки, например формой, характером, кодом |
Автор(ы): | ПЕТТЕРССОН Матс Петтер (SE), ЭДСЕ Томас (SE) |
Патентообладатель(и): | Аното АБ (SE) |
Приоритеты: |
подача заявки:
2004-11-11 публикация патента:
20.06.2009 |
Изобретение относится к изделию, снабженному шаблоном кодирования, который содержит множество меток, и способу и устройству для определения значения этих меток. Технический результат заключается в обеспечении возможности кодировать большой объем информации на единицу площади и при этом просто определяться и декодироваться. Этот результат достигается благодаря тому, что изделие снабжено шаблоном кодирования, который содержит множество меток, каждая из которых представляет одно из, по меньшей мере, двух различных значений. Шаблон дополнительно содержит множество номинальных позиций, причем каждая из упомянутого множества меток ассоциируется с номинальной позиций и значение каждой метки определяется ее местоположением относительно ее номинальной позиции. Для определения значения, по меньшей мере, одной метки из некоторого количества меток в поднаборе шаблона кодирования с помощью оптического устройства находят метки в поднаборе, обнаруживают растр с помощью найденных меток и определяют местоположение метки с помощью обнаруженного растра. 3 н. и 40 з.п. ф-лы, 6 ил.
![закодированная бумага для оптического считывания, патент № 2359323](/images/patents/105/2359323/2359323.jpg)
![закодированная бумага для оптического считывания, патент № 2359323](/images/patents/105/2359323/2359323-2.jpg)
![закодированная бумага для оптического считывания, патент № 2359323](/images/patents/105/2359323/2359323-3.jpg)
![закодированная бумага для оптического считывания, патент № 2359323](/images/patents/105/2359323/2359323-4.jpg)
![закодированная бумага для оптического считывания, патент № 2359323](/images/patents/105/2359323/2359323-5.jpg)
![закодированная бумага для оптического считывания, патент № 2359323](/images/patents/105/2359323/2359323-6.jpg)
Формула изобретения
1. Способ определения значения, по меньшей мере, одной метки из некоторого количества меток в поднаборе шаблона кодирования, который содержит множество меток, каждая из которых представляет одно из, по меньшей мере, двух различных значений, при этом каждая из упомянутого множества меток смещена от соответствующей номинальной позиции множества номинальных позиций, а значение этой метки представляется местоположением метки относительно номинальной позиции, и при этом каждая номинальная позиция задается растровой точкой в растре, который имеет растровые линии, пересекающиеся в растровых точках, и который идентифицируется посредством меток, при этом упомянутый способ заключается в том, что находят метки в поднаборе, обнаруживают растр с помощью найденных меток и определяют местоположение метки упомянутой, по меньшей мере, одной метки, с помощью обнаруженного растра.
2. Способ по п.1, при котором определение местоположения метки предусматривает поиск метки вдоль растровых линий, пересекающихся в растровой точке в обнаруженном растре.
3. Способ по п.1, при котором определение местоположения метки предусматривает поиск метки на заданном расстоянии от растровой точки в обнаруженном растре.
4. Способ по п.1, при котором обнаружение растра в изображении предусматривает определение расстояний между метками.
5. Способ по п.1, при котором обнаружение растра в изображении предусматривает определение кратчайшего расстояния между двумя из меток в поднаборе.
6. Способ по п.1, при котором растр является виртуальным.
7. Способ по п.1, при котором дополнительно определяют значение каждой метки путем определения растровой линии, вдоль которой смещена метка.
8. Способ по п.1, при котором каждая упомянутая метка имеет центр области, смещенный из номинальной позиции вдоль одной из растровых линий, для представления значения этой метки.
9. Устройство для определения значения, по меньшей мере, одной метки из некоторого количества меток в поднаборе шаблона кодирования, который содержит множество меток, каждая из которых представляет одно из, по меньшей мере, двух различных значений, при этом каждая из упомянутого множества меток смещена от соответствующей номинальной позиции множества номинальных позиций, а значение этой метки представляется местоположением метки относительно номинальной позиции, и при этом каждая номинальная позиция задается растровой точкой в растре, который имеет растровые линии, пересекающиеся в растровых точках, и который идентифицируется посредством меток, при этом упомянутое устройство содержит процессор, который выполнен с возможностью нахождения меток в поднаборе, обнаружения растра с помощью найденных меток и определения местоположения метки для упомянутой, по меньшей мере, одной метки, с помощью обнаруженного растра.
10. Устройство по п, 9, в котором процессор выполнен с возможностью поиска метки вдоль растровых линий, пересекающихся в растровой точке в обнаруженном растре, при определении местоположения метки.
11. Устройство по п.9, в котором процессор выполнен с возможностью поиска метки на заданном расстоянии от растровой точки в обнаруженном растре при определении местоположения метки.
12. Устройство по п.9, в котором процессор выполнен с возможностью определения расстояний между метками при обнаружении растра.
13. Устройство по п.9, в котором процессор выполнен с возможностью определения кратчайшего расстояния между двумя из меток в подмножестве при обнаружении растра.
14. Устройство по п.9, в котором растр, обнаруживаемый процессором, является виртуальным.
15. Устройство по п.9, в котором процессор дополнительно выполнен с возможностью определения значения каждой метки путем определения растровой линии, вдоль которой смещена метка.
16. Устройство по п.9, при котором каждая упомянутая метка имеет центр области, смещенный из номинальной позиции вдоль одной из растровых линий, для представления значения этой метки.
17. Изделие, снабженное шаблоном кодирования, содержащим множество меток, каждая из которых представляет одно из, по меньшей мере, двух различных значений, при этом каждая из упомянутого множества меток смещена от соответствующей номинальной позиции множества номинальных позиций, причем значение этой метки представляется местоположением метки относительно номинальной позиции, и при этом каждая номинальная позиция задается растровой точкой в растре, который имеет растровые линии, пересекающиеся в растровых точках, и который идентифицируется посредством меток.
18. Изделие по п.17, в котором растр используется для представления значений меток.
19. Изделие по п.17, в котором растр идентифицируется исключительно посредством значений меток.
20. Изделие по п.17, в котором в шаблоне кодирования недостает опорных меток для задания номинальных позиций.
21. Изделие по п.17, в котором шаблон кодирования образован упомянутым множеством меток.
22. Изделие по п.17, в котором заданное количество местоположений меток ассоциируется с каждым номинальным положением, причем упомянутое заданное количество местоположения меток ассоциируется с каждой номинальной позицией, причем упомянутое заданное количество равно количеству растровых линий в номинальной позиции.
23. Изделие по п.17, в котором каждая метка смещена вдоль растровых линий, пересекающихся в номинальной позиции.
24. Изделие по п.23, в котором значение каждой метки является функцией, в соответствии с которой вдоль растровых линий смещена метка.
25. Изделие по п.17, в котором каждой номинальной позиции присваивается метка.
26. Изделие по п.17, в котором все метки смещены относительно номинальных позиций меток.
27. Изделие по п.17, в котором все метки смещены на одинаковое расстояние относительно номинальных позиций меток.
28. Изделие по п.17, в котором каждая метка смещается в одном из четырех ортогональных направлений относительно связанной с ней номинальной позицией.
29. Изделие по п.17, в котором расстояние между растровыми линиями составляет приблизительно от 250 до 300 мкм.
30. Изделие по п.17, в котором растровые линии образуют прямоугольную сетку.
31. Изделие по п.17, в котором каждая метка смещается вдоль одной из растровых линий.
32. Изделие по п.17, в котором каждая метка смещена от своей номинальной позиции на расстояние, составляющее от 1/4 до 1/8 от расстояния между растровыми линиями.
33. Изделие по п.17, в котором растр является виртуальным.
34. Изделие по п.17, в котором все метки имеют по существу идентичный вид.
35. Изделие по п.17, в котором метки являются приблизительно круглыми, треугольными или прямоугольными.
36. Изделие по п.17, в котором эффективный диаметр меток составляет приблизительно от 50 до 240% от смещения метки относительно связанной с ней номинальной позиции.
37. Изделие по п.17, в котором шаблон кодирования является оптически считываемым.
38. Изделие по п.17, в котором шаблон кодирования считывается инфракрасным светом.
39. Изделие по п.17, в котором изделие имеет поверхность, которая снабжается шаблоном кодирования.
40. Изделие по п.39, в котором метки составляют от 0,25 до 20%, от поверхности, которая снабжается шаблоном кодирования.
41. Изделие по п.17, в котором шаблон кодирования является шаблоном кодирования позиции, который кодирует множество позиций на изделии, причем каждая позиция кодируется посредством множества меток.
42. Изделие по п.17, в котором изделие является листом бумаги.
43. Изделие по п.17, при котором каждая упомянутая метка имеет центр области, смещенный из номинальной позиции вдоль одной из растровых линий для представления значения этой метки.
Описание изобретения к патенту
Область техники
Настоящее изобретение относится к изделию, которое снабжается шаблоном кодирования, содержащим набор меток, каждая из которых представляет одно из, по меньшей мере, двух различных значений. Изобретение также относится к использованию такого шаблона кодирования.
Предшествующий уровень техники
Известно сохранение закодированной информации на поверхности посредством различных типов меток.
Патент США 5852434, например, описывает шаблон кодирования позиции, который кодирует X-Y-координаты для набора позиций на поверхности записи. Шаблон кодирования позиции дает возможность пользователю посредством электроники регистрировать графическую информацию, которая создается на поверхности записи, посредством непрерывного считывания шаблона кодирования позиции.
Три примера построения шаблона кодирования позиции раскрыты в патенте США 5852434. В первом примере шаблон состоит из символов, каждый из которых строится из трех концентрических кругов. Внешний круг представляет X-координату, а средний круг представляет Y-координату. Оба внешних круга дополнительно разделены на 16 частей, которые, в зависимости от того, заполнены они или нет, показывают различные числа. Это означает, что каждая пара координат X, Y кодируется сложным символом с конкретным видом.
Во втором примере координаты каждой точки на поверхности записи задаются штрих-кодами, причем штрих-код для X-координаты изображается над штрих-кодом для Y-координаты.
В качестве третьего примера дается шаблон в виде клеток, который может использоваться для кодирования X- и Y-координат. Однако нет объяснения относительно того, как строится шаблон в виде клеток или как он может быть преобразован в координаты.
Проблема, связанная с известным шаблоном, состоит в том, что он строится из сложных символов, и чем меньшими делаются эти символы, тем труднее производить поверхность записи с шаблонами и тем больше риск неправильного определения позиций, в то время как, чем большими делаются символы, тем хуже становится разрешение позиции.
Еще одна проблема состоит в том, что обработка определенного шаблона кодирования позиции становится слишком сложной вследствие того факта, что процессор должен интерпретировать сложные символы.
Дополнительная проблема состоит в том, что детектор или датчик, который должен регистрировать шаблон кодирования позиции, должен конструироваться таким образом, чтобы он регистрировал четыре символа одновременно так, чтобы он наверняка охватил полностью, по меньшей мере, один символ, что необходимо для возможности проведения определения позиции. Таким образом, отношение между требуемой поверхностью датчика и поверхностью шаблона кодирования позиции, которая задает позиции, велико.
В патенте EP 0578692 описан шаблон кодирования позиции, который строится из ячеек в виде квадратов. Значения ячеек определяются по их виду, например, по их цвету. Ячейки могут быть отделены разделительными зонами так, чтобы можно было различить две смежных ячейки с одинаковым цветом. Этот шаблон кодирования позиции отличается от шаблона согласно патенту США 5852434 тем, что конкретный набор ячеек, то есть символов, вместе кодирует положение. Кодирование, кроме того, является плавающим, что означает, что произвольная частичная поверхность шаблона, которая содержит вышеупомянутый набор ячеек, кодирует положение. Таким образом, каждая ячейка вносит вклад в кодирование нескольких положений. В этом способе отношение между требуемой поверхностью датчика и частью шаблона кодирования позиции, которая задает положение, меньше, чем в вышеупомянутом американском патенте. Кроме того, каждая ячейка менее сложна, и поэтому процессор, который должен декодировать шаблон кодирования позиции, должен иметь способность распознать меньшее количество различных элементов. Однако процессор должен быть способен определять местоположение и различать, по меньшей мере, две различных ячейки.
Патент EP 0171284 B1 представляет другой плавающий шаблон кодирования позиции, который строится из горизонтальных и вертикальных линий, причем вертикальные линии кодируют положение в горизонтальном направлении, а горизонтальные линии кодируют положение в вертикальном направлении. Линии могут оказаться в положениях, которые являются кратными 1 мм. Наличие линии в таком положении кодирует единицу (1), отсутствие линии в таком положении кодирует ноль (0).
Однако шаблон из линий трудно регистрировать и декодировать, поскольку может быть трудно регистрировать пересечения между линиями. Кроме того, часто бывает так, что датчик расположен не параллельно основанию, что в перспективе приводит к непараллельности линий. Тогда может быть трудно определить, действительно ли линия отсутствует. Кроме того, не должно быть слишком много пропущенных последовательных линий, поскольку тогда могут возникать трудности при декодировании. Кроме того, малоинформационное содержание.
Патентная заявка Швеции SE 9901954-9 настоящих заявителей, которая зарегистрирована 28 мая 1999 года и которая не была широко доступна во время подачи настоящей заявки и, следовательно, не представляет уровня техники, описывает дополнительный шаблон кодирования позиции плавающего типа, в котором информация позиции кодируется графически посредством точек первого и второго размера, причем точка первого размера соответствует нулю (0), а точка второго размера соответствует единице (1). Множество точек вместе кодируют координаты для позиции.
Общее требование состоит в том, что шаблоны кодирования, которые используются для сохранения информации на поверхности, должны быть способны кодировать большой объем информации на единицу площади и должны просто определяться и декодироваться, даже когда они подвергаются помехам различного типа.
Сущность изобретения
Следовательно, задача настоящего изобретения заключается в том, чтобы снабдить изделие шаблоном кодирования, который выполняет это требование, по меньшей мере, в той степени, как известные шаблоны кодирования.
Эта задача достигается посредством изделия по п.1.
Более конкретно изобретение относится к изделию, которое снабжается шаблоном кодирования, содержащим множество меток, каждая из которых представляет одно из, по меньшей мере, двух различных значений. Шаблон кодирования содержит множество номинальных позиций, причем каждая из упомянутых меток ассоциируется с одной из упомянутого множества номинальных позиций, и значение каждой метки определяется ее местоположением относительно ее номинальной позиции.
В уровне техники кодирование обычно осуществляется посредством вида одного или более символов или меток, причем значение каждого символа или метки определяется их видом. Устройство, которое декодирует шаблон кодирования, должно быть способно распознавать различные символы или метки, что увеличивает чувствительность к помехам или делает декодирование более трудным.
Согласно настоящему изобретению определяют значение каждой метки вместо того, чтобы определять, как она расположена относительно ее номинальной позиции. Поскольку значение основано на местоположении метки, все метки могут иметь идентичный вид. Следовательно, шаблон кодирования можно легко нанести на изделие. Более того, определение меток выполняется просто и не подвержено влиянию присутствующих на изделии других меток, которые не являются частью шаблона кодирования. Кроме того, шаблон кодирования может быть реализован более просто посредством использования технологии, отличной от оптической технологии, такой как, например, химической, электрической или механической. Оформление метки также означает, что изделие, которое снабжается шаблоном кодирования, будет эстетически более привлекательно, чем в случае, когда метка считывается оптически. Наконец, можно иметь большое расстояние между метками, по сравнению с плотностью информации, что означает, что шаблон кодирования является менее чувствительным к расплывчатости за счет движения, которая может возникать во время считывания.
В этой связи под номинальным положением подразумевается положение, которое можно определить, и относительно которого метка может быть локализована различными способами. Номинальные позиции могут быть отмечены на изделии, но они также могут быть виртуальными и могут определяться косвенно.
Следует указать, что значение, которое представляет метка, предпочтительно, является числовым значением, но оно также может быть условным обозначением, таким как буква или некоторый тип символа.
Предпочтительно, местоположение метки может определяться по ее центру тяжести, что позволяет использовать метки неправильной формы и снижает требования при нанесении шаблона на изделие.
В предпочтительном варианте осуществления каждому номинальному положению присваивается метка. Преимущество, получаемое тем самым, состоит в том, что все значения кодируются меткой. Таким образом, отсутствие метки всегда подразумевает ошибку.
Метки могут помещаться как в номинальном положении, так и вне его. Возможное представление двоичного шаблона могло бы, например, состоять в том, что метка в номинальном положении представляет нуль, а метка вне номинальной позиции представляет единицу или наоборот.
Однако в предпочтительном варианте осуществления по существу все метки смещены относительно их номинальной позиции. В таком способе шаблон является хаотическим в то время, как одновременно он является настолько однородным, что он кажется таковым для глаза.
Однако некоторые метки должны быть способны находиться в их номинальной позиции, чтобы показывать некоторые специфические параметры, например положение виртуального растра.
Кроме того, в предпочтительном варианте осуществления все метки по существу смещены на одинаковое расстояние относительно их номинальной позиции. Если известно, где находится номинальное положение, то достаточно поискать метку на некотором расстоянии от номинальной позиции, что облегчает определение местоположения меток и снижает риск ошибок. Кроме того, достаточно определить, что на необходимом расстоянии от номинальной позиции имеется метка. Вид этой метки имеет второстепенное значение, что снижает потребность в точности нанесения шаблона на изделие.
В особенно предпочтительном варианте осуществления каждая метка смещается относительно ее номинальной позиции в одном из четырех ортогональных направлений. Зная номинальное положение метки, соответственно, необходимо произвести поиск только в четырех различных направлениях. Это облегчает и ускоряет определение местонахождения меток. Кроме того, тем самым снижается риск ошибок, поскольку метки, которые не являются частью шаблона и которые расположены в позициях, отличных от позиций вдоль четырех ортогональных направлений, не определяются и, таким образом, не приводят к риску воздействия на декодирование шаблона.
Для того чтобы можно было определять местоположения меток относительно номинальных позиций, номинальные позиции должны быть известны. Для этой цели шаблон кодирования, предпочтительно, содержит растр с растровыми линиями, где пересечения растровых линий задают номинальные позиции меток. Таким образом, номинальные позиции регулярно располагаются на изделии. Это облегчает определение и снижает риск ошибки. Кроме того, это позволяет использовать виртуальный растр.
В предпочтительном варианте осуществления расстояние между растровыми линиями составляет приблизительно от 250 мкм до 300 мкм, предпочтительно, 300 мкм. Это обеспечивает возможность высокой плотности информации, при этом сохраняя надежное определение.
В предпочтительном варианте осуществления растровые линии также образуют прямоугольную, предпочтительно, квадратную сетку. В последнем случае расстояние между растровыми линиями является одинаковым в обоих направлениях.
В предпочтительном варианте осуществления каждая метка дополнительно смещается по одной из растровых линий. Когда растр известен, местоположение меток может быть определено эффективным способом путем поиска вдоль четко заданных направлений, которые представляют растровые линии.
В предпочтительном варианте осуществления каждая метка смещается от своей номинальной позиции на расстояние, которое составляет от 1/4 до 1/8, предпочтительно, 1/6, от расстояния между растровыми линиями. Если смещение составляет приблизительно 1/6 от интервала растровых линий, то относительно легко определить, к какой именно номинальной позиции принадлежит метка. Если смещение составляет приблизительно меньше 1/8, то может оказаться, что его трудно определить, то есть требования к разрешению слишком высокие. Если смещение составляет больше, чем приблизительно 1/4, то может оказаться, что трудно определить, к какой именно номинальной позиции принадлежит метка. Это применимо особенно в случае, если представление шаблона кодирования, зарегистрированное датчиком или детектором, искажено, что может происходить, например, если оптический датчик находится под углом к поверхности, на которой расположен шаблон кодирования. Таким образом, при вышеупомянутом предпочтительном интервале растровых линий, равном 300 мкм, предпочтительное смещение составляет 50 мкм.
Растр с растровыми линиями может быть обозначен на поверхности таким способом, чтобы его можно было считывать непосредственно устройством, которое определяет метки. Однако в этом случае растр также должен быть определяемым устройством и отличаться от меток. В предпочтительном варианте осуществления растр вместо этого может быть виртуальным, что означает, что он не отмечен каким-либо способом на изделии, но его местоположение может быть определено из местоположений меток. Таким образом, вместо того, чтобы считываться с изделия, он может определяться косвенно посредством меток.
Как уже упоминалось, в предпочтительном варианте осуществления по существу все метки имеют по существу идентичный вид. Это позволяет легко располагать их на изделии.
Метки, предпочтительно, имеют некоторую простую геометрическую форму. Таким образом, они могут быть преимущественно приблизительно круглыми, треугольными или прямоугольными. Они могут быть закрашенными или нет, но последнее предпочтительно, поскольку тогда определение является более простым.
Метка не должна закрывать номинальную позицию и поэтому не должна иметь большего диаметра, чем двойное смещение, которое составляет 200%. Однако такое требование не является критичным, поскольку допустима некоторая величина перекрывания, например, 240%. Наименьший размер определяется, во-первых, разрешением датчика и требованиями процесса печати, используемого для изготовления шаблона. Однако практически метки не должны иметь диаметр меньше, чем приблизительно 50% от смещения, для того, чтобы избежать проблем с частицами и шумом в датчике.
Шаблон кодирования может быть реализован с любыми параметрами, которые могут использоваться для создания меток вышеупомянутого типа, которые могут определяться детектором. Параметры могут быть электрическими или химическими, или некоторого другого типа. Однако предпочтительно, чтобы шаблон кодирования можно было считывать оптически, чтобы его легче было располагать на изделии. Например, он может быть напечатан на изделии.
В предпочтительном варианте осуществления шаблон кодирования может считываться инфракрасным светом. В этом способе информация, которая не может считываться инфракрасным светом, может быть наложена на шаблон кодирования, не мешая его считыванию.
В предпочтительном варианте осуществления метки составляют от 0,25% до 20%, предпочтительно, приблизительно 9%, от поверхности, которую занимает шаблон кодирования. Если шаблон печатается, например, на листе белой бумаги, то в таком случае это будет приводить только к бледной серой штриховке бумаги, что означает, что она будет выглядеть как по существу нормальная бумага.
Предпочтительно, шаблон кодирования представляет собой шаблон кодирования позиции, который кодирует множество позиций на изделии, причем каждая позиция кодируется посредством множества меток. Однако шаблон кодирования также может использоваться для кодирования другой информации.
Изделием может быть любое изделие, которое может быть снабжено шаблоном кодирования. Оно не обязательно должно быть физическим изделием, но также может быть электронным, например изображением или поверхностью на экране компьютера, на который шаблон кодирования наносится в электронном виде.
Согласно другому аспекту изобретения оно касается использования шаблона кодирования, который содержит множество меток, каждая из которых представляет одно из, по меньшей мере, двух различных значений, а также содержит множество номинальных позиций, причем каждая из упомянутых меток ассоциируется с одной из упомянутого множества номинальных позиций, и значение каждой метки определяется ее местоположением относительно ее номинальной позиции.
Преимущества использования такого шаблона очевидны из обсуждения шаблона кодирования на изделии. Особенности, которые упомянуты для шаблона кодирования на изделии, также, конечно, применимы к использованию шаблона кодирования. Использование может, например, заключаться в печати шаблона кодирования на изделии, сохранения шаблона кодирования в электронном виде или декодировании шаблона кодирования.
Краткое описание чертежей
В дальнейшем изобретение поясняется описанием конкретных вариантов его осуществления со ссылками на сопровождающие чертежи, на которых:
фиг.1 схематично изображает вариант осуществления изделия, которое снабжается шаблоном кодирования позиции,
фиг.2 схематично изображает то, каким образом метки могут быть оформлены и расположены в варианте осуществления изобретения,
фиг.3 схематично изображает пример символов 4×4, которые используются для кодирования позиции,
фиг.4 схематично изображает устройство, которое может использоваться для определения позиции,
фиг.5 схематично изображает шаблон кодирования позиции с треугольным растром, и
фиг.6 схематично изображает шаблон кодирования позиции с гексагональным растром.
Подробное описание предпочтительных вариантов осуществления
Фиг.1 изображает часть изделия в виде листа 1 бумаги, который, по меньшей мере, на части своей поверхности 2 снабжается оптически считываемым шаблоном 3 кодирования позиции, обеспечивающим возможность определения позиции.
Шаблон кодирования позиции содержит метки 4, которые выстроены систематически на поверхности 2 так, чтобы она имела вид с нанесенным шаблоном. Лист бумаги имеет ось X-координаты и ось Y-координаты. Определение позиции может выполняться на всей поверхности изделия. В других случаях поверхность, которая обеспечивает возможность определения позиции, может составлять маленькую часть изделия.
Шаблон, например, может использоваться для того, чтобы обеспечить электронное представление информации, которое записывается или графически представляется на поверхности. Электронное представление может быть обеспечено во время записи на поверхности ручкой, путем непрерывного определения позиции ручки на листе бумаги, посредством считывания шаблона кодирования позиции.
Шаблон кодирования позиции содержит виртуальный растр, который, таким образом, является как не видимым для глаза, так и не может быть обнаружен непосредственно устройством, которое должно определять позицию на поверхности, а также содержит множество меток 4, каждая из которых, в зависимости от ее местоположения, представляет одно из четырех значений от "1" до "4", как описано ниже. В этой связи следует указать, что для наглядности шаблон кодирования позиции на фиг.1 является сильно увеличенным. Кроме того, он показан расположенным только на части листа бумаги.
Шаблон кодирования позиции расположен так, что позиция частичной поверхности на полной поверхности записи однозначно определяется метками, находящимися на этой частичной поверхности. Первая и вторая частичные поверхности 5a, 5b показаны на фиг.1 пунктирными линиями. Вторая частичная поверхность частично накладывается на первую частичную поверхность. Часть шаблона кодирования позиции (здесь метки 4×4) на первой частичной поверхности 5a кодирует первую позицию, а часть шаблона кодирования позиции на второй частичной поверхности 5b кодирует вторую позицию. Таким образом, шаблон кодирования позиции является частично одним и тем же для смежных первой и второй позиций. Такой шаблон кодирования позиции в настоящем описании называется "плавающим". Каждая частичная поверхность кодирует специфическую позицию.
Фиг.2a-г показывают, как метка может быть оформлена и как она может быть расположена относительно номинальной позиции 6. Номинальная позиция 6, которая также может называться растровой точкой, представлена пересечением растровых линий 8. Метка 7 имеет форму круглого пятнышка. Метка 7 и растровая точка 6 вместе составляют символ.
В одном варианте осуществления расстояние между растровыми линиями составляет 300 мкм, а угол между растровыми линиями составляет 90 градусов. Возможны другие растровые интервалы, например 254 мкм, для того, чтобы адаптироваться к принтерам и сканерам, которые часто имеют разрешение, кратное 100 точкам на дюйм, что соответствует расстоянию между точками, равному 25,4 мм/100, то есть 254 мкм.
Значение метки зависит от того, где расположена метка относительно номинальной позиции. В примере на фиг.2 имеются четыре возможных местоположения, по одному на каждую из растровых линий, отстоящих от номинальной позиции. Смещение от номинальной позиции имеет одинаковую величину для всех значений.
Каждая метка 7 смещается относительно своей номинальной позиции 6, то есть в номинальной позиции нет никакой метки. Кроме того, на одну номинальную позицию приходится только одна метка, и эта метка смещается относительно своей номинальной позиции. Это относится к меткам, которые составляют шаблон. Могут иметься другие метки на поверхности, которые не являются частью шаблона и, таким образом, не вносят вклад в кодирование. Такие метки могут представлять собой пятнышки пыли, непреднамеренные точки или метки и преднамеренные метки, например, от изображения или чертежа на поверхности. Поскольку положение меток шаблона на поверхности достаточно четкое, шаблон не подвержен действию таких помех.
В одном варианте осуществления метки смещаются на 50 мкм относительно номинальной позиции 6 вдоль растровой линии 8. Смещение составляет, предпочтительно, 1/6 растрового интервала, поскольку тогда относительно легко определить, к какой именно номинальной позиции принадлежит конкретная метка. Смещение должно составлять, по меньшей мере, приблизительно 1/8 растрового интервала, в противном случае становится трудно определять смещение, то есть требования к разрешению становятся высокими. С другой стороны, смещение должно составлять меньше, чем приблизительно 1/4 растрового интервала, для того, чтобы можно было определить, к какой номинальной позиции принадлежит метка.
Смещение необязательно должно происходить вдоль растровой линии, но метки могут располагаться в отдельных квадрантах. Однако если метки смещаются вдоль растровых линий, достигается преимущество, заключающееся в том, что расстояние между метками имеет минимум, который может использоваться для восстановления растровых линий, как подробно описано ниже.
Каждая метка состоит из более или менее круглого пятнышка с радиусом, который имеет приблизительно такую же величину, как смещение, или несколько меньше. Радиус может составлять от 25% до 120% от смещения. Если радиус намного больше, чем смещение, то может быть трудно определить растровые линии. Если радиус слишком маленький, то для регистрации меток требуется большее разрешение.
Метки не обязательно должны быть круглыми, но может использоваться любая подходящая форма, как, например, квадрат или треугольник.
Обычно каждая метка охватывает множество пикселей на микрокадре датчика и, в одном варианте осуществления, центр тяжести этих пикселей регистрируется или рассчитывается и используется в последующей обработке. Поэтому точная форма метки имеет несущественное значение. Таким образом, могут использоваться относительно простые процессы печати, если можно гарантировать, что центр тяжести метки имеет требуемое смещение.
В дальнейшем метка на фиг.2a представляет значение 1, на фиг.2б - значение 2, на фиг.2в представляет значение 3 и на фиг.2г представляет значение 4.
Таким образом, каждая метка может представлять одно из четырех значений от 1 до 4. Это означает, что шаблон кодирования позиции может быть разделен на первый код позиции для x-координаты и второй код позиции для y-координаты. Разделение выполняется следующим образом:
Значение метки | x-код | y-код |
1 | 1 | 1 |
2 | 0 | 1 |
3 | 1 | 0 |
4 | 0 | 0 |
Таким образом, значение каждой метки преобразуется в первое значение, в данном случае бит для x-кода, и во второе значение, в данном случае бит для y-кода. Таким способом с помощью этого шаблона получается два полностью независимых битовых шаблона. Наоборот, два или более битовых шаблона можно объединить в общий шаблон, который кодируется графически посредством множества меток в соответствии с фиг.2.
Каждая позиция кодируется посредством множества меток. В этом примере для того, чтобы закодировать позицию в двух измерениях, то есть по x-координате и y-координате, используются метки 4×4.
Код позиции строится посредством числового ряда из единиц и нулей некоторого битового ряда, который имеет особенность, состоящую в том, что никакая битовая последовательность длиной четыре бита не встречается в битовом ряду больше одного раза. Битовый ряд является циклическим, что означает, что особенность также применима в случае, когда конец ряда соединяется с его началом. Таким образом, четырехбитовая последовательность всегда имеет однозначно определяемый номер позиции в битовом ряду.
Чтобы битовый ряд имел вышеописанную особенность для битовой последовательности из четырех битов, он должен быть длиной максимум 16 битов. Однако в данном примере битовый ряд длиной только семь битов используется следующим образом:
" 0 0 0 1 0 1 0 ".
Этот битовый ряд содержит семь уникальных битовых последовательностей из четырех битов, которые кодируют номер позиции в ряду следующим образом:
Номер позиции в ряду | Последовательность |
0 | 0001 |
1 | 0010 |
2 | 0101 |
3 | 1010 |
4 | 0100 |
5 | 1000 |
6 | 0000 |
Для того чтобы закодировать x-координату, битовый ряд записывается последовательно в столбцах по всей поверхности, которая должна быть закодирована, где левый столбец K0 соответствует нулевой x-координате (0). Таким образом, в одном столбце битовый ряд может последовательно повторяться несколько раз.
Кодирование основано на разностях или смещениях позиции между соседними битовыми рядами в смежных столбцах. Величина разности определяется номером позиции (то есть битовой последовательностью) в битовом ряду, с которого начинаются смежные столбцы.
Более точно, если взять разность n по модулю семь между, с одной стороны, номером позиции, который закодирован четырехбитовой последовательностью в первом столбце Kn и который, таким образом, может иметь значение от 0 до 6, и, с другой стороны, номером позиции, который закодирован смежной четырехбитовой последовательностью на соответствующей "высоте" в смежном столбце K n+1, то разность будет одинаковой независимо от того, где, то есть на какой "высоте", вдоль двух столбцов создается разность. Таким образом, используя разность между номерами позиций для двух битовых последовательностей в двух смежных столбцах, можно закодировать x-координату, которая является независимой от всех y-координат и постоянной для них.
Поскольку каждая позиция на поверхности кодируется частичной поверхностью, в этом примере состоящей из 4×4 меток, то для кодирования x-координаты имеются четыре вертикальных доступных битовых последовательностей и, таким образом, три разности, каждая со значением от 0 до 6.
Шаблон делится на кодовые окна F с особенностью, состоящей в том, что каждое кодовое окно состоит из 4×4 меток. Таким образом, имеются четыре горизонтальных битовых последовательности и четыре вертикальных доступных битовых последовательности, так что можно создать три разности в x-направлении и можно получить четыре позиции в y-направлении. Эти три разности и четыре позиции кодируют позицию частичной поверхности в x-направлении и y-направлении. Смежные окна в x-направлении имеют общий столбец, см. фиг.1. Таким образом, первое кодовое окно F0,0 содержит битовые последовательности из столбцов K0, K1, K2, K3 и битовые последовательности из строк R0, R1, R2, R3 . Поскольку разности используются в x-направлении, следующее окно по диагонали в x-направлении и y-направлении, окно F 1,1, содержит битовую последовательность из столбцов K 3, K4,
K5, К 6 и строк R4, R5, R6, R7. Рассматривая кодирование только в x-направлении, можно считать, что кодовое окно имеет в y-направлении неограниченное протяжение. Соответственно, рассматривая кодирование только в y-направлении, можно считать, что кодовое окно имеет в x-направлении неограниченное протяжение. Такое первое и второе кодовое окно с неограниченным протяжением в y-направлении и x-направлении, соответственно, вместе образуют кодовое окно типа, показанного на фиг.1, например, F0,0.
Каждое окно имеет координаты Fx, которые задают положение окна в x-направлении, и Fy, которые задают положение окна в y-направлении. Таким образом, связь между окнами и столбцами следующая:
Ki = 3 Fx
Rj = 4 Fy
Кодирование выполняется таким образом, что из трех разностей одна из разностей 0 всегда имеет значение 1 или 2, что показывает наименьшую значащую цифру S0 для числа, которое представляет позицию кодового окна в x-направлении, а обе другие разности
1,
2 имеют значения в диапазоне от 3 до 6, которые показывают наименьшие значащие цифры S1, S2 для координаты кодового окна. Таким образом, для x-координат никакая разность не может быть нулевой, так как это могло бы привести к слишком симметричному кодовому шаблону. Другими словами, столбцы кодируются так, чтобы разности были следующие:
(от 3 до 6); (от 3 до 6); (от 1 до 2); (от 3 до 6); (от 3 до 6); (от 1 до 2); (от 3 до 6); (от 3 до 6); (от 1 до 2); (от 3 до 6); (от 3 до 6); ...
Таким образом, каждая x-координата кодируется двумя разностями 1,
2 между 3 и 6 и последующей разностью, которая равна 1 или 2. Вычитая единицу (1) из наименьшей разности
0 и тройку (3) из других разностей, можно получить три цифры S2, S1, S0, которые в основании смешанной системы счисления непосредственно дают номер позиции кодового окна в x-направлении, из которого можно затем непосредственно определить x-координату, как показано в примере ниже. Номер позиции кодового окна:
S 2×(4×2)+S1×2+S0×1
Таким образом, используя вышеописанный принцип, возможно закодировать кодовые окна 0, 1, 2,..., 31, используя номер позиции для кодового окна, состоящий из трех цифр, которые представлены тремя разностями. Эти разности кодируются битовым шаблоном, который основан на вышеупомянутом числовом ряде. Битовый шаблон может быть окончательно закодирован графически посредством меток, изображенных на фиг.2.
Во многих случаях, когда регистрируется частичная поверхность, состоящая из 4×4 меток, полный номер позиции, который кодирует x-координату, не будет получен, но будут получены части двух номеров позиций, поскольку частичная поверхность во многих случаях не совпадает с одним кодовым окном, но покрывает части двух смежных кодовых окон в x-направлении. Однако так как разность для наименьшей значащей цифры S0 каждого номера всегда составляет 1 или 2, полный номер позиции можно легко восстановить, поскольку известно, что цифра является наименьшей значащей.
y-координаты кодируются посредством кодовых окон приблизительно в соответствии с тем же принципом, который используется для x-координат. Циклический числовой ряд, который представляет собой такой же числовой ряд, который используется для x-кодирования, записывается многократно в горизонтальных строках на поверхности, которая должна подвергнуться кодированию позиции. Точно так же, как для x-координат, строки составляются так, чтобы они начинались в различных позициях, то есть с различных битовых последовательностей в числовом ряду. Однако для y-координаты разности не используются, а координаты кодируются значениями, которые основаны на начальной позиции числового ряда в каждой строке. Как только x-координата определена для частичной поверхности с 4×4 метками, начальные позиции в числовом ряду фактически могут быть определены для строк, которые включены в y-код для 4×4 меток.
В y-коде наименьшая значащая цифра определяется как единственная цифра, которая имеет значение в специфическом диапазоне. В данном примере строка из четверок начинается в позиции от 0 до 1 в числовом ряду, чтобы показать, что этот ряд относится к наименьшей значащей цифре S0 в кодовом окне, а три другие строки начинаются в любой из позиций от 2 до 6, чтобы показать другие цифры S1 S2 S3 в кодовом окне. Таким образом, в y-направлении имеется следующий ряд значений:
(от 2 до 6); (от 2 до 6); (от 2 до 6); (от 0 до 1); (от 2 до 6); (от 2 до 6); (от 2 до 6); (от 0 до 1); (от 2 до 6);...
Таким образом, каждое кодовое окно кодируется тремя значениями между 2 и 6 и последующим значением между 0 и 1.
Если из низкого значения вычесть ноль (0), а из других значений двойку (2), то в основании смешанной системы счисления получается позиция в y-направлении S3 S2 S1 S 0, способом, подобным для x-направления, из которого номер позиции кодового окна может быть определен непосредственно, то есть:
S3×(5×5×2)+S 2×(5×2)+S1×2+S0×1
Используя вышеупомянутый способ, в x-направлении для кодовых окон можно закодировать 4×4×2=32 номеров позиций. Каждое кодовое окно содержит битовые последовательности из трех столбцов, что дает 3×32=96 столбцов или x-координат. Кроме того, можно закодировать 5×5×5×2=250 номеров позиций в y-направлении для кодовых окон. Каждый такой номер позиции содержит горизонтальные битовые последовательности из 4 строк, что дает 4×250=1000 строк или y-координат. Таким образом, всего возможно закодировать 96000 координатных позиций.
Так как x-кодирование основано на разностях, то можно выбрать позицию, в которой начинается первый числовой ряд в первом кодовом окне. Если учесть, что первый числовой ряд может начинаться в семи различных позициях, то можно закодировать 7×96000=672000 позиций. Начальная позиция первого числового ряда в первом столбце K0 может быть рассчитана, когда уже определены x- и y-координаты. Вышеупомянутые семь различных начальных позиций для первого ряда могут кодировать различные страницы или поверхности записи изделия.
Теоретически частичная поверхность с 4×4 символами, каждый из которых имеет четыре значения, может закодировать 44×4 позиций, то есть 4294967296 позиций. Таким образом, чтобы обеспечить возможность плавающего определения позиции частичной поверхности, имеется множитель избыточности более 6000 (4294967296/672000).
Избыточность состоит частично в ограничении на величину разностей и частично в использовании только 7 битов из 16 в коде позиции. Однако последний факт может использоваться для определения позиции вращения частичной поверхности. Если к последовательности с четырьмя битами добавить следующий бит в битовом ряду, то получается последовательность с пятью битами. Пятый бит получается посредством считывания смежного бита, находящегося сразу за используемой частичной поверхностью. Такой дополнительный бит часто является легко доступным.
Частичная поверхность, которая считывается датчиком, может иметь четыре различные позиции вращения, вращающихся на 0, 90, 180 или 270 градусов относительно кодового окна. В тех случаях, когда вращается частичная поверхность, считывание кода, однако, будет таким, что считываемый код будет инвертирован и обращен либо в x-направлении, либо в y-направлении, либо в обоих, по сравнению со случаем, в котором он считывался при 0 градусов. Однако тем самым подразумевается, что используется несколько отличное декодирование значения меток согласно нижеследующей таблице.
Значение метки | x-код | y-код |
1 | 0 | 0 |
2 | 1 | 0 |
3 | 1 | 1 |
4 | 0 | 1 |
Вышеупомянутая последовательность с пятью битами имеет такую особенность, что последовательность встречается только в случае циклического сдвига направо, а не в инвертированной и обращенной форме в семибитовом ряду. Это очевидно из того факта, что битовый ряд (0 0 0 1 0 1 0) содержит только две "единицы". Поэтому все последовательности с пятью битами должны содержать, по меньшей мере, три нуля, которые после инверсии (или обращения, если они вообще происходят) приводят к трем единицам, чего быть не может. Таким образом, если найдена последовательность с пятью битами, которая не имеет номера позиции в битовом ряду, то можно сделать вывод, что частичная поверхность, вероятно, должна быть повернута и должна проверяться новая позиция.
Чтобы представить дальнейшие иллюстрации изобретения согласно данному варианту осуществления, ниже приводится конкретный пример, который основан на описанном варианте осуществления кода позиции.
Фиг.3 изображает пример изображения с метками 4×4, которое считывается устройством для определения позиции.
Эти 4×4 метки имеют следующие значения:
4 4 4 2
3 2 3 4
4 4 2 4
1 3 2 4
Указанные значения представляют следующие двоичные x- и y-коды:
x-код: | y-код: |
0 0 0 0 | 0 0 0 1 |
1 0 1 0 | 0 1 0 0 |
0 0 0 0 | 0 0 1 0 |
1 1 0 0 | 1 0 1 0 |
Вертикальные битовые последовательности в x-коде кодируют следующие позиции в битовом ряду: 2 0 4 6. Разности между столбцами составляют -2 4 2, что по модулю 7 дает: 5 4 2, что в основании смешанной системы счисления кодирует номер позиции кодового окна: (5-3)×8+(4-3)×2+(2-1)=16+2+1=19. Первое закодированное кодовое окно имеет номер позиции 0. Таким образом, разность, которая находится в диапазоне от 1 до 2 и которая появляется в 4×4 метках частичной поверхности, составляет двадцатую часть такой разности. В качестве дополнительных имеется всего три столбца для каждой такой разности, а также имеется начальный столбец, вертикальная последовательность, наиболее удаленная направо в 4×4 x-коде, принадлежит 61-ому столбцу (столбец 60) в x-коде (3×20+1=61), а вертикальная последовательность, наиболее удаленная налево, принадлежит 58-ому столбцу (столбец 57).
Горизонтальные битовые последовательности в y-коде кодируют в числовом ряду позиции 0 4 1 3. Поскольку эти горизонтальные битовые последовательности начинаются в 58 столбце, начальная позиция строк составляет их значение минус 57 по модулю 7, что дает начальные позиции 6 3 0 2. Преобразованные к цифрам в основании смешанной системы счисления они становятся 6-2, 3-2, 0-0, 2-2 = 4 1 0 0, где третья цифра представляет собой наименьшую значащую цифру в рассматриваемом числе. Тогда четвертая цифра является наименьшей значащей цифрой в следующем числе. В этом случае она должна быть такой же, как в рассматриваемом числе. (Исключение составляет случай, когда рассматриваемое число состоит из наибольших возможных цифр во всех позициях. Тогда известно, что начало следующего числа больше, чем начало рассматриваемого числа.)
Номер позиции в основании смешанной системы счисления будет 0×50+4×10+1×2+0×1=42.
Таким образом, третья горизонтальная битовая последовательность в y-коде принадлежит к 43-ему кодовому окну, которое имеет начальную позицию 0 или 1, а поскольку имеется всего четыре строки для каждого такого кодового окна, третья строка является числом 43×4=172.
В данном примере позиция верхнего левого угла частичной поверхности с 4×4 метками имеет вид: (58,170).
Поскольку вертикальные битовые последовательности в x-коде в 4×4 группе начинаются в строке 170, x-столбцы всего шаблона начинаются в позициях числового ряда ((2 0 4 6)-169) по модулю 7 = 1635. Между последней начальной позицией (5) и первой начальной позицией числа 0-19 кодируются в основании смешанной системы счисления, и прибавляя представления чисел 0-19 в основании смешанной системы счисления, можно получить полную разность между этими столбцами. Простой алгоритм для выполнения этого должен генерировать эти двадцать чисел и непосредственно прибавлять их цифры. Обозначим полученную сумму s. Тогда страница или поверхность записи дается выражением (5-s) по модулю 7.
Альтернативный способ для определения того, какой бит является наименьшим значащим в частичной поверхности, чтобы можно было идентифицировать кодовое окно таким способом, заключается в следующем. Наименьший значащий бит (LSB, НЗБ) определяется как цифра, которая является самой меньшей в разностях частичной поверхности или в номере позиции строки. Таким образом, уменьшение (избыточность) максимального применимого номера координат относительно мало. Например, первые кодовые окна в x-направлении в вышеприведенном примере все могут иметь НЗБ = 1, а другие будут иметь НЗБ = цифрам между 2 и 6, что дает 25 кодовых окон, следующие все могут иметь НЗБ = 2 и равное другим цифрам между 3 и 6, что дает 16 кодовых окон, следующие все могут иметь НЗБ = 3 и другим цифрам между 4 и 6, что дает 9 кодовых окон, следующие могут иметь НЗБ = 4 и другим цифрам между 5 и 6, что дает 4 кодовых окна, следующие могут иметь НЗБ = 5 и другим цифрам 6, что дает 1 кодовое окно, то есть в сумме 55 кодовых окон, по сравнению с 32 в вышеприведенном примере.
В вышеприведенном примере был описан вариант осуществления, в котором каждое кодовое окно кодируется 4×4 метками и используется числовой ряд с 7 битами. Это, конечно, только один пример. Позиции могут кодироваться большим или меньшим числом меток. Не обязательно должно быть одно и то же число в обоих направлениях. Числовой ряд может иметь различную длину и необязательно должен быть двоичным, но может быть основан на другом основании, например шестнадцатеричном коде. Для кодирования в x-направлении и кодирования в y-направлении может использоваться различный числовой ряд. Различные метки могут представлять различные номера значений.
В практическом примере используется состоящая из 6×6 меток частичная поверхность, а битовый ряд может состоять максимум из 26 битов, то есть 64 битов. Однако чтобы иметь возможность определять позицию вращения частичной поверхности, используется битовый ряд, состоящий из 51 бита, и, следовательно, 51 позиции. Пример такой битовой последовательности:
0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 1 1 1 0 0 1 0
Такая частичная поверхность, состоящая из меток числом шесть на шесть, может теоретически закодировать 46×6 позиций, что, с вышеупомянутыми размерами растра 0,3 мм, представляет собой чрезвычайно большую поверхность.
Подобным способом, как описано выше для последовательности с семью битами, согласно настоящему изобретению применяется такая особенность, что частичная поверхность увеличивается, чтобы включить один бит на каждой стороне частичной поверхности, по меньшей мере, в ее центре, так, чтобы для третьей и четвертой строк в частичной поверхности из 6×6 символов считывалось 8 символов, по одному на каждой стороне частичной поверхности, и аналогично в y-направлении. Вышеупомянутый битовый ряд, который содержит 51 бит, имеет такую особенность, для которой битовая последовательность из 6 битов попадается только однажды, а также то, что битовая последовательность из 8 битов, которая содержит вышеупомянутую битовую последовательность из 6 битов, попадается только однажды, и никогда не встречается в инвертированной позиции или в обращенной и инвертированной позиции. Таким образом, позиция вращения частичной поверхности может быть определена путем считывания 8 битов в строке 3, строке 4, столбце 3 и/или столбце 4. Когда позиция вращения известна, частичная поверхность может вращаться до правильной позиции перед тем, как продолжить обработку.
Желательно получить шаблон, который является настолько хаотическим, насколько это возможно, то есть в котором не встречаются участки с чрезмерной симметрией. Желательно получить шаблон, в котором частичная поверхность с 6×6 метками содержит метки со всеми различными позициями в соответствии с фиг.2а-2г. Для того чтобы еще больше увеличить хаотичность или избежать повторяющихся особенностей, способ может использовать так называемую "перетасовку". Каждая горизонтальная битовая последовательность начинается в заданной начальной позиции. Однако для каждой строки возможно смещать начальную позицию в горизонтальном направлении, если смещение известно. Такую операцию можно выполнить, присваивая отдельный вектор смещения для смежных строк каждому наименьшему значащему биту (НЗБ). Вектор смещения устанавливается тем, насколько каждая строка смещается в горизонтальном направлении. Визуально это можно рассматривать так, как если бы ось y на фиг.1 являлась "заостренной".
В вышеупомянутом примере с 4×4 кодовым окном вектор смещения может быть 1, 2, 4, 0 для НЗБ = 0, и 2, 2, 3, 0 для НЗБ = 1. Это означает, что после вычитания числа 2 и 0 соответственно, перед тем, как продолжить обработку, вышеупомянутое смещение должно вычитаться (по модулю пять) из номера позиции битовой последовательности. В вышеупомянутом примере для y-координаты цифры 4 1 0 0 (S2, S1, S0, S 4) получаются в основании смешанной системы счисления, где вторая цифра справа является наименьшей значащей цифрой, НЗБ. Поскольку вектор смещения 1, 2, 4, 0, который должен использоваться (НЗБ = 0) для цифр 4 и 1, то 2 вычитается из 4, чтобы дать S 2 = 2, а 4 вычитается из 1 (по модулю пять), чтобы дать S1 = 2. Цифра S0 = 0 остается неизменной (составляющая вектора смещения для наименьшей значащей цифры всегда равна нулю). Наконец, цифра S4 принадлежит следующему кодовому окну, которое должно иметь НЗБ = 1, то есть должен использоваться второй вектор смещения. Таким образом, 2 вычитается из 0 (по модулю пять), что дает S4 = 3.
Подобный способ можно использовать, чтобы изменить коды для x-координат. Однако имеется меньшая потребность изменять x-координаты, поскольку они уже распределены относительно хаотически, поскольку нулевая разность в вышеупомянутом примере не используется.
В вышеупомянутом примере метка является пятнышком. Естественно, она может иметь различный вид. Она может, например, состоять из линии или эллипса, который начинается в виртуальной растровой точке и вытягивается из нее до специфической позиции. Можно использовать отличные от круглого пятнышка символы, такие как, например, квадрат, прямоугольник, треугольник, круг или эллипс, закрашенные или нет.
В вышеупомянутом примере метки используются в пределах квадратной частичной поверхности для кодирования позиции. Частичная поверхность может быть другой формы, например гексагональной. Метки необязательно должны быть расположены вдоль растровых линий в ортогональном растре, но также могут быть расположены другими способами, как, например, вдоль растровых линий с углами наклона 60 градусов и т.д. Также можно использовать систему полярных координат.
Также могут использоваться растры в форме треугольников или шестиугольников, как показано на фиг.5 и 6. Например, растр с треугольниками, см. фиг.5, позволяет смещать каждую метку в шести различных направлениях, что обеспечивает даже более высокие возможности, соответствуя 66×6 позициям частичной поверхности. Для гексагонального растра, фиг.6, т.е. сотового шаблона, каждая метка может быть смещена в трех различных направлениях вдоль растровых линий.
Как упомянуто выше, метки не должны смещаться вдоль растровых линий, но могут смещаться в других направлениях, например, так, чтобы каждая была определена в отдельном квадранте при использовании квадратного растрового шаблона. В гексагональном растровом шаблоне метки могут смещаться в четырех или более различных направлениях, например в шести различных направлениях вдоль растровых линий и по линиям, которые наклонены под углом 60 градусов к растровым линиям.
Чтобы была возможность определить код позиции, необходимо определить виртуальный растр. В квадратном растровом шаблоне это можно выполнить, рассматривая расстояние между различными метками. Самое короткое расстояние между двумя метками должно получиться от двух смежных меток со значениями 1 и 3 в горизонтальном направлении или со значениями 2 и 4 в вертикальном направлении так, чтобы метки лежали на той же самой растровой линии между двумя растровыми точками. Когда оказалась такая пара меток определенной, ассоциированные растровые точки (номинальные позиции) могут быть определены, используя знание расстояния между растровыми точками и смещение меток от растровых точек. Как только определено положение двух растровых точек, можно определить дополнительные растровые точки, используя измеренное расстояние до других меток и зная расстояние между растровыми точками.
Если метки смещаются на 50 мкм вдоль растровых линий, что составляет разнесение 300 мкм, то наименьшее расстояние между двумя метками будет 200 мкм, например, между метками со значениями 1 и 3. Следующее наименьшее расстояние возникает, например, между метками со значениями 1 и 2 и составляет 255 мкм. Следовательно, существует относительно отчетливая разница между наименьшим и следующим самым маленьким расстоянием. Разность для любых диагоналей также велика. Однако если смещение больше 50 мкм, например больше 75 мкм (1/4), то диагонали могут вызывать проблемы, и может быть трудно определить, к какой именно номинальной позиции принадлежит метка. Если смещение меньше 50 мкм, например меньше, чем приблизительно 35 мкм (1/8), то наименьшее расстояние будет 230 мкм, что не дает очень большую разность для следующего расстояния, которое тогда составляет 267 мкм. Кроме того, повышаются требования к оптическому считыванию.
Метки не должны покрывать их собственную растровую точку и, следовательно, не должны иметь большего диаметра, чем двойное смещение, то есть 200%. Однако это не критично, и можно допустить некоторое перекрывание, например 240%. Наименьшая величина определяется, во-первых, разрешением датчика и требованиями к процессу печати, используемому для изготовления шаблона. Однако практически метки не должны иметь диаметр меньше, чем приблизительно 50% от смещения, для того, чтобы избежать проблем с частицами пыли и шумом в датчике.
Вариант осуществления устройства для определения позиции схематически изображен на фиг.4. Оно содержит корпус 11, который имеет приблизительно такую же форму, как авторучка. На короткой грани (торце) корпуса имеется отверстие 12. Короткая грань предназначена для того, чтобы упираться в поверхность или поддерживаться на коротком расстоянии от поверхности, на которой должно выполняться определение позиции.
Корпус содержит по существу оптическую часть, электронную часть и источник питания.
Оптическая часть содержит, по меньшей мере, один светодиод 13 для освещения поверхности, которая должна отображаться, и светочувствительный датчик 14, например датчик на приборе с зарядовой связью (CCD, ПЗС), или датчик на комплементарной МОП структуре (CMOS, КМОП) для регистрации двухмерного изображения. При необходимости устройство также может содержать оптическую систему, такую как, например, систему зеркал и/или линз. Светодиод может быть инфракрасным светодиодом, а датчик может быть чувствительным к инфракрасному свету.
Электропитание для устройства подается от батареи 15, которая устанавливается в отдельном секторе в корпусе.
Электронная часть содержит средство 16 обработки изображения для определения позиции на основе изображения, зарегистрированного датчиком 14, и, в частности, модуль процессора с процессором, который запрограммирован так, чтобы считывать изображение с датчика и выполнять определение позиции на основе этих изображений.
В этом варианте осуществления устройство также содержит шариковую авторучку 17, с помощью которой обычная запись на основе красителя может быть записана на поверхности, на которой должно выполняться определение позиции. Шариковая ручка 17 способна удлиняться и выдвигаться так, чтобы пользователь мог управлять нужно или нет ее использовать. В некоторых применениях устройство вообще может не иметь шариковой ручки.
Запись на основе красителя соответственно является такого типа, чтобы она была прозрачна для инфракрасного излучения, а метки соответственно поглощают инфракрасное излучение. Используя светодиод, который испускает инфракрасный свет, и датчик, который является чувствительным к инфракрасному свету, можно выполнять определение шаблона без взаимного влияния вышеупомянутой записи с шаблоном.
Устройство также содержит кнопки 18, которыми устройство может активизироваться и управляться. Оно также имеет приемопередатчик 19 для беспроводной передачи информации к устройству и от него, например, с использованием инфракрасного света, радиоволн или ультразвука. Устройство также может содержать дисплей 20 для отображения позиций или зарегистрированной информации.
Устройство для регистрации текста описано в патенте № 9604008-4 Швеции. Это устройство может использоваться для определения позиций, если оно запрограммировано соответствующим образом. Если оно должно использоваться для записи на основе красителя, то оно также может быть снабжено шариковой ручкой.
Устройство физически может быть разделено на различные корпуса, причем первый корпус содержит компоненты, которые требуются для регистрации изображений шаблона кодирования позиции и для их передачи к компонентам, которые содержатся во втором корпусе и которые выполняют определение позиций на основе зарегистрированного изображения(-ий).
Как уже упоминалось, определение позиций выполняется процессором, который, следовательно, должен иметь программное обеспечение для определения местоположений меток в изображении и для их декодирования, а также для определения позиций из кодов, полученных таким образом. Специалист будет способен на основе вышеприведенных примеров создать программное обеспечение, которое выполняет определение позиций на основе изображения части шаблона кодирования позиции.
Кроме того, на основе предшествующего описания специалист будет способен создать программное обеспечение для печати шаблона кодирования позиции.
В вышеописанном варианте осуществления шаблон может считываться оптически, и, следовательно, датчик является оптическим. Как уже упоминалось, шаблон может быть основан на параметре, отличающемся от оптического параметра. В таком случае датчик, конечно, должен быть такого типа, чтобы он мог считывать соответствующий параметр. Примерами таких параметров являются химические, акустические или электромагнитные метки. Также могут использоваться емкостные или индуктивные метки.
В вышеописанном варианте осуществления растр представляет собой ортогональную сетку. Он может также иметь другие формы, типа ромбической сетки, например, с углами наклона 60 градусов, треугольную или гексагональную сетки и т.д.
Может использоваться смещение не только в четырех направлениях, а в большем или меньшем их числе, например смещение в трех направлениях вдоль гексагонального виртуального растра. В ортогональном растре могут использоваться только два смещения для того, чтобы облегчить воссоздание растра. Однако предпочтительным является смещение в четырех направлениях, а в рамках изобретения также возможны шесть или восемь направлений.
В вышеописанном варианте осуществления не используется самый длинный возможный циклический числовой ряд. В результате получается степень избыточности, которая может использоваться различными способами, например, для того, чтобы выполнять исправление ошибок, заменять пропущенные или скрытые метки и т.д.
Класс G06K19/06 отличающиеся видом цифровой маркировки, например формой, характером, кодом