- •Построение и эксплуатация цифровых телевизионных сетей
- •В.2 Регулярные сигналы и их аналитическое описание…..
- •2.4.3 Ацп с плавающей точкой……………………………………………
- •4.9.6.2 Звук……………………………………………………………..
- •5.Принципы построения и особенности внедрения систем цифрового тв вещания
- •5.1 Глобальная модель систем цифрового вещания
- •Введение
- •В.1 обзор существующих методов доставки цифровых телевизионных программ к потребителю
- •В.2 Регулярные сигналы и их аналитическое описание. Ортогональные разложения функций
- •Дискретизация функций рядами Фурье
- •1 Цифровые фильтры
- •1.1 Явление Гиббса
- •1.1.1 Сущность явления Гиббса
- •1.2 Весовые функции
- •1.4 Разностное уравнение
- •Нерекурсивные фильтры
- •1.6 Рекурсивные фильтры
- •6.3 Интегрирующий рекурсивный фильтр.
- •1.12 Структурные схемы цифровых фильтров
- •2 Аналого-цифровое преобразование
- •2.1 Цифровая обработка звуковых сигналов
- •2.2 Основы аналого-цифрового преобразования
- •2.2.1 Основные понятия и определения
- •2.3 Структура и алгоритм работы цап
- •Контрольные вопросы
- •2.4 Структура и алгоритм работы ацп
- •2.4.1 Параллельные ацп
- •2.4.2 Ацп с поразрядным уравновешиванием
- •2.4.3 Ацп с плавающей точкой
- •Контрольные вопросы
- •3. Звук.
- •3.1 Аудиосигнал
- •3.1.1 Звуковые волны
- •3.1.2 Звук как электрический сигнал
- •3.1.4 Сложение синусоидальных волн
- •3.4.3 Децибелы и уровень звука
- •3.4.6 Громкость
- •3.6 Цифровой звук
- •3.6.1 Частота дискретизации
- •3.6.2 Разрядность
- •3.7 Методы и стандарты передачи речи по трактам связи, применяемые в современном оборудовании (7 кГц)
- •3.7.1 Импульсно-кодовая модуляция (pcm — Pulse-Code Modulation)
- •3.7.3 Методы эффективного кодирования речи
- •3.7.4 Кодирование речи в стандарте cdma
- •3.7.5 Речевые кодеки для ip-телефонии
- •3.7.6 Оценка качества кодирования речи
- •3.8 Основные понятия цифровой звукозаписи
- •3.8.1 Натуральное цифровое представление данных
- •3.8.2 Кодирование рсм
- •3.9 Формат mp3
- •3.9.1 Сжатие звуковых данных
- •3.9.2 Сжатие с потерей информации
- •3.9.3 Ориентация на человека
- •3.9.4 Кратко об истории и характеристиках стандартов mpeg.
- •3.9.5 Что такое cbr и vbr?
- •3.9.6 Каковы отличия режимов cbr, vbr и abr?
- •3.9.7 Методы оценки сложности сигнала
- •3.9.8 Какие методы кодирования стерео информации используются в алгоритмах mpeg (и других)?
- •3.9.9 Какие параметры предпочтительны при кодировании mp3?
- •3.9.10 Какие альтернативные mpeg-1 Layer III (mp3) алгоритмы компрессии существуют?
- •3.10 OggVorbis
- •3.12 Flac
- •Вопросы:
- •Назначение звуковой системы.
- •Основные понятия цифровой звукозаписи.
- •4 Видеосигналы
- •4.1 Общие положения алгоритмов сжатия изображений
- •4.2 Алгоритмы сжатия
- •Gif (CompuServe Graphics Interchange Format)
- •4.3 Вейвлет-преобразования
- •4.3.1 Вейвлеты, вейвлет-преобразования, виды и свойства Вейвлет анализ и прямое вейвлет-преобразование
- •4.3.2 Непрерывное прямое и обратное вейвлет-преобразования
- •4.3.3 Ортогональные вейвлеты
- •4.4 Формат сжатия изображений jpeg
- •2) Дискретизация
- •3) Сдвиг Уровня
- •4) 8X8 Дискретное Косинусоидальное Преобразование (dct)
- •5) Зигзагообразная перестановка 64 dct коэффициентов
- •6) Квантование
- •7) RunLength кодирование нулей (rlc)
- •8) Конечный шаг - кодирование Хаффмана
- •4.5 Jpeg2000
- •4.5.1 Общая характеристика стандарта и основные принципы сжатия
- •4.5.2 Информационные потери в jpeg2000 на разных этапах обработки
- •4.5.3 Практическая реализация
- •4.6 Видеостандарт mpeg
- •4.6.1 Общее описание
- •4.6.2 Предварительная обработка
- •4.6.3 Преобразование макроблоков I-изображений
- •4.6.4 Преобразование макроблоков р-изображений
- •4.6.5 Преобразование макроблоков в-изображений
- •4.6.6 Разделы макроблоков
- •4.7 Mpeg-1
- •Параметры mpeg-1
- •4.8 Mpeg-2
- •4.8.1 Стандарт кодирования mpeg-2
- •4.8.2 Компрессия видеоданных
- •4.8.3 Кодируемые кадры
- •4.8.4 Компенсация движения
- •4.8.5 Дискретно-косинусное преобразование
- •4.8.6 Профессиональный профиль стандарта mpeg-2
- •4.9.11 Плюсы и минусы mpeg-4
- •4.10 Стандарт hdtv
- •5.Принципы построения и особенности внедрения систем цифрового тв вещания
- •5.1 Глобальная модель систем цифрового вещания
- •5.2 Определение и классификация систем доставки
- •5.3 Система цифрового телевизионного вещания dvb
- •6.Описание формата dvb-s2
- •8. Мультиплексирование в системах цифрового тв вещания
- •8.1 Уровни мультиплексирования
- •8.2 Статистическое мультиплексирование
- •8.3 Структура pes-пакета
- •8.4 Структура транспортных пакетов
- •8.5 Передача сервисной информации в системах цифрового тв вещания
- •8.5.1 Место сервисной информации
- •8.5.2 Таблицы сервисной информации
- •8.5.3 Использование таблиц сервисной информации
- •8.5.4 Передача таблиц сервисной информации
- •8.6 Синхронизация в системах цифрового тв вещания
- •8.6.1 Принцип постоянной задержки
- •8.6.2 Метки времени
- •8.6.3 Подстройка системных часов
- •8.6.4 Метки декодирования и предъявления
- •8.7 Коммутация транспортных потоков mpeg-2
- •8.7.1 Обобщенная модель коммутатора цифровых потоков
- •8.7.2 Работа буфера декодера
- •9. Организация многочастотных и одночастотных цифровых радиовещательных сетей
- •9.1Типы сетей наземного цифрового вещания
- •9.2 Модели канала
8.4 Структура транспортных пакетов
Транспортный пакет стандарта MPEG-2 имеет постоянную длину, равную 188 байтам, заголовок пакета имеет переменную длину. Как показано на рисунке 8.8, в состав заголовка транспортного пакета входит канальный заголовок, имеющий фиксированную длину 4 байта и поле данных адаптации (выполняет функцию транспортного заголовка).
Рисунок 8.8 – формат транспортного пакета
В общем случае транспортные пакеты могут формироваться различными путями: объединением потоков ES, PES-пакетов и других TS-пакетов. Для многопрограммного вещания транспортные потоки отдельных программ асинхронно объединяются в мультиплекс, подлежащий передаче по каналу.
Транспортный пакет имеет сложную многоуровневую структуру, показанную на рисунке 8.9.
Канальный заголовок имеет следующие поля.
Первый байт заголовка – байт синхронизации (sync_byte) – фиксированное поле длиной 8 бит, имеющее значение 0100 0111 (0x47), легко опознаваемое демультиплексором. Так как заголовки транспортных пакетов следуют с интервалом в 188 байт, то это упрощает определение начала пакета.
Рисунок 8.9 – структура заголовка и поля адаптации транспортного пакета
Индикатор ошибки транспортировки (transport_error_indicator) — флаг длиной 1 бит. Будучи установленным в 1, он указывает на то, что в соответствующем пакете транспортного потока имеется, по крайней мере, одна неисправимая ошибка в битах. Этот бит может быть установлен в 1 объектами, внешними по отношению к транспортному уровню. Будучи установленным в 1, этот бит не должен быть сброшен в 0, пока не будут исправлены значения битов, имеющих ошибки;
Индикатор ошибки транспортировки (payload_unit_start_indicator) — флаг длиной 1 бит, который имеет нормативное значение для пакетов транспортного потока, переносящих PES-пакеты или данные сервисной информации SI.
Когда полезная нагрузка пакета транспортного потока содержит данные PES-пакета, то payload_unit_start_indicator имеет следующий смысл: 1 указывает на то, что полезная нагрузка этого пакета транспортного потока начнется с первым байтом PES-пакета, а 0 — на то, что в этом пакете транспортного потока не может быть начала PES-пакета.
Когда полезная нагрузка пакета транспортного потока содержит данные сервисной информации SI, payload_unit_start_indicator имеет следующий смысл: если пакет транспортного потока содержит первый байт секции SI, то значение payload_unit_start_indicator должно быть 1, указывая на то, что первый байт полезной нагрузки этого пакета транспортного потока содержит поле указателя pointer_field. Если пакет транспортного потока не содержит первого байта секции SI, то значение payload_unit_start_indicator должно быть 0, указывая на то, что в полезной нагрузке нет поля указателя pointer_field.
Для пустых пакетов payload_unit_start_indicator должен быть установлен в 0.
Значение этого бита для пакетов транспортного потока, переносящих только частные данные в стандарте MPEG-2, не определено.
Приоритет транспортировки (transport_priority) — индикатор длиной 1 бит. Будучи установленным в 1 он указывает на то, что связанный с ним пакет имеет больший приоритет, чем другие пакеты, имеющие тот же самый индикатор PID, но в которых этот бит не установлен в 1. Транспортный механизм может использовать этот индикатор для расположения по приоритетам всех данных в пределах элементарного потока. В зависимости от применения поле transport_priority может быть кодировано независимо от PID или только для одного PID. Это поле может быть изменено кодерами или декодерами для специфических каналов.
PID: идентификатор пакета — поле длиной 13 бит, указывающее тип данных, содержащихся в полезной нагрузке пакета. PID служит основным признаком, по которому демультиплексор сортирует приходящие PES-пакеты на приемной стороне. Из общего числа 8192 возможных значений PID 16 выделены на общесистемные цели, номер 8191 закреплен за стаффингом байтами, остальные могут назначаться пользователем произвольно для отдельных компанент своихпрограмм. Значение PID 0x0000 зарезервировано для таблицы взаимосвязи программ PAT. Значение PID 0x0001 зарезервировано для таблицы ограниченного доступа CAT. Значения идентификатора PID от 0x0002 до 0x000F являются зарезервированными. Значение PID 0xlFFF сохранено для пустых пакетов. Значения идентификатора PID приведены в таблице 8.1.
Таблица 8.1 – значения PID
Значение |
Описание |
0х0000 |
Таблица взаимосвязи программ PAT |
0х0001 |
Таблица условного доступа CAT |
0х0002 …0х000F |
Зарезервированы |
0х0010…0x1FFE |
Может быть присвоено сетевому идентификатору networkPID, идентификатору структуры программы Program_map_PID. идентификатору элементарного потока elementary_PID или для других целей |
0х1FFF |
Нулевой пакет |
Примечание: транспортные пакеты с PID 0х0000, 0х0001 и 0х0010…0х1FFE предназначены для переноса PCR |
transport_scrairibling_control — поле длиной 2 бита указывает режим скремблирования полезной нагрузки пакета транспортного потока. Заголовок пакета транспортного потока и поле адаптации, когда таковое присутствует, не должны скремблироваться. В случае пустого пакета значение поля transportscrambling control должно быть установлено в 00 (таблица 8.2).
Таблица 8.2 – Значения поля управления скремблироваеия
Значение |
Описание |
00 |
Без скремблирования |
01 |
Определяется пользователем |
10 |
Определяется пользователем |
11 |
Определяется пользователем |
adaptation_field_control: управление полем адаптации — поле длиной 2 бита указывает, следует ли поле адаптации и/или полезная нагрузка за этим заголовком пакета транспортного потока (таблица 8.3).
Таблица 8.3 – Значения поля адаптации
Значение |
Описание |
00 |
Зарезервирован для будущего использования ISO/IEC |
01 |
Поле адаптации отсутствует, только полезная нагрузка |
10 |
Только поле адаптации, полезная нагрузка отсутствует |
11 |
Поле адаптации расположено за полезной нагрузкой |
Декодеры, определенные в Стандарте ISO/IEC 13818-1, должны отказаться от декодирования пакетов транспортного потока с полем adaptation_field_control, установленным в 00. В случае пустого пакета значение поля adaptation_field_control должно быть установлено в 01.
continuity_counter: счетчик непрерывности — поле длиной 4 бита. Четырехбитовый счетчик непрерывности PES-пакетов увеличивает свое значение на единицу при поступлении каждого следующего PES-пакета с данными PID и обнуляется после каждого 15-20 пакета. Он позволяет декодеру обнаруживать потерю PES-пакета и принимать меры по его замене или маскированию ошибок, которые могут возникнуть из-за его потери.
Поле адаптации занимает часть области полезных данных и служи для ввода управляющих и вспомогательных сигналов, передаваемых не в каждом транспортном пакете. Поле адаптации может также использоваться для передачи данных пользователя, в этом случае оно разбивается на секции.
Поле адаптации, содержит следующие основные поля:
adaptation_field_lenght – длина поля адаптации, поле с 8 битами, определяющее количество байтов в области поля адаптации, следующей сразу за adaptation_field_lenght . Для пакетов Транспортного потока, несущих PES-пакеты, наполнение необходимо, когда PES-пакеты имеют длину, недостаточную для заполнения полезной нагрузки пакета Транспортного потока. Заполнение поля адаптации выполняется таким образом, чтобы суммарная длина его данных и байтов полезной нагрузки, следующих за ним, точно уместились в доступную длину PES-пакета. Дополнительное место в поле адаптации заполняется байтами наполнения. Для пакетов Транспортного потока, несущих PSI, метод заполнения будет рассмотрен в разделе 8.6.
Неоднородность синхронизации системы обозначена при помощи индикатора discontinuity_indicator в пакетах Транспортного потока с PID, определенным как PCR_PID . Когда состояние неоднородности истинно для пакета Транспортного потока с PID, обозначенным как PCR_PID, следующая PCR в пакете Транспортного потока с тем же самым PID представляет отсчет новой синхронизации системы для данной программы. Когда discontinuity_indicator установлен в «0, состояние неоднородности ложно.
elementary_stream_priority_indicator - индикатор приоритета элементарного потока является полем с 1 битом. Оно указывает приоритет данных элементарных потоков среди пакетов с одинаковым PID, которые расположены в пределах полезной нагрузки данного пакета Транспортного потока. «1» указывает, что полезная нагрузка имеет более высокий приоритет, чем полезные нагрузки других пакетов. В случае видео, это поле может быть установлено только в «1», если полезная нагрузка содержит один или более байтов I-кодированного слоя.
Затем идут пять флагов укзывающие на присутствие или отсутствие тех или иных необязательных полей в поле адаптации.
PCR_flag - флаг с 1 битом. Значение «1» указывает, что область адаптации содержит поле PCR из двух частей. Значение «0» указывает, что поле адаптации не содержит поля PCR. program_clock_reference (PCR) - поле с 42 битами. PCR - отсчеты программного времени, являются средством синхронизации программы (PCR будет рассмотрено в 3.4);
OPCR_flag – 1-битный флаг. Значение «1» указывает, что область адаптации содержит поле OPCR, которое кодируется в двух частях. Значение «0» указывает, что поле адаптации не содержит поля OPCR. original_program_clock_reference_base – необязательная ссылка оригинала программы (OPCR) - поле с 42 битами. Поля OPCR разрешены в однопрограммных и многопрограммных Транспортных потоках. OPCR помогает отличить однопрограммный Транспортный поток от других Транспортных потоков. При восстановлении первоначального однопрограммного Транспортного потока, OPCR может быть скопирован в поле PCR. Окончательное значение PCR имеет силу, если первоначальный однопрограммный Транспортный поток восстановлен точно во всей полноте. Он должен включать по крайней мере любую PSI и пакеты частных данных, которые присутствовали в первоначальном Транспортном потоке; возможно, потребуются и другие меры. Это также означает, что OPCR должен быть копией связанного с ним PCR в первоначальном однопрограммном Транспортном потоке;
transport_private_data_flag – 1-битный флаг. Значение «1» указывает, что поле адаптации содержит один или большее количество байтов private_data. Значение «0» указывает, что поле адаптации не содержит байтов с частным данными. transport_private_data_length - поле с 8 битами, определяющее количество байтов private_data, следующих непосредственно за полем private_data_length. Количество байтов не должно быть таким, чтобы частные данные простирались за пределы поля адаптации;
adaptation_field_extension_flag – 1-битное поле, которое указывает присутствие расширения поля адаптации при значении «1». Значение «0» указывает, что расширения поля адаптации нет в данном поле адаптации. adaptation_field_extension_length - поле с 8 битами. Указывает количество байтов расширенных данных поля адаптации, следующих непосредственно за этим полем, включая зарезервированные байты, если они есть. В расширенные данные поля адаптации вводится доплнительная информация, используемая декодером при декодировании.