ГОСТ Р 53556.1-2012
Ширина матрицы чередования выбирается согласно используемому FEC. В случае SRCPC коди
рования (fecjype == 0) ширина матрицы чередования составляет 28 битов. В случае SRS кодирования
(fecjype == 1 или 2) ширина матрицы чередования равна длине класса в байтах. Биты в классе запи
сываются в матрицу чередований байтов для каждого столбца.
Ширина матрицы чередования для частей заголовка либо равна длине ключевого слова (в битах),
предоставленной блочным кодом согласно таблице 61. или 28 битам, если используется SRCPC.
3.8.4.8.2.2 Чередование в режиме 2
В режиме 2 флаг указывает, обработан ли класс с чередованием, и как именно. Об этом флаге
intorloave
_
switch сообщается в пределах полосы. Значение 0 указывает, что класс не обработан с че
редованием. Значение 1 указывает, что класс чередован рекурсивно и длина класса используется как
ширина чередования (или длина в битах в случае SRCPC. или длина в байтах в случае SRS). Значение 2
указывает, что класс чередован рекурсивно и ширина должна быть равной 28 (разрешено только в
случае SRCPC). Значение 3 указывает, что класс связан, но не чередован рекурсивно. Операция чере
дования для ep
_
headerаналогична режиму 1.
Рисунок 13 показывает схему чередования для fecjype == 1 или 2 [SRS) и interleave
_
switch == 1.
Ширина должна быть числом байтов в классе. Биты в классе записываются в матрицу чередований
байтов для каждого столбца.
Класс тф ц— ЦКRS контроль
Рисунок 13 - Матрица чередования в случае RS класса
Процесс чередования для получения interieaved
_
frame
_
mode2 описывается следующим образом
(N: число классов):
clear buffer BUF
_
NO /* Buffer for non-interleaved part. 7
clear buffer BUF
_
Y/* Buffer for Y input in the next stage V
fo r(i = 0,*/ < w,y++)
iff class
_
reordered
_
output = 1) {
к
= cJass
_
output
_
order[choice
_
ofj>red)[j]:
} else {
k = j:
}
if ( interleave
_
switch[choice
_
of
_
pred)[k] == 3) {
add ep
_
encoded
_
class[k] to BUF
_
Y:
}
if ( interleave
_
switch[choice
_
ofj)red][k} = = 0 ) {
add ep
_
encoded
_
class[k] to BUF
_
NO;
}