ГОСТ Р ИСО/МЭК 8825-3—2016
типа «EncodingSpaceDetermination» (см. 21.3) или «RepetitionSpaceDetormination» (см. 21.7) (для
того чтобы обеспечить точные средства определения размера пространства кодирования).
21.2.7 Значение «self-dolimiting-values» указывает, что кодирование значения является самораз-
граничивающим. то есть каждое значение кодируется в несколько указанных значений типа «Unit». Это не
должно быть парой абстрактных значений, в которой кодирование одного абстрактного значения
является первой частью кодирования другого абстрактного значения.
П р и м е ч а н и е — Кодер может (после возможного определения неиспользуемых битое и выравнивания)
обнаруживать конец пространства кодирования путем сопоставления кодирования каждого возможного абстракт
ного значения с кодированием, которое рассматривается. В кодированиях, которые выданы кодером, соответству
ющим техническим требованиям, будет точно одно совпадение. В декодерах могут проявляться более эффектив
ные. но эквивалентные подходы.
21.2.8 Значение «fixod-to-max» указывает, что пространство кодирования должно быть одина
ковым для кодирования всех абстрактных значений. Оно указывает, что размер пространства коди
рования должен быть самым малым произведением с множителем «Unit», которое может содержать
указанное кодирование любого одного (всех) абстрактного(ых) значения(й). Это значение не должно ис
пользоваться. если абстрактное значение, которое должно быть кодировано в пространство кодирова
ния. является абстрактным значением, связанным с классом в категории «конкатенация» (см. 23.14.2.5)
или «повторение» (см. 23.13.2.5).
Примечания
1 Специальным случаем является наличие одиночного абстрактного значения, у которого кодированием зна
чения является нуль битов. Это вызовет пустое пространство кодирования (нуль битов).
2 Спецификация ECN будет ошибочной, если она применяется в случав, когда максимальный размер не
может быть определен (например, при кодировании неограниченных целых чисел), но кодеры, соответствующие
техническим требованиям, должны отказываться генерировать кодирования в таких случаях.
21.3 Тип EncodingSpaccDetormination
21.3.1 Продукцией типа «EncodingSpaceDetermination» является:
EncodingSpaceDetermination ::= ENUMERATED
{field-to-be-set. fiold-to-be-used, container)
21.3.2 Безусловным значением (no умолчанию) для этого типа всегда является «field-to-be-set».
21.3.3 Признак кодирования этого типа указывает способ определения пространства кодирова
ния. когда признак кодирования типа «EncodingSpaceSize» (см. 21.2) установлен в «variable-with-
determinant» или «oncoderoption-with-determinant».
21.3.4 Значение «field-to-be-set» требует спецификацию REFERENCE для поля, которое будет
устанавливаться кодером для переноса информации о длине и будет использоваться декодером. Эта
спецификация кодирования указывает, как кодер должен устанавливать значение этого поля в преде
лах размера пространства кодирования (в единицах пространства кодирования). Если поле устанавли
вается более одного раза с помощью «field-to-be-set» или «flag-to-be-set» (см. 21.7), то спецификация
ECN или применение будут ошибочными, когда разные значения выдаются разными процедурами ко
дирования: в этом случае кодеры не должны генерировать кодирования.
21.3.5 Значение «field-to-be-usod» требует спецификацию REFERENCE для поля, значение ко
торого может быть установлено из абстрактного синтаксиса (то есть соответствующее поле появляет ся
в пределах спецификации АСН.1) либо может быть установлено некоторыми другими действиями
кодера, вызванными с помощью «field-tobe-set» или «flag-to-be-set». Эта спецификация кодирования
указывает, как декодер должен извлекать размер пространства кодирования из значения этого поля.
Кодер, соответствующий техническим требованиям, не должен вырабатывать кодирования, при кото
рых преобразования этого поля в декодере не будут указывать правильно конец пространства коди
рования.
21.3.6 Значение «container» требует либо спецификацию REFERENCE для другого поля, у кото
рого класс кодирования (контейнер) имеет определитель длины, а содержимое включает в себя это
пространство кодирования, либо спецификацию того, что конец PDU определяет конец пространства
кодирования (с помощью OUTER). Пространство кодирования заканчивается, когда заканчивается ука
занный контейнер или когда подсчитан конец PDU. Эта спецификация может применяться только в
71