Статус документа
Статус документа

ГОСТ Р 58298-2018 (ИСО/МЭК 19794-4:2011) Информационные технологии (ИТ). Биометрия. Форматы обмена биометрическими данными. Часть 4. Данные изображения отпечатка пальца

Приложение E

(обязательное)

Пример записи изображения отпечатков пальцев в формате XML

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

E.1 Схема изображения отпечатка пальца

<?xml version="1.0" encoding="utf-8" ?>

<! -- Настоящим, любому лицу, предоставляется бессрочное разрешение на бесплатное использование, копирование, изменение, объединение, опубликование и распространение копий схемы для разработки, внедрения, установки и использования программного обеспечения, разработанного с применением данной схемы при соблюдении следующих условий: схема предоставляется без какой-либо гарантии, явной или подразумеваемой, включая все без исключения подразумеваемые гарантии товарности или пригодности для какой-либо определенной цели. Ни при каких обстоятельствах авторы и владельцы авторского права не несут ответственности за какие-либо претензии, убытки и другие обязательства, возникшие вследствие выполнения обязательств по договору, неосторожности или гражданского правонарушения или других причин, возникших в результате или вследствие использования или функционирования данной схемы. Кроме того, любая модифицированная копия схемы должна включать следующее уведомление: "Эта схема является модифицированной по отношению к схеме, определенной в ГОСТ Р ИСО/МЭК 19794-4, и не должна толковаться как соответствующая требованиям указанного стандарта"-->

<xs:schema xmlns=http://standards.iso.org/iso-iec/19794/-4/ed-2/amd/2

xmlns:cmn=http://standards.iso.org/iso-iec/19794/-1/ed-2/amd/2

attributeFormDefault="unqualified" elementFormDefault=" qualified"

targetNamespace=http://standards.iso.org/iso-iec/19794/-4/ed-2/amd/2

xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:import schemaLocation="19794-1_ed2_amd2.xsd"

namespace="http://standards.iso.org/iso-iec/19794/-1/ed-2/amd/2" />

<xs:simpleType name="AnnotationReasonType">

<xs:restriction base="xs:string">

<xs:enumeration value="Amputated" />

<xs:enumeration value="UnableToPrint" />

<xs:enumeration value="Bandaged" />

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="PositionType">

<xs:restriction base="xs:string">

<xs:enumeration value="UnknownFinger" />

<xs:enumeration value="RightThumb" />

<xs:enumeration value="RightIndex" />

<xs:enumeration value="RightMiddle" />

<xs:enumeration value="RightRing" />

<xs:enumeration value="RightLittle" />

<xs:enumeration value="LeftThumb" />

<xs:enumeration value="LeftIndex" />

<xs:enumeration value="LeftMiddle" />

<xs:enumeration value="LeftRing" />

<xs:enumeration value="LeftLittle" />

<xs:enumeration value="RightSlap" />

<xs:enumeration value="LeftSlap" />

<xs:enumeration value="BothThumbs" />

<xs:enumeration value="UnknownPalm" />

<xs:enumeration value="RightFullPalm" />

<xs:enumeration value="RightWritersPalm" />

<xs:enumeration value="RightLowerPalm" />

<xs:enumeration value="RightUpperPalm" />

<xs:enumeration value="RightOtherPalm" />

<xs:enumeration value="RightInterdigital" />

<xs:enumeration value="RightThenar" />

<xs:enumeration value="RightHypothenar" />

<xs:enumeration value="LeftFullPalm" />

<xs:enumeration value="LeftWritersPalm" />

<xs:enumeration value="LeftLowerPalm" />

<xs:enumeration value="LeftUpperPalm" />

<xs:enumeration value="LeftOtherPalm" />

<xs:enumeration value="LeftInterdigital" />

<xs:enumeration value="LeftThenar" />

<xs:enumeration value="LeftHypothenar" />

<xs:enumeration value="RightIndexMiddle" />

<xs:enumeration value="RightMiddleRing" />

<xs:enumeration value="RightRingLittle" />

<xs:enumeration value="LeftIndexMiddle" />

<xs:enumeration value="LeftMiddleRing" />

<xs:enumeration value="LeftRingLittle" />

<xs:enumeration value="RightIndexLeftIndex" />

<xs:enumeration value="RightIndexMiddleAndRing" />

<xs:enumeration value="RightMiddleRingAndLittle" />

<xs:enumeration value="LeftIndexMiddleAndRing" />

<xs:enumeration value="LeftMiddleRingAndLittle" />

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="ImpressionType">

<xs:restriction base="xs:string">

<xs:enumeration value="LiveScanPlain" />

<xs:enumeration value="LiveScanRolled" />

<xs:enumeration value="NonLiveScanPlain" />

<xs:enumeration value="NonLiveScanRolled" />

<xs:enumeration value="LatentImpression" />

<xs:enumeration value="LatentTracing" />

<xs:enumeration value="LatentPhoto" />

<xs:enumeration value="LatentLift" />

<xs:enumeration value="LiveScanVerticalSwipe" />

<xs:enumeration value="LiveScanVerticalRolled" />

<xs:enumeration value="LiveScanPalm" />

<xs:enumeration value="NonLiveScanPalm" />

<xs:enumeration value="LatentPalmImpression" />

<xs:enumeration value="LatentPalmTracing" />

<xs:enumeration value="LatentPalmPhoto" />

<xs:enumeration value="LatentPalmLift" />

<xs:enumeration value="LiveScanOpticalContactPlain" />

<xs:enumeration value="LiveScanOpticalContactRolled" />

<xs:enumeration value="LiveScanNonOpticalContactPlain" />

<xs:enumeration value="LiveScanNonOpticalContactRolled" />

<xs:enumeration value="LiveScanOpticalContactlessPlain" />

<xs:enumeration value="LiveScanOpticalContactlessRolled" />

<xs:enumeration value="LiveScanNonOpticalContactlessPlain" />

<xs:enumeration value="LiveScanNonOpticalContactlessRolled" />

<xs:enumeration value="Other" />

<xs:enumeration value="Unknown" />

</xs:restriction>

</xs:simpleType>

<xs:complexType name="SegmentType">

<xs:sequence>

<xs:element name="Position" type="PositionType" />

<xs:element name="QualityList" type="cmn:QualityListType" minOccurs="0'

/>

<xs:element name="EnclosingCoordinates">

<xs:complexType>

<xs:sequence>

<xs:element name="Coordinate"

type="cmn:CoordinateCartesian2DUnsignedShortType"

minOccurs="2" maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="Orientation" type="xs:unsignedByte" />

</xs:sequence>

</xs:complexType>

<xs:complexType name="SegmentationType">

<xs:sequence>

<xs:element name="Algorithm" type="cmn:RegistryIDType" />

<xs:element name="SegmentList">

<xs:complexType>

<xs:sequence>

<xs:element name="Segment"

type="SegmentType" maxOccurs="4" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

<xs:simpleType name="ImageCompressionType">

<xs:restriction base="xs:string">

<xs:enumeration value="None" />

<xs:enumeration value="BitPacked" />

<xs:enumeration value="JPG" />

<xs:enumeration value="WSQ" />

<xs:enumeration value="JP2" />

<xs:enumeration value="JP2_LS" />

<xs:enumeration value="PNG" />

</xs:restriction>

</xs:simpleType>

<xs:complexType name="AnnotationType">

<xs:sequence>

<xs:element name="Position" type="PositionType" />

<xs:element name="Reason" type="AnnotationReasonType" />

</xs:sequence>

</xs:complexType>

<xs:simpleType name="UnitDimensionType">

<xs:restriction base="xs:string">

<xs:whiteSpace value="collapse" />

<xs:enumeration value="Inch" />

<xs:enumeration value="Cm" />

</xs:restriction>

</xs:simpleType>

<xs:complexType name="SpatialSamplingRateType">

<xs:sequence>

<xs:element name="SamplesPerUnit" type="xs:unsignedShort" />

<xs:element name="UnitDimension" type="UnitDimensionType" />

</xs:sequence>

</xs:complexType>

<xs:simpleType name="CaptureDeviceTechnologyType">

<xs:restriction base="xs:string">

<xs:whiteSpace value="collapse" />

<xs:enumeration value="Unknown" />

<xs:enumeration value="WhiteLightOpticalTIR" />

<xs:enumeration value="WhiteLightOpticalDirectPlatenView" />

<xs:enumeration value="WhiteLightOpticalTouchless" />

<xs:enumeration value="MonochromaticVisibleOpticalTIR" />

<xs:enumeration value="MonochromaticVisibleOpticalDirectPlatenView" />

<xs:enumeration value="MonochromaticVisibleOpticalTouchless" />

<xs:enumeration value="MonochromaticIROpticalTIR" />

<xs:enumeration value="MonochromaticIROpticalDirectPlatenView" />

<xs:enumeration value="MonochromaticIROpticalTouchless" />

<xs:enumeration value="MultispectralOpticalTIR" />

<xs:enumeration value="MultispectralOpticalDirectPlatenView" />

<xs:enumeration value="MultispectralOpticalTouchless" />

<xs:enumeration value="ElectroLuminescent" />

<xs:enumeration value="SemiconductorCapacitive" />

<xs:enumeration value="SemiconductorRF" />

<xs:enumeration value="SemiconductorThermal" />

<xs:enumeration value="PressureSensitive" />

<xs:enumeration value="Ultrasound" />

<xs:enumeration value="Mechanical" />

<xs:enumeration value="GlassFiber" />

</xs:restriction>

</xs:simpleType>

<xs:complexType name="CaptureDeviceType">

<xs:sequence>

<xs:element name="DeviceID" type="cmn:RegistryIDType" />

<xs:element name="ScannerXSpatialSamplingRate"

type="SpatialSamplingRateType" />

<xs:element name="ScannerYSpatialSamplingRate"

type="SpatialSamplingRateType" />

<xs:element name="CertificationIDList"

type="cmn:CertificationIDListType" minOccurs="0" />

<xs:element name="Technology"

type="CaptureDeviceTechnologyType" />

</xs:sequence>

</xs:complexType>

<xs:complexType name="FingerImageRepresentationType">

<xs:sequence>

<xs:element ref="FingerImage" />

<xs:element name="QualityList" type="cmn:QualityListType" minOc-

curs="0" />

<xs:element name="Position" type="PositionType" />

<xs:element name="Impression" type="ImpressionType" />

<xs:element name="ImageXSpatialSamplingRate"

type="SpatialSamplingRateType" />

<xs:element name="ImageYSpatialSamplingRate"

type="SpatialSamplingRateType" />

<xs:element name="BitDepth">

<xs:simpleType>

<xs:restriction base="xs:unsignedByte">

<xs:minlnclusive value="1" />

<xs:maxlnclusive value="16" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="ImageCompressionAlgorithmName"

type="ImageCompressionType" />

<xs:element name="ImageCompressionAlgorithmID"

type="cmn:RegistryIDType" minOccurs="0" />

<xs:element name="CaptureDateTime" type="xs:dateTime" />

<xs:element name="Width" type="xs:unsignedShort" />

<xs:element name="Height" type="xs:unsignedShort" />

<xs:element name="FingerImageData" type="xs:base64Binary" />

<xs:element name="FingerSegmentationList" minOccurs="0">

<xs:complexType>

<xs:sequence>

<xs:element name="Segmentation"

type="SegmentationType" maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="AnnotationList" minOccurs="0">

<xs:complexType>

<xs:sequence>

<xs:element name="Annotation"

type="AnnotationType" maxOccurs="4" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="CommentList" minOccurs="0">

<xs:complexType>

<xs:sequence>

<xs:element name="Comment"

type="xs:string" maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="VendorSpecificDataList" minOccurs="0">

<xs:complexType>

<xs:sequence>

<xs:element name="VendorSpecificData"

type="cmn:VendorSpecificDataType" maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

<xs:element name="FingerImage">

<xs:complexType>

<xs:sequence>

<xs:element name="Version" type="cmn:VersionType" />

<xs:element name="NumberOfDistinctPositions"

type="xs:unsignedByte" />

<xs:element name="RepresentationList">

<xs:complexType>

<xs:sequence>

<xs:element name="Representation"

type="FingerImageRepresentationType" maxOccurs="672" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="SchemaVersion" type="xs:decimal" use="required" />

</xs:complexType>

</xs:element>

</xs:schema>

E.2 Преобразования элементов изображения отпечатков пальцев

Существуют определенные ограничения при кодировании в двоичном формате и формате XML. Таблицы E.1* и E.2** поясняют эти ограничения.

________________

* В оригинале ИСО/МЭК 19794-4:2011 Изм. A2:2015 таблица указана под номером 10.

** В оригинале ИСО/МЭК 19794-4:2011 Изм. A2:2015 таблица указана под номером 11.

Таблица E.1 - Кодирование изображений отпечатка пальца в двоичном формате и формате XML

Дословное описание изображения отпечатка пальца

Соответствующее значение в двоичном формате

Соответствующее значение в формате XML

"Живой" отпечаток пальца, зарегистрированный оттисковым методом

0

Plain

"Живой" отпечаток пальца, зарегистрированный методом прокатки

1

Rolled

"Не живой" отпечаток пальца, зарегистрированный оттисковым методом

2

Plain

"Не живой" отпечаток пальца, зарегистрированный методом прокатки

3

Rolled

След отпечатка пальца

4

Plain

След отпечатка пальца, зарегистрированный методом трассировки

5

Plain

Снимок следа отпечатка пальца

6

Plain

След отпечатка пальца, зарегистрированный методом повышения/подтягивания

7

Plain

"Живой" отпечаток пальца, зарегистрированный методом протяжки

8

VerticalSwipe

"Живой" отпечаток пальца, зарегистрированный методом вертикальной прокатки

9

VerticalRolled

"Живой" отпечаток ладони

10

Palm

"Не живой" отпечаток ладони

11

Palm

След отпечатка ладони

12

Palm

След отпечатка ладони, зарегистрированный методом трассировки

13

Palm

Снимок следа отпечатка ладони

14

Palm

След отпечатка ладони, зарегистрированный методом повышения/подтягивания

15

Palm

Зарезервировано ИСО/МЭК СТК 1/ПК 37 для дальнейшего использования

От 20 до 23

Не кодируется

"Живой" отпечаток пальца, зарегистрированный оптическим бесконтактным оттисковым методом

24

Plain

Зарезервировано ИСО/МЭК СТК 1/ПК 37 для дальнейшего использования

От 25 до 27

Не кодируется

"Живой" отпечаток пальца, зарегистрированный оптическим контактным методом прокатки

28

LiveScanOpticalContactRolled

"Живой" отпечаток пальца, зарегистрированный неоптическим контактным оттисковым методом

28

LiveScanNonOpticalContactPlain

"Живой" отпечаток пальца, зарегистрированный неоптическим контактным методом прокатки

28

LiveScanNonOpticalContactRolled

"Живой" отпечаток пальца, зарегистрированный оптическим бесконтактным оттисковым методом

28

LiveScanOpticalContactlessPlain

"Живой" отпечаток пальца, зарегистрированный оптическим бесконтактным методом прокатки

28

LiveScanOpticalContactlessRolled

"Живой" отпечаток пальца, зарегистрированный неоптическим бесконтактным оттисковым методом

28

LiveScanNonOpticalContactlessP lain

"Живой" отпечаток пальца, зарегистрированный неоптическим бесконтактным методом прокатки

28

LiveScanNonOpticalContactlessR olled

Другой

28

Other

Неизвестный

29

Unknown

Тип данных, представленный в поле "PositionType" ("Наименование"), включает все значения из таблицы E.2 применительно к двоичным форматам. В таблице E.2 также представлено преобразование двоичного формата в формат XML при перечислении, особенность которого заключается в том, что перечисление в двоичном формате может содержать пробелы (неиспользуемые значения), а перечисление в формате XML не поддерживает пробелы (неиспользуемые значения).

Таблица E.2 - Кодирование наименований пальцев в двоичном формате и формате XML

Дословное описание наименования пальца

Соответствующее значение в двоичном формате

Соответствующее значение в формате XML

Неизвестный палец

0

UnknownFinger

Большой палец правой руки

1

RightThumb

Указательный палец правой руки

2

RightIndex

Средний палец правой руки

3

RightMiddle

Безымянный палец правой руки

4

RightRing

Мизинец правой руки

5

RightLittle

Большой палец левой руки

6

LeftThumb

Указательный палец левой руки

7

LeftIndex

Средний палец левой руки

8

LeftMiddle

Безымянный палец левой руки

9

LeftRing

Мизинец левой руки

10

LeftLittle

Четыре пальца правой руки (без большого)

13

RightSlap

Четыре пальца левой руки (без большого)

14

LeftSlap

Большой палец левой руки и большой палец правой руки

15

BothThumbs

Указательный и средний пальцы правой руки

40

RightIndexMiddle

Средний и безымянный пальцы правой руки

41

RightMiddleRing

Безымянный и мизинец правой руки

42

RightRingLittle

Указательный и средний пальцы левой руки

43

LeftIndexMiddle

Средний и безымянный пальцы левой руки

44

LeftMiddleRing

Безымянный и мизинец левой руки

45

LeftRingLittle

Указательный палец правой и левой руки

46

RightIndexLeftIndex

Указательный, средний и безымянный пальцы правой руки

47

RightIndexMiddleRing

Средний, безымянный и мизинец правой руки

48

RightMiddleRingLittle

Указательный, средний и безымянный пальцы левой руки

49

LeftIndexMiddleRing

Средний, безымянный и мизинец левой руки

50

LeftMiddleRingLittle

Неизвестная ладонь

20

UnknownPalm

Полная ладонь правой руки

21

RightFullPalm

"Ладонь писателя" правой руки

22

RightWritersPalm

Полная ладонь левой руки

23

LeftFullPalm

"Ладонь писателя" левой руки

24

LeftWritersPalm

Нижняя часть ладони правой руки

25

RightLowerPalm

Верхняя часть ладони правой руки

26

RightUpperPalm

Нижняя часть ладони левой руки

27

LeftLowerPalm

Верхняя часть ладони левой руки

28

LeftUpperPalm

Другая часть ладони правой руки

29

RightOtherPalm

Другая часть ладони левой руки

30

LeftOtherPalm

Межпальцевые подушечки правой руки

31

RightInderdigital

Тенар правой руки

32

RightThenar

Гипотенар правой руки

33

RioghtHypothenar

Межпальцевые подушечки левой руки

34

LeftInterdigital

Тенар левой руки

35

LeftThenar

Гипотенар левой руки

36

LeftHypothenar