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

ГОСТ Р 56451-2015 Телевидение вещательное цифровое. Общий протокол инкапсуляции потока. Основные параметры (Переиздание)

     4.2 Формат пакета GSE

4.2.1 Спецификация

Общий поток состоит из последовательности кадров основной полосы переменной длины. В таблице 1 представлен синтаксис структуры кадра основной полосы. Пакеты GSE мультиплексированы и размещены в кадрах основной полосы. Инкапсулированные PDU или фрагменты PDU (см. 4.3) транспортируются в пакетах GSE. Дополнение (при необходимости) добавляется после последнего пакета GSE в кадре основной полосы.

Таблица 1 - Синтаксис структуры кадра основной полосы

Синтаксис

Количество битов

Мнемоника

Frame() {

for(j=0;j<N1;j++) {

GSE_Packet()

}


В том случае, когда информация о фактическом размещении данных кадра основной полосы (например, в DVB-S2 в поле длина поля данных (Data Field Length) не представлена, так как информация сигнализации переносится в заголовке основной полосы, то приемник должен распознавать присутствие дополнения посредством обнаружения конкретной комбинации битов индикатора старта, индикатора конца и типа метки. Синтаксис структуры кадра основной полосы показан в таблице 2. Приемник должен отбрасывать любые пакеты GSE, следующие за этой комбинацией, которая никогда не должна использоваться для каких-либо заголовков GSE.

Таблица 2 - Синтаксис структуры кадра основной полосы

Синтаксис

Количество битов

Мнемоника

GSE_Packet() {

Start_Indicator

1

bslbf

End_Indicator

1

bslbf

Label_Type_Indicator

2

bslbf

if (Start_lndicator=="0") and (End_lndicator=="0") and (Label_type_indicator=="00") {

Padding_bits

4

bslbf

for(i=0;i<N1;i++) {

Padding_bytes

8

bslbf

}

} else {

GSE_Length

12

uimsbf

If (Start_lndicator=="0") or (End_lndicator=="0") {

Frag_ID

8

uimsbf

}

If (Start_lndicator=="1") and (End_lndicator=="0") {

Total_Length

16

uimsbf

}

lf (Start_lndicator=="1") {

Protocol_Type

16

uimsbf

if (Label_Type_lndicator=="00") {

6_byte_Label

48

bslbf

} else if (Label_Type_lndicator=="01") {

3_byte_Label

24

bslbf

}

if (Protocol_Type<1536) {

for(i=0;i<N2;i++) {

Extension_Header_byte

8

bslbf

}

}

}

for(i=0;i<N3;i++) {

PDU_data_byte

8

bslbf

}

If (Start_lndicator=="0") and (End_lndicator=="1") {

CRC_32

32

rpchof

}

}

}


Каждый пакет GSE состоит из заголовка GSE и последующей полезной нагрузки GSE, где находится инкапсулированный PDU или фрагмент инкапсулированного PDU. На рисунке 2 показан формат заголовка GSE. Применение незаштрихованных полей всегда обязательно, а заштрихованные поля могут быть опущены в зависимости от типов предыдущих полей управления в первых 4 битах заголовка GSE. Наличие возможных заголовков расширения определяется типом протокола. Минимальная длина заголовка GSE 2 байта.


Рисунок 2 - Формат заголовков GSE


Далее представлена семантика основных пакетов GSE:

Label_Type_Indicator: Поле 2 бита. При наличии дополнения в поле Label_Type_Indicator должно быть установлено "00". В противном случае, если в поле Start_Indicator установлен "0", то Label_Type_Indicator зарезервирован, и в поле должно быть установлено "11". Семантика величин поля Label_Type_Indicator показана в таблице 3. Определение меток и способов адресации представлено в разделе 5.

Таблица 3 - Семантика величин поля Label_Type_Indicator

Величина

Значение

"00"

Метка "6 байт" присутствует и должна использоваться для фильтрации

"01"

Метка "3 байта" присутствует и должна использоваться для фильтрации

"10"

Режим вещания. Поле метки не представлено. Все приемники должны обработать этот пакет GSE. Такое сочетание может быть использовано в других системах, когда фильтрация на уровне 2 не применяется, а используется обработка заголовка IP [5]

"11"

Метка повторного использования. Поле метки не представлено. Все приемники должны использовать метку, которая присутствовала в предыдущем пакете GSE из того же кадра основной полосы. Этот метод используется для передачи последовательности пакетов GSE с той же меткой, не повторяя поле метки. Эта величина не должна использоваться для первого пакета GSE в кадре


Padding_bits: Биты дополнения должны быть установлены в "0".


Примечание - N 1 - это количество байтов до конца кадра основной полосы.