Отображение между камерой и кончиком пера и калибровка

Иллюстрации

Показать все

Изобретение относится к устройствам ввода. Техническим результатом является осуществление калибровки без необходимости использования сложного калибровочного оборудования. Положения х-у кончика цифрового пера может быть определено благодаря использованию калибровочного параметра для отображения положения х-у соответствующих центров изображений, захваченных камерой пера. Калибровочный параметр может быть сгенерирован в результате итеративного расчета оценок калибровочного параметра. Входные калибровочные данные могут быть получены при помещении пользователем кончика пера в фиксированное положение на поверхности, которая может представлять собой носитель с кодированием позиций, такой как бумага, с последующим поворотом пера и/или перемещением противоположного конца пера в различных направлениях, для захвата множества изображений, предназначенных для использования при генерировании калибровочного параметра. 4 н. и 21 з.п. ф-лы, 28 ил.

Реферат

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Перечень фигур чертежей

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

Фиг.1 - общее описание компьютера, который можно использовать совместно с вариантами выполнения настоящего изобретения.

Фиг.2A и 2B - система захвата изображения и соответствующее захваченное изображение, в соответствии с вариантами выполнения настоящего изобретения.

Фиг.3А-3F - различные последовательности и методики свертывания, в соответствии с вариантами выполнения настоящего изобретения.

Фиг.4A-4E - различные системы кодирования, в соответствии с вариантами выполнения настоящего изобретения.

Фиг.5A-5D - четыре возможных результирующих угла, ассоциированных с системой кодирования по фиг.4А и 4B.

Фиг.6 - поворот участка захваченного изображения, в соответствии с вариантами выполнения настоящего изобретения.

Фиг.7 - различные углы поворота, используемые совместно с системой кодирования по фиг.4A-4E.

Фиг.8 - процесс определения местоположения захваченного массива, в соответствии с вариантами выполнения настоящего изобретения.

Фиг.9 - способ определения местоположения захваченного изображения, в соответствии с вариантами выполнения настоящего изобретения.

Фиг.10 - другой способ определения местоположения захваченного изображения, в соответствии с вариантами выполнения настоящего изобретения.

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

Фиг.12 - восстановленный штрих, захваченный камерой (то есть восстановленный по соответствующим центрам захваченных изображений), и соответствующий отображенный штрих кончика пера, в соответствии с вариантом выполнения настоящего изобретения.

Фиг.13 - действительный штрих кончика пера, который соответствует восстановленным штрихам, показанным на фиг.12.

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

Фиг.15 - представление пространства кодирования в документе в соответствии с предшествующим уровнем техники.

Подробное описание изобретения

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

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

I. Термины

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

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

II. Компьютер общего назначения

На фиг.1 показана функциональная блок-схема примера известной цифровой вычислительной среды общего назначения, которую можно использовать для реализации различных аспектов настоящего изобретения. На фиг.1 компьютер 100 включает в себя процессор 110, системную память 120 и системную шину 130, с помощью которой различные компоненты системы, включая системную память, соединены с процессором 110. Системная шина 130 может представлять собой любую из нескольких типов структуры шины, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, построенные с использованием любой из множества архитектур шины. Системная память 120 включает в себя постоянное запоминающее устройство (ПЗУ) 140 и оперативное запоминающее устройство (ОЗУ) 150.

Базовая система 160 ввода/вывода (BIOS), содержащая основные процедуры, которые позволяют передавать информацию между элементами в компьютере 100, например, в ходе первоначальной загрузки, хранится в ПЗУ 140. Компьютер 100 также включает в себя накопитель 170 на жестких магнитных дисках, предназначенный для считывания информации с жесткого диска (не показан) и записи на него, магнитный дисковод 180, предназначенный для считывания информации со съемного магнитного диска 190 или записи на него, и оптический дисковод 191, предназначенный для считывания информации со съемного оптического диска 192, такого как ПЗУ на компакт-диске (CD-ROM) или другого оптического носителя, или записи на него. Накопитель 170 на жестких магнитных дисках, магнитный дисковод 180 и оптический дисковод соединены с системной шиной 130 с помощью интерфейса 192 накопителя на жестких магнитных дисках, интерфейса 193 магнитного дисковода и интерфейса 194 оптического дисковода, соответственно. Дисководы и накопители и ассоциированные с ними машиночитаемые носители обеспечивают энергонезависимое хранение машиночитаемых команд, структур данных, программных модулей и других данных для персонального компьютера 100. Для специалистов в данной области техники будет понятно, что другие типы машиночитаемых носителей, на которых могут быть сохранены данные, к которым может выполнять доступ компьютер, такие как магнитные кассеты, карты памяти типа флэш, цифровые видеодиски, картриджи Бернулли, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ) и т.п., также можно использовать в иллюстративной рабочей среде.

Множество программных модулей могут накопиться на накопителе 170 на жестких магнитных дисках, на магнитном диске 190, на оптическом диске 192, в ПЗУ 140 или в ОЗУ 150, включая операционную систему 195, одну или больше прикладных программ 196, другие программные модули 197 и данные 198 программ. Пользователь может вводить команды и информацию в компьютер 100 через устройства ввода, такие как клавиатура 101 и координатно-указательное устройство 102. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую антенну, сканер или тому подобное. Эти и другие устройства ввода часто соединены с процессором 110, через интерфейс 106 последовательного порта, который связан с системной шиной, но могут быть подключены к другим интерфейсам, таким как параллельный порт, игровой порт или универсальная последовательная шина (УПШ, USB). Кроме того, эти устройства могут быть соединены непосредственно с системной шиной 130 через соответствующий интерфейс (не показан). Монитор 107 или устройство отображения другого типа также соединен с системной шиной 130 через интерфейс, такой как видеоадаптер 108. Кроме монитора, персональные компьютеры обычно включают в себя другие периферийные устройства вывода (не показаны), такие как громкоговорители и принтеры. В предпочтительном варианте выполнения цифровой преобразователь 165 перьевого ввода и соответствующее перо или стилус 166 используют для цифрового ввода рукописных входных данных. Хотя на чертеже показано непосредственное соединение между цифровым преобразователем 165 перьевого ввода и последовательным портом, на практике цифровой преобразователь 165 перьевого ввода может быть связан с процессором 110 непосредственно через параллельный порт или другой интерфейс и системную шину 130, как известно в данной области техники. Кроме того, хотя цифровой преобразователь 165 показан отдельно от монитора 107, предпочтительно, чтобы используемая область ввода цифрового преобразователя 165 была продолжением области отображения монитора 107. Кроме того, цифровой преобразователь 165 может быть интегрирован в монитор 107 или может быть выполнен как отдельное устройство, наложенное на монитор 107 или присоединенное к нему другим способом.

Компьютер 100 может работать в сетевой среде с использованием логических соединений с одним или больше удаленными компьютерами, такими как удаленный компьютер 109. Удаленный компьютер 109 может представлять собой сервер, маршрутизатор, сетевой персональный компьютер (ПК), одноранговое сетевое устройство или другой общий сетевой узел, и обычно включает в себя множество или все элементы, описанные выше при описании компьютера 100, хотя на фиг.1 показано только одно запоминающее устройство 111. Логические соединения, представленные на фиг.1, включают в себя локальную сеть (LAN) 112 и глобальную сеть (WAN) 113. Такие сетевые среды обычно используют в учреждениях, компьютерных сетях масштаба предприятия, Интрасетях и Интернет.

При использовании в сетевой среде LAN компьютер 100 может быть подcоединен к локальной сети 112 через сетевой интерфейс или адаптер 114. При использовании в сетевой среде WAN персональный компьютер 100 обычно содержит модем 115 или другое средство установления связи через глобальную сеть 113, такую как Интернет. Модем 115, который может быть внутренним или внешним, подсоединен к системной шине 130 через интерфейс 106 последовательного порта. В сетевой среде программные модули, представленные в отношении персонального компьютера 100, или их части, могут храниться в удаленном запоминающем устройстве.

Следует понимать, что показанные сетевые соединения представлены только в качестве иллюстрации, и также можно использовать другие технологии установления линии связи между компьютерами. При этом предполагаются наличие любого из различных широко известных протоколов, таких как TCP/IР протокол управления передачей данных (межсетевой протокол), Ethernet, FTP (протокол передачи файлов), HTTP (протокол передачи гипертекста), Bluetooth, IEEE 802.11x и т.п., при этом система может работать в конфигурации клиент-сервер, что позволяет пользователю извлекать Web-страницы с сетевого сервера. Любые из различных известных Web-браузеров можно использовать для отображения и обработки данных на Web-страницах.

III. Перо с возможностью захвата изображений

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

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

На фиг.2A и 2B показан иллюстративный пример пера 201 с камерой 203. Перо 201 включает в себя кончик 202, который может содержать резервуар для чернил или может быть без него. Камера 203 захватывает изображение 204 с поверхности 207. Перо 201 может также включать в себя дополнительные датчики и/или процессоры, которые представлены прямоугольником 206, изображенным пунктирными линиями. Эти датчики и/или процессоры 206 также могут обеспечивать возможность передачи информации в другое перо 201 и/или в персональный компьютер (например, с использованием протокола Bluetooth или других протоколов беспроводной связи).

На фиг.2B представлено изображение, как его видит камера 203. В одном иллюстративном примере поле обзора камеры 203 (то есть разрешающая способность датчика изображения камеры) составляет 32×32 пикселя (где N=32). В этом варианте выполнения захваченное изображение (32 пикселя на 32 пикселя) соответствует области плоскости поверхности размером приблизительно 5 мм на 5 мм. В соответствии с этим, на фиг.2B показано поле обзора длиной 32 пикселя и шириной 32 пикселя. Размер N можно регулировать так, что большее значение N будет соответствовать более высокому разрешению изображения. Кроме того, хотя поле обзора камеры 203 показано здесь в качестве иллюстрации в виде квадрата, поле обзора может иметь другие формы, как известно в данной области техники.

Изображения, захваченные камерой 203, могут быть определены как последовательность кадров {Ii} изображения, где Ii захвачен пером 201 в момент ti выборки. Частота выборки может быть высокой или низкой, в зависимости от конфигурации системы и требований к рабочим характеристикам. Размер захваченного кадра изображения может быть большим или малым, в зависимости от конфигурации системы и требований к рабочим характеристикам.

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

Размер изображения, показанного на фиг.2B, составляет 32×32 пикселя. Если размер каждого модуля кодирования составляет 3×3 пикселя, то количество захваченных кодированных модулей будет приблизительно составлять 100 модулей. Если размер модуля кодирования составляет 5×5 пикселей, то количество захваченных кодированных модулей будет приблизительно равно 36.

На фиг.2 также показана плоскость 209 изображения, на которой сформировано изображение 210 узора из местоположения 204. Свет, принятый от узора на предметной плоскости 207, фокусируется объективом 208. Объектив 208 может быть выполнен в виде однолинзовой или многолинзовой системы, но здесь для простоты представлен однолинзовый объектив. Датчик 211 захвата изображения выполняет захват изображения 210.

Датчик 211 изображения может быть достаточно большим для захвата изображения 210. В качестве альтернативы, датчик 211 изображения может быть достаточно большим для захвата изображения кончика 202 пера в местоположении 212. Для справки, изображение в местоположении 212 называется виртуальным кончиком пера. Следует отметить, что местоположение виртуального кончика пера по отношению к датчику 211 изображения фиксировано вследствие постоянной взаимосвязи между кончиком пера, объективом 208 и датчиком 211 изображения.

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

L бумаги = F S P (L датчика )

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

L кончика пера = F S P (L виртуального кончика пера )

Преобразование F SP можно оценить как аффинное преобразование. Его можно упростить в следующем виде:

как оценку F SP, где θ х , θ у , s x и s y - поворот и масштаб двух ориентаций узора, захваченного в местоположении 204. Кроме того, можно уточнить F' SP путем согласования введенного изображения с соответствующим действительным изображением на бумаге. "Уточнить" означает получить более точную оценку преобразования F SP с использованием определенного типа алгоритма оптимизации, который называется рекурсивным методом. В рекурсивном методе матрица F' SP используется в качестве начального значения. Уточненная оценка более точно описывает преобразование между S и P.

Затем можно определить местоположение виртуального кончика пера путем калибровки.

Кончик 22 пера устанавливают в фиксированное местоположение 202 L кончика пера на бумаге. Затем перо отклоняют, что позволяет камере 203 захватить ряд изображений в различных положениях пера. Для каждого захваченного изображения можно получить преобразование F SP . По результату такого преобразования можно получить местоположение L виртуального кончика пера виртуального кончика пера:

L виртуального кончика пера = F P S (L кончика пера ),

где L кончика пера инициализируют как (0, 0) и

F P S = F S P ) -1

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

Местоположение L виртуального кончика пера виртуального кончика пера теперь известно. Можно также получить преобразование F SP на основе захваченных изображений. Наконец, можно использовать эту информацию для определения местоположения L кончика пера реального кончика пера:

L кончика пера = F S P (L виртуального кончика пера )

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

IV. Кодирование массива

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

IV.A. Построение последовательности

Некоторая последовательность чисел может быть использована как начальная точка системы кодирования. Например, последовательность (также называемая m-последовательностью) может быть представлена, как q-элемент, установленный в поле F q . Здесь, q=p n, где n≥1 и p - простое число. Последовательность или m-последовательность может быть сгенерирована с использованием множества различных методик, включая, без ограничения полиномиальное деление. При использовании полиномиального деления последовательность может быть определена следующим образом:

где P n (x) - примитивный многочлен степени n в поле F q [x] (содержащем q n элементов). R l (x) представляет собой ненулевой многочлен степени l (где l<n) в поле F q [x]. Последовательность может быть создана c использованием итеративной процедуры за два этапа: первый - деление двух многочленов (в результате чего получают элемент поля F q), и второй - умножение остатка на x. Расчет прекращают, когда выходное значение начинает повторяться. Этот процесс может быть выполнен с помощью линейного сдвигового регистра с обратной связью, как описано в статье Douglas W. Clark и Lih-Jyh Weng, "Maximal and Near-Maximal Shift Register Sequences: Efficient Event Counters and Easy Discrete Logarithms", IEEE Transactions on Computers 43.5 (Май 1994 г., стр.560-568). В этой среде между циклическим сдвигом последовательности и многочленом R l (x) устанавливают взаимосвязь: при изменении R l (x) происходит только циклический сдвиг последовательности, и каждый циклический сдвиг соответствует многочлену R l (x). Одно из свойств получаемой в результате последовательности состоит в том, что последовательность имеет период q n-1 и, в пределах периода, по ширине (или длине) n, любой участок присутствует в последовательности один раз и только один раз. Это называется "свойством окна". Период q n-1 также называется длиной последовательности и n называется порядком последовательности.

Процесс, описанный выше, представляет собой один из множества процессов, которые можно использовать для построения последовательности со свойством окна.

IV.B. Построение массива

Массив (или m-массив), который можно использовать для создания изображения (участок которого может быть захвачен камерой), представляет собой расширение одномерной последовательности или m-последовательности. Пусть А представляет собой массив с периодом (m 1 , m 2 ), а именно А(k + m l , l) = A (k, l + m 2 ) = A (k, l). Когда окно n1 × n2 сдвигаетcя через период A, все ненулевые матрицы n1 × n2 в F q появляются один раз и только один раз. Это свойство также называется "свойством окна", при котором каждое окно является уникальным. Окно затем может быть выражено как массив с периодом (m 1 , m 2) (причем m 1 и m 2 представляют собой количество битов по горизонтали и вертикали, присутствующих в этом массиве) и с порядком (n 1 , n 2).

Двоичный массив (или m-массив) может быть построен путем свертывания последовательности. Один из подходов состоит в получении последовательности, с последующим ее свертыванием до размера m 1 × m 2, где длина массива составляет L = m 1 × m 2 = 2n-1. В качестве альтернативы, можно начать с заданного размера пространства, которое требуется перекрыть (например, один лист бумаги, 30 листов бумаги или размер монитора компьютера), затем определяют область (m 1 × m 2), после чего используют размер для обеспечения L≥m 1 × m 2, где L=2n -1.

Можно использовать множество различных методик свертывания. Например, на фиг.3А-3C показаны три различные последовательности. Каждая из них может быть свернутa в массив, показанный на фиг.3D. Три различных способа свертывания показаны в виде наложения на фиг.3D и в виде растровых траекторий на фиг.3E и 3F. Здесь принят способ свертывания, показанный на фиг.3D.

Для получения способа свертывания, который показан на фиг.3D, создают последовательность {a i} длиной L и порядка n. Затем создают массив {b kl} размером m 1 × m 2 , где наибольший общий делитель (m 1, m 2)=1 и L = m 1 × m 2, из последовательности {ai} путем расчета каждого бита массива, как представлено уравнением 1:

b kl = a i , где k = i mod(m 1 ), l = i mod (m 2 ), i=0,···, L-1 (1)

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

На фиг.4A представлена примерная методика кодирования, которую можно использовать для кодирования массива по фиг.3D. При этом следует понимать, что можно использовать другие методики кодирования. Например, на фиг.11 показана альтернативная методика кодирования.

Как показано на фиг.4A, первый бит 401 (например, "1") представлен столбцом темных чернил. Второй бит 402 (например, "0") представлен строкой темных чернил. Следует понимать, что для представления различных битов можно использовать чернила любого цвета. Единственное требование состоит в том, что выбранный цвет чернил должен обеспечивать значительный контраст с фоном носителя, чтобы его можно было различать с помощью системы захвата изображений. Биты, показанные на фиг.4A, представлены матрицей ячеек размером 3×3. Размер матрицы может быть изменен на любое значение, в зависимости от размера и разрешающей способности системы захвата изображений. Альтернативное представление битов 0 и 1 показано на фиг.4C-4E. Следует понимать, что представление единицы или нуля при вариантах кодирования по фиг.4A-4E, можно переключать без какого-либо влияния. На фиг.4C показаны представления бита, которые занимают две строки или два столбца с чередованием. На фиг.4D показана альтернативная компоновка пикселей в строках и столбцах в форме с разрывами. Наконец, на фиг.4E показано представление пикселей в столбцах и строках в формате с неравномерным расположением промежутка (например, после двух темных точек следует незакрепленная точка).

Как показано на фиг.4A, если бит представлен матрицей размером 3×3, и система обработки изображений детектирует в этой области размером 3×3 темную строку и две белых строки, то детектируется нуль (или единица). Если детектируется изображение с темным столбцом и двумя белыми столбцами, тогда детектируется единица (или ноль).

Здесь для представления бита используют более чем один пиксель или точку. Использование одного пикселя (или точки) для представления бита может быт ненадежным. Пыль, складки на бумаге, неплоские поверхности и т.п. создают трудности при считывании однобитовых представлений модулей данных. Однако следует понимать, что можно использовать различные подходы для графического представления массива на поверхности. Некоторые такие подходы показаны на фиг.4C-4E. При этом следует понимать, что также можно использовать другие подходы. Один из подходов показан на фиг.11 с использованием только точек со сдвигом в пространстве.

Поток битов используется для создания графического узора 403, показанного на фиг.4B. Графический узор 403 включает в себя 12 строк и 18 столбцов. Строки и столбцы сформированы на основе потока битов, который преобразован в графическое представление с использованием представлений 401 и 402 битов. Фиг.4B можно рассматривать как имеющую следующее представление битов:

0 1 0 1 0 1 1 1 0

1 1 0 1 1 0 0 1 0

0 0 1 0 1 0 0 1 1

1 0 1 1 0 1 1 0 0

V. Декодирование

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

При определении ориентации захваченного изображения по отношению ко всей закодированной области, можно отметить, что не все четыре возможных угла, показанные на фиг.5A-5D, могут присутствовать в графическом узоре 403. Фактически, при правильной ориентации, тип угла, показанный на фиг.5A, не может присутствовать в графическом узоре 403. Поэтому ориентация, в которой отсутствует тип угла, показанный на фиг.5А, представляет собой правильную ориентацию.

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