EN 302 755. 5.2 Адаптация потока
Адаптация потока (смотрите рисунки 2 и 9) обеспечивает:
- планирование (для входного режима 'B'), смотрите раздел 5.2.1;
- заполнение (смотрите раздел 5.2.2) для получения постоянной длины BBFRAME кадра (kbch) и/или для переноса внутриполосной сигнализации в соответствии с разделом 5.2.3;
- скремблирование (смотрите раздел 5.2.4) для рассредоточения энергии.
Входной поток в модуле адаптации потока должен представлять собой заголовок BBHEADER с последующим полем данных DATA FIELD. Выходной поток должен быть кадром BBFRAME, как показано на рисунке 9.
5.2.1 Планировщик
Для создания требуемой информации динамической сигнализации L1 планировщик должен точно решить, какие ячейки окончательного T2 сигнала будут нести данные каких каналов PLP, как показано на рисунке 2c. Хотя эта операция не влияет на этом этапе на сам поток данных, планировщик должен определить точный состав структуры кадра, описанной в разделе 8.
Планировщик работает путем подсчета FEC-блоков в каждом PLP. Начиная с начала кадра перемежения (который соответствует одному или нескольким T2-кадрам — смотрите раздел 6.5), планировщик по отдельности отсчитывает начало каждого FEC-блока, полученного из каждого PLP. Затем планировщик вычисляет значение динамических параметров для каждого PLP для каждого T2-кадра. Это более подробно описано в разделе 8 (или, в случае TFS, в приложении E). Затем планировщик пересылает вычисленные значения для вставки, как данные внутриполосной сигнализации, на формирователь сигнализации L1.
Планировщик во время своей работы не меняет данных каналов PLP. Вместо этого, данные в подготовке к формированию кадров будут буферизированы, как правило, в памяти временного перемежителя, как описано в разделе 6.5.
5.2.2 Заполнение
Kbch зависит скорости FEC кодирования, как показано в таблице 6. Заполнение может быть применено в тех случаях, когда пользовательских данных, доступных для передачи, не достаточно, чтобы полностью заполнить BBFRAME, или когда в BBFRAME необходимо разместить целое число пользовательских UP пакетов.
(Kbch—DFL—80) нулевых битов должно быть добавлено после поля данных DATA FIELD. Итоговый BBFRAME должен быть постоянной длины, равной Kbch бит.
5.2.3 Использование поля заполнения для внутриполосной сигнализации
Поле заполнения PADDING может также использоваться для передачи внутриполосной сигнализации.
Определено два типа внутриполосной сигнализации: тип A и тип B. Будущие версии настоящего документа могут определить другие типы внутриполосной сигнализации. Поле PADDING может содержать блок внутриполосной сигнализации только типа A, или только типа B, или блок типа A с последующим блоком типа B.
Сигнализация типа A должна передаваться только в первом BBFRAME кадре кадра перемежения, и её наличие должно быть указано установкой поля IN-BAND_A_FLAG в сигнализации L1-post, определенной в разделе 7.2.3, в '1'. Если IN-BAND_A_FLAG установлен в '1', блок внутриполосной сигнализации типа A должен следовать сразу за полем данных соответствующего BBFRAME кадра.
Сигнализация типа B должна передаваться только в первом BBFRAME кадре кадра перемежения, и её наличие должно быть указано установкой поля IN-BAND_B_FLAG в сигнализации L1-post, определенной в разделе 7.2.3, в '1'.
Если BBFRAME несет сигнализацию типа B без типа A, внутриполосная сигнализация типа B должна следовать сразу за полем данных соответствующего BBFRAME кадра.
Если BBFRAME несет сигнализацию и типа A, и типа B, за блоком типа A сразу следует блок типа B.
Для T2-Lite, внутриполосная сигнализация типа B используется всегда (смотрите приложение I).
Все оставшиеся биты BBFRAME кадра, следующие за последним блоком внутриполосной сигнализации, зарезервированы.
Рисунок 10 показывает формат сигнализации поля PADDING при передаче внутриполосной сигнализации.
Первые биты каждого блока внутриполосной сигнализации должны указывать тип заполнения (PADDING_TYPE), как указано в таблице 3.
Значение | Формат входного потока | Тип |
---|---|---|
00 | Любой | Внутриполосная сигнализация типа A |
01 | TS или GFPS | Внутриполосная сигнализация типа B |
01 | GSE или GCS | Зарезервировано для будущего использования |
10 | Любой | Зарезервировано для будущего использования |
11 | Любой | Зарезервировано для будущего использования |
Внутриполосная сигнализация типа B добавлена таким образом, что приемники, разработанные в соответствии с версией 1.1.1 настоящего документа, будут находить внутриполосную сигнализацию типа A, где она ожидается, и не будут зависеть от наличия внутриполосной сигнализации типа B.
Внутриполосная сигнализация типа B не может быть использована, когда поле T2_VERSION установлено в '0000'.
Формат блока внутриполосной сигнализации типа A представлен в разделе 5.2.3.1. Формат блока внутриполосной сигнализации типа B представлен в разделе 5.2.3.2.
5.2.3.1 Внутриполосная сигнализация типа A
Блок внутриполосной сигнализации несет информацию обновления L1/L2 и запланированную информацию, определенную как внутриполосная сигнализация типа A. Когда поле IN-BAND_A_FLAG в сигнализации L1-post, определенной в разделе 7.2.3, установлено в '0', внутриполосная сигнализация типа A не передается в поле заполнения PADDING. Когда NUM_PLP (смотрите раздел 7.2.3.1) больше, чем 1, внутриполосная сигнализация типа A должна всегда использоваться для каналов PLP, которые появляются в каждом T2-кадре, и для которых один кадр перемежения соответствует одному T2-кадру (т.е. значения PI и IJUMP для текущего PLP оба равны 1, смотрите разделы 8.3.6.1 и 8.2).
Блок внутриполосной сигнализации типа A, несущий динамическую сигнализацию L1 для кадра перемежения n+1 (для кадра перемежения n+2 в случае TFS, смотрите приложение E) одного или нескольких каналов PLP, вставляется в поле PADDING первого BBFRAME кадра в n-ом кадре перемежения каждого PLP. Если NUM_OTHER_PLP_IN_BAND=0 (смотрите ниже), соответствующий PLP несет только свою собственную динамическую информацию внутриполосной сигнализации L1. Если NUM_OTHER_PLP_IN_BAND>0, то для уменьшения времени переключения каналов он несет динамическую информацию L1 остальных PLP так же, как и свою собственную.
В таблице 4 приведена подробная информация об использовании полей внутриполосной сигнализации типа A.
Поле | Размер |
---|---|
PADDING_TYPE('00') | 2 бита |
PLP_L1_CHANGE_COUNTER | 8 бит |
RESERVED_1 | 8 бит |
For j = 0..PI-1 { | |
SUB_SLICE_INTERVAL | 22 бита |
START_RF_IDX | 3 бита |
CURRENT_PLP_START | 22 бита |
RESERVED_2 | 8 бит |
} | |
CURRENT_PLP_NUM_BLOCKS | 10 бит |
NUM_OTHER_PLP_IN_BAND | 8 бит |
For i = 0..NUM_OTHER_PLP_IN_BAND-1 { | |
PLP_ID | 8 бит |
PLP_START | 22 бита |
PLP_NUM_BLOCKS | 10 бита |
RESERVED_3 | 8 бит |
} | |
For j = 0..PI-1 { | |
TYPE_2_START | 22 бита |
} |
- PADDING_TYPE
- 2-битовое поле, указывающее на тип блока внутриполосной сигнализации, и которое для типа A должно быть установлено в '00'. Индикация различных типов приведена в таблице 3.
- PLP_L1_CHANGE_COUNTER
- Это 8-битное поле указывает количество суперкадров впереди, в которых конфигурация (т.е. содержимое полей в сигнализации L1-pre или настраиваемая часть сигнализации L1-post) будет изменяться таким образом, что повлияет на PLP каналы, на которые ссылается это поле внутриполосной сигнализации. Следующий суперкадр с изменениями в конфигурации указывается значением, выставленном в этом поле. Если это поле установлено в значение '0', это значит, что никаких запланированных изменений не предвидится. Например, значение '1' указывает, что есть изменения в следующем суперкадре. Этот счетчик должен всегда начинать отсчет с минимального значения 2.
- RESERVED_1
- Это 8-битное поле зарезервировано для будущего использования.
Для текущего PLP, внутриполосная сигнализация должна быть предоставлена, в последовательности индексов T2-кадров, для каждого из PI T2-кадров, которые отображаются в следующем кадре перемежения (смотрите разделы 6.5.1 и 8.3.6.1). В случае TFS, должен быть обозначен кадр перемежения, идущий после следующего. В цикле PI появятся следующие поля:
- SUB_SLICE_INTERVAL
- Это 22-битовое поле указывает на количество OFDM ячеек от начала одного подсегмента одного PLP до следующего подсегмента этого же PLP в этом же RF канале для соответствующего T2-кадра. Если количество подсегментов в кадре равно количеству RF каналов, то значение этого поля указывает на количество OFDM ячеек в одном RF канале для PLP каналов данных типа 2 в соответствующем T2-кадре. Если PLP каналов типа 2 нет, то это поле должно быть установлено в '0'. Использование этого параметра определено более подробно в разделе 8.3.6.3.3.
- START_RF_IDX
- Это 3-битовое поле указывает на ID начальной частоты запланированного TFS кадра, для соответствующего T2-кадра, как описано в приложении E. Начальная частота в запланированном TFS кадре может динамически изменяться. Когда TFS не используется, значение этого поля должно быть установлено в '0'.
- CURRENT_PLP_START
- Это 22-битовое поле сообщает о начальной позиции текущего PLP в соответствующем T2-кадре. Начальная позиция задается с помощью схемы адресации, описанной в разделе 8.3.6.2.
- RESERVED_2
- Это 8-битное поле зарезервировано для будущего использования.
- CURRENT_PLP_NUM_BLOCKS
- Это 10-битовое поле указывает количество FEC-блоков, используемых для текущего PLP в следующем кадре перемежения (или в кадре перемежения, идущем после следующего, в случае TFS).
- NUM_OTHER_PLP_IN_BAND
- Это 8-битовое поле указывает количество других PLP каналов, исключая текущий PLP, для которых динамическая информация L1 доставляется через текущую внутриполосную сигнализацию. Этот механизм должен использоваться, только когда оба значения и PI, и IJUMP равны 1 (иначе NUM_OTHER_PLP_IN_BAND должно быть установлено в ноль, и цикл будет пустым).
Следующие поля появятся в цикле NUM_OTHER_PLP_IN_BAND:
- PLP_ID
- Это 8-битовое поле однозначно определяет PLP. Если PLP_ID соответствует PLP, чей PLP_TYPE (смотрите раздел 7.2.3.1) равен одному из значений, зарезервированных для будущего использования, остальные биты этого оставшегося PLP цикла всё равно должны передаваться, и они тоже должны быть зарезервированы для будущего использования и должны игнорироваться.
- PLP_START
- Это 22-битовое поле сигнализирует о начальной позиции PLP_ID в следующем T2-кадре (или в T2-кадре, идущем после следующего, в случае TFS). Когда PLP_ID не сопоставлен соответствующему T2-кадру, это поле должно быть установлено в '0'. Начальная позиция задается с помощью схемы адресации, описанной в разделе 8.3.6.2.
- PLP_NUM_BLOCKS
- Это 10-битовое поле показывает количество FEC блоков для PLP_ID, содержащихся в кадре перемежения, который сопоставлен следующему T2-кадру (или в кадре перемежения, который сопоставлен T2-кадру, идущему после следующего, в случае TFS). Оно должно установлено в одно и то же значение для каждого T2-кадра, которому сопоставлен кадр перемежения. Когда PLP_ID не сопоставлен следующему T2-кадру (или T2-кадру, идущему после следующего, в случае TFS), это поле должно быть установлено в '0'.
- RESERVED_3
- Это 8-битное поле зарезервировано для будущего использования.
- TYPE_2_START
- Это 22-битовое поле указывает на начальную позицию первого из PLP каналов типа 2, используя схему адресации, определенную в разделе 8.3.6.2. Если PLP каналов типа 2 нет, это поле должно быть установлено в '0'. Оно имеет одно и то же значение в каждом RF канале, и с TFS может быть использовано для расчета, когда «сворачиваются» подсегменты PLP (смотрите раздел E.2.7.2.4). Значение TYPE_2_START должно быть обозначено для каждого из PI T2-кадров, которым сопоставлен кадр перемежения (смотрите разделы 6.5.1 и 8.3.6.1). В случае TFS, должен быть обозначен кадр перемежения, идущий после следующего.
Если для PLP нет пользовательских данных в данном кадре перемежения, планировщик должен:
- либо не выделять блоки (заранее указывается полем PLP_NUM_BLOCKS, равным 0);
- либо выделить один блок (заранее указывается полем PLP_NUM_BLOCKS, равным 1) с DFL=0, для переноса внутриполосной сигнализации типа A (а оставшаяся часть BBFRAME кадра будет наполнена входным обработчиком заполнением).
В случае, когда значение PLP_NUM_BLOCKS, ссылающегося на текущий кадр перемежения, равно 0 (как обозначено в предыдущем кадре перемежения), динамическая сигнализация, обычно передаваемая во внутриполосной сигнализации соответствующего PLP, будет передана в сигнализации L1 в P2 (смотрите раздел 7.2.3.2), и может также быть передана во внутриполосной сигнализации другого PLP.
Для того чтобы позволить внутриполосной сигнализации использоваться вместе с GSE [i.2], предполагается, что для немодулированных кадров, содержащих внутриполосную сигнализацию, поле данных, содержащее GSE пакеты, не заполняет весь объем немодулированного кадра, а оставляет место для поля заполнения, включающего внутриполосную сигнализацию, в конце немодулированного кадра.
5.2.3.2 Внутриполосная сигнализация типа B
Для PLP, несущего TS или GFPS, блок внутриполосной сигнализации типа B должен передавать дополнительную информацию, касающуюся входной обработки PLP канала, содержащего блок типа B. В частности он должен содержать дополнительную информацию ISSY, связанную с BBFRAME кадром, несущим блок типа B, для возможности более быстрого начального захвата. Использование внутриполосной сигнализации типа B опционально.
Таблица 5 показывает подробную информацию об использовании полей внутриполосной сигнализации типа B для TS и GFPS.
Поле | Размер |
---|---|
PADDING_TYPE ('01') | 2 бита |
TTO | 31 бит |
FIRST_ISCR | 22 бита |
BUFS_UNIT | 2 бита |
BUFS | 10 бит |
TS_RATE | 27 бит |
RESERVED_B | 8 бит |
- PADDING_TYPE
- Это 2-битовое поле указывает тип блока внутриполосной сигнализации и должен быть установлен в '01' для типа B. Индикация различных типов приведена в таблице 3.
- TTO
- Это 31-битовое поле должно непосредственно оповещать о значении TTO (как определено в приложении C) для первого UP пакета, который начинается в поле данных BBFRAME кадра, содержащего блок типа B. Если ISSY не используется для PLP, содержащего данный блок, это поле должно быть установлено в '0'.
- FIRST_ISCR
- Это 22-битовое поле должно показывать значение ISCRlong (смотрите приложение C) для первого UP пакета, который начинается в поле данных. Если ISSY не используется для PLP, содержащего данный блок, это поле должно быть установлено в '0'.
- BUFS_UNIT
- Это 2-битовое поле должно указывать единицы, используемые для следующего поля BUF, как определено для поля BUFS_UNIT в приложении C. Если ISSY не используется для PLP, содержащего данный блок, это поле должно быть установлено в '0'.
- BUFS
- Это 10-битовое поле указывает размер буфера приемника, требуемого по предположению модулятора для соответствующего PLP, как определено для поля BUFS в приложении C. Если ISSY не используется для PLP, содержащего данный блок, это поле должно быть установлено в '0'.
- TS_RATE
- Это 27-битовое поле должно указывать тактовую частоту транспортного или GFPS потока, переносимого соответствующим PLP, в битах в секунду. Если реальная тактовая частота не является целым числом бит/с, то значение TS_RATE должно быть округлено до ближайшего целого числа.
Это значение не всегда точное, и приемники должны использовать ISCR (как описано в приложении C) или наполненность буфера (как описано в приложении J) для поддержания правильной выходной тактовой частоты.
- RESERVED_B
- Это 8-битное поле зарезервировано для будущего использования.
Для PLP каналов, передающих GCS или GSE, PADDING_TYPE '01' зарезервировано для будущего использования.
5.2.4 Скремблирование немодулированного сигнала
Полный BBFRAME кадр должен быть рандомизирован. Рандомизирующая последовательность должна быть синхронной с BBFRAME кадром, начинаясь с MSB и заканчиваясь после Kbch бит.
Скремблирующая последовательность должна быть сформирована регистром сдвига с обратной связью, показанном на рисунке 11. Полином генератора псевдослучайной бинарной последовательности (Pseudo Random Binary Sequence — PRBS) должен быть следующим:
1 + X14 + X15
Загрузка последовательности (100101010000000) в регистр PRBS, как показано на рисунке 11, должна быть произведена в начале каждого BBFRAME кадра.
Блоки сигнализации L1-post также могут быть скремблированы, используя ту же скремблирующую последовательность. Подробная информация об этом приведена в разделе 7.3.2.1.