Information technology. Biometrics. Biometric data interchange formats. Part 8. Finger pattern skeletal data
Дата введения - 1 июля 2016 г.
Взамен ГОСТ Р ИСО/МЭК 19794-8-2009
Предисловие
1 Подготовлен Научно-исследовательским и испытательным центром биометрической техники Московского государственного технического университета имени Н.Э. Баумана (НИИЦ БТ МГТУ им. Н.Э. Баумана) на основе собственного аутентичного перевода на русский язык стандарта, указанного в пункте 4
2 Внесен Техническим комитетом по стандартизации ТК 098 "Биометрия и биомониторинг"
3 Утвержден и введен в действие приказом Федерального агентства по техническому регулированию и метрологии от 15 июня 2015 г. N 716-ст
4 Настоящий стандарт идентичен международному стандарту ИСО/МЭК 19794-8:2011 "Информационные технологии. Форматы обмена биометрическими данными. Часть 8. Данные изображения отпечатка пальца - остов" (ISO/IEC 19794-8:2011 "Information technology - Biometric data interchange formats - Part 8: Finger pattern skeletal data").
Наименование настоящего стандарта изменено относительно наименования указанного международного стандарта для приведения в соответствие с ГОСТ Р 1.5-2012 (подраздел 3.5).
При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им национальные стандарты, сведения о которых приведены в дополнительном приложении ДА
5 Некоторые элементы настоящего стандарта могут быть объектами патентных прав. Организации ИСО и МЭК не несут ответственности за установление подлинности каких-либо или всех таких патентных прав
6 Взамен ГОСТ Р ИСО/МЭК 19794-8-2009
Введение
Настоящий стандарт устанавливает формат обмена биометрическими данными для алгоритмов распознавания остова отпечатка пальца. Алгоритмы распознавания отпечатка пальца обрабатывают участки изображений биометрических объектов. Данные алгоритмы показали хорошие результаты при работе с трудоемкими, но коммерчески-востребованными форматами датчиков отпечатков пальцев, таких как датчики с малой областью регистрации и датчики с технологией протяжки.
Формат обмена, определенный в настоящем стандарте, описывает все характеристики отпечатка пальца, хранимые в записи данных. Таким образом, он позволяет извлекать как спектральную информацию (направление, частота, фаза, и т.д.), так и характеристики отпечатка пальца (контрольные точки, ядро, гребневой счет и т.д.). Преобразования типа "смещение" и "поворот" также согласуются с установленным в настоящем стандарте форматом.
В настоящем стандарте для представления остова отпечатка пальца:
предусмотрена возможность взаимодействия между разработчиками алгоритмов распознавания отпечатка пальца, использующих компактные записи данных;
- поддерживается использование недорогих коммерческих биометрических сканеров отпечатков пальцев с ограниченными областью регистрации, динамическим диапазоном или разрешающей способностью;
- определена запись данных для хранения биометрической информации на различных носителях данных (включая, по меньшей мере, портативные устройства и смарт-карты);
- поддерживается внедрение биометрии в приложения, требующие взаимодействия.
Согласно стандартам ANSI X9.84 или ИСО/МЭК 15408 рекомендуется использовать биометрические методы защиты данных для сохранения конфиденциальности, целостности и доступности определенных в настоящем стандарте биометрических данных.
ИСО/МЭК 19794-8 подготовлен подкомитетом N 37 "Биометрия" совместного технического комитета N 1 ИСО/МЭК "Информационные технологии" (ISO/IEC JTC 1/SC 37).
1 Область применения
Настоящий стандарт устанавливает формат обмена данными остова отпечатка пальца.
Формат данных может применяться в широком диапазоне прикладных областей, использующих автоматизированное распознавание отпечатка пальца.
Настоящий стандарт также определяет элементы методологии испытаний на соответствие тестовых утверждений и методик испытаний в части, касающейся формата обмена данными остова отпечатка пальца.
Настоящий стандарт устанавливает:
- тестовые утверждения для структуры формата данных остова отпечатка пальца, определенной в настоящем стандарте (испытания типа А уровня 1, установленные в ИСО/МЭК 19794-1:2011 (Изменение 2));
- тестовые утверждения внутренней согласованности данных путем проверки типов значений, содержащихся внутри каждого поля (испытания типа А уровня 2, установленные в ИСО/МЭК 19794-1:2011 (Изменение 2)).
Настоящий стандарт не устанавливает:
- испытания на соответствие структурам ЕСФОБД, предусмотренным настоящим стандартом;
- испытания на соответствие записи входных биометрических данных (испытания уровня 3);
- испытания других характеристик биометрических продуктов или другие виды испытаний биометрических продуктов (производительность, надежность, безопасность);
- испытания на соответствие систем, которые не производят записи в соответствии с настоящим стандартом.
2 Соответствие
Запись биометрических данных соответствует настоящему стандарту, если она удовлетворяет всем нормативным требованиям, имеющим отношение к:
a) структуре данных, значениям данных и отношениям между элементами данных, как определено в разделе 7 настоящего стандарта для формата записи остова отпечатка пальца и в разделе 8 настоящего стандарта для формата записи остова отпечатка пальца для идентификационных карт;
b) соотношению между значениями данных и входными биометрическими данными, из которых была произведена запись биометрических данных, как определено в разделе 7 настоящего стандарта для формата записи остова отпечатка пальца и в разделе 8 настоящего стандарта для формата записи остова отпечатка пальца для идентификационных карт.
Система, создающая записи биометрических данных, соответствует настоящему стандарту, если все производимые записи биометрических данных соответствуют настоящему стандарту согласно Заявлению о соответствии реализации (ЗСР) данной системы. В системе должны производиться записи биометрических данных, которые удовлетворяют не обязательно всем аспектам настоящего стандарта, а только тем, которые определены в ЗСР.
Система, использующая записи биометрических данных, соответствует настоящему стандарту, если в ней могут быть считаны и использованы по назначению записи биометрических данных, соответствующие настоящему стандарту согласно ЗСР данной системы. В системе должны использоваться записи биометрических данных, которые удовлетворяют не обязательно всем аспектам настоящего стандарта, а только тем, которые определены в ЗСР.
3 Нормативные ссылки
В настоящем стандарте использованы нормативные ссылки на следующие стандарты, которые необходимо учитывать при использовании стандарта. В случае ссылок на документы, у которых указана дата утверждения, необходимо пользоваться только указанной редакцией. В случае, когда дата утверждения не приведена, следует пользоваться последней редакцией ссылочных документов, включая любые поправки и изменения к ним:
ИСО/МЭК 19794-1:2011 Информационные технологии. Форматы обмена биометрическими данными. Часть 1. Структура (ISO/IEC 19794-1:2011, Information technology - Biometric data interchange formats - Part 1: Framework)
ИСО/МЭК 7816-6:2004 Карты идентификационные. Карты на интегральных схемах. Часть 6. Межотраслевые элементы данных для обмена (ISO/IEC 7816-6:2004, Identification cards - Integrated circuit cards - Part 6: Interindustry data elements for interchange)
ИСО/МЭК 7816-11:2004 Карты идентификационные. Карты на интегральных схемах. Часть 11. Верификация личности биометрическими методами (ISO/IEC 7816-11:2004, Identification cards - Integrated circuit cards - Part 11: Personal verification through biometric methods).
4 Термины и определения
В настоящем стандарте применены термины и определения, установленные в ИСО/МЭК 19794-1, а также следующий термин с соответствующим определением:
4.1 потовая пора (sweat pore): Мельчайшие отверстия в коже, которые способствуют потере жидкости, являющиеся частью системы регулирования температуры тела.
5 Сокращения
В настоящем стандарте применены следующие сокращения:
ОПД (BER) - основные правила декодирования (basic encoding rules);
БИШ (BIT) - биометрический информационный шаблон (biometric information template);
ЕСФОБД (CBEFF) - единая структура формата обмена биометрическими данными (common biometric exchange formats framework);
ОД (DO) - объект данных (data object);
пиксель/см (ppcm) - пиксель на сантиметр (pixels per centimetre).
6 Соглашения в отношении данных остова отпечатка пальца
Настоящий стандарт для обмена биометрическими данными отпечатка пальца использует представление папиллярных гребней в виде остова. Так как результат различных алгоритмов формирования остова будет варьироваться максимум на четверть ширины гребня, это не повлияет на функциональную совместимость. Для получения устойчивого остова гребней, к исходному изображению могут применяться процедуры уменьшения шума и сглаживания. В запись обмена биометрическими данными включают кодирование направления элементов линии остова. Точки начала и конца гребневых линий остова записываются как действительные и мнимые контрольные точки, а линия от точки начала до точки конца кодируется последовательными изменениями направления. Далее приведены характеристики контрольных точек и описание принципа кодирования линии остова.
6.1 Контрольная точка
Контрольными точками являются точки, расположенные на изображении отпечатка пальца в месте окончания или бифуркации гребней.
6.1.1 Тип контрольной точки
Каждая контрольная точка ассоциируется с определенным типом. Существует два основных типа контрольных точек: "окончание гребня", представленное 2-битовым значением 01, и "бифуркация гребня" (или точка разветвления), представленная 2-битовым значением 10. Точки с 3 и более пересечениями гребней (трифуркации и т.д.) относятся к типу "бифуркация гребня".
Для остова гребней требуется использовать как действительные, так и мнимые контрольные точки. Мнимыми контрольными точками называются точки на изображении отпечатка пальца, в которых не существует действительного окончания или бифуркации гребня, но для окончания или продолжения гребневой линии остова такая точка необходима. Мнимые контрольные точки бывают 2 типов: "мнимые окончания" и "мнимые продолжения".
Контрольные точки мнимого окончания необходимы для описания окончания линии остова на границе изображения или на границе тех областей, где недостаточное качество изображения не позволяет определить действительные контрольные точки и гребни (приложение С, рисунок С.3). Контрольные точки мнимого окончания также необходимы для завершения кодирования замкнутой петли (приложение С, таблица С.1). Контрольным точкам мнимого окончания присваивают 2-битовое значение 00.
В редких случаях для описания остова линии может потребоваться вставка мнимой контрольной точки на гребневой линии. Такие точки будут необходимы, например, чтобы начать кодирование замкнутой петли, для которой не существует действительных контрольных точек, а также чтобы описать с достаточной точностью гребни с сильным изгибом (см. примечание к 6.2.4 о максимальном изгибе). Такие точки называют контрольными точками мнимого продолжения, им присваивают 2-битовое значение 11 (приложение С, таблица С.1).
6.1.2 Расположение контрольных точек и система координат
Вычисление координат контрольных точек следует проводить в декартовой системе координат XOY. Начало системы координат изображения отпечатка пальца должно быть расположено в левом верхнем углу исходного изображения. Ось X согласно общепринятому в цифровой обработке изображений допущению должна быть направлена слева направо (положительное направление), а ось Y должна быть направлена вниз (положительное направление) (см. рисунок 1). В системе координат изображения пальца ось X должна быть направлена справа налево в соответствии с рисунком 1. Все значения координат X и Y должны быть неотрицательными.
В соответствии с форматом записи остова отпечатка пальца разрешение должно быть записано в заголовке записи (см. 7.4). В соответствии с форматом записи остова отпечатка пальца для идентификационных карт разрешение по осям X и Y должны быть указаны в метрических единицах. Степень детализации должна соответствовать 1 биту на 0,05 миллиметра в формате нормального размера и 1 биту на 0,1 миллиметра в формате компактного размера:
1 ед. = 0,05 мм (формат нормального размера) или
1 ед. = 0,1 мм (формат компактного размера).
Рисунок 1 - Система координат
Расположение контрольной точки окончания гребня должно определяться координатами точки остова, имеющей только 1 смежный элемент изображения (пиксель), принадлежащий остову.
Примечание - В некоторых типах формата, установленных в стандарте ИСО/МЭК 19794-2, окончание гребня относится к точке разветвления впадины перед окончанием гребня.
Расположение контрольной точки бифуркации гребня должно определяться координатами точки разветвления гребней остова. Другими словами, контрольной точкой бифуркации гребня является точка пересечения трех или более гребней.
Расположение контрольной точки мнимого окончания гребня должно определяться так же, как и расположение контрольной точки действительного окончания гребня.
Расположение контрольной точки мнимого продолжения гребня не оценивается алгоритмами сравнения, анализирующими только контрольные точки и углы. Контрольные точки данного типа используются только для восстановления остова, но могут обеспечить последующее распознавание восстановленного образца. В качестве контрольной точки мнимого продолжения гребня допускается назначать любую точку на остове для увеличения точности описания гребневой линии (приложение С, таблица С.1).
6.1.3 Допущения, используемые при определении угла направления
Настоящий стандарт устанавливает следующие требования к определению и записи значений углов. Угол направления контрольной точки измеряется от горизонтальной оси против часовой стрелки. Значение угла направления масштабируется в соответствии с числом битов, определенным в блоке "Общий заголовок" (General header).
Угол направления точки окончания гребня определяется углом между касательной к оканчивающемуся гребню и горизонтальной осью, направленной вправо.
Точка бифуркации гребня образуется в месте пересечения 3 гребней. Два гребня, прилегающие к впадине, образуют острый угол. Угол направления точки бифуркации гребня определяется как среднеарифметическое значение направления касательных к данным гребням, где каждое направление измеряется углом, образованным касательной и горизонтальной осью, направленной вправо.
Угол направления линий, начинающихся или оканчивающихся в точке с 4 и более ответвлениями (трифуркации и т.д.), определяется так же, как угол направления точки действительного окончания гребня.
Угол направления точки мнимого окончания гребня определяется так же, как угол направления точки действительного окончания гребня.
Угол направления точек мнимого продолжения гребня не оценивается алгоритмами сравнения, анализирующими только контрольные точки и углы. Контрольные точки данного типа используются только для восстановления остова отпечатка пальца, хотя могут обеспечить последующее распознавание восстановленного образца. Может быть использовано среднеарифметическое значение углов входного и выходного направлений или только выходного направления (приложение С, таблица С.1).
6.1.4 Различия с ИСО/МЭК 19794-2
Определение расположения и угла направления контрольной точки в настоящем стандарте идентично определению в формате контрольных точек отпечатка пальца для использования в идентификационных картах в соответствии со стандартом ИСО/МЭК 19794-2 (идентификатор типа формата 0x0006) по:
- расположению контрольной точки в области бифуркации гребня, кодируемой как точка бифуркации гребня;
- расположению контрольной точки на окончании остова гребня, кодируемой как точка окончания гребня.
Для сравнения контрольных точек с контрольными точками, определяемыми иначе, может понадобиться внесение поправки расположения и угла направления. Возможны различия функциональной совместимости с другими типами формата ИСО/МЭК 19794-2.
Значение углового разрешения контрольных точек в записи остова отпечатка пальца определено в блоке "Общий заголовок" ("General header). Минимально допустимым угловым разрешением считается 16 углов направлений, т.е. 22,5° для наименьшего значащего бита. Угловое разрешение ниже рекомендуемых 64 угла направлений (5,625°) (таблица 1) может приводить к снижению качества работы алгоритмов сравнения с использованием только контрольных точек. Данная рекомендация соответствует угловому разрешению формата карты компактного размера с данными контрольных точек отпечатка пальца.
Мнимые контрольные точки (идентификатор типа 00 и 11) отсутствуют в формате записи контрольных точек отпечатка пальца.
Контрольная точка типа "другая" (идентификатор типа 00) отсутствует в формате записи остова отпечатка пальца.
Контрольная точка с 4 и более ответвлениями (трифуркация и т.д.) не используется в формате записи контрольных точек отпечатка пальца и может быть пропущена или закодирована как контрольная точка типа "другая". В формате записи остова отпечатка пальца эти точки относятся к типу "бифуркация гребня".
6.2 Кодирование гребневой линии остова с использованием кода направления
6.2.1 Код направления
Каждая линия на изображении остова кодируется ломаной линией. Каждый элемент ломаной линии является фиксированным набором линейных элементов (см. 6.2.4). Линия начинается в точке со смещенной координатой с начальным направлением и следующими характеристиками контрольной точки:
- тип контрольной точки (2 бита: 00 - мнимое окончание гребня, 01 - действительное окончание гребня, 10 - действительная бифуркация гребня, 11 - мнимое продолжение гребня);
- угол направления контрольной точки (число битов на запись определено в блоке "Общий заголовок", диапазон 0° - 360° масштабируется согласно числу битов на запись);
- координата X (число битов на запись определено в блоке "Общий заголовок");
- координата Y (число битов на запись определено в блоке "Общий заголовок");
- число следующих элементов направления (8 битов).
Последовательные элементы ломаной линии определяются изменением направления относительно предыдущего элемента или, для первого элемента, относительно направления контрольной точки, масштабируются и округляются до возможных значений кода направления и углового разрешения (см. 6.2.4). Длина каждого элемента является функцией изменения направления (см. 6.2.4):
- изменение направления (число битов направления и угловое разрешение определены в блоке записи "Общий заголовок"; тип данных - целое число со знаком; наименьшее отрицательное число (10...0) не используется для определения изменения направления; например, для числа битов направления, равного 4, и для числа направлений от 0° до 180°, равного 32, диапазон целых чисел от минус 7 до плюс 7 масштабируется в диапазон углов от минус 39,375° до плюс 39,375°);
- или в случае сильного изгиба гребневой линии может возникнуть необходимость сохранять элементы направления при более высоком разрешении. Поэтому предусмотрена возможность переключения между двумя различными уровнями разрешения. При появлении наименьшего отрицательного числа (10...0) в коде, значение разрешения переключается между стандартным и высоким. Кодирование линии всегда будет начинаться со стандартного разрешения. При первом появлении (10...0) в коде значение разрешения изменяется на высокое и используется половина длины шага; при втором появлении происходит обратное переключение к стандартному разрешению и полной длине шага и т.д. (приложение С, таблица С.2);
- изменение направления повторяется до тех пор, пока не будет достигнут конец линии;
- тип контрольной точки конца линии (2 бита: 00 - мнимое окончание гребня, 01 - действительное окончание гребня, 10 - действительная бифуркация гребня, 11 - мнимое продолжение гребня).
Если линия остова заканчивается точкой мнимого окончания гребня (идентификатор типа 00), то относительное расположение контрольной точки на линейном элементе является следующим:
- относительное расположение контрольной точки l/ масштабируется в диапазоне от 0 до 3, то есть берется минимальное значение из двух: или 3, или целое значение от 4l/, и сохраняется как целое 2-битовое число без знака, где l - расстояние между началом последнего элемента линии и контрольной точкой, a - длина шага последнего элемента линии (рисунок 2);
- если линия остова заканчивается действительной контрольной точкой (идентификатор типа 01 или 10) или прерывается точкой мнимого продолжения гребня (идентификатор типа 11), то следуют данные контрольной точки с выравниванием по байтам. Чтобы затраты на выравнивание были небольшими, поступают следующим образом: если ранее сохраненный тип контрольной точки конца линии уже выровнен по стартовому байту, то данные контрольной точки дополняются путем добавления ее направления и расположения. Если тип контрольной точки конца линии не выровнен по стартовому байту, то запись повторяется в начале следующего байта и дополняется направлением и расположением.
В итоге, кодирование продолжается следующим образом:
- если ранее сохраненный тип контрольной точки конца линии не выровнен по стартовому байту, то запись повторяется в начале следующего байта. Любые биты, не использованные по причине выравнивания, заполняются нулями;
- угол направления контрольной точки (в диапазоне от 0° до 360°, масштабируемое в соответствии с числом битов направления в коде направления, определенным в блоке "Общий заголовок");
- координата X (число битов для координат точек определено в блоке "Общий заголовок");
- координата Y (число битов для координат точек определено в блоке "Общий заголовок").
Если конечная контрольная точка имеет тип "мнимое продолжение" (идентификатор типа 11), то описание линии продолжается путем добавления числа следующих элементов направления (8 битов) и элементами направления, как описано ранее.
Любые неиспользованные биты последнего байта каждой закодированной линии заполняются нулями для получения выровненного по байтам начала при кодировании следующей линии.
Рисунок 2 - Относительное расположение контрольной точки на линейном элементе ломаной линии - это отношение l/, где - длина линейного элемента, проходящего через контрольную точку М; I - расстояние между начальной точкой линейного элемента S и контрольной точкой М; - значение угла
6.2.2 Общие правила кодирования линии остова
Для сохранения минимального размера кодирования, линия должна начинаться с действительной контрольной точки (идентификатор типа 01 или 10), если это возможно.
Не существует ограничений на использование графического режима с высоким разрешением или контрольных точек мнимого продолжения.
Примечание 1 - Графический режим с высоким разрешением и контрольные точки мнимого продолжения являются вспомогательными средствами при описании гребней. Один метод может использоваться для описания сильного изгиба, а другой - для разметки линии, проходящей через бифуркацию, ядро, дельту или экстремумы в изгибе. Необходимо учитывать, что вспомогательные данные увеличивают размер кодированных данных.
На порядок следования кодированных линий в записи никаких ограничений не накладывается.
Остов отпечатка пальца должен быть закодирован только в областях изображения с достаточным качеством отображения гребневых линий (приложение С, рисунок С.3).
Примечание 2 - 1-битовая карта качества задается неявно: в областях изображения, где закодированная гребневая линия отсутствует, качество 0 (недостаточное), а в области изображения возле закодированной гребневой линии - качество 1 (достаточное). Кроме этого, в области дополнительных данных может быть определена многобитовая карта качества с локальными данными качества.
Чтобы наглядно оценить качество кодирования линии остова, следует сравнить восстановленные гребневые линии с исходным изображением отпечатка пальца. Восстановленные гребневые линии должны описывать изображение отпечатка пальца в соответствии с расположением и структурой гребня. Таким образом, применяются следующие правила:
- большая часть длины восстановленного элемента ломаной линии остова (не менее 50%) должна располагаться в области гребня. Целесообразно использовать 5%-ный порог (стандартное значение). Данное значение зависит от требований приложения к качеству восстановления и сравнения;
- восстановленная линия остова должна находиться в области только того гребня, который она описывает;
- восстановленная линия остова должна сохранять топологию гребней.
6.2.3 Кодирование направления
Процедура построения изменения направления между двумя последовательными элементами ломаной линии показана на рисунках 3 и 4. Во-первых, вокруг текущей точки строится окружность радиусом, равным длине элемента ломаной линии. В результате получается точка пересечения окружности и прямой, являющейся продолжением предыдущего элемента остова. Направление по отношению к этой точке масштабируется в соответствии с числом битов, выделенных на запись кода направления. Сохраняется разница между полученным направлением и предыдущим линейным элементом. Конечная точка нового элемента ломаной линии с фиксированной длиной и оцифрованным направлением является следующей начальной точкой.
Вышеуказанное построение проводится с использованием длины шага, не зависимой от направления. В общем случае, для длины шага, зависимого от направления, следует заменить радиус описанной выше окружности на длину шага, зависимую от направления, определенную в 6.2.4.
Чтобы минимизировать влияние ошибки, возникающей при оцифровке, каждая начальная точка должна быть вычислена с относительно высокой точностью, то есть ее разрешение должно быть, по крайней мере, в 100 раз больше, чем пространственное разрешение контрольных точек.
Если линия остова заканчивается во время очередного шага, ее линейно продлевают, чтобы заполнить длину элемента ломаной линии. Кодирование линии заканчивается типом контрольной точки. Для контрольной точки действительного окончания сохраняется ее направление и координаты конечной точки. Для контрольной точки мнимого окончания сохраняется относительное расположение контрольной точки на текущем шаге.
Если изменение направления линии остова не может быть описано элементом направления, кодирование линии должно быть прервано точкой мнимого продолжения, и кодирование новой линии должно начаться с той же точки без повторения данных контрольной точки.
Бифуркация (трифуркация и т.д.) (рисунок 4 и приложение С, рисунок С.2), представляется 2 (или более) концами линий остова. Одна линия остова проходит через точку бифуркации без указания на ней действительной контрольной точки (рисунок 4). Все другие линии заканчиваются или начинаются здесь и относятся к типу "бифуркация". Рекомендуется использовать самую прямую линию гребня, проходящую место бифуркации без кодирования действительной контрольной точки.
Примечание - Самая прямая линия является доминирующей, для которой повторное кодирование в соответствии с требованиями настоящего стандарта не приведет к иным результатам кодирования линии, в то время как ответвляющаяся линия может изменяться от бифуркации до окончания гребня. То есть в зависимости от состояния биометрического сканера отпечатков пальцев, на некоторых изображениях точка бифуркации выглядит как окончание с проходящей через данную точку доминирующей линией.
Рисунок 3 - Кодирование направления, начинающееся с точки окончания. Для записи изменения направления используется 4 бита
Рисунок 4 - Кодирование направления, начинающегося с точки бифуркации. Для записи изменения направления используется 4 бита
6.2.4 Длина элемента направления
При минимальной длине шага изменение направления будет прямым или почти прямым. С увеличением длины шага при небольшом изменении направления и уменьшении диапазона углов, число линейных элементов уменьшается.
Длина шага, зависимая от направления (рисунок 5), и разрешение характеризуются четырьмя параметрами:
- число направлений от нуля до или 180°, т.е. угловое разрешение при = 32 будет равно 5,625°;
- кроме числа битов, выделенных на запись кода направления, рассчитывается число возможных направлений на каждом шаге. Так как изменение направления симметрично относительно 0, то угловой диапазон вычисляется по формуле:
.
(1)
Примечание - При угловом разрешении 5,625° и 4 битах, максимальный изгиб = 39,375°;
- длина шага при прямом прохождении ;
- максимальное поперечное смещение от текущего направления . В блоке "Общий заголовок" это значение сохраняется относительно длины шага при прямом прохождении как 256 х /. Если 256 х / установлено как 0, то в блоке "Общий заголовок" используется постоянная длина шага для всех элементов направления.
Характеристики модели длины шага, зависимой от направления:
- постоянное угловое разрешение, т.е. расстояние между последовательными углами, является постоянным:
;
- постоянная пространственная точность для всех изменении направлении, то есть длина последовательных шагов является постоянным:
.
Кроме вышеуказанных условий, конечные точки всех возможных направлений для одного шага должны быть расположены на 2 дугах в соответствии с рисунком 5. Таким образом, длина шага , зависимая от направления, определяется по формуле:
(2)
где - угол между текущим направлением и шагом , определяемый как
;
(3)
;
- число изменений направления;
- длина шага при прямом прохождении, пиксели;
- максимальное перпендикулярное смещение от текущего направления, пиксели;
- число направлений от 0° до или 180°.
Пример длины шага, зависимой от направления, приведен в приложении С.
Примечание - Максимальный изгиб ломаной линии достигается при минимальной длине шага , как следует из формулы (2), при максимальном угле в соответствии с формулой (1). Ломаная линия с постоянным углом изгиба и постоянной длиной шага имеет радиус R = 180° /. При = 16, = 3,75 и = 39,375° минимальная длина шага равна = 3,9 и радиус равен 5,7 пикселей при разрешении 100 пикселей/см. При высоком разрешении длина шага сокращается в 2 раза: = 1,95 и радиус пикселей. С такими настройками u-образный изгиб диаметром S = 0,6 мм может быть представлен в виде ломаной линии без прерывания с помощью контрольной точки мнимого продолжения.
Рисунок 5 - Длина шага, зависимая от направления:
a) при = 0 используется постоянная длина шага. В данном случае - при угловом разрешении 11,25°;
b) при > 0 длина шагов при малых углах направления увеличивается, а длина шагов при больших углах направления уменьшается. В данном случае кодируются 15 направлений при высоком угловом разрешении 5,625°.
6.3 Индекс смежности линий остова
Линия остова показывает пространственные связи в одном направлении вдоль линии. Перпендикулярное линии направление задается смежными линиями. Таким образом, для обеспечения анализа и сравнения локальных двумерных областей изображения в алгоритмах сравнения следует использовать связи между смежными линиями. Данные связи представлены списком смежных линий для каждой закодированной линии (приложение С, пункт С.5).
6.3.1 Смежные линии
Две закодированные гребневые линии являются смежными в следующих случаях:
a) если они находятся по разные стороны от одной и той же впадины:
1) при условии непрерывности впадины в самом узком месте или
2) при условии непрерывности одной из линий (в случае, когда одна из линий слишком короткая, чтобы выполнялось условие 1);
b) если изображение имеет приемлемое непрерывное качество для поддержания структуры гребень - впадина - гребень на протяжении всей области, необходимой для выполнения условия а).
6.3.2 Запись индексов смежности
Индексом линии является ее порядковый номер. Новая линия начинается с начальной контрольной точки любого типа (включая контрольные точки продолжения).
Каждой линии с индексом L ставится в соответствие список смежных линий с индексами . Если линия 1 является смежной с линией 2, то линия 2 является смежной с линией 1. Поэтому, чтобы получить каждое смежное отношение единожды, только линии с индексом L должны указываться как смежные к линии L. Список индексов смежности, включая индекс линии L, сортируется в порядке уменьшения индекса линии: L, , ..., , где L , > , ..., >, где n - число смежных записей для линии L. Так как линия может быть смежной самой себе (например, при u-изгибе гребневой линии), первое число в этом списке может быть равно L. Но для исключения повторений, любые другие индексы должны различаться, т.е. должно выполняться условие .
Затем вычисляются следующие разности между индексом линии L и индексами смежности :
- , - ,..., - .
(4)
Для одной линии указываются следующие данные:
- число смежных записей для конкретной линии;
- перечень разностей индексов.
Связывание индексов смежности для всех закодированных линий в том порядке, в котором следуют коды линий в записи, создает список индексов смежности линий остова.
Данные индексов смежности линий остова начинаются с числа битов, необходимых для хранения элементов в списке индексов. Число битов записывается в 1 байте, за которым следует список индексов смежности, упакованных в определенное число битов.
7 Формат записи данных остова отпечатка пальца
7.1 Общие положения
Формат записи данных остова отпечатка пальца содержит основные и дополнительные данные для обмена данными остова отпечатка пальца. Все данные записи должны быть представлены в двоичном формате, за исключением полей "Идентификатор формата" ("Format identifier") и "Номер версии стандарта" ("Version number"), которые являются нуль-терминированной строкой с символами ASCII. В записи не используются разделители записей или теги полей; разграничение полей осуществляется байтовым счетчиком.
7.1.1 Структура формата записи данных остова отпечатка пальца
В таблице 1 представлены поля формата записи данных остова отпечатка пальца. В таблице 1 не представлены необязательные поля дополнительных данных для гребневого счета, ядра и дельты, информации о локальном качестве изображения и расположения потовых пор.
Таблица 1 - Структура формата записи данных остова отпечатка пальца
|
Поле |
Длина, байт |
Допустимые значения |
Примечание |
||||||
Общий заголовок (General header) |
Идентификатор формата (Format identifier) |
4 |
0х46534b00 (0x'FSK' 0) |
FSK - запись остова отпечатка пальца |
||||||
Номер версии стандарта (Version number) |
4 |
0x30323000 (0х'0' '2' '0' 00) |
Данное число означает, что для создания записи остова отпечатка пальца*(1) используется вторая версия настоящего стандарта. Значение поля "Номер версии стандарта" (4 байта) является нуль-терминированной строкой с тремя символами ASCII |
|||||||
Длина записи (Length of record) |
4 |
|
|
|||||||
Число представлений отпечатков пальцев (Number of finger representations) |
2 |
От 1 до 255 |
|
|||||||
Сертификационный флаг (Certification flag) |
1 |
|
0x00 - ни одно представление не содержит записи данных о сертификации ("Certification record") 0x01 - все представления содержат запись данных о сертификации |
|||||||
Представление (Representation) |
Заголовок представления (Representation header) |
Длина представления (Representation length) |
4 |
|
Поле "Длина представления" должно содержать длину представления в байтах, включая длину полей блока "Заголовок представления" |
|||||
Дата и время регистрации (Capture data and time) |
9 |
|
Данное поле содержит дату и время регистрации по Гринвичу (универсальное глобальное время). Значение должно быть закодировано в соответствии с ИСО/МЭК 19794-1 |
|||||||
Идентификатор технологии биометрического сканера отпечатков пальцев (Capture device technology identifier) |
1 |
От 0 до 20 |
См. таблицу 2 |
|||||||
|
|
Идентификатор изготовителя биометрического сканера отпечатков пальцев (Capture device vendor identifier) |
2 |
От 0x0000 до 0xFFFF |
Идентификатор, зарегистрированный МАБП*(2) |
|||||
Идентификатор типа биометрического сканера отпечатков пальцев (Capture device type identifier) |
2 |
От 0x0000 до 0xFFFF |
Определяется изготовителем |
|||||||
|
|
Число блоков "Качество" (Number of quality blocks) |
1 |
От 0 до 255 |
Информация о числе 5-байтовых блоков "Качество" ("Quality blocks"). Значение 0 означает, что оценка качества не проводилась; соответственно, блоки "Качество" отсутствуют |
|||||
Блок "Качество" (Quality block) |
Показатель качества (Quality score) |
1 |
От 0 до 100;255 |
0 - минимальное значение показателя качества; 100 - максимальное значение показателя качества; 255 - неудачная попытка вычисления показателя качества |
||||||
Идентификатор разработчика алгоритма оценки качества (Quality algorithm vendor identifier) |
2 |
От 0x0000 до 0xFFFF |
|
|||||||
Идентификатор алгоритма оценки качества (Quality algorithm identifier) |
2 |
От 0x0000 до 0xFFFF |
|
|||||||
|
|
Число блоков "Сертификация" (Number of certifications) |
1 |
От 0x00 до 0xFF |
Значение 0x00 означает, что данный биометрический сканер отпечатков пальцев не был сертифицирован и не имеет блоков "Сертификация" ("Certification block") |
|||||
|
|
Блок "Сертификация" (Certification) |
Идентификатор сертифицирующего органа (Certification authority identifier) |
2 |
От 0x0000 до 0xFFFF |
|
||||
Идентификатор схемы сертификации (Certification scheme identidier) |
|
От 0x00 до 0xFF |
См. таблицу 3 |
|||||||
Наименование пальца (Finger position) |
|
От 0 до 10 |
См. таблицу 4 |
|||||||
Номер представления (Representation number) |
|
От 0 до 15 |
|
|||||||
Разрешение изображения отпечатка пальца (Resolution of finger pattern) |
|
От 1 до 255 |
Рекомендуемое значение 100 пикселей/см |
|||||||
Тип изображения отпечатка пальца (Impression type) |
|
От 0 до 3; 8, 24, 28, 29*(3) |
См. таблицу 5 |
|||||||
Горизонтальный размер изображения остова (ширина) (Skeleton image size in X) |
2 |
|
В пикселях |
|||||||
Вертикальный размер изображения остова (высота) (Skeleton image size in Y) |
2 |
|
В пикселях |
|||||||
Число битов для координат точек начала и конца в коде направления (Bit-depth of direction code start and stop points coordinates) |
1 |
От 8 до 16 |
Рекомендуемое значение 8 |
|||||||
Число битов направления точек начала и конца в коде направления (Bit-depth of direction code start and stop direction) |
1 |
От 4 до 8 |
Рекомендуемое значение 6 |
|||||||
|
|
Число битов направления в коде направления (Bit-depth of direction in direction code) |
1 |
От 3 до 8 |
Рекомендуемое значение 4 |
|||||
Длина шага в коде направления (Step size of direction code) |
1 |
От 1 до 255 |
Рекомендуемое значение 16 |
|||||||
Относительная длина поперечного шага в коде направления 256 х *(4) (Relative perpendicular step size of direction code) |
1 |
От 0 до 255 |
Рекомендуемое значение 60 |
|||||||
|
|
Число направлений от 0° до 180° (Number of directions on 180°) |
1 |
От 1 до 255 |
Рекомендуемое значение 32 |
|||||
Длина блока "Данные остова отпечатка пальца" (Length of finger pattern skeletal data block) |
2 |
|
|
|||||||
Длина данных остова отпечатка пальца (Length of finger pattern skeletal data) |
2 |
|
|
|||||||
Данные остова отпечатка пальца (Finger pattern skeletal data) |
Содержится в предыдущем поле |
|
|
|||||||
Длина данных индексов смежности линий остова (Length of skeleton line neighbourhood index data) |
2 |
|
|
|||||||
Данные индексов смежности линий остова (Skeleton line neighbourhood index data) |
Содержится в предыдущем поле |
|
|
|||||||
|
|
Длина блока "Дополнительные данные" (Extended data block length) |
2 |
|
0x0000 означает отсутствие дополнительных данных |
|||||
Код типа области "Дополнительные данные" (Extended data area type code) |
2 |
От 0x00 до 0xFF |
Присутствуют в случае, если длина блока дополнительных данных не равна 0. Каждая область дополнительных данных может содержать данные изготовителя или данные из следующего списка (в любом порядке): - данные гребневого счета, - данные ядра и дельты, - данные локального качества изображения, - данные расположения потовых пор, - данные структуры остова. |
|||||||
Длина области "Дополнительные данные" (Extended data area length) |
2 |
|
||||||||
Область "Дополнительные данные" (Extended data area) |
Содержится в предыдущем поле |
|
|
7.2 Структура записи
Запись имеет следующую структуру:
- блок "Общий заголовок" фиксированной длины (15 байтов), содержащий информацию о записи в целом, включая поля "Число представлений отпечатков пальцев" и "Длина записи", определяющее длину всей записи в байтах;
- запись для каждого представления пальца, состоящая из:
- блока "Заголовок представления" переменной длины, содержащего информацию о данных конкретного представления пальца;
- блока "Данные остова отпечатка пальца" переменной длины;
- одного обязательного блока "Дополнительные данные" для каждого представления пальца, содержащего области дополнительных данных, которые описывают дополнительные характеристики или характеристики, установленные разработчиком. Области дополнительных данных могут отсутствовать.
Все многобайтовые значения должны быть представлены в формате обратного порядка следования байтов (Big-Endian), т.е. старшие байты любого многобайтового значения записывают в память раньше младших байтов. Передача данных также должна проходить в порядке от старшего байта к младшему. В пределах байта передача и хранение данных должна проходить в порядке от старшего бита к младшему. Все числовые значения должны быть целочисленными и беззнаковыми величинами фиксированной длины.
7.3 Блок "Общий заголовок"
Запись остова отпечатка пальца должна содержать только один блок "Общий заголовок". Блок содержит информацию об особенностях и характеристиках устройства, формирующего данные.
7.3.1 Поле "Идентификатор формата"
Запись остова отпечатка пальца должна начинаться с поля "Идентификатор формата" (4 байта). Для настоящего стандарта поле "Идентификатор формата" должно быть представлено нуль-терминированной строкой стремя символами ASCII 'FSK'.
7.3.2 Поле "Номер версии стандарта"
Поле "Номер версии стандарта" (4 байта) является нуль-терминированной строкой с тремя символами ASCII. Первый и второй символы обозначают номер версии стандарта, третий символ - номер поправки или изменения данной редакции.
Номер версии стандарта ИСО/МЭК 19794-8:2011 - "020" (номер версии 2, номер редакции 0).
7.3.3 Поле "Длина записи"
Поле "Длина записи" (4 байта) должно содержать значение полной длины записи в байтах, включая блок "Общий заголовок" и одно или более представление.
7.3.4 Поле "Число представлений отпечатков пальцев"
В поле "Число представлений отпечатков пальцев" (2 байта) должно быть указано число представлений отпечатков пальцев, включенных в запись. Необходимо наличие минимум одного представления.
7.3.5 Поле "Сертификационный флаг"
Поле "Сертификационный флаг" (1 байт) должно определять наличие записи о сертификации в каждом блоке "Заголовок представления". Значение 0x00 означает, что ни одно из представлений не содержит записи "Сертификация" ("Certification record"). Значение 0x01 означает, что все представления содержат запись данных о сертификации.
Примечание - Имеющаяся запись данных о сертификации может не содержать информации о сертификации (в таком случае в поле "Число блоков "Сертификация" должно быть значение 0).
7.4 Блок "Представление"
7.4.1 Блок "Заголовок представления"
С блока "Заголовок представления" должна начинаться каждая область данных, содержащая информацию об отдельном пальце. Каждому пальцу в записи остова отпечатка пальца должен соответствовать один блок "Заголовок представления". Длина данного блока должна составлять минимум 39 байтов. Для одного пальца допускается наличие нескольких представлений с предположительно различными данными.
7.4.1.1 Поле "Длина представления"
Поле "Длина представления" должно содержать значение длины представления в байтах, включая поле "Заголовок представления".
7.4.1.2 Поле "Дата и время регистрации"
Поле "Дата и время регистрации" должно содержать дату и время регистрации данного представления по Гринвичу (универсальное глобальное время). Значения поля "Дата и время регистрации" должны быть закодированы в соответствии с требованиями, указанными в стандарте ИСО/МЭК 19794-1. Данное поле не предназначено для кодирования момента времени, когда запись подверглась обработке.
7.4.1.3 Поле "Идентификатор технологии биометрического сканера отпечатков пальцев"
Поле "Идентификатор технологии биометрического сканера отпечатков пальцев" (1 байт) должно содержать сведения о классе технологии биометрического сканера отпечатков пальцев, используемого для регистрации биометрического образца. Если технология неизвестна или не определена, то должно быть установлено значение 0x00. Список возможных значений поля представлен в таблице 2.
Таблица 2 - Идентификаторы технологии биометрического сканера отпечатков пальцев
Идентификатор |
Технология биометрического сканера отпечатков пальцев |
0 |
Неизвестна или не определена |
1 |
Белого света, оптический, полного внутреннего отражения |
2 |
Белого света, оптический, прямого отображения на поверхности
Примечание - Устройство считывания карт должно иметь данный код технологии
|
3 |
Белого света, оптический, бесконтактный |
4 |
Монохромный, видимой области спектра, оптический, полного внутреннего отражения |
5 |
Монохромный, видимой области спектра, оптический, прямого отображения на поверхности |
6 |
Монохромный, видимой области спектра, оптический, бесконтактный |
7 |
Монохромный, инфракрасный, оптический, полного внутреннего отражения |
8 |
Монохромный, инфракрасный, оптический, прямого отображения на поверхности |
9 |
Монохромный, инфракрасный, оптический, бесконтактный |
10 |
Мультиспектральный, оптический, полного внутреннего отражения |
11 |
Мультиспектральный, оптический, прямого отображения на поверхности |
12 |
Мультиспектральный, оптический, бесконтактный |
13 |
Электролюминесцентный |
14 |
Полупроводниковый, емкостной |
15 |
Полупроводниковый, радиочастотный |
16 |
Полупроводниковый, термальный |
17 |
Сенсорный |
18 |
Ультразвуковой |
19 |
Механический |
20 |
Стекловолоконный |
7.4.1.4 Поле "Идентификатор изготовителя биометрического сканера отпечатков пальцев"
Поле "Идентификатор изготовителя биометрического сканера отпечатков пальцев" (2 байта) должно содержать идентификатор биометрической организации, являющейся владельцем продукта, производящего запись биометрических данных. Идентификатор изготовителя должен быть зарегистрирован МАБП или другим разрешенным регистрирующим органом. Если данное поле содержит нули, то изготовитель биометрического сканера отпечатков пальцев неизвестен.
7.4.1.5 Поле "Идентификатор типа биометрического сканера отпечатков пальцев"
Поле "Идентификатор типа биометрического сканера отпечатков пальцев" (2 байта) должно содержать информацию о типе продукта, производящего запись биометрических данных. Данный идентификатор определяется зарегистрированным владельцем продукта или другим разрешенным регистрационным органом. Если данное поле содержит нули, то тип биометрического сканера отпечатков пальцев неизвестен.
7.4.1.6 Запись данных о качестве (блоки "Качество")
7.4.1.6.1 Общие положения
Запись данных о качестве должна состоять из поля "Число блоков "Качество" и следующих за ним блоков "Качество", если они имеются.
7.4.1.6.2 Поле "Число блоков "Качество"
Первый байт поля является обязательным и должен содержать число блоков информации о качестве биометрических данных остова отпечатка пальца. Последующие пятибайтные блоки должны содержать различающуюся информацию о качестве/разработчике/алгоритме для каждого отдельно вычисленного показателя качества/разработчика/алгоритма. Нулевое значение поля означает, что не была проведена ни одна попытка расчета показателя качества. В таком случае запись данных о качестве не содержит ни одного блока "Качество".
7.4.1.6.3 Поле "Показатель качества"
Значение поля "Показатель качества", как определено в стандарте ИСО/МЭК 29794-1, должно представлять собой количественное выражение расчетных характеристик верификации биометрического образца. Допустимыми значениями поля являются целые числа в диапазоне от 0 до 100, где с возрастанием значения качество изображения улучшается. Значение 255 указывается в особом случае и означает неудачную попытку вычисления показателя качества. В одном блоке "Представление" не допускается присутствие нескольких показателей качества, рассчитанных по одному и тому же алгоритму (с одинаковыми идентификатором разработчика и идентификатором алгоритма определения качества).
7.4.1.6.4 Поле "Идентификатор разработчика алгоритма определения качества"
Для того чтобы иметь возможность различать сгенерированные разными алгоритмами показатели качества, в следующих 2 байтах блока "Качество" необходимо указать идентификатор разработчика алгоритма определения качества. Данный идентификатор разработчика должен быть зарегистрирован МАБП.
7.4.1.6.5 Поле "Идентификатор алгоритма определения качества"
Оставшиеся 2 байта должны содержать целочисленный код продукта, заданный разработчиком алгоритма определения качества. Данный код показывает, какой из алгоритмов разработчика (и версия) использовался при расчете показателя качества. Значение идентификатора показателя качества должно находиться в диапазоне от 1 до 65535.
7.4.1.7 Запись данных о сертификации (блоки "Сертификация")
7.4.1.7.1 Общие положения
Запись данных о сертификации содержит информацию о процедурах сертификации, примененных для проверки используемого биометрического сканера отпечатков пальцев. Если поле "Сертификационный флаг" в блоке "Общий заголовок" имеет значение 0x00, то запись данных о сертификации отсутствует.
7.4.1.7.2 Поле "Число блоков "Сертификация"
Поле "Число блоков "Сертификация" (1 байт) является обязательным и должно содержать число последующих блоков "Сертификация" для данного биометрического сканера отпечатков пальцев. За полем "Число блоков "Сертификация" следуют 3-байтные блоки "Сертификация", содержащие информацию о сертификации. Значение 0x00 означает, что данный биометрический сканер отпечатков пальцев не был сертифицирован и не имеет блоков "Сертификация".
7.4.1.7.3 Поле "Идентификатор сертифицирующего органа"
Значение поля "Идентификатор сертифицирующего органа" должно быть закодировано в 2 байтах. Сертифицирующий орган является организацией, проводящей сертификацию биометрического сканера отпечатков пальцев в соответствии с определенной схемой сертификации. Идентификатор сертифицирующего органа должен быть зарегистрирован МАБП или другим разрешенным регистрирующим органом.
7.4.1.7.4 Поле "Идентификатор схемы сертификации"
Поле "Идентификатор схемы сертификации" является последним байтом блока "Сертификация" и должно содержать информацию о схеме сертификации, использованной для сертификации биометрического сканера отпечатков пальцев. Список актуальных идентификаторов схем сертификации представлен в таблице 3.
Таблица 3 - Идентификаторы для схем сертификации, указанных в приложениях
Идентификатор схемы сертификации |
Приложения |
0x01 |
Приложение В.1 Спецификации качества изображений для автоматизированных систем идентификации по отпечатков пальцев |
0x02 |
Приложение В.2 Спецификации качества изображений для систем верификации личности |
0x03 |
Приложение В.3 Требования и методика испытаний оптических биометрических сканеров отпечатков пальцев |
7.4.1.8 Поле "Наименование пальца"
Значения поля "Наименование пальца" (1 байт) должны соответствовать кодам, представленным в таблице 12*(5) стандарта ANSI/NIST-ITL 1-2007 "Формат данных для обмена биометрической информацией об отпечатках пальцев, снимках лица и др." ("Data format for the interchange of fingerprint, facial, & other biometric information"). Для удобства указанная таблица продублирована в таблице 4*(6) настоящего стандарта. Однако в настоящем стандарте использованы только коды с 0 по 10; коды для плоских отпечатков пальцев, включенные в таблицу 12*(5) стандарта ANSI/NIST-ITL 1-2007, не используются.
Таблица 4 - Коды наименований пальцев
Наименование пальца |
Код пальца |
Неизвестный палец |
0 |
Большой палец правой руки |
1 |
Указательный палец правой руки |
2 |
Средний палец правой руки |
3 |
Безымянный палец правой руки |
4 |
Мизинец правой руки |
5 |
Большой палец левой руки |
6 |
Указательный палец левой руки |
7 |
Средний палец левой руки |
8 |
Безымянный палец левой руки |
9 |
Мизинец левой руки |
10 |
7.4.1.9 Поле "Номер представления"
Если в записи остова отпечатка пальца к одному пальцу относится более одного представления, то каждый блок "Представление" должен иметь уникальное значение в поле "Номер представления" (1 байт). Комбинация наименования пальца и номера представления позволяет однозначно идентифицировать конкретное представление контрольных точек в общей записи. Множество представлений контрольных точек отпечатка одного и того же пальца должно быть последовательно пронумеровано по возрастанию начиная с нуля. В случае наличия только одной записи контрольных точек для каждого пальца, значение данного поля должно быть нулевым.
7.4.1.10 Поле "Разрешение изображения отпечатка пальца"
Разрешение (в пикселях/см) изображения (изображений) отпечатков пальцев должно быть одинаковым в направлениях осей X и Y и должно храниться в 1 байте.
7.4.1.11 Поле "Тип изображения отпечатка пальца"
В поле "Тип изображения отпечатка пальца" (1 байт) должен быть записан код типа изображения отпечатка пальца (таблица 5). Данные коды соответствуют таблице 11 стандарта ANSI/NIST-ITL 1-2007. Тип "протяжки" соответствует изображениям, полученным путем скольжения пальца по небольшому датчику. Настоящий стандарт допускает использование для данного поля кодов с 0 по 3, 8, 24, 28 и 29; коды для кисти и следа отпечатка пальца в настоящем стандарте не используются.
Таблица 5 - Коды типов изображения отпечатка пальца
Описание |
Код |
"Живой" отпечаток пальца, зарегистрированный контактным методом |
0 |
"Живой" отпечаток пальца, зарегистрированный методом прокатки |
1 |
"Не живой" отпечаток пальца, зарегистрированный контактным методом |
2 |
"Не живой" отпечаток пальца, зарегистрированный методом прокатки |
3 |
След отпечатка пальца |
4 |
След пальца, зарегистрированный методом трассировки |
5 |
Снимок следа отпечатка пальца |
6 |
След отпечатка пальца, зарегистрированный методом повышения/подтягивания |
7 |
"Живой" отпечаток пальца, зарегистрированный методом протяжки |
8 |
Отпечаток пальца, зарегистрированный методом вертикальной прокатки |
9 |
Зарезервировано ПК 37 для дальнейшего использования |
От 10 до 23 |
"Живой" отпечаток пальца, зарегистрированный оптическим бесконтактным методом |
24 |
Зарезервировано ПК 37 для дальнейшего использования |
От 25 до 27 |
Другой |
28 |
Неизвестный |
29 |
7.4.1.12 Поле "Горизонтальный размер изображения остова (ширина)"
Значение поля "Горизонтальный размер изображения остова (ширина)" в пикселях должно быть записано в 2 байтах.
7.4.1.13 Поле "Вертикальный размер изображения остова (высота)"
Значение поля "Вертикальный размер изображения остова (высота)" в пикселях должно быть записано в 2 байтах.
7.4.1.14 Поле "Число битов для координат точек начала и конца в коде направления"
Число битов, используемых для представления координат X и Y точек начала и конца в коде направления остова отпечатка пальца, должно содержаться в соответствующем поле (1 байт).
7.4.1.15 Поле "Число битов направления точек начала и конца в коде направления"
Число битов, используемых для представления направления в точках начала и конца в коде направления остова отпечатка пальца, должно содержаться в соответствующем поле (1 байт).
7.4.1.16 Поле "Число битов направления в коде направления"
Число битов, используемых для представления направления в коде направления, должно содержаться в соответствующем поле (1 байт).
7.4.1.17 Поле "Длина шага в коде направления"
Максимальная длина шага в текущем направлении каждого кода направления должна содержаться в соответствующем поле (1 байт).
7.4.1.18 Поле "Относительная длина поперечного шага в коде направления"
Относительная длина поперечного шага (256 х /) в коде направления должна содержаться в соответствующем поле (1 байт).
7.4.1.19 Поле "Число направлений от 0°до 180°"
Угловое разрешение кода направления хранится в виде числа направлений от 0° до 180° и должно содержаться в соответствующем поле (1 байт).
7.4.1.20 Поле "Длина блока "Данные остова отпечатка пальца"
Значение поля "Длина блока "Данные остова отпечатка пальца" (2 байта) должно быть определено в байтах и включать биты заполнения для укомплектования последнего байта данных остова отпечатка пальца.
7.4.2 Блок "Данные остова отпечатка пальца"
Блок "Данные остова отпечатка пальца" для отдельного пальца включает поля: "Данные остова отпечатка пальца" и "Данные индексов смежности линий остова". Каждое поле сопровождается полем с указанием длины, как описано далее.
7.4.2.1 Поле "Длина данных остова отпечатка пальца"
Значение поля "Длина данных остова отпечатка пальца (2 байта) должно быть определено в байтах и включать биты заполнения для укомплектования последнего байта данных остова отпечатка пальца.
7.4.2.2 Поле "Данные остова отпечатка пальца"
Данные остова отпечатка пальца для отдельного пальца должны быть записаны в соответствии с 6.1 и 6.2.
7.4.2.3 Поле "Длина данных индексов смежности линий остова"
Значение поля "Длина данных индексов смежности линий остова" (2 байта) должно быть определено в байтах и включать биты заполнения для укомплектования последнего байта данных остова отпечатка пальца.
7.4.2.4 Поле "Данные индексов смежности линий остова"
Данные индексов смежности линий остова для отдельного пальца должны быть записаны в соответствии с 6.3.
7.5 Блок "Дополнительные данные"
Блок "Дополнительные данные" записи остова отпечатка пальца предназначен для размещения дополнительной информации, которая может быть использована системами сравнения. Рекомендуется минимизировать размер данной области за счет увеличения данных, хранящихся в основной области записи. Блок "Дополнительные данные" для каждого представления отпечатка пальца должен следовать непосредственно за основными данными конкретного представления остова отпечатка пальца и начинаться с поля "Длина блока "Дополнительные данные". Каждому блоку "Представление" может соответствовать несколько областей "Дополнительные данные"; в таком случае значение поля "Длина блока "Дополнительные данные" будет равно сумме значений полей "Длина области "Дополнительные данные". Значение поля "Длина блока "Дополнительные данные" используется в качестве метки существования дополнительных данных, в то время как отдельные поля "Длина области "Дополнительные данные" используются для анализа дополнительных данных.
Примечание - Область "Дополнительные данные" не может существовать без основных, в соответствии с настоящим стандартом, данных записи остова отпечатка пальца.
Хотя область "Дополнительные данные" позволяет включать в формат остова отпечатка пальца собственные данные компании-изготовителя, они не должны представляться в альтернативной форме, если могут быть записаны в соответствии с настоящим стандартом. В частности, данные о гребневом счете, точках ядра и дельты, информация о локальном качестве изображения и расположении потовых пор не должны быть представлены собственным способом, противоречащим определенному в данном стандарте формату. Дополнительная информация о гребневом счете, точках ядра и дельты, локальном качестве изображения или расположении потовых пор может быть размещена в соответствующей собственной области дополнительных данных, если указанные далее поля настоящего стандарта заполнены. Это требование позволяет обеспечить совместимость различных систем.
7.5.1 Структура блока "Дополнительные данные"
7.5.1.1 Поле "Длина блока "Дополнительные данные"
Все записи остова отпечатка пальца должны содержать поле "Длина блока "Дополнительные данные". Значение данного поля указывает на наличие дополнительных данных и должно быть записано в 2 байтах. Значение поля, равное нулю (0x0000), означает отсутствие дополнительных данных, а также то, что файл данных будет закончен или продолжен следующим представлением отпечатка пальца. Ненулевое значение поля указывает длину всех сегментов дополнительных данных, начинающихся со следующего байта.
7.5.1.2 Поле "Код типа области "Дополнительные данные"
Значение поля "Код типа области "Дополнительные данные" (2 байта) должно характеризовать формат области "Дополнительные данные" так, как определено разработчиком в полях заголовка ЕСФОБД "владелец продукта ББД ЕСФОБД" (CBEFF_BDB_product_owner) и "тип продукта ББД ЕСФОБД" (CBEFF_BDB_product_type). Значение нуля в обоих байтах является зарезервированным значением и не используется. Значение нуля в первом байте и ненулевое значение во втором байте означает, что область "Дополнительные данные" имеет определенный в настоящем стандарте формат. Ненулевое значение в первом байте указывает на то, что формат области "Дополнительные данные" не описан в настоящем стандарте, а его тип определяется кодом, установленным разработчиком. В таблице 6 приведены коды типа области "Дополнительные данные". Если длина блока "Дополнительные данные" (см. 7.5.1.1) равна нулю, то данное поле и дополнительные данные отсутствуют.
Примечание - Если присутствуют дополнительные данные типа, определенного разработчиком, а в стандартном биометрическом заголовке (СБЗ) не содержатся сведения о владельце продукта и о типе продукта, то связь между дополнительными данными и разработчиком установлена не будет.
Таблица 6 - Коды типов области "Дополнительные данные"
Первый байт |
Второй байт |
Пояснение |
0x00 |
0x00 |
Зарезервировано ПК 37 |
0x00 |
0x01 |
Данные гребневого счета (см. 7.5.2) |
0x00 |
0x02 |
Данные ядра и дельты (см. 7.5.3) |
0x00 |
0x03 |
Данные локального качества (см. 7.5.4) |
0x00 |
0x04 |
Данные расположения потовых пор (см. 7.5.5) |
0x00 |
0x05 |
Данные структуры остова (см. 7.5.6) |
0x00 |
0x06 - 0xFF |
Зарезервировано ПК 37 для дальнейшего использования |
0x01 - 0xFF |
0x00 |
Зарезервировано ПК 37 для дальнейшего использования |
0x01 - 0xFF |
0x01 - 0xFF |
Дополнительные данные разработчика |
7.5.1.3 Поле "Длина области "Дополнительные данные"
Значение поля "Длина области "Дополнительные данные" (2 байта) должно включать длину поля "Код типа области "Дополнительные данные" и длину области "Дополнительные данные". Данное значение используется для перехода к следующей области "Дополнительные данные" в случае, если алгоритм сравнения не может дешифровать и использовать данные текущей области. Если длина блока "Дополнительные данные" (см. 7.5.1.1) равна нулю, то дополнительные данные и данное поле отсутствуют.
7.5.1.4 Область "Дополнительные данные"
Область "Дополнительные данные" определяется оборудованием, создающим запись остова отпечатка пальца, или общими форматами дополнительных данных, описанными в 7.5.2 - 7.5.6. Если длина блока "Дополнительные данные" (см. 7.5.1.1) равна нулю, то дополнительные данные и данное поле отсутствуют.
7.5.2 Формат данных гребневого счета
Если код типа области "Дополнительные данные" равен 0x0001, то область "Дополнительные данные" содержит информацию о гребневом счете. Данный формат обеспечивает содержание дополнительной информации о числе гребневых линий отпечатка пальца между парами контрольных точек. Каждое значение гребневого счета связано с парой контрольных точек, содержащихся в блоке "Данные остова отпечатка пальца", формат которого определен в 7.4.2; в записи не может содержаться информация о гребнях, связанных с контрольными точками, которые не содержатся в блоке "Данные остова отпечатка пальца". В число гребней не следует включать гребни, представленные одной из связанных с ними контрольных точек. На рисунке 6 приведено пояснение: гребневой счет между контрольными точками А и В равен 1, гребневой счет между контрольными точками В и С равен 2.
Рисунок 6 - Пример определения гребневого счета
Примечание - Существует различие в расположении контрольных точек по сравнению с ИСО/МЭК 19794-2 (см. 6.1.4)
7.5.2.1 Поле "Метод определения гребневого счета" ("Ridge count extraction method")
Область "Дополнительные данные", содержащая информацию о гребневом счете, должна начинаться с байта, определяющего используемый метод определения числа гребней. Определение числа гребней между центрами контрольных точек чаще всего осуществляется одним из следующих способов: путем определения числа гребней до ближайшей соседней контрольной точки в каждой из 4 угловых областей (или квадрантах) или путем определения числа гребней до ближайшей соседней контрольной точки в каждой из 8 угловых областей (или октантах).
Поле "Метод определения гребневого счета" должно содержать значение в соответствии с таблицей 7.
Таблица 7 - Коды методов определения гребневого счета
Код поля "Метод определения гребневого счета" |
Метод определения гребневого счета |
Примечание |
0x00 |
Произвольный |
Используемый метод определения гребневого счета и порядок записи не указаны; в частности, определение числа гребней не обязательно проводится между ближайшими контрольными точками |
0x01 |
4 соседние области или 4 "соседа" (квадранты) |
Для каждой центральной контрольной точки гребневой счет определяется в направлениях четырех квадрантов и значения гребневого счета для каждой центральной контрольной точки записываются вместе |
0x02 |
8 соседних областей или 8 "соседей" (октанты) |
Для каждой центральной контрольной точки гребневой счет определяется в направлениях восьми октантов, и значения гребневого счета для каждой центральной контрольной точки записываются вместе |
При использовании любого из 2 описанных методов определения гребневого счета, порядок записи значений гребневого счета должен быть следующим:
- все значения гребневого счета для определенной центральной контрольной точки должны быть записаны вместе;
- центральная контрольная точка должна быть первой контрольной точкой в 3-байтовых блоках "Данные гребневого счета" ("Ridge count data");
- если в рассматриваемом квадранте или октанте соседняя контрольная точка отсутствует, то в полях "Номер контрольной точки" ("Index number") и "Значение гребневого счета" ("Ridge count") должны быть записаны нули (то есть для каждой центральной контрольной точки всегда должны быть указаны 4 значения гребневого счета для метода квадрант или 8 значений для метода октант);
- порядок записи соседних контрольных точек в настоящем стандарте не определен.
7.5.2.2 Блок "Данные гребневого счета"
Данные гребневого счета должны быть представлены последовательностью 3-байтовых блоков "Данные гребневого счета". Первые 2 байта относятся к полю "Номер контрольной точки" и указывают, какие контрольные точки используются при расчете значения гребневого счета. Третий байт является полем "Значение гребневого счета" и содержит информацию о числе гребней, которые пересекают отрезок, соединяющий 2 указанные контрольные точки.
Если в рассматриваемом квадранте или октанте соседняя контрольная точка отсутствует, то первый байт блока "Данные гребневого счета" должен содержать порядковый номер центральной контрольной точки, второй и третий байты - значение 255. Для каждой центральной контрольной точки всегда должны быть указаны 4 значения гребневого счета для метода квадрант или 8 значений для метода октант.
Данные гребневого счета должны быть перечислены в порядке возрастания номеров контрольных точек. Настоящий стандарт не устанавливает требования к тому, чтобы гребневой счет перечислялся, начиная с наименьшего значения порядкового номера. Так как контрольные точки перечисляются в произвольном геометрическом порядке, взаимное геометрическое расположение различных элементов данных гребневого счета не устанавливается.
7.5.2.3 Структура формата данных гребневого счета
Структура формата данных гребневого счета представлена следующим образом:
7.5.3 Формат данных ядра и дельты
Если код типа области "Дополнительные данные" равен 0x0002, то область "Дополнительные данные" содержит информацию о ядре и дельте, а именно о расположении и параметрах ядер и дельт на исходном изображении отпечатка пальца. Точки ядер и дельт относятся к интегральным параметрам отпечатка пальца и определяются характером всего гребневого узора отпечатка пальца. Любой отпечаток пальца может иметь произвольное (ноль или более) число ядер и дельт. Информация об ядрах и дельтах может содержаться или отсутствовать в записи.
Формат данных ядра и дельты представлен далее. Первый байт области должен содержать число обнаруженных ядер. Допустимые значения - от 0 до 15.
7.5.3.1 Поле "Число ядер" ("Number of cores")
Число обнаруженных на отпечатке пальцев ядер должно быть записано в 4-х младших битах поля "Число ядер". Допустимые значения - от 0 до 15. Старшие 4 бита поля зарезервированы ПК 37 для дальнейшего использования. Для настоящего стандарта установлены нулевые значения данных битов.
7.5.3.2 Поле "Тип данных ядра" ("Core information type")
Тип данных ядра должен быть указан в 2 старших битах поля "Расположение ядра по оси X" ("X coordinate of the core position") (2 байта). Значение 01 указывает на наличие информации о направлении ядра, а значение 00 указывает на ее отсутствие. При значении 00 поле "Угол направления ядра" ("Core angle") должно отсутствовать.
7.5.3.3 Блок "Расположение ядра" ("Core position")
Если контрольные точки окончаний гребней находятся во внутренней области загнутой гребневой линии, то расположение ядра определяет окончание, расположенное наиболее близко к максимальному изгибу гребневой линии. Если u-изгиб гребневой линии не содержит контрольных точек окончания гребня, то расположение ядра определяется по окончанию впадины.
Расположение ядра по оси X должно быть записано в младших 14-ти битах первых 2-х байтов блока "Расположение ядра". Расположение ядра по оси Y должно быть записано в младших 14-ти битах последующих 2-х байтов блока "Расположение ядра". 2 старших бита 2-х байтов поля "Расположение ядра по оси Y" ("Y coordinate of the core position") зарезервированы ПК 37 для дальнейшего использования. В настоящем стандарте данные биты имеют нулевые значения. Координаты должны быть указаны в пикселях в соответствии с разрешением, указанным в блоке "Общий заголовок".
7.5.3.4 Поле "Угол направления ядра"
Если ядро характеризуется выраженным направлением, то должно быть записано значение угла данного направления, в соответствии с указанным типом данных ядра. Ядро имеет направление, если на него указывает гребень или группа гребней. Направление ядра определяется по значению угла касательной к гребневым линиям, расположенным вблизи ядра. Касательную проводят с внешней стороны (U-образного гребня.
Значение поля "Угол направления ядра" (1 байт) должно быть записано в единицах измерения, равных 1,40625° (360°/256). Угол направления ядра измеряется относительно положительного направления горизонтальной оси против часовой стрелки. Угол направления ядра должен иметь неотрицательное значение и находится в диапазоне от 0 до 255 включительно. Например, значение угла направления ядра, равное 16, соответствует 22,5°. Если тип данных ядра равен 00 (см. 7.5.3.2), то поле "Угол направления ядра" должно отсутствовать.
7.5.3.5 Поле "Число дельт" ("Number of deltas")
Число обнаруженных на отпечатке пальца дельт должно быть записано в 4-х младших битах поля "Число дельт" (1 байт). Допустимые значения - от 0 до 15. 4 старших бита данного поля зарезервированы ПК 37 для дальнейшего использования. В настоящем стандарте для данных битов установлены нулевые значения.
7.5.3.6 Поле "Тип данных дельты" ("Delta information type")
Тип данных дельты должен быть указан в 2-х старших битах поля "Расположение дельты по оси X" ("X coordinate of the delta position") (2 байта). Значение 01 определяет наличие информации об углах направления дельты, а значение 00 - отсутствие. При значении 00 поля "Угол направления дельты" должно отсутствовать.
7.5.3.7 Блок "Расположение дельты" ("Delta position")
Дельта имеет 3 точки расхождения, каждая из которых расположена между 2 гребнями в месте, где гребни начинают расходиться; то есть там, где параллельные или почти параллельные гребневые линии расходятся при приближении к дельте. Расположение дельты определяется как среднее пространственное значение этих 3 точек.
Расположение дельты по оси X должно быть записано в младших 14-ти битах первых 2-х байтов блока "Расположение дельты". Расположение дельты по оси Y должно быть записано в младших 14-ти битах последующих 2-х байтов блока "Расположение дельты". 2 старших бита 2-х байтов поля "Расположение дельты по оси Y" ("Y coordinate of the delta position") зарезервированы ПК 37 для дальнейшего использования. В настоящем стандарте данные биты имеют нулевые значения. Координаты должны быть указаны в пикселях в соответствии с разрешением, указанным в блоке "Общий заголовок".
7.5.3.8 Поля "Угол направления дельты" ("Delta angles")
Для всех наблюдаемых расхождений гребневых линий углы направления дельты определяются углом наклона касательной к гребням перед их расхождением. Углы измеряются от точки расхождения к параллельным гребневым линиям, то есть углы должны быть направлены наружу от дельты.
Каждый из 3 угловых признаков дельты должен быть записан в отдельном поле "Угол направления дельты" (1 байт) в единицах измерения, равных 1,40625° (360°/256). Углы дельты измеряются относительно положительного направления горизонтальной оси против часовой стрелки. Углы дельты принимают неотрицательное значение от 0 до 255 включительно. Например, угловое значение 16 соответствует углу 22,5°.
Если тип данных дельты равен 00 (см. 7.5.3.6), то поля "Угол направления дельты" должны отсутствовать. Если из-за наличия шумов или "обрезанного" изображения определяются не все углы дельты, то поля неопределенных углов следует заполнить повторяющимся значением любого другого определенного угла текущей дельты.
7.5.3.9 Структура формата данных ядра и дельты
Структура формата данных ядра должна быть следующей:
Структура формата данных дельты должна быть следующей:
7.5.4 Данные локального качества изображения
Если код типа области "Дополнительные данные" равен 0x0003, то область "Дополнительные данные" содержит информацию о локальном качестве изображения, а именно дополнительную информацию о локальном качестве изображения отпечатка пальца в каждой ячейке сетки, определенной на исходном изображении отпечатка пальца. В пределах каждой ячейки оценка качества может зависеть от четкости изображения гребней, пространственных искажений и других характеристик изображения.
Данные локального качества изображения должны быть представлены следующим образом. Первые 3 байта должны содержать поля "Ширина ячейки" ("Cell width") в пикселях, "Высота ячейки" ("Cell height") в пикселях и "Число битов информации о качестве ячейки" ("Cell quality information depth"). За данными полями должно следовать поле "Данные качества ячейки" ("Cell quality data"), состоящее из показателей качества для каждой ячейки. Все ячейки должны быть одинакового размера, за исключением крайних ячеек в каждой строке и в каждом столбце, которые могут быть меньше заданного размера в том случае, если размеры изображения отпечатка пальца в X (ширина) и Y (высота) координатах не кратны ширине и высоте ячеек, соответственно.
7.5.4.1 Поле "Ширина ячейки" и поле "Высота ячейки"
Число пикселей ячейки в направлении оси X (горизонтальное направление) должно быть записано в поле "Ширина ячейки" (1 байт). Допустимые значения - от 1 до 255. Число пикселей ячейки в направлении оси Y (вертикальное направление) должно быть записано в поле "Высота ячейки" (1 байт). Допустимые значения - от 1 до 255.
7.5.4.2 Поле "Число битов информации о качестве ячейки"
Значение поля "Число битов информации о качестве ячейки" (1 байт) указывает число битов, содержащих информацию о качестве одной ячейки.
7.5.4.3 Поле "Данные качества ячейки"
Качество изображения отпечатка пальца в каждой ячейке должно быть представлено одним или несколькими битами, в зависимости от значения поля "Число битов информации о качестве ячейки" (см. 7.5.4.2). Данные качества ячейки должны быть записаны в общепринятом "растровом" порядке - сначала слева направо, затем сверху вниз.
Если изображение отпечатка пальца в пределах текущей ячейки является четким и содержит значимую информацию о гребнях, то качеству ячейки следует присвоить высокое значение (например, если качество кодируется 1 битом, его значение должно быть 1). Если ячейка не содержит значимую информацию о гребнях, или изображение гребня размыто, испорчено или имеет другие признаки низкого качества, то качеству ячейки следует присвоить низкое значение (например, если качество кодируется 1 битом, его значение должно быть 0).
Данные качества ячейки должны содержаться в целых байтах. Младшие биты последнего байта поля "Данные качества ячейки" могут быть дополнены нулевыми значениями до полного заполнения последнего байта.
7.5.4.4 Структура формата данных локального качества изображения
Структура формата данных локального качества изображения должна быть следующей:
7.5.5 Данные расположения потовых пор
Расположение, размер и форма потовых пор являются уникальными характерными особенностями пальца, которые могут улучшить качество верификации на основе отпечатка пальца и контрольных точек. Изображение отпечатка пальца с четко видимыми порами изображено на рисунке 7. Изображение отпечатка пальца может содержать до 2700 потовых пор. Форма, размер и расположение потовых пор могут использоваться в качестве признаков при сравнении отпечатков пальцев. В соответствии с настоящим стандартом кодируются только потовые поры, расположенные вдоль линии остова. [7]
Рисунок 7 - Фрагмент отпечатка пальца с потовыми порами [6]
Кодирование расположения потовых пор начинается с заголовка длиной в 3 байта, состоящего из поля "Разрешение расположения потовых пор" ("Sweat pore position resolution") (2 байта) и поля "Число битов расстояния между потовыми порами" ("Sweat pore position information depth") (1 байт). Далее для каждой линии остова, определенной по 7.4.2, следует последовательность элементов "Расстояние между потовыми порами" ("Sweat pore distance description element").
7.5.5.1 Поле "Разрешение расположения потовых пор"
Разрешение расположения потовых пор хранится в 2 байтах. Минимальное рекомендуемое значение - 200 пикселей/см.
7.5.5.2 Поле "Число битов расстояния между потовыми порами"
Число битов на элемент "Расстояние между потовыми порами" хранится в 1 байте. Действительный диапазон составляет от 2 до 8 битов; минимальное рекомендуемое число - 4 бита.
7.5.5.3 Описание расположения потовых пор
Для каждой линии остова, определенной по 7.4.2, описание расположения потовой поры начинается со значения 00...0. Последовательность элементов "Расстояния между потовыми порами" определяет расположение потовых пор вдоль линии остова. Значения от 00...1 до 11...0 используются для кодирования расстояний между потовыми порами. Значение 11...1 указывает на отсутствие потовой поры на расстоянии 11.. 0. Таким образом, каждый элемент длины, определенной по 7.5.5.2, находится в диапазоне расстояний от 1 до ( - 2) при разрешении расположения потовых пор, определенном по 7.5.5.1. Младшие биты последнего байта данных расположения потовых пор могут быть дополнены нулевыми значениями до полного заполнения последнего байта.
7.5.5.4 Структура формата расположения потовых пор
Структура формата данных расположения потовых пор должна быть следующей:
7.5.6 Данные структуры остова отпечатка пальца
При использовании некоторых алгоритмов сравнения необходимо, чтобы все гребневые линии заканчивались действительными контрольными точками. Помимо описания гребневой линии, расположенной рядом с контрольной точкой, необходимо, чтобы вся линия была восстановлена. Для поиска всех гребневых линий, начинающихся от точки бифуркации (что значительно сложнее случая, когда гребневые линии начинаются с точки окончания), должен быть проведен пространственный поиск линии, проходящей через точку бифуркации.
Для восстановления гребневой линии в обратном порядке необходимо знать направление последнего элемента, длину последнего шага и уровень разрешения (см. 6.2.1).
Для определения линии, проходящей через точку бифуркации, необходимо знать ее номер. Для восстановления линии, начинающейся в точке бифуркации, необходимо знать точное расположение контрольной точки на данной линии, направление соответствующего элемента и уровень разрешения (см. 6.2.1).
Данные структуры остова начинаются с записи числа битов, необходимых для хранения индекса линии. Число битов должно быть записано в 1 байте и находиться в диапазоне от 4 до 16. Далее следует информация о структуре в порядке следования действительных контрольных точек в данных остова, которая хранится в компактно упакованном виде без разделителей записи или тегов полей.
Для действительной контрольной точки на конце линии остова сохраняются следующие данные:
- тип элемента структурных данных, в данном случае значение 0 соответствует концу линии. Значение хранится в 1 бите;
- направление последнего линейного элемента ломаной линии ( на рисунке 2) с угловым разрешением, аналогичным направлению элемента в коде направления . Значение хранится в - 1 битах;
- относительное расположение контрольной точки линейного элемента, определяемое как минимальное значение из (или - 1, или наименьшее целое значение ), где I - расстояние между началом последнего линейного элемента и контрольной точкой, длина шага последнего линейного элемента (рисунок 2). Данное значение хранится в - 1 битах;
- уровень разрешения со значением 0 для стандартного разрешения и значением 1 для высокого разрешения. Данное значение хранится в 1 бите.
Для каждой точки бифуркации сохраняются следующие данные:
- тип структурного элемента данных. Значение 1 соответствует бифуркации. Данное значение хранится в 1 бите;
- номер гребневой линии, начинающийся с нулевого значения. Данное значение хранится в 8 битах;
- номер линейного элемента, начинающийся с нулевого значения. Число битов, выделенных для хранения данного значения, определяется в первом байте данных структуры остова;
- направление линейного элемента ломаной линии, проходящего через точку бифуркации ( на рисунке 2) с угловым разрешением, аналогичным направлению элементов в коде направлений . Данное значение хранится в - 1 битах;
- относительное расположение точки бифуркации линейного элемента, определяемое как минимальное значение из (или - 1, или наименьшее целое значение от ), где I - расстояние между началом последнего линейного элемента, пересекающего бифуркацию, и контрольной точкой, - длина шага последнего линейного элемента (рисунок 2). Данное значение хранится в - 1 битах;
- уровень разрешения со значением 0 для стандартного разрешения и значением 1 для высокого разрешения. Данное значение хранится в 1 бите.
- длина шага при прямом прохождении и - число направлений от 0° на или 180° (6.2.4), которые определены в блоке "Общий заголовок".
Контрольная точка типа "окончание гребня", закодированная в начале линии остова, не входит в данные структуры остова. Для контрольной точки типа "окончание гребня", закодированной в конце линии остова, сохраняется информация о конце линии (тип 0). Для контрольной точки типа "бифуркация гребня", закодированной в начале линии остова, сохраняется информация о бифуркации (тип 1). Для контрольной точки типа "бифуркация гребня", закодированной в конце линии остова, сначала сохраняется информация о конце линии (тип 0), а затем следует информация о бифуркации (тип 1).
7.5.6.1 Структура формата данных структуры остова отпечатка пальца
Структура формата данных структуры остова отпечатка пальца должна быть следующей:
где:
- - число битов, необходимых для хранения - 1, например, при = 32 = 6;
- - число битов, необходимых для хранения - 1, например, при = 16 = 4;
- - число битов, необходимых для хранения индекса линии. Это число записано в первом байте данных структуры остова отпечатка пальца.
8 Формат записи данных остова отпечатка пальца для идентификационных карт
Настоящий стандарт определяет два формата записи данных остова отпечатка пальца для идентификационных карт: нормальный и компактный.
Определенный в настоящем стандарте формат может использоваться как часть БИШ*(7) со встроенными объектами ЕСФОБД согласно ИСО/МЭК 7816-11, если используется сравнение без идентификационной карты, или в поле данных команды VERIFY, если сравнение осуществляется по идентификационной карте (см. ИСО/МЭК 7816-4 и ИСО/МЭК 7816-11).
Для обоих форматов записи данных остова отпечатка пальца для идентификационных карт определены наборы фиксированных параметров (см. 8.1 и 8.2). Данные фиксированные параметры не входят в состав формата записи данных остова опечатка пальца для идентификационных карт.
Примечание 1 - Для формата записи данных остова отпечатка пальца данные параметры устанавливаются в блоке "Заголовок представления" (см. 7.4.1*(8)).
Формат записи данных остова отпечатка пальца для идентификационных карт состоит из блока "Данные остова отпечатка пальца" ("Finger pattern skeletal data block") (см. 8.3) и необязательных дополнительных характеристик (см. 8.5).
Примечание 2 - Термин "идентификационная карта" используется как для смарт-карт, так и для других видов карт.
8.1 Формат записи данных остова отпечатка пальца (нормальный размер)
Для данного формата блок "Заголовок представления" имеет следующие фиксированные значения полей:
- поле "Разрешение изображения отпечатка пальца"*(9) - 200 пикселей/см;
- поле "Число битов для координат точек начала и конца в коде направления"*(10) - 11;
- поле "Число битов направления точек начала и конца в коде направления" - 8;
- поле "Число битов направления в коде направления" - 4;
- поле "Длина шага в коде направления " - 24;
- поле "Относительная длина поперечного шага 256 х / в коде направления" - 60;
- поле "Число направлений от 0° до 180°" - 32.
8.2 Формат записи данных остова отпечатка пальца (компактный размер)
Для данного формата блок "Заголовок представления" имеет следующие фиксированные значения полей:
- поле "Разрешение изображения отпечатка пальца"*(11) - 100 пикселей/см;
- поле "Число битов для координат точек начала и конца в коде направления"*(12) - 8;
- поле "Число битов направления точек начала и конца в коде направления" - 6;
- поле "Число битов направления в коде направления" - 4;
- поле "Длина шага в коде направления " - 16;
- поле "Относительная длина поперечного шага 256 х / в коде направления" - 60;
- поле "Число направлений от 0° до 180°" - 32.
8.3 Блок "Данные остова отпечатка пальца"
Блок "Данные остова отпечатка пальца" состоит из следующих полей: поля "Горизонтальный размер изображения остова (ширина)" и "Вертикальный размер изображения остова (высота)", поле "Длина данных остова отпечатка пальца", поле "Данные остова отпечатка пальца", поле "Длина данных индекса смежности линии остова" и поле "Данные индексов смежности линий остова".
8.3.1 Поля "Горизонтальный размер изображения остова (ширина)" и "Вертикальный размер изображения остова (высота)"
Значение поля "Горизонтальный размер изображения остова (ширина)" должно быть записано в 2 байтах при разрешении 100 пикселей/см для формата компактного размера и 200 пикселей/см для формата нормального размера.
Значение поля "Вертикальный размер изображения остова (высота)" должно быть записано в 2 байтах при разрешении 100 пикселей/см для формата компактного размера и 200 пикселей/см для формата нормального размера.
8.3.2 Поле "Длина данных остова отпечатка пальца"
Значение поля "Длина данных остова отпечатка пальца" (2 байта) должно быть определено в байтах и включать биты заполнения для укомплектования последнего байта данных остова отпечатка пальца.
8.3.3 Поле "Данные остова отпечатка пальца"
Данные остова отпечатка пальца для отдельного пальца должны быть записаны в соответствии с 6.1 и 6.2 с использованием определений, приведенных в 8.1 и 8.2 соответственно. При отсутствии необходимости в сортировке линий остова согласно 8.4, их последовательность является произвольной.
8.3.4 Поле "Длина данных индекса смежности линии остова"
Значение поля "Длина данных индексов смежности линий остова" (2 байта) должно быть определено в байтах и включать биты заполнения для укомплектования последнего байта данных остова отпечатка пальца.
8.3.5 Поле "Данные индексов смежности линий остова"
Данные индексов смежности линий остова отпечатка отдельного пальца должны быть записаны в соответствии с 6.3.
8.4 Дополнительные данные координат X и Y для формата записи данных остова отпечатка пальца (компактный размер)
Если значение поля "Горизонтальный размер изображения остова (ширина)" (см. 8.3.1) больше 255, то код направления должен быть упорядочен. Упорядочивание должно выполняться в порядке возрастания координаты Х точки начала кода направления.
Если значение поля "Вертикальный размер изображения остова (высота)" (см. 8.3.1) больше 255, то код направления должен быть упорядочен. Упорядочивание должно выполняться в порядке возрастания координаты Y точки начала кода направления.
Только одно значение размера изображения (X или Y), но не оба одновременно, может превышать 255.
Число битов, равное 8, и разрешение изображения, равное 100 пикселей/см, позволяют описать отпечатки пальцев, зарегистрированных контактным методом, размеры изображения должны быть приблизительно равны 2,55 см х 2,55 см. Для отпечатков, зарегистрированных методом прокатки, размеры изображения должны быть приблизительно равны 2,5 см х 5 см.
Код направления упорядочивается по координате X точки начала, но сохраняется только младший байт координаты X (эквивалентно математической операции остатка от целочисленного деления на 256). В случае нарушения возрастающего порядка исходная последовательность значений координат на идентификационной карте может быть восстановлена путем добавления 256 ко всем последующим значениям координат. Такой способ позволяет записать в 1 байте координаты изображения размером 2,55 см х см.
Пример - |
|
|
|
|
|
|
|
|
|
Исходная последовательность |
60 |
76 |
277 |
333 |
581 |
797 |
860 |
986 |
1000 |
Сохраненная последовательность |
60 |
76 |
21 |
77 |
69 |
29 |
92 |
219 |
231 |
При каждом нарушении возрастающего порядка добавляется 256 |
+0 |
+0 |
+256 |
+256 |
+512 |
+768 |
+768 |
+768 |
+768 |
Восстановленная последовательность |
60 |
76 |
277 |
333 |
581 |
797 |
860 |
986 |
1000 |
Старший байт координаты X точки конца восстановлен следующим кодом направления и добавлением смещения для каждого шага.
Для значений координаты Y действует аналогичный принцип.
8.5 Использование дополнительных характеристик в форматах записи данных остова отпечатка пальца для идентификационных карт
В формате записи остова отпечатка пальца для идентификационных карт помимо данных остова отпечатка пальца допускается присутствие других характеристик. В таком случае необходимо использовать БИШ (тег '7F2E') в соответствии с ИСО/МЭК 7816-11 и ИСО/МЭК 7816-6. В таблице 8 приведен БИШ, включающий в себя объекты данных (ОД). Если добавляются собственные данные, то биометрические данные в стандартном формате (ОД с тегами от '90' до '93') следует инкапсулировать в ОД с тегом 'А1'.
Таблица 8 - БИШ
Тег |
Длина |
Значение |
Наличие |
||
'7F2E' |
Переменная |
Биометрический информационный шаблон |
|
||
|
Тег |
Длина |
Значение |
|
|
'90' |
Переменная |
Данные остова отпечатка пальца в соответствии с 8.1 или 8.2 в зависимости от указанного формата |
Обязательное |
||
'91' |
Переменная |
Данные гребневого счета в соответствии с 7.5.2 |
Необязательное |
||
'92' |
Переменная |
Данные ядра в соответствии с 7.5.3 |
Необязательное |
||
'93' |
Переменная |
Данные дельты в соответствии с 7.5.3 |
Необязательное |
||
'94' |
Переменная |
Данные локального качества в соответствии с 7.5.4 |
Необязательное |
||
'95' |
Переменная |
Данные расположения потовых пор в соответствии с 7.5.5 |
Необязательное |
||
'96' |
Переменная |
Данные структуры остова в соответствии с 7.5.6 |
Необязательное |
||
'81'/'А1' |
Переменная |
Биометрические данные в стандартном формате, см. примечание |
Необязательное |
||
'82'/'A2' |
Переменная |
Биометрические данные в собственном (проприетарном) формате |
Необязательное |
||
Примечание - Если используется ОД с тегом '81', то данные в соответствии с 8.1 и 8.2 следует записывать без инкапсуляции. |
8.6 Параметры сравнения и возможности идентификационной карты
Параметры алгоритма биометрического сравнения используются для отображения конкретных значений реализации, полученных извне во время вычисления и структурирования биометрических данных для верификации. Они могут быть закодированы в виде ОД, включенных в шаблон параметров алгоритма биометрического сравнения в соответствии с разделом 11 ИСО/МЭК 19785-3:2007).
К параметрам сравнения и возможностям идентификационной карты для формата записи остова относятся максимальный размер данных и индикатор поддержки характеристик, закодированные в ОД "Параметры алгоритма биометрического сравнения" (тег 'В1' в пределах БИШ, см. ИСО/МЭК 7816-11) (таблица 9).
Таблица 9 - ОД "Параметры алгоритма биометрического сравнения"
Тег |
Длина |
Значение |
||
'В1' |
Переменная |
Шаблон параметров алгоритма биометрического сравнения |
||
|
|
Тег |
Длина |
Значение |
|
|
'81' |
2 |
Максимальный размер данных |
|
|
'83' |
1 |
Индикатор поддержки характеристик (таблица 10) |
8.6.1 Максимальный размер данных
Максимальный размер данных для описания остова отпечатка пальца, принятый для конкретной карты, является ограниченным, например, из-за ограничения буферной памяти и вычислительных возможностей.
Максимальный принятый размер данных является значением, зависящим от реализации, и должен быть указан при помощи ОД "Максимальный размер данных" (тег '81', длина поля - 2 байта). Включение ОД "Максимальный размер данных" в ОД "Параметры алгоритма биометрического сравнения" приведено в таблице 9.
Если длина записи данных остова отпечатка пальца превышает максимальный размер данных для карты, то необходимо провести усечение записи. Усечение является 2-шаговым процессом. Сначала исключаются линии остова отпечатка пальца низкого качества. Если длина данных все еще остается слишком большой, то должно быть проведено повторное усечение путем удаления сегментов остова из выпуклой оболочки описанной области.
Для указания максимального размера данных карты следует использовать ОД "Максимальный размер данных" в соответствии с таблицей 9*(13). Если этот ОД не представлен в БИШ, то максимальный размер данных карты неограничен.
8.6.2 Возможности идентификационной карты
Если идентификационная карта имеет возможность проведения сравнения непосредственно на карте и поддерживает дополнительные возможности, то их следует указать в ОД "Индикатор поддержки характеристик" (тег '83', поле длиной 1 байт). Включение этого ОД "Индикатор обращения к свойствам" в ОД "Параметры алгоритма биометрического сравнения" показано в таблице 9, кодировка представлена в таблице 10.
Таблица 10 - Кодировка ОД "Индикатор поддержки характеристик"
Биты данных |
Значение |
|||||||
b8 |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
|
|
|
|
|
|
|
|
1 |
Поддерживаются данные гребневого счета |
|
|
|
|
|
|
1 |
|
Поддерживаются данные ядра |
|
|
|
|
|
1 |
|
|
Поддерживаются данные дельты |
|
|
|
|
1 |
|
|
|
Поддерживаются данные локального качества изображения |
|
|
|
1 |
|
|
|
|
Поддерживаются данные потовых пор |
|
|
1 |
|
|
|
|
|
Поддерживаются данные структуры остова |
X |
X |
|
|
|
|
|
|
Зарезервировано (по умолчанию нули) |
8.7 Структура формата записи данных остова отпечатка пальца для идентификационных карт
Структура формата записи данных остова отпечатка пальца для идентификационных карт и поля приведены в таблице 11. Форматы дополнительных данных гребневого счета, ядра и дельты, локального качества изображения и расположения потовых пор в данной таблице не представлены.
Таблица 11 - Структура формата записи данных остова отпечатка пальца для идентификационных карт
Поле |
Длина |
Значение |
Примечание |
Тег (Tag) |
Переменная |
|
Закодирован в АСН.1 согласно таблице 8 |
Длина (Length) |
Переменная |
|
Закодирован в АСН.1 |
Горизонтальный размер изображения остова (ширина) (Skeleton image size in x) |
2 байта |
|
В пикселях |
Вертикальный размер изображения остова (высота) (Skeleton image size in у) |
2 байта |
|
В пикселях |
Длина данных остова отпечатка пальца (Length of finger pattern skeletal data) |
2 байта |
|
В байтах |
Данные остова отпечатка пальца (Finger pattern skeletal data) |
В предыдущем поле |
|
|
Длина данных индексов смежности линий остова (Length of skeleton line neighbourhood index data) |
2 байта |
|
В байтах |
Данные индексов смежности линий остова (Skeleton line neighbourhood index data) |
В предыдущем поле |
|
|
9 Зарегистрированные идентификаторы типа формата
Владелец формата и тип формата должны быть записаны в соответствии с ЕСФОБД.
Владельцем формата является ИСО/МЭК СТК 1/ПК 37, зарегистрированный идентификатор владельца формата - 257 (0x0101).
Тип формата указывает на один из форматов остова отпечатка пальца в соответствии с настоящим стандартом, согласно таблице 12.
Таблица 12 - Идентификаторы типа формата
Идентификатор типа формата |
Короткое имя |
Полный идентификатор объекта |
17 (0x0011) |
finger-pattern-skeletal-data-record |
{iso registration-authority cbeff(19785) organization(0) jtc1-sc37(257) bdbs(0) finger-pattern-skeletal-datarecord(17)} |
18 (0x0012) |
finger-pattern-skeletal-data-card-normal |
{iso registration-authority cbeff(19785) organization(0) jtd-sc37(257) bdbs(0) finger-pattern-skeletal-datacard-normal(18)} |
19 (0x0013) |
finger-pattern-skeletal-data-card-compact |
{iso registration-authority cbeff(19785) organization(0) jtc1-sc37(257) bdbs(0) finger-pattern-skeletal-datacard- compact(19)} |
_____________________________
*(1) В оригинале ИСО/МЭК 19794-8:2011 допущена ошибка. Вместо термина "запись остова отпечатка пальца" указан термин "запись данных изображения радужной оболочки глаза".
*(2) МАБП - Международная ассоциация биометрической промышленности (The International Biometnc Industry Association (IBIA)).
*(3) В оригинале ИСО/МЭК 19794-8:2011 допущена ошибка. В качестве допустимых значений указано "от 0 до 3, от 8 до 23 до 29".
*(4) В оригинале ИСО/МЭК 19794-8:2011 допущена ошибка. Поле "Относительная длина поперечного шага в коде направления" указано дважды.
*(5) В оригинале ИСО/МЭК 19794-8:2011 допущена ошибка. Вместо таблицы 12 указана таблица 5.
*(6) В оригинале ИСО/МЭК 19794-8:2011 допущена ошибка. Вместо таблицы 4 указана таблица 2.
*(7) В стандартах комплекса "Биометрия" используется сокращение БИШ (биометрический информационный шаблон) для BIT в отличие от ИСО/МЭК 7816-11, где для BIT (Biometnc information template) использовано сокращение ШБИ (шаблон биометрической информации).
*(8) В оригинале ИСО/МЭК 19794-8:2011 допущена ошибка. Вместо параграфа 7.4.1 указан параграф 7.3.
*(9) В оригинале ИСО/МЭК 19794-8:2011 допущена ошибка. Указано поле "Разрешение точек начала и конца в коде направления" (Resolution of direction code start and stop point) вместо "Разрешение изображения отпечатка пальца".
*(10) В оригинале ИСО/МЭК 19794-8:2011 допущена ошибка. Указаны поля "Число битов для координаты X точек начала и конца в коде направления" (Bit-depth of direction code start and stop point in X) и "Число битов для координаты Y точек начала и конца в коде направления" (Bit-depth of direction code start and stop point in Y) вместо поля "Число битов для координат точек начала и конца в коде направления".
*(11) В оригинале ИСО/МЭК 19794-8:2011 допущена ошибка. Указано поле "Разрешение точек начала и конца в коде направления" вместо "Разрешение изображения отпечатка пальца".
*(12) В оригинале ИСО/МЭК 19794-8:2011 допущена ошибка. Указаны поля "Число битов для координаты X точек начала и конца в коде направления" и "Число битов для координаты Y точек начала и конца в коде направления" вместо поля "Число битов для координат точек начала и конца в коде направления".
*(13) В оригинале ИСО/МЭК 19794-8:2011 допущена ошибка. Вместо таблицы 9 указана таблица 10.
Библиография
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Национальный стандарт РФ ГОСТ Р ИСО/МЭК 19794-8-2015 "Информационные технологии. Биометрия. Форматы обмена биометрическими данными. Часть 8. Данные изображения отпечатка пальца - остов" (утв. приказом Федерального агентства по техническому регулированию и метрологии от 15 июня 2015 г. N 716-ст)
Текст ГОСТа приводится по официальному изданию Стандартинформ, Москва, 2016 г.
Дата введения - 1 июля 2016 г.