23.13.1 Определенный синтаксис
Синтаксис с целью определения объектов кодирования для классов в категории "повторение" определяется следующим образом:
#REPETITION ::= ENCODING-CLASS {
-- Кодирование повторения
&Repetition-encodings #CONDITIONAL-REPETITION ORDERED OPTIONAL,
&repetition-encoding #CONDITIONAL-REPETITION OPTIONAL
} WITH SYNTAX {
[REPETITION-ENCODINGS &Repetition-encodings]
[REPETITION-ENCODING &repetition-encoding]
}
23.13.2 Цель и ограничения
23.13.2.1 Этот синтаксис используется для определения кодирования класса в категории "повторение" путем указания одного или нескольких кодирований класса #CONDITIONAL-REPETITION.
23.13.2.2 Должен устанавливаться только один из "REPETITION-ENCODING" и "REPETITION-ENCODINGS".
Примечание - Единственной целью разрешения "REPETITION-ENCODING" также, как "REPETITION-ENCODINGS", является обеспечение синтаксиса, который не содержит двойных фигурных скобок ("{{") в общем случае одиночного условного кодирования. Использование "REPETITION-ENCODINGS", когда имеется одиночное условное кодирование, не одобряется, но разрешается.
23.13.2.3 Если объект кодирования в упорядоченном списке "REPETITION-ENCODINGS" определен с помощью "IF" или "IF-ALL", то все предыдущие объекты кодирования в этом списке должны быть определены с помощью "IF" или "IF-ALL".
23.13.3 Действия кодера
23.13.3.1 Кодер выбирает и применяет первый объект кодирования #CONDITIONAL-REPETITION в "ENCODING(S)", условия которого удовлетворяются. Спецификация ECN будет ошибочной, если ни одно условное кодирование не имеет условий, которые удовлетворяются.
Примечание - Может быть редкий, но неразрешенный случай, когда присутствуют объекты кодирования #CONDITIONAL-REPETITION, которые никогда не используются, так как условия при использовании более ранних объектов кодирования всегда могут удовлетворяться.
23.13.4 Действия декодера