УСТРОЙСТВО И СПОСОБ ПЕРЕДАЧИ И ПРИЕМА ПАКЕТОВ В СИСТЕМЕ ВЕЩАНИЯ И СВЯЗИ
PACKETS TRANSMISSION AND RECEPTION DEVICE AND METHOD IN BROADCASTING AND COMMUNICATION SYSTEM

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится, в общем, к системе вещания и связи. В частности, настоящее изобретение относится к устройству и к способу приема и передачи пакетов.
УРОВЕНЬ ТЕХНИКИ
В результате роста типов контента и увеличения доли контента с большим объемом, такого как, например, контент высокой четкости (HD) и контент сверхвысокой четкости (UHD), возникают заторы при передаче данных, связанные с сетевым трафиком. Следовательно, контент, посланный отправителем (например, хостом A), не может быть доставлен в приемник (например, в хост B) нормальным образом, и часть контента может теряться в трактах передачи.
РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
Передачу данных обычно производят в виде пакетов. По существу, при пакетной передаче могут происходить потери данных. Следовательно, приемник может не принимать пакеты вследствие потерь данных в сети. Соответственно, приемник может не принимать данные или обнаруживать, что они содержатся в потерянных пакетах, что, тем самым, вызывает множество неудобств для пользователя, таких как, например, ухудшение качества звука, ухудшение качества видео, разрушение изображения, выводимого на экран, потеря субтитров, потеря файлов и т.п. Поэтому существует потребность в создании способа восстановления потерь данных, которые могут происходить в сети.
Следовательно, существует необходимость в создании системы и способа выполнения самодиагностики устройства без неудобства, причиной которого является выбор опции самодиагностики на компьютере или в интерфейсе пользователя вручную.
Вышеупомянутая информация представлена как информация об уровне техники только лишь для помощи в понимании настоящего изобретения, сущность которого здесь раскрыта. Не было сделано никаких определений и утверждений в отношении того, может ли что-либо из вышеизложенного быть применимо как предшествующий уровень техники относительно настоящего изобретения.
РЕШЕНИЕ ЗАДАЧИ
Аспекты настоящего изобретения устраняют, по меньшей мере, вышеупомянутые проблемы и/или недостатки и обеспечивают, по меньшей мере, описанные ниже преимущества. Соответственно, аспектом вариантов осуществления настоящего изобретения, которые приведены в качестве примеров, является создание устройства и способа передачи/приема пакетов для восстановления потерь данных, происходящих в сети в системе вещания и связи.
Другим аспектом вариантов осуществления настоящего изобретения, которые приведены в качестве примеров, является создание устройства и способа передачи/приема пакетов для передачи информации, указывающей применение/неприменение каждой из первой и второй прямых коррекций ошибок (FEC) или иной информации, относящейся к конфигурации кодирования, в системе вещания и связи.
Еще одним аспектом вариантов осуществления настоящего изобретения, которые приведены в качестве примеров, является создание устройства и способа передачи/приема пакетов для избирательного применения FEC в зависимости от состояния сети или от качества контента (качества обслуживания, QoS) для контента в системе вещания и связи.
Еще одним аспектом вариантов осуществления настоящего изобретения, которые приведены в качестве примеров, является создание устройства и способа передачи/приема пакетов, обеспечивающего возможность получения новым приемником информации, относящейся к FEC, заранее уже в ходе обслуживания в системе вещания и связи.
Согласно аспекту настоящего изобретения предложен способ конфигурирования пакета в системе вещания, которая поддерживает мультимедийное обслуживание на основании протокола Интернет. Способ включает в себя следующие этапы: разделяют входной исходный блок, по меньшей мере, на один подблок, преобразуют каждый из упомянутого, по меньшей мере, одного подблока в блок информации, включающий в себя полезные нагрузки информации, имеющие одну и ту же длину, генерируют первый блок контроля четности путем кодирования блока информации каждого из упомянутого, по меньшей мере, одного подблока, и добавляют второй блок контроля четности к исходному блоку, включающему в себя все из упомянутого, по меньшей мере, одного подблока.
Согласно другому аспекту настоящего изобретения предложено устройство для конфигурирования пакета в системе вещания, которая поддерживает мультимедийное обслуживание на основании протокола Интернет. Это устройство включает в себя модуль пакетирования транспортного протокола для разделения входного исходного блока, по меньшей мере, на один подблок и для преобразования каждого из упомянутого, по меньшей мере, одного подблока в блок информации, включающий в себя полезные нагрузки информации, имеющие одну и ту же длину, первый кодер для генерации первого блока контроля четности путем кодирования блока информации каждого из упомянутого, по меньшей мере, одного подблока, и второй кодер для добавления второго блока контроля четности к исходному блоку, включающему в себя все из упомянутого, по меньшей мере, одного подблока.
Согласно еще одному аспекту настоящего изобретения предложен способ приема пакета в системе вещания, которая поддерживает мультимедийное обслуживание на основании протокола Интернет. Этот способ включает в себя следующие этапы: демодулируют сигнал, переданный от отправителя, извлекают второй блок битов контроля четности из демодулированного сигнала, и декодируют пакет на основании извлеченного второго блока битов контроля четности. Второй блок битов контроля четности генерируют путем разделения входного исходного блока, по меньшей мере, на один подблок, преобразования каждого из упомянутого, по меньшей мере, одного подблока в блок информации, включающий в себя полезные нагрузки информации, имеющие одну и ту же длину, генерации первого блока контроля четности путем кодирования блока информации каждого из упомянутого, по меньшей мере, одного подблока и добавления второго блока контроля четности к исходному блоку, включающему в себя все из упомянутого, по меньшей мере, одного подблока.
Согласно еще одному аспекту настоящего изобретения предложено устройство для приема пакета в системе вещания, которая поддерживает мультимедийное обслуживание на основании протокола Интернет. Это устройство включает в себя демодулятор для демодуляции сигнала, переданного от отправителя, контроллер для извлечения второго блока битов контроля четности из демодулированного сигнала и декодер для декодирования пакета на основании извлеченного второго блока битов контроля четности. Второй блок битов контроля четности сгенерирован путем разделения входного исходного блока, по меньшей мере, на один подблок, преобразования каждого из упомянутого, по меньшей мере, одного подблока в блок информации, включающий в себя полезные нагрузки информации, имеющие одну и ту же длину, генерации первого блока контроля четности путем кодирования блока информации каждого из упомянутого, по меньшей мере, одного подблока, и добавления второго блока контроля четности к исходному блоку, включающему в себя все из упомянутого, по меньшей мере, одного подблока.
Другие аспекты, преимущества и отличительные признаки настоящего изобретения станут очевидными для специалистов в данной области техники из приведенного ниже подробного описания, которое при его рассмотрении совместно с приложенными чертежами раскрывает варианты осуществления настоящего изобретения, которые приведены в качестве примеров.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Вышеизложенные и иные объекты, признаки и преимущества некоторых вариантов осуществления настоящего изобретения, которые приведены в качестве примеров, станут более очевидными из приведенного ниже описания при его рассмотрении совместно с сопроводительными чертежами, на которых изображено следующее:
на Фиг. 1 показаны топология сети и поток данных согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 2a и Фиг. 2b схематично показан способ кодирования с прямой коррекцией ошибок (FEC) согласно варианту осуществления настоящего изобретения, который приведен в качестве примера, соответственно, для M=1 и M=8;
на Фиг. 3 показана структура пакета управления FEC для внеполосной передачи сигналов согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 4 показана структура пакета управления FEC для внутриполосной передачи сигналов согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 5 показана конфигурация системы для внеполосной передачи сигналов согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 6 показана конфигурация системы для внутриполосной передачи сигналов согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 7 изображена схема последовательности операций, на которой показан способ передачи согласно варианту осуществления настоящего изобретения, приведенному в качестве примера;
на Фиг. 8 изображена схема последовательности операций, на которой показан способ приема согласно варианту осуществления настоящего изобретения, приведенному в качестве примера;
на Фиг. 9 показана структура системы транспорта MPEG мультимедиа (MMT) согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 10 показана структура пакета управления FEC для внутриполосной передачи сигналов согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 11 показан пример модели канала Гильберта-Эллиота (Gilbert-Elliot) со стиранием (GEEC) с двумя состояниями согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 12a и Фиг. 12b показаны структуры одноступенчатого и двухступенчатого кодирования с FEC согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 13 - Фиг. 18 показаны результаты моделирования для структуры двухступенчатого кодирования с FEC и структуры одноступенчатого кодирования с FEC на канале "случайные + повторяющиеся электрические импульсные помехи (REIN)" согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 19 показана концепция кодирования/декодирования потоков с прямой коррекцией ошибок на уровне приложений (AL-FEC), для которой применена система транспорта MPEG мультимедиа (MMT) согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 20a и Фиг. 20b показаны структуры одноступенчатого и двухступенчатого кодирования с FEC согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 21 показаны конфигурации блока доставки FEC и кластера доставки FEC согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 22 - Фиг. 24 показаны примеры способа отображения исходного блока в блоке информации согласно варианту осуществления настоящего изобретения, приведенному в качестве примера;
на Фиг. 25 показана структура кадра Рида-Соломона (RS) согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 26 показана структура кадра контроля четности с малой плотностью (LDPC) согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 27 показано отображение блока контроля четности для символов контроля четности Рида-Соломона (RS) согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 28 показано отображение блока контроля четности для символов контроля четности LDPC согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг. 29 показана структура матрицы H согласно варианту осуществления настоящего изобретения, который приведен в качестве примера; и
на Фиг. 30 показаны конфигурации блока пакетов FEC и кластера пакетов FEC согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
Понятно, что на всех чертежах одинаковые номера позиций, приведенные на чертежах, относятся к одинаковым элементам, признакам и структурам.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Приведенное ниже описание со ссылкой на сопроводительные чертежи дано для того, чтобы способствовать исчерпывающему пониманию приведенных в качестве примеров вариантов осуществления настоящего изобретения, определяемого формулой изобретения и ее эквивалентами. Оно включает в себя различные конкретные подробности, способствующие этому пониманию, но их следует расценивать просто как приведенные в качестве примеров. Соответственно, для специалистов в данной области техники понятно, что могут быть сделаны различные изменения и модификации описанных здесь вариантов осуществления изобретения, не выходя за пределы сущности и объема изобретения. Кроме того, описания известных функций и конструкций могут быть опущены для доходчивости и краткости.
Термины и слова, использованные в приведенном ниже описании и в формуле изобретения, не ограничены библиографическим смыслом, а просто использованы автором изобретения для обеспечения возможности ясного и непротиворечивого понимания настоящего изобретения. Соответственно, для специалистов в данной области техники очевидно, что приведенное ниже описание вариантов осуществления настоящего изобретения, которые приведены в качестве примеров, дано только лишь в иллюстративных целях, а не с целью ограничения изобретения, определяемого прилагаемой формулой изобретения и ее эквивалентами.
Следует понимать, что признаки единственного числа включают в себя множественные объекты ссылки, если контекстом явно не предписано иное. Таким образом, например, ссылка на "составную поверхность" включает в себя ссылку на одну или на большее количество таких поверхностей.
Ниже приведено описание способа кодирования с прямой коррекцией ошибок (FEC), но такой способ не ограничен способом кодирования с использованием кода Рида-Соломона (RS), кода контроля четности с малой плотностью (FDPC), турбокода, быстрого торнадо-кода (Raptor Code), "исключающего ИЛИ", кода Pro-MPEG FEC.
В вариантах осуществления настоящего изобретения, которые приведены в качестве примеров, предложен способ, обеспечивающий возможность избирательного применения FEC в зависимости от состояния сети или от качества обслуживания (QoS) контента. В качестве примера, используемый здесь термин "состояние сети" может относиться к тому, является ли потеря пакетов высокой или низкой (например, является ли доля потерянных пакетов высокой или низкой), или происходит ли потеря пакетов случайным образом или пачками.
Что касается файловых данных, то некоторые из этих данных не следует терять во время их передачи. Например, потеря некоторых данных, соответствующих файловым данным, может затруднять считывание или иное исполнение файловых данных. В отличие от этого, что касается аудиовизуальных (AV) данных, то возможно воспроизведение AV-данных даже несмотря на потерю некоторых из данных, соответствующих AV данным, во время их передачи. Используемый здесь термин "качество обслуживания (QoS)" может относиться к случаю, когда требуемые характеристики файловых данных и AV-данных являются различными. Таким образом, файловые данные, как правило, требуют более высоких рабочих характеристик FEC, чем AV-данные.
На Фиг. 1 показаны топология сети и поток данных согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
Со ссылкой на топологию сети из Фиг. 1, отправитель 105 (например, хост A) передает пакеты протокола Интернет (IP) в конечный приемник 110 (хост B) через несколько маршрутизаторов 120 и 130. IP-пакеты, переданные отправителем 105, могут не всегда прибывать в конечный приемник 110 в порядке их передачи (например, в порядке следования, в котором IP-пакеты были переданы отправителем 105). Вследствие этого во время потоковой передачи AV-контента важно указывать последовательность передачи. Кроме того, эта последовательность передачи представлена в потоке данных.
Со ссылкой на поток данных из Фиг. 1, на стадии 140 применения данные 150 из Фиг. 1 расценивают как пакетные данные транспортного протокола реального времени (RTP), сгенерированные путем пакетирования данных, сжатых на стадии AV-кодека с использованием RTP (см. IETF RFC3550 и RFC3984), или они относятся к данным, пакетированным транспортным протоколом на стадии 140 применения, таким как, например, транспортные пакетные данные согласно стандарту транспорта MPEG мультимедиа (MMT), описанные ниже со ссылкой на Фиг. 9.
Использованные здесь термины могут быть кратко охарактеризованы следующим образом.
- FEC: коды коррекции ошибок для коррекции ошибок или символов стирания.
- Кадр FEC: кодовое слово, сгенерированное посредством кодирования информации, подлежащей защите, с FEC. Кадр FEC включает в себя информационную часть и часть для контроля четности (для исправления ошибок).
- Символ: единичный элемент данных. Его размер в битах именуют размером символа.
- Исходный символ (исходные символы): незащищенный символ, соответствующий данным, который содержится (незащищенные символы, соответствующие данным, которые содержатся) в информационной части кадра FEC.
- Символы кодирования: кадр FEC, сгенерированный путем кодирования исходного символа (исходных символов) с FEC.
- Символ(ы) исправления ошибок: часть кадра FEC для контроля четности, сгенерированная из исходного символа (исходных символов) путем кодирования с FEC. Например, для систематического кодирования, при котором исходные символы сохраняются во время кодирования с FEC: Символы Кодирования = Исходные Символы + Символы Исправления Ошибок.
- Пакет: единичный элемент передачи, включающий в себя заголовок и полезную нагрузку.
- Полезная нагрузка: часть данных пользователя, подлежащая передаче от отправителя и помещенная внутрь пакета.
- Заголовок пакета: заголовок для пакета, включающего в себя полезную нагрузку.
- Исходный блок: набор символов, включающий в себя один или большее количество исходных символов.
- Блок исправления ошибок: набор символов, включающий в себя один или большее количество символов исправления ошибок.
- Блок FEC: набор кадров FEC.
- Пакет FEC: пакет для передачи блока FEC.
- Исходный пакет: пакет для передачи исходного блока.
- Пакет исправления ошибок: пакет для передачи блока исправления ошибок.
- Пакет управления FEC: пакет для управления пакетом FEC.
На Фиг. 2a и Фиг. 2b схематично показан способ кодирования с прямой коррекцией ошибок (FEC) согласно варианту осуществления настоящего изобретения, который приведен в качестве примера, соответственно, для M=1 и M=8. В частности, на Фиг. 2a показана структура кодирования для M=1, а на Фиг. 2b показана структура кодирования для M=8.
Со ссылкой на Фиг. 2b, в предложенном способе кодирования с FEC для восстановления данных, потерянных в сети, и в основанном на нем способе внутриполосной передачи сигналов генерируют первые символы кодирования, включающие в себя первые символы исправления ошибок, которые генерируют путем разделения заданного количества символов на М первых исходных символов (где М является целым числом, большим 1), и выполняют кодирование каждого из первых исходных символов с первой FEC. После этого в способах генерируют вторые символы 203 кодирования, включающие в себя вторые символы 201 исправления ошибок, которые генерируют путем разделения М символов кодирования на вторые исходные символы 202 и выполнения их кодирования со второй FEC.
Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, для первой и второй FEC могут использоваться как одинаковые коды коррекции ошибок, так и различные коды коррекции ошибок. Возможные коды не ограничены конкретными кодами, такими как, например, код RS, код FDPC, турбокод, быстрый торнадо-код (Raptor Code) и "исключающее ИЛИ".
Когда отправитель передает в приемник контент, для которого применяют FEC, этот приемник должен иметь информацию, относящуюся к конфигурации FEC (такую как, например, тип и структура FEC, применяемого отправителем), для восстановления потерянных данных путем выполнения декодирования на основании схемы кодирования с FEC, примененной отправителем, при выполнении декодирования. Соответственно, варианты осуществления настоящего изобретения, которые приведены в качестве примеров, включают в себя способ передачи информации, относящейся к конфигурации FEC. Кроме того, варианты осуществления настоящего изобретения, которые приведены в качестве примеров, включают в себя способ различения пакетов, который обеспечивает для приемника возможность определять, является ли принятый пакет полезной нагрузкой для исходных символов или же полезной нагрузкой для символов исправления ошибок.
Для этого в вариантах осуществления настоящего изобретения, которые приведены в качестве примеров, задают информацию об управлении FEC, включающую в себя информацию, относящуюся к конфигурации FEC, конфигурации кодирования с первой FEC и конфигурации кодирования со второй FEC. Например, информация об управлении FEC может содержаться в пакете или в пакете управления FEC для управления пакетами. В случае внеполосной передачи сигналов контент, к которому применена FEC, передают с использованием протокола RTP, тогда как информацию об управлении FEC передают с использованием протокола управления RTP (RTCP), который различный от протокола для доставки контента. Однако, в случае внутриполосной передачи сигналов, информацию об управлении FEC передают хранящейся в пакете RTP для контента, к которому применена FEC, вследствие чего для его передачи не используют иной протокол.
Ниже приведено описание информации, относящейся к конфигурации FEC, согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров.
(1) Структура кодирования
- Структура FEC: применение/неприменение первой и/или второй FEC.
- Информация, относящаяся к границам блока FEC (далее в данном документе называемая "информацией о границах блока FEC"): она указывает информацию о положении начала/конца блока FEC.
В случае внеполосной передачи сигналов термин "информация о границах блока FEC" относится к информации о положении начала/конца первого блока FEC после передачи информации, относящейся к конфигурации FEC. Используемый здесь термин "положение" может относиться к положению в сети. Другими словами, когда последовательность передачи для каждого пакета определена номером в сети, то этот номер соответствует положению.
В случае внутриполосной передачи сигналов информация о границах блока FEC для надежности хранится, по меньшей мере, в одном пакете из пакетов, в которых передают блок FEC, или во всех пакетах. В частности, информацию о границах блока FEC предпочтительно передают в описанном ниже заголовке пакета, как показано на Фиг. 10.
(2) Конфигурация кодирования с первой FEC (символы 1 кодирования)
- Информация, относящаяся к типу FEC: представляет собой код FEC, такой как, например, код RS(N,K) по GF(2^n), код FDPC(N,K) по GF(2^n), турбокод(N,K) по GF(2^n) или быстрый торнадо-код (Raptor Code) (N,K) по GF(2^n), где N обозначает длину кода, K обозначает длину информации, а 2^n обозначает размер символа), или представляет собой способ с использованием "исключающего ИЛИ". Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, информация о типе FEC может включать в себя идентификационную информацию, указывающую тип кода FEC (например, 0=RS, 1=LDPC и 2=Raptor) и информацию о N и K.
- Информация, относящаяся к укорочению: указывает количество укороченных символов, и информацию о шаблоне укорочения (информацию о положении укороченных символов). Если шаблон укорочения является неизменным, то информацию о шаблоне укорочения исключают. Если длина фактически переданной информации равна K-s, то эту информацию кодируют после добавления к ней s символов заполнения незначащей информацией, и отсутствует необходимость в передаче s символов заполнения незначащей информацией из N закодированных символов, вследствие чего передают только (N-s) символов. В этом случае имеет место укорочение на s символов. Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, приемник может иметь информацию, относящуюся к типу FEC, информацию о длине информации, фактически передаваемой на основании информации, относящейся к типу FEC, и информацию о положениях укорочений в коде. В противном случае, согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, информация, относящаяся к укорочению, указывает длину фактически переданной информации, равную K-s, и информацию о шаблоне укорочения (например, информацию о положении укороченных символов). В качестве примера, если шаблон укорочения является неизменным, то информацию о шаблоне укорочения исключают.
- Информация, относящаяся к выкалыванию: указывает количество выколотых символов и информацию о шаблоне выкалывания (например, информацию о положении выколотых символов). Если шаблон выкалывания является неизменным, то информацию о шаблоне выкалывания исключают. Когда p символов закодированного кодового слова с четностью N-K пропадают во время передачи, то имеет место выкалывание p символов. Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, приемник может иметь информацию, относящуюся к типу FEC, информацию о количестве символов контроля четности (например, символов исправления ошибок), которые фактически передают на основании информации, относящейся к типу FEC, и информацию о положениях выкалывания в коде. В противном случае, согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, информация, относящаяся к выкалыванию, указывает длину фактически переданной четности, равную N-K-p, и информацию о шаблоне выкалывания (информацию о положении выколотых символов). В качестве примера, если шаблон выкалывания является неизменным, то информацию о шаблоне выкалывания исключают.
Из длины кода и длины информации в информации, относящейся к типу FEC, и информации, относящейся к укорочению/выкалыванию, может быть определено, соответственно, количество фактически переданных символов кодирования, исходных символов и символов исправления ошибок. Информация, относящаяся к типу FEC, и информация, относящаяся к укорочению/выкалыванию, были описаны с точки зрения кодового слова, но они не ограничены этим вариантом. Предпочтительно информация, относящаяся к типу FEC, и информация, относящаяся к укорочению/выкалыванию, может быть истолкована как информация, основанная на сущности вариантов осуществления настоящего изобретения, которые приведены в качестве примеров. Например, информация, относящаяся к типу FEC, и информация, относящаяся к укорочению/выкалыванию, может быть истолкована как количество (=K-s) пакетов, в которых передают исходный блок из блока FEC, и как количество (=N-K-p) пакетов, в которых передают блок контроля четности.
- Информация, относящаяся к "подтяжке": значение, указывающее увеличение или уменьшение кода FEC. Используемый здесь термин "подтяжка" ("lifting") может относиться к расширению или к сокращению длины кода путем регулирования размера блока перестановки QC-LDPC. Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, в общей матрице H контроля четности, разложение матрицы путем замены каждого элемента блоком перестановки также может подпадать под понятие "подтяжка". Если информация, относящаяся к конфигурации кодирования с первой FEC, примененного для каждого из N символов 1 кодирования, является различной, то для каждого из символов 1 кодирования необходима конфигурация кодирования с первой FEC.
В данном случае это может быть представлено следующим образом: "для (i=1; i<=N; i++) {i-тая конфигурация символов 1 кодирования}".
(3) Конфигурация кодирования со второй FEC (символы 2 кодирования)
- Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, конфигурация кодирования со второй FEC может быть той же самой, что и конфигурация кодирования с первой FEC.
Ниже приведено описание способа различения пакетов согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров.
Заголовок протокола RTP включает в себя поле "тип полезной нагрузки" и поле "порядковый номер". При использовании протокола RTP, имеющего поле "тип полезной нагрузки" и поле "порядковый номер", или аналогичного ему транспортного протокола каждому пакету FEC последовательно и один за другим присваивают номер, вследствие чего порядковый номер может последовательно увеличиваться. Соответственно, на основании информации, относящейся к конфигурации FEC, и порядкового номера принятого пакета можно не только определить, является ли пакет исходным пакетом, пакетом "первое исправление ошибок" (Repair-1) или пакетом "второе исправление ошибок" (Repair-2), но также точно определить, какой пакет является потерянным пакетом. С другой стороны, на основании поля 1012 "информация о типе полезной нагрузки" в заголовке 1010 пакета FEC на Фиг. 10 может быть определено, является ли полезная нагрузка в пакете FEC исходной полезной нагрузкой, пакетом "первое исправление ошибок" (Repair-1) или пакетом "второе исправление ошибок" (Repair-2).
Поле 1015 "длина пакета" в заголовке 1010 пакета FEC на Фиг. 10 может быть сконфигурировано так, что указывает размер пакетных данных, фактически передаваемых посредством пакета. Граница между пакетами может быть определена с использованием поля 1015 "длина пакета", вследствие чего может быть обеспечен правильный прием непрерывного потока пакетов. Даже несмотря на то, что пакет потерян, длина пакета может быть определена путем восстановления сначала информации, содержащейся в заголовке потерянного пакета, путем декодирования с FEC, обеспечивая возможность правильного определение длины пакета.
Ниже приведено описание способа внеполосной передачи сигналов согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров.
При доставке контента между отправителем и приемником пакеты разделяют на пакеты для доставки контента и пакеты управления для управления этими пакетами. Термин "внеполосная передача сигналов" относится к доставке информации, относящейся к конфигурации FEC, для пакетов FEC с использованием пакета управления FEC для управления пакетами (ниже, пакетами FEC) для передачи блока FEC. Перед доставкой контента в приемник отправитель передает информацию, относящуюся к конфигурации FEC, что позволяет приемнику заранее получать информацию, относящуюся к конфигурации FEC, приложенную к контенту. Эту информацию следует передавать после изменения информации, относящейся к конфигурации FEC. Кроме того, в случае наличия множества приемников, подобно тому, что имеет место при многоадресной или широковещательной передаче, информация, относящаяся к конфигурации FEC, может быть передана в пакете управления FEC, вследствие чего все приемники могут выполнять декодирование с FEC путем распознавания информации, относящейся к конфигурации FEC, приложенной к контенту. В противном случае могут периодически производиться повторные передачи информации, относящейся к конфигурации FEC, для надежности.
Основная цель предложенной внеполосной передачи сигналов состоит в обеспечении для приемника возможности определять применение/неприменение первой FEC и/или применение/неприменение второй FEC, что является минимальной информацией для декодирования блока FEC, на основании информации об управлении FEC (например, информации, относящейся к конфигурации FEC, или информации, относящейся к конфигурации кодирования). Соответственно, отправитель определяет или выбирает один из четырех вариантов: FEC не применяют, применяют только первую FEC, применяют только вторую FEC и применяют обе FEC: первую и вторую, передает сведения о нем в приемник вместе с информацией об управлении FEC, а затем доставляет контент путем применения определенного способа FEC.
Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, информация об управлении FEC может дополнительно включать в себя информацию о границах блока, такую как, например, информация о положении начала/конца блока FEC. Если способ FEC определен заранее, то приемник может получать всю информацию о границах блока FEC, которая является достаточной только лишь при наличии информации о положении начала/конца, поскольку он может определять размер или длину блока FEC.
Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, если имеется множество типов первой FEC, или если имеется множество типов второй FEC, то информация об управлении FEC может предпочтительно включать в себя информацию о типе первой FEC и информацию о типе второй FEC.
Когда отправитель должен выполнить укорочение или выкалывание для обеспечения эффективной передачи, информация об управлении FEC может предпочтительно включать в себя информацию, относящуюся к укорочению и/или к выкалыванию.
Предпочтительно информация об управлении FEC может передаваться периодически. Например, может периодически производиться повторная передача информации об управлении FEC.
На Фиг. 3 показана структура пакета управления FEC для внеполосной передачи сигналов согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
Пакет 300 управления FEC, показанный на Фиг. 3, включает в себя пакет управления FEC (например, полезную нагрузку) для кодирования информации, относящейся к конфигурации и его заголовок (не показан).
Информация об управлении FEC может содержаться тогда, когда в приемник посылают отчет отправителя на основании протокола описания сеанса (SDP), или она может содержаться тогда, когда управляющую информацию RTP передают на основании протокола RTCP, если используется RPT. Информация об управлении FEC может содержаться во время передачи руководства по обслуживанию электрооборудования (ESG) или во время ее передачи может быть включена в состав поля "fpar" и поля "fecr", если используется базовый формат медиафайла стандарта ISO, и возможные ее типы являются различными в зависимости от типа доставляемого контента, сетевой среды и используемого транспортного протокола. Информация об управлении FEC может содержаться в полезной нагрузке управления FEC, как показано на Фиг. 3, но она не ограничена этим вариантом. В случае внеполосной передачи сигналов информация об управлении FEC включает в себя информацию, относящуюся к конфигурации FEC, содержащуюся в поле 310 "структура кодирования", конфигурацию 320 кодирования с первой FEC и конфигурацию 330 кодирования со второй FEC.
Информация, относящаяся к конфигурации FEC, включает в себя информацию 310a, указывающую применение/неприменение первой и/или второй FEC. Информацию, относящуюся к конфигурации FEC, представляют следующим образом: структура FEC=00 (что, например, соответствует отсутствию кодирования), структура FEC=01 (что, например, соответствует применению только первой FEC), структура FEC=10 (что, например, соответствует применению только второй FEC), и структура FEC=11 (что, например, соответствует применению обеих FEC: первой и второй). Применение только одной из двух FEC (первой и второй FEC) может быть представлено значением одного поля.
Информация, относящаяся к конфигурации FEC, включает в себя информацию 310b о границах блока FEC.
Конфигурация 320 кодирования с первой FEC включает в себя информацию 320a, относящуюся к типу FEC, информацию 320b, относящуюся к "подтяжке", информацию 320c, относящуюся к выкалыванию, и информацию 320d, относящуюся к укорочению.
Информация, относящаяся к "подтяжке", обеспечивает возможность расширения или сокращения кода, а информация, относящаяся к укорочению/выкалыванию, обеспечивает возможность согласования исходных символов и символов контроля четности с различными значениями длины в заданном коде.
Конфигурация 330 кодирования со второй FEC по структуре является той же самой, что и конфигурация 320 кодирования с первой FEC.
Ниже приведено описание способа внутриполосной передачи сигналов согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров.
На Фиг. 4 показана структура пакета управления FEC для внутриполосной передачи сигналов согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
Пакет управления FEC включает в себя полезную нагрузку 400 FEC и заголовок 410. Несмотря на то, что на Фиг. 4 показан пакет исправления ошибок, пакет управления FEC не ограничен этим вариантом. Другими словами, для надежности для пакета FEC может быть применена структура пакета управления FEC, показанная на Фиг. 4. Несмотря на то, что на Фиг. 4 информация об управлении FEC содержится в заголовке 410, пакет управления FEC не ограничен этим вариантом. Другими словами, для надежности информация об управлении FEC для внутриполосной передачи сигналов может храниться во всех пакетах для передачи блока FEC во время его передачи. Для повышения эффективности передачи в них может содержаться только лишь информация, необходимая для структуры FEC.
В отличие от внеполосной передачи сигналов, при которой информацию, относящуюся к конфигурации FEC, передают в отдельном пакете управления, отличимом от пакета для доставки контента, при внутриполосной передаче сигналов информацию, относящуюся к конфигурации FEC, передают в пакете для доставки контента, что позволяет свести к минимуму непроизводительные издержки вследствие периодической и повторной передачи пакета управления FEC. Кроме того, внутриполосная передача сигналов имеет преимущество, состоящее в том, что приемник может быстро получать информацию, относящуюся к конфигурации FEC, приложенную к контенту, даже в середине интервала передачи пакета управления FEC.
Основная цель предложенной внутриполосной передачи сигналов состоит в сохранении информации, относящейся к конфигурации FEC, указывающей применение/неприменение первой FEC и/или применение/неприменение второй FEC, которая является минимальной информацией для декодирования блока FEC в пакете FEC во время его передачи, чтобы приемник мог получать эту информацию. Соответственно, при определении или при выборе одного из четырех вариантов: FEC не применяют, применяют только первую FEC, применяют только вторую FEC, и применяют обе FEC: первую и вторую, кодировании контента с FEC в зависимости от определенного способа FEC и последующей передаче пакета FEC отправитель хранит информацию, относящуюся к конфигурации FEC, в передаваемом пакете FEC, как показано в примере из Фиг. 4.
Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, информация о FEC включает в себя порядковый номер 411, поле 412 "структура кодирования" и поле 413 "конфигурация кодирования с FEC".
Информация, относящаяся к конфигурации FEC, включает в себя информацию 412a, указывающую применение/неприменение первой и/или второй FEC. Информация, относящаяся к конфигурации FEC, представлена следующим образом: структура FEC=00 (что соответствует отсутствию кодирования), структура FEC=01 (что соответствует применению только первой FEC), структура FEC=10 (что соответствует применению только второй FEC) и структура FEC=11 (что соответствует применению обеих FEC: первой и второй). В частности, информация, относящаяся к конфигурации FEC, хранится, по меньшей мере, в одном из пакетов FEC для блока FEC во время его передачи. В частности, для обеспечения надежности при потере пакетов информация, относящаяся к конфигурации FEC, может храниться либо во всех пакетах, либо в пакетах исправления ошибок, либо в исходных пакетах во время ее передачи. Например, информация, относящаяся к конфигурации FEC, во время ее передачи может храниться в заголовке пакета, или, более конкретно, в заголовке пакета исправления ошибок. Когда информация, относящаяся к конфигурации FEC, ее передачи хранится в заголовке пакета исправления ошибок во время, то исходные пакеты могут сохранять совместимость с существующей системой, в которой FEC не применяют, поскольку они могут быть переданы в виде пакета, существующего для передачи исходных символов, подобно тому случаю, когда FEC не применяют.
В предпочтительном варианте информация, относящаяся к конфигурации FEC, может дополнительно включать в себя информацию 412b о границах блока FEC, такую как, например, информация о положении начала/конца блока FEC. Если способ FEC задан заранее, то приемник может получать всю информацию о границах блока FEC, которая является достаточной только лишь при наличии информации о положении начала/конца, поскольку он может определять размер или длину блока FEC.
В предпочтительном варианте информация, относящаяся к конфигурации FEC, может включать в себя флаг продолжения конфигурации FEC 412c, который содержится в поле 412 "структура кодирования" и который указывает, изменилась ли информация, относящаяся к конфигурации FEC, для следующего блока FEC по сравнению с этой информацией для текущего блока FEC.
Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, информация 413 о конфигурации кодирования с FEC может включать в себя информацию 413a, относящуюся к типу FEC, которая содержится в поле "конфигурация кодирования с FEC" и включает в себя информацию о типе первой FEC и информацию о типе второй FEC при наличии нескольких типов первой FEC или нескольких типов второй FEC.
Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, информация, относящаяся к конфигурации кодирования с FEC, может включать в себя информацию 413b, относящуюся к "подтяжке", для расширения или сокращения кода во время его передачи для заданной информации о типе FEC.
Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, информация, относящаяся к конфигурации кодирования с FEC, может включать в себя информацию 413c, относящуюся к укорочению, и/или информацию 413d, относящуюся к выкалыванию, когда отправитель производит укорочение или выкалывание для эффективной передачи.
Информация 413b, относящаяся к "подтяжке", обеспечивает возможность расширения/сокращения кода, а информация, относящаяся к укорочению/выкалыванию, обеспечивает согласование исходных символов и символов контроля четности с различными значениями длины в заданном коде.
На Фиг. 5 показана конфигурация системы для внеполосной передачи сигналов согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
Необработанный AV-поток 1, зарегистрированный с использованием цифровой камеры оперативно сохраняют как необработанный AV-контент (Raw AV) 501. Необработанный AV-контент 501 (например, необработанный AV-поток 1) передают в кодер 503 AV-кодека.
Кодер 503 AV-кодека генерирует AV-поток 2 путем сжатия входного необработанного AV-потока 1 с использованием кодера аудиокодека и кодера видеокодека и производит вывод AV-потока 2 в модуль 505 пакетирования транспортного протокола.
Модуль 505 пакетирования транспортного протокола создает пакетированный поток путем разделения сжатого AV-потока 2 на полезные нагрузки и добавления заголовка пакета к каждой из полезных нагрузок. При применении FEC модуль 505 пакетирования транспортного протокола разделяет поток пакетов на заданное количество исходных пакетов в зависимости от соответствующей структуры кодирования и/или информации, относящейся к конфигурации кодирования. После этого модуль 505 пакетирования транспортного протокола вводит в кодер 507 с FEC исходные блоки 3, включающие в себя исходные полезные нагрузки, за исключением заголовков исходных пакетов.
Кодер с FEC 507 выполняет кодирование исходных блоков 3, обеспечивая соответствие со структурой кодирования и/или с информацией, относящейся к конфигурации кодирования, и выводит блоки 4 FEC в модуль 505 пакетирования транспортного протокола.
Модуль 505 пакетирования транспортного протокола передает поток 7 пакетов, закодированных с FEC, путем добавления заголовка пакета к каждой из полезных нагрузок во входных блоках 4 FEC, и сохраняет информацию, относящуюся к конфигурации FEC, для внеполосной передачи сигналов в пакете управления FEC (в его полезной нагрузке или в его заголовке), изображенном на Фиг. 3.
Информация, относящаяся к структуре кодирования и к конфигурации кодирования с FEC, применяемом для контента, хранится в пакете 5 управления FEC, и ее передают в приемник заранее до доставки контента, что позволяет приемнику получать информацию, относящуюся к структуре FEC и/или к конфигурации кодирования с FEC, которое следует применять для контента.
Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, для данных о структуре FEC в пакете управления FEC и для данных о структуре FEC в заголовке пакета исправления ошибок отводят по два бита, при этом b0 отображает применение/неприменение первой FEC, а b1 отображает применение/неприменение второй FEC. Другими словами, эти биты представлены следующим образом: структура FEC=00 соответствует отсутствию кодирования, структура FEC=01 соответствует применению только лишь первой FEC, структура FEC=10 соответствует применению только лишь второй FEC, а структура FEC=11 соответствует применению обеих FEC: первой и второй.
Во время передачи информации о границах блока FEC она указывает порядковый номер пакета для первой полезной нагрузки из блока кодирования с FEC, передаваемого непосредственно после передачи пакета управления FEC.
Модуль 509 депакетирования транспортного протокола принимает пакет 6 управления FEC и подготавливается к декодированию с FEC, на основании информации, относящейся к конфигурации FEC, из принимаемого контента. Приемник, присоединившийся к обслуживанию во время работы получает информацию, относящуюся к конфигурации FEC, из заголовка пакета исправления ошибок в принятом пакете и на ее основании выполняет декодирование с FEC.
Модуль 509 депакетирования транспортного протокола переупорядочивает пакеты из принятого потока пакетов в порядке их передачи, а затем удаляет заголовки от пакетов, создавая поток полезной нагрузки. При применении FEC модуль 509 депакетирования транспортного протокола получает из принятого потока 8 пакетов, закодированных с FEC, информацию о положении потерянных пакетов и информацию о границах блока FEC на основании информации, относящейся к конфигурации FEC, приложенной к контенту. На основании информации о положении потерянных пакетов и информации о границах блока FEC модуль 509 депакетирования транспортного протокола вводит в декодер 511 с FEC информацию о положении потерянных полезных нагрузок для каждого блока FEC и принятых блоков 9 FEC.
Как и в способе различения пакетов, если в заголовках транспортных пакетов сконфигурированы поля "порядковый номер", и им последовательно присвоены номера в порядке передачи пакетов во время передачи пакетов, модуль 509 депакетирования транспортного протокола может переупорядочивать транспортные пакеты на основании порядковых номеров и определять положения (например, номера) потерянных пакетов во время приема.
Декодер 511 с FEC восстанавливает исходные блоки 10 путем восстановления потерянных полезных нагрузок, исходя из информации о положении потерянных полезных нагрузок и принятого блока FEC, путем декодирования с FEC, и вводит их в модуль 509 депакетирования транспортного протокола.
Модуль 509 депакетирования транспортного протокола преобразовывает введенные исходные блоки в поток 11 и вводит поток 11 в декодер 513 AV-кодека.
Декодер AV-кодека 513 декодирует AV-контент с использованием декодера аудиокодека и декодера видеокодека и вводит декодированный AV-контент в виде потока 12 в дисплей 515.
Дисплей 515 отображает декодированный AV-контент.
Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, если FEC не применяют (то есть, структура FEC="без кодирования"), то процедуру 1, в которой модуль 505 пакетирования транспортного протокола вводит исходные блоки 3 в кодер 507 с FEC, способ процедуру 2, в которой кодер с FEC 507 кодирует исходные блоки для обеспечения соответствия структуре кодирования и/или информации, относящейся к конфигурации кодирования, и выводит блоки 4 FEC в модуль 505 пакетирования транспортного протокола, и процедуры, обратные процедурам 1 и 2 в приемнике, пропускают.
Во время доставки контента периодически производят повторную передачу пакетов 5 и 6 управления FEC. В случае применения FEC информация о границах блока FEC, содержащаяся в информации, относящейся к конфигурации FEC, указывает порядковый номер пакета для первой полезной нагрузки из блока кодирования с FEC, передаваемого непосредственно после передачи пакетов управления FEC.
Информация о границах блока FEC в заголовках 7 и 8 пакета указывает порядковый номер пакета для первой полезной нагрузки блока FEC во время его передачи.
Что касается информации о границах блока FEC и информации, относящейся к конфигурации кодирования с FEC, то их передача может быть пропущена, если об этом было согласовано между отправителем и приемником (например, если типы FEC, которые имеют FEC, были согласованы между отправителем и приемником, а значение "подтяжка", длина символов передаваемой информации и длина символов исправления ошибок являются фиксированными).
Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, если для каждого кода, основанного на информации о типе FEC, используют матрицу контроля четности, то эта матрица является заранее согласованной, а если используется код RS, то предполагают, что его порождающий полином задан заранее. Например, если информация о типе FEC представляет собой "код LDPC(8000,6400) по GF(2)", то предполагают, что отправитель и приемник используют матрицу H кода совместно друг с другом. Когда информация о типе FEC представляет собой "код RS(255,51) по GF(2^8)", то предполагают, что отправитель и приемник используют порождающий полином g(x) кода RS совместно друг с другом. Эти предположения возможны, поскольку они заданы в соглашениях между отправителем и приемником или в спецификациях.
На Фиг. 6 показана конфигурация системы для внутриполосной передачи сигналов согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, в системе для внутриполосной передачи сигналов из Фиг. 6 процедуры 5 и 6 опущены, а процедуры 7-12 на Фиг. 5 соответствуют соответствующим процедурам 5-10 на Фиг. 6 и являются теми же самыми. Однако, в процедурах 5 и 6 на Фиг. 6 предложенная информация о конфигурации FEC хранится в заголовке пакета в пакете FEC во время его передачи.
Приведенные в качестве примера варианты осуществления настоящего изобретения были описаны исходя из предположения, что полезные нагрузки исходных пакетов защищены посредством FEC, но они не ограничены этим и включают в себя выполнения кодирования исходных пакетов с FEC, генерацию пакетов FEC путем добавления заголовков к блокам исправления ошибок и путем передачи пакетов FEC. Например, в этом случае транспортный модуль пакетирования сохраняет информацию об управлении FEC в заголовках пакета для исходных блоков, выполняет их кодирование и сохраняет эту же информацию или необходимую информацию даже в заголовках пакетов для блоков исправления ошибок.
Несмотря на то, что AV-данные были описаны со ссылкой на Фиг. 5 и Фиг. 6, варианты осуществления настоящего изобретения, которые приведены в качестве примеров, не ограничены этим. Приведенные в качестве примера варианты осуществления настоящего изобретения могут быть применены тогда, когда AV-данные и файловые данные передают вместе подобно тому, как это осуществляют при доставке гибридного контента. В этом случае исходные блоки включают в себя AV-данные и файловые данные.
На Фиг. 7 изображена схема последовательности операций, на которой показан способ передачи согласно варианту осуществления настоящего изобретения, приведенному в качестве примера.
Согласно варианту осуществления настоящего изобретения, который приведен в качестве примера, на этапе 701 отправитель генерирует информацию об управлении FEC. Согласно варианту осуществления настоящего изобретения, который приведен в качестве примера, информация об управлении FEC включает в себя информацию, относящуюся к конфигурации FEC, информацию, относящуюся к конфигурации кодирования с первой FEC, и информацию, относящуюся к конфигурации кодирования со второй FEC. Однако, варианты осуществления настоящего изобретения, которые приведены в качестве примеров, не ограничены этим. В случае внеполосной передачи сигналов информация, относящаяся к конфигурации FEC, информация, относящаяся к конфигурации кодирования с первой FEC и информация, относящаяся к конфигурации кодирования со второй FEC содержатся в пакете 300 управления FEC, показанном на Фиг. 3. Однако, в случае внутриполосной передачи сигналов информация, относящаяся к конфигурации FEC, информация, относящаяся к конфигурации кодирования с первой FEC и информация, относящаяся к конфигурации кодирования со второй FEC содержатся в пакетах исправления ошибок (например, как в их заголовках, так и в их полезных нагрузках), как показано на Фиг. 4.
На этапе 703 отправитель генерирует пакеты, включающие в себя сгенерированную информацию, относящуюся к конфигурации FEC, информацию, относящуюся к конфигурации кодирования с первой FEC и информацию, относящуюся к конфигурации кодирования со второй FEC, и передает пакеты в приемник.
На Фиг. 8 изображена схема последовательности операций, на которой показан способ приема согласно варианту осуществления настоящего изобретения, приведенному в качестве примера.
На этапе 801 приемник принимает пакеты от отправителя и выполняет демодуляцию принятых пакетов. На этапе 803 приемник получает информацию, относящуюся к конфигурации FEC, информацию, относящуюся к конфигурации кодирования с первой FEC и информацию, относящуюся к конфигурации кодирования со второй FEC из демодулированных пакетов (пакетов управления FEC или пакетов исправления ошибок), и на ее основании распознает информацию, относящуюся к принятому пакету. Информация, относящаяся к пакету, включает в себя информацию о положении потерянных полезных нагрузок и информацию о принятом блоке FEC, которая соответствует каждому блоку FEC. Следовательно, на основании информации о пакете приемник может определять, является ли принятый пакет пакетом для исходных символов или же пакетом для символов исправления ошибок. Кроме того, приемник может определять тип и структуру FEC, примененной отправителем. На этапе 805 приемник декодирует пакеты.
Варианты осуществления настоящего изобретения, которые приведены в качестве примеров, включают в себя информацию, относящуюся к конфигурации FEC, указывающую применение/неприменение первой FEC и применение/неприменение второй FEC в доставляемом контенте (включающем в себя AV-данные, файл, текст и т.д.). В случае внеполосной передачи сигналов протокол для информации, относящейся к конфигурации FEC, предпочтительно является отличимым от протокола для доставки контента. Если контент с примененной FEC доставляют с использованием протокола RTP, то информацию об управлении FEC передают с использованием протокола RTCP, который является иным, чем протокол RTP для доставки контента. Однако, в случае внутриполосной передачи сигналов информация об управлении FEC во время ее передачи хранится в пакете протокола RTP для контента, к которому применена FEC, вследствие чего ее передачу не осуществляют с использованием иного протокола. При передаче с использованием транспортного протокола MMT информацию об управлении FEC для внеполосной передачи сигналов передают по протоколу MMT управления передачей.
Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, информация, относящаяся к конфигурации FEC может включать в себя информацию о границах блока для блока FEC, полученного путем разделения контента на полезные нагрузки и их кодирования с FEC. В случае внеполосной передачи сигналов информация о границах блока включает в себя номер пакета начала/конца блока первой FEC, переданного непосредственно после передачи информации о конфигурации FEC. Информация, относящаяся к конфигурации FEC, включает в себя, по меньшей мере, одну из следующих: информацию, относящуюся к типу FEC, информацию, относящуюся к "подтяжке", информацию, относящуюся к укорочению, и информацию, относящуюся к выкалыванию. Одна из информации о типе FEC для первой FEC и информации о типе FEC для второй FEC включает в себя, по меньшей мере, один из следующих кодов: код RS(N,K) по GF(2^n), код LDPC (N,K) по GF(2), турбокод (N,K) по GF(2), код Raptor(N,K) по GF(2), и код RaptorQ(N,K) по GF(2^m), где n и m - целые числа, превышающие 1.
В случае внутриполосной передачи сигналов информация, относящаяся к конфигурации FEC, во время его передачи хранится в пакете для доставки контента, защищенном посредством FEC (включая режим "без кодирования"). В качестве протокола для информации, относящейся к конфигурации FEC, указывающей, применена ли для доставляемого контента первая FEC, или же для этого контента применена вторая FEC, может использоваться иной протокол, чем протокол для контента с примененной FEC (включая режим "без кодирования"), или тот же самый протокол. Информацию, относящуюся к конфигурации FEC, передают в пакете для доставки контента с примененной FEC.
На Фиг. 9 показана структура системы MMT согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
На левой стороне чертежа Фиг. 9 показана структура системы MMT, а на его правой стороне показана подробная структура функции доставки.
Уровень 905 медиакодирования сжимает звуковые и/или видеоданные и передает сжатые данные в уровень 910 функции инкапсуляции.
Уровень функции инкапсуляции 910 упаковывает или пакетирует сжатые звуковые/видеоданные в виде, аналогичном формату файла, и выводит пакетированные данные в функцию 920 доставки.
Функция 920 доставки преобразовывает выходные данные уровня 910 функции инкапсуляции в формат полезной нагрузки MMT, добавляет к ним заголовок транспортного пакета MMT и выводит их в транспортный протокол 930 в виде транспортного пакета MMT или выводит выходные данные уровня 910 функции инкапсуляции в транспортный протокол 930 в виде пакета RTP с использованием существующего протокола RTP. После этого транспортный протокол 930 преобразовывает свои входные данные в один из транспортных протоколов: UDP и TCP, и передает их в протокол 940 Интернет.
Наконец, протокол 940 Интернет преобразовывает выходные данные транспортного протокола 930 в IP-пакет.
Передача предложенного пакета FEC может производиться в виде, по меньшей мере, одного из следующих форматов: в формате полезной нагрузки MMT, транспортного пакета MMT и пакета RTP.
На Фиг. 10 показана структура пакета управления FEC для внутриполосной передачи сигналов согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
В случае внутриполосной передачи сигналов информация об управлении FEC хранится, по меньшей мере, в одном из пакетов, в которых передают блок FEC, или хранится во всех пакетах для надежности. Как показано на Фиг. 10, предпочтительно передача информации об управлении FEC может производиться в заголовке 1010 пакета, но не ограничена этим вариантом.
Пакет управления FEC включает в себя полезную нагрузку 1000 управления FEC для кодирования информации, относящейся к конфигурации, и соответствующего ей заголовка 1010, как показано на Фиг. 10.
Заголовок 1010 пакета включает в себя поле 1012 "тип полезной нагрузки", поле 1014 "порядковый номер", поле 1015 "длина пакета", поле 1016 "структура кодирования" и поле 1018 "конфигурация кодирования с FEC".
Поле 1012 "тип полезной нагрузки" указывает, является ли полезная нагрузка в пакете FEC исходной полезной нагрузкой, пакетом "первое исправление ошибок" (Repair-1) или пакетом "второе исправление ошибок" (Repair-2).
Поле 1014 "порядковый номер" представляет собой номер, последовательно и один за другим присваиваемый каждому пакету FEC для последовательного увеличения его номера.
Поле 1015 "длина пакета" отображает размер пакетных данных, которые фактически передает пакет. В случае внутриполосной передачи сигналов, в отличие от внеполосной передачи сигналов, добавляют поле 1015 "длина пакета" в заголовке пакета FEC. При использовании поля 1015 "длина пакета" может быть определена граница между пакетами, что позволяет правильно принимать непрерывный поток пакетов. Кроме того, при использовании поля 1015 "длина пакета" даже несмотря на то, что пакет потерян, сначала может быть восстановлена информация, содержащаяся в заголовке потерянного пакета, путем декодирования с FEC, определена длина пакета в зависимости от информации, содержащейся в заголовке, и получена информация о длине пакета.
Поле 1016 "структура кодирования" включает в себя информацию 1016a, относящуюся к конфигурации FEC, указывающую применение/неприменение первой FEC и/или применение/неприменение второй FEC, информацию 1016b, относящуюся к границам блока FEC, и флаг 1016c продолжения конфигурации FEC.
Поле 1018 "конфигурация кодирования с FEC" включает в себя информацию 1018a, относящуюся к типу FEC, информацию 1018b, относящуюся к "подтяжке", информацию 1018c, относящуюся к укорочению, и информацию 1018d, относящуюся к выкалыванию.
Ниже приведено описание прямого способа передачи сигналов коррекции ошибок на уровне приложений (AL-FEC) согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
1. Модель потерь
Что касается модели канала для AL-FEC, то можно предположить наличие следующих двух типов моделей потерь.
Стирание в сети обычно происходит не только случайным образом, но также и пачками, вследствие чего предпочтительно предположить следующую модель канала со стиранием "случайное + пачками".
Канал REIN со стиранием, специфицированный в документе "DVB AL-FEC Bluebook", может быть объединен с каналом со случайным стиранием. Канал повторяющихся электрических импульсных помех (REIN) может вызывать стирание пачек с фиксированной по времени длительностью, равной 8 мс, в цифровой абонентской линии (DSL).
1.1 Модель канала со стиранием "случайное + REIN"
- Повторяющиеся электрические импульсные помехи (REIN): стирание пачек с фиксированной по времени длительностью (8 мс).
На Фиг. 11 показан пример модели GEEC с двумя состояниями согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
Модель канала Гильберта-Эллиота (Gilbert-Elliot) со стиранием (GEEC) с двумя состояниями включает в себя хорошее состояние 1100 и плохое состояние 1200, как показано на Фиг. 11. На Фиг. 11 хорошее состояние 1100 представляет собой состояние с низкими потерями, а плохое состояние 1200 представляет собой состояние с высокими потерями, вызывающими стирание пачек.
1.2 Модель канала Гильберта-Эллиота со стиранием (GEEC) с двумя состояниями
- Хорошее состояние: канал со случайным стиранием (состояние с низкими потерями)
- Плохое Состояние: канал со стиранием пачек (состояние с высокими потерями).
2. Моделирование структуры двухступенчатого кодирования с FEC
На Фиг. 12a и Фиг. 12b показаны структуры одноступенчатого и двухступенчатого кодирования с FEC согласно варианту осуществления настоящего изобретения, который приведен в качестве примера. В частности, на Фиг. 12a показана структура одноступенчатого кодирования с FEC, а на Фиг. 12b показана структура двухступенчатого кодирования с FEC согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
Структура одноступенчатого кодирования с FEC добавляет к каждому подблоку контроль четности FEC, соответствующий P=P1+P2.
С другой стороны структура двухступенчатого кодирования с FEC добавляет к каждому подблоку контроль P1 четности FEC и добавляет к исходному блоку, включающему в себя все M подблоков, контроль P2 четности FEC.
На Фиг. 13 - Фиг. 18 показаны результаты моделирования для структуры двухступенчатого кодирования с FEC и структуры одноступенчатого кодирования с FEC на канале "случайные + повторяющиеся электрические импульсные помехи (REIN)" согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
В гибридной службе доставки, в которой, например, потоковую передачу AV-данных и доставку файлов осуществляют в одном и том же потоке, эти AV-данные и файловые данные передают вместе, как показано на чертеже. Обычно, если для AV-данных необходим контроль четности FEC, соответствующий P1, то файловые данные требуют более высоких рабочих характеристик FEC, чем рабочие характеристики FEC для AV-данных. Поэтому, когда производят одновременную потоковую передачу AV-данных и файловых данных, то необходим контроль четности FEC, соответствующий P=P1+P2, для обеспечения соответствия рабочим характеристикам, требуемым для файловых данных. Однако, несмотря на то, что этот способ является эффективным в условиях работы канала, в которых происходит случайное стирание, вследствие его неэффективности в условиях работы канала, в которых происходит стирание пачек, необходим более эффективный способ. Обычно способ исправления стирания пачек может улучшать рабочие характеристики декодирования за счет использования очень длинного кода или путем переключения стирания пачек на случайное стирание путем перемежения. Однако, исправление стирания пачек с использованием длинного кода или перемежения может, в конечном счете, вызывать увеличение объема AV-данных. Соответственно, необходим способ, являющийся эффективным при обеспечении гибридной службы доставки в условиях, когда происходит стирание пачек.
На Фиг. 13 - Фиг. 18 показаны результаты моделирования, выполненного в условиях работы канала "случайные + REIN" после добавления контроля четности FEC, соответствующего P=P1+P2, к каждому подблоку для структуры одноступенчатого кодирования с FEC, и после добавления контроля P1 четности FEC к каждому подблоку и контроля P2 четности FEC к исходному блоку, включающему в себя M подблоков, для структуры двухступенчатого кодирования с FEC.
Ниже приведено краткое описание параметров моделирования.
- Скорость передачи данных: 8 мегабит в секунду (Мб/с)
- Размер полезной нагрузки: 1000 байт
- Код: идеальный код
- Общие непроизводительные издержки: 20% (P=P1+P2)
- В случае одноступенчатого кодирования P: 20%
- В случае двухступенчатого кодирования P1-P2: 15% - 5%
- Длина (K) подблока: 200, 400
- Количество (M) подблоков: 32 для K=200 и 16 для K=400
- Длительность блока: 200 мс для подблока длиной 200 и 400 мс для подблока длиной 400
- Случайное стирание: частота стирания пакетов (PER)=0~20%
- Стирание пачек: REIN (8 мс) с частотой стирания пакетов (PER)=0,0001, 0,001, 0,01
Используемый здесь термин "длина подблока" может относиться к количеству полезных нагрузок, составляющих подблок. Когда размер полезной нагрузки установлен равным 1000 байтов, подблок длиной, равной 200, имеет длительность блока FEC, равную, приблизительно, 200 мс при работе, требующей скорости передачи данных, равной 8 мегабит в секунду (Мб/с), а подблок длиной, равной 400, имеет длительность блока FEC, равную 400 мс. Из этих ситуаций можно вычислить, сколько полезных нагрузок стерто из блока FEC, когда стирание пачек REIN (8 мс) происходит один раз. Моделирование было выполнено подобным образом.
На Фиг. 13 - Фиг. 15 показаны результаты для структуры двухступенчатого кодирования с FEC для K=200 согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров.
На Фиг. 13 показана частота появления ошибочных кадров (PER) блока FEC-1 (подблок 200 + блок P1 контроля четности 15%) после его декодирования с FEC в структуре одноступенчатого кодирования с FEC, когда назначена пачка с P1=15% (P2=0). В условиях со случайным стиранием, где параметр PER составляет, приблизительно, 10^(-7), показано случайное стирание, составляющее, приблизительно, 4,4% при отсутствии стирания пачек. Однако, поскольку добавлено стирание пачек с длиной пачки =8 пакетам с PER 10^(-4), 10^(-3), 10^(-2), это работает хорошо, приблизительно, при P1=15%, но происходит существенное ухудшение рабочих характеристик вследствие возникновения стирания пачек. На Фиг. 14 показан параметр PER при добавлении P2=5%, то есть, когда к структуре одноступенчатого кодирования с FEC добавлено стирание пачек P=P1+P2 (20%). Как показано на чертеже, ухудшение рабочих характеристик может происходить тогда, когда для каждой пачки добавлена PER 10^(-3), 10^(-2), за исключением стирания пачек, составляющего 10^(-4), а это показывает, что сложно добиться целевых рабочих характеристик посредством структуры одноступенчатого кодирования с FEC в условиях работы канала, когда происходит стирание пачек. Обычно параметр PER для AV-данных устанавливают равной 10^(-7). В этом случае для файловых данных требуется более низкий параметр PER, чем этот. Это объясняется следующим: несмотря на то, что AV-данные допускают потерю некоторых пакетов, файловые данные являются бесполезными в случае потери их пакетов. Следовательно, когда происходит стирание пачек, потери файловых данных не могут быть предотвращены в структуре одноступенчатого кодирования с FEC.
На Фиг. 15 показаны характеристики PER для блока FEC-1 при добавлении непроизводительных издержек P1=15% к каждому подблоку и при добавлении непроизводительных издержек P2=5% к 32 подблокам (то есть, к исходному блоку) для структуры двухступенчатого кодирования с FEC. Как показано на чертеже, во всех областях со стиранием пачек, составляющим 10^(-4), 10^(-3) и 10^(-2) продемонстрированы превосходные рабочие характеристики.
На основании этих результатов, предпочтительно воспроизводить AV-данные с задержкой (которая в этом эксперименте составляет 200 мс), соответствующей длительности подблока, путем назначения пачки с P1, равным, приблизительно, 15% к каждому подблоку, и предоставления этих AV-данных пользователю. При воспроизведении файловых данных, для которых задержка не является относительно большой проблемой, предпочтительно выполнять декодирование по блокам FEC-2 при неудаче декодирования по блокам FEC-1. Таким образом, можно обеспечить не только воспроизведение AV-данных, но также и воспроизведение файловых данных даже в тех условиях, когда происходит стирание пачек. Обычно стирание пачек происходит непредсказуемо и нечасто, вследствие чего оно не является фатальным для AV-данных, которые допускают потерю пакетов до некоторой степени. Однако, файловые данные, которые не допускают потери пакетов, не могут быть воспроизведены, когда происходит стирание пачек даже несмотря на то, что оно происходит редко, а это приводит к неудобству для пользователей и снижает работоспособность системы. Однако, согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, AV-данные могут быть созданы так, что вызывают небольшую задержку, подобную длительности подблока, поскольку они допускают задержку. Например, если весь исходный блок закодирован с FEC посредством структуры одноступенчатого кодирования с FEC, параметры PER могут быть улучшены по сравнению с тем, когда он закодирован с FEC посредством структуры двухступенчатого кодирования с FEC. Однако, когда он закодирован с FEC посредством структуры одноступенчатого кодирования с FEC, задержка AV-данных может достигать 200 мс ×32=6,4 секунды, вызывая избыточную задержку, вследствие чего этот вариант не является предпочтительным, в особенности, для потоков в реальном времени.
На Фиг. 16 - Фиг. 18 показаны рабочие характеристики структуры двухступенчатого кодирования с FEC и структуры одноступенчатого кодирования с FEC для K=400 согласно варианту осуществления настоящего изобретения, который приведен в качестве примера. На Фиг. 16 - Фиг. 18 показаны те же самые тенденции, что и для K=200. Другими словами, показанная на Фиг. 18 структура двухступенчатого кодирования с FEC является лучшей по параметрам FER по сравнению со структурой одноступенчатого кодирования с FEC их Фиг. 16 и Фиг. 17 в условиях, где происходит стирание пачек.
На Фиг. 19 показана концепция кодирования/декодирования потоков с AL-FEC, для которой применена система MMT, согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
Со ссылкой на Фиг. 19, система MMT включает в себя уровень 1900MMT D.1, уровень 1930 MMT E.1, и уровень 1920 MMT D.2/уровень протокола приложений IETF.
Уровень 1900 MMT D.1 включает в себя генератор 1901 формата полезной нагрузки, модульный преобразователь 1903 AL-FEC и кодер/декодер 1905 с FEC.
При кодировании уровень 1900 MMT D.1 принимает пакет MMT (например, формат, созданный с целью хранения AV-данных, файла, текста и т.д. в запоминающем устройстве или с учетом его передачи) из уровня 1930 MMT E.1 и разделяет этот пакет MMT посредством генератора 1901 формата полезной нагрузки на исходные полезные нагрузки для передачи, генерируя исходный блок. Модульный преобразователь 1903 AL-FEC преобразовывает исходный блок в блок информации, который представляет собой двумерный массив, включающий в себя полезные нагрузки информации, имеющие одну и ту же длину. Кодер 1905 с FEC генерирует блок контроля четности из блока информации путем кодирования блока информации с FEC заданным кодом FEC и передает блок контроля четности в генератор 1901 формата полезной нагрузки. Генератор 1901 формата полезной нагрузки генерирует формат полезной нагрузки MMT путем добавления блока контроля четности к исходному блоку и путем добавления заголовка полезной нагрузки (PLH) к каждой полезной нагрузке для пакетирования, и передает формат полезной нагрузки MMT в уровень 1920 MMT D.2/уровень протокола приложений IETF. Транспортный протокол, такой как, например, протокол UDP, добавляет заголовок протокола UDP, а во время передачи снова добавляют IP-заголовок.
Ниже приведено описание примера структуры двухступенчатого кодирования с FEC при использовании таких кодов FEC, как, например, коды RS и коды LDPC (или коды Raptor/RaptorQ).
Исходный блок, включающий в себя заданное количество исходных полезных нагрузок, защищен схемой двухступенчатого кодирования с FEC в следующих четырех случаях для восстановления его потерь во время передачи.
- Случай 0: соответствует структуре без кодирования
- Случай 1: соответствует структуре кодирования с FEC-1 (например, структуре одноступенчатого кодирования с FEC)
- Случай 2: соответствует структуре кодирования с FEC-2 (например, структуре одноступенчатого кодирования с FEC)
- Случай 3: соответствует структуре кодирования с FEC-1 и FEC-2 (например, структуре двухступенчатого кодирования с FEC).
Для кода FEC-1 и FEC-2 код используют код RS и код LDPC (или Raptor/RaptorQ).
Для случая 0 кодирование с FEC-1 и FEC-2 пропускают, и для структуры одноступенчатого кодирования с FEC устанавливают M равное 1. Для случая 1 пропускают кодирование с FEC-1, а для случая 2 пропускают кодирование с FEC-2.
Для структуры двухступенчатого кодирования с FEC исходный блок включает в себя M подблоков, и каждый подблок кодируют кодом FEC-1, тогда как исходный блок кодируют кодом FEC-2.
В приведенной ниже таблице 1 показаны возможные комбинации кода RS и кода LDPC для структуры двухступенчатого кодирования с FEC. Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, код LDPC может быть заменен кодом Raptor или RaptorQ.
Таблица 1
Код FEC-1
Код FEC-2
Допустимость
RS
RS
Разрешен
RS
LDPC
Разрешен
LDPC
LDPC
Разрешен
LDPC
RS
Не разрешен
Следовательно, для имеющейся структуры кодирования с FEC со схемой двухступенчатого кодирования с FEC, включая структуру одноступенчатого кодирования с FEC, возможны следующие шесть случаев. Согласно вариантам осуществления настоящего изобретения, которые приведены в качестве примеров, код LDPC может быть заменен кодом Raptor или RaptorQ.
- без кодирования
- RS-кодирование (одноступенчатое)
- LDPC-кодирование (одноступенчатое)
- RS-RS кодирование (двухступенчатое)
- RS-LDPC кодирование (двухступенчатое)
- LDPC-LDPC кодирование (двухступенчатое)
Следует отметить, что случай 1 соответствует тому, что исходный блок включает в себя относительно небольшое количество исходных полезных нагрузок, тогда как случай 2 соответствует тому, что исходный блок включает в себя относительно большое количество исходных полезных нагрузок. Если количество исходных полезных нагрузок для источника/подблока и количество полезных нагрузок контроля четности, добавляемых кодом FEC, является меньшим или равным 255, то используют код RS. В противном случае используют код LDPC. Проще говоря, если количество исходных полезных нагрузок для источника/подблока подразделено на 200 или менее, 400, 800, 1600, 3200 и 6400 и соответствует этим значениям, то исходные полезные нагрузки кодируют кодом RS для 200 или менее, тогда как для 400 или более их кодируют кодом LDPC (или кодом Raptor/RaptorQ).
На Фиг. 20a и Фиг. 20b показаны структуры одноступенчатого и двухступенчатого кодирования с FEC согласно варианту осуществления настоящего изобретения, который приведен в качестве примера. В частности, на Фиг. 20a показана структура одноступенчатого кодирования с FEC, а на Фиг. 20b показана структура двухступенчатого кодирования с FEC.
Со ссылкой на Фиг. 20a, структура одноступенчатого кодирования с FEC добавляет к одному подблоку контроль четности FEC, соответствующий P1.
В отличие от этого, со ссылкой на Фиг. 20b, структура двухступенчатого кодирования с FEC добавляет контроль P1 четности FEC к каждому подблоку и добавляет контроль P2 четности FEC к исходному блоку, включающему в себя все M подблоков.
На Фиг. 21 показаны конфигурации блока доставки FEC и кластера доставки FEC согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
Со ссылкой на Фиг. 21, все исходные полезные нагрузки исходного блока из Фиг. 21 могут быть одинаковыми по длине или могут отличаться друг от друга, как показано на Фиг. 21. В последнем случае генерируют двумерный массив (например, блок информации), имеющий одну и ту же длину, путем добавления данных заполнения незначащей информацией в каждую исходную полезную нагрузку, как показано на Фиг. 22.
На Фиг. 22 - Фиг. 24 показаны примеры способа отображения исходного блока в блоке информации согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
В частности, на Фиг. 22 показан способ отображения исходного блока в блоке информации.
Если K из блока информации равно 200 или менее, то информационные символы для RS-кодирования могут быть сгенерированы так, как показано на Фиг. 23, путем преобразования исходного блока в блок информации, или информационные символы для LDPC-кодирования могут быть сгенерированы так, как показано на Фиг. 24.
На Фиг. 25 показана структура кадра Рида-Соломона (RS) (RS-кадра) согласно варианту осуществления настоящего изобретения, который приведен в качестве примера. На Фиг. 26 показана структура кадра контроля четности с малой плотностью (LDPC) согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
Со ссылкой на Фиг. 25 и Фиг. 26, символы контроля четности генерируют путем выполнения RS-кодирования и LDPC-кодирования информационных символов, как показано, соответственно, на Фиг. 25 и Фиг. 26. Несмотря на то, что в случае из Фиг. 26 укорочение и выкалывание не показаны, символы контроля четности могут быть сгенерированы путем выполнения укорочения и выкалывания, как и в случае из Фиг. 25, с использованием кода LDPC, имеющего заданную длину, для различных K и P. Может выполняться только укорочение или только выкалывание, но это не является обязательным условием.
На Фиг. 27 показано отображение блока контроля четности для символов контроля четности Рида-Соломона (RS) согласно варианту осуществления настоящего изобретения, который приведен в качестве примера. На Фиг. 28 показано отображение блока контроля четности для символов контроля четности LDPC согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
Со ссылкой на Фиг. 27 и Фиг. 28, блок контроля четности RS и блок контроля четности LDPC генерируют из сгенерированных символов контроля четности, как показано на Фиг. 27 и Фиг. 28.
Ниже приведены описания кода RS и кода LDPC.
Примитивный полином RS(N,K) кода по конечному полю GF(2^8) задан следующим образом:
p(x)=x^8+x^4+x^3+x^2+1
Символы в GF(2^8) могут быть представлены следующим образом: (α^7, α^6, α^5, α^4, α^3, α^2, α, 1), где α=00000010 (в двоичной системе).
Каждое кодовое слово RS (rsc) представляет собой код RS(240,40) с информацией объемом 200 байт и контролем четности 40 байт по конечному полю GF(2^8), которое представлено как rsc=(e0, e1,..., e199, p200..., p239) в векторном представлении.
Код LDPC(K+P,K) по конечному полю GF(2) имеет структуру QC-LDPC, включающую в себя K битов информации и P битов контроля четности, где K=L×400 и P=L×80, L=1,2,4,8 или 16.
В частности, часть для контроля четности из кода LDPC имеет вид приблизительно треугольной матрицы, показанной на Фиг. 29.
На Фиг. 29 показана структура матрицы H согласно варианту осуществления настоящего изобретения, который приведен в качестве примера. На Фиг. 30 показаны конфигурации блока пакетов FEC и кластера пакетов FEC согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
Со ссылкой на Фиг. 29, K=400, а P=L×80 (L=1, 2, 4, 8 или 16).
Ниже описан блок пакетов FEC.
Со ссылкой на Фиг. 30, в головной части каждой полезной нагрузки блока/кластера доставки FEC, включающей в себя исходный блок/подблок и блок контроля четности, как показано на Фиг. 30, установлен заголовок пакета FEC (заголовок полезной нагрузки (PLH)), и его передают в блоке/кластере пакетов FEC, включающем в себя пакеты FEC.
Ниже приведено описание формата заголовка пакета FEC, в котором хранят и передают информацию о конфигурации FEC.
В частности, он представляет собой структуру кодирования такого типа, к которой отправителем применена AL-FEC.
Другими словами, формат заголовка пакета FEC включает в себя поле "структура FEC" (fec_structure), а его определения приведены ниже.
fec_structure: отображает структуру кодирования, выбранную для генерации блока FEC (или блока контроля четности).
Первым случаем "структуры FEC" (fec_structure) является следующий.
b000: структура без кодирования
b00l: структура кодирования RS
b010: структура кодирования LDPC
b0l1: структура двухступенчатого кодирования RS-RS
b100: структура двухступенчатого кодирования RS-LDPC
b101: структура двухступенчатого кодирования LDPC-LDPC
Остальные: зарезервированы.
Вторым случаем "структуры FEC" (fec_structure) является следующий.
b000: структура без кодирования
b001: структура кодирования RS
b010: структура кодирования LDPC
b101: структура двухступенчатого кодирования RS-RS
bl10: структура двухступенчатого кодирования LDPC-LDPC
b111: структура двухступенчатого кодирования LDPC-LDPC
Остальные: зарезервированы
Во втором случае b2=1 указывает применение структуры двухступенчатого кодирования, b1=1 указывает применение кода LDPC, а b0=1 указывает применение кода RS. Код LDPC может быть заменен кодом Raptor или RaptorQ.
Сигнал для fec_structure может храниться в заголовке пакета FEC и может быть передан как внутриполосный сигнал, или может храниться в пакете управления FEC или в заголовке, или в полезной нагрузке управляющего пакета RTP, такого как, например, протокол RTCP, во время его передачи, что позволяет приемнику получать информацию о структуре FEC (fec_structure).
Из приведенного выше описания очевидно, что за счет передачи в приемник информации, относящейся к конфигурации FEC, включающей в себя информацию, указывающую применение/неприменение каждой из первой и второй FEC, или иной информации, относящейся к конфигурации кодирования, отправитель может избирательно доставлять контент, к которому применена FEC.
В вариантах осуществления настоящего изобретения, которые приведены в качестве примеров, FEC может применяться избирательно в зависимости от состояния сети или качества обслуживания (QoS) контента.
За счет периодической и повторной передачи информации, относящейся к конфигурации FEC, включающей в себя информацию, указывающую применение/неприменение каждой из первой и второй FEC, или информации об управлении FEC, включающей в себя другую информацию, относящуюся к конфигурации кодирования, или за счет передачи информации, относящейся к конфигурации FEC, предложенным способом внутриполосной передачи сигналов, варианты осуществления настоящего изобретения, которые приведены в качестве примеров, могут обеспечивать возможность получения информации, относящейся к конфигурации FEC, даже новым приемником в ходе обслуживания, вследствие чего даже новый приемник может восстанавливать потерянные данные путем выполнения декодирования с FEC, обеспечивая, тем самым, предоставление качественных услуг пользователям.
Несмотря на то, что изобретение было продемонстрировано и описано со ссылкой на определенные варианты его осуществления, которые приведены в качестве примеров, для специалистов в данной области техники понятно, что могут быть сделаны различные изменения, касающиеся формы и подробностей, не выходя за пределы сущности и объема изобретения, определяемых прилагаемой формулой изобретения и ее эквивалентами.