Код Raptor - Raptor code
В Информатика, Коды Raptor (рэпя бы торНадо;[1] видеть Коды торнадо ) являются первым известным классом коды фонтанов с линейным кодированием и декодированием по времени. Они были изобретены Амин Шокроллахи в 2000/2001 г. и впервые были опубликованы в 2004 г. в виде расширенного реферата. Коды Raptor являются значительным теоретическим и практическим улучшением по сравнению с Коды LT, которые были первым практическим классом коды фонтанов.
Коды Raptor, как и коды фонтанов в целом, кодируют заданный исходный блок данных, состоящий из числа k символов равного размера в потенциально безграничную последовательность кодирующие символы такой, что прием любого k или более кодирующих символов позволяет восстановить исходный блок с некоторой ненулевой вероятностью. Вероятность того, что исходный блок может быть восстановлен, увеличивается с количеством символов кодирования, полученных выше. k становится очень близким к 1, как только количество полученных символов кодирования лишь очень немного превышает k. Например, с кодом Raptor последнего поколения RaptorQ коды, вероятность сбоя декодирования при k были получены символы кодирования менее 1%, и вероятность сбоя декодирования при к + 2 кодировок получено меньше одного из миллиона. (Видеть Вероятность восстановления и накладные расходы раздел ниже для более подробного обсуждения этого.) Символ может быть любого размера, от одного байта до сотен или тысяч байтов.
Коды Raptor могут быть систематическими или несистематическими. В систематическом случае символы исходного исходного блока, то есть исходные символы, включаются в набор кодирующих символов. Примером систематического кода Raptor является код, определяемый Партнерский проект третьего поколения для использования в мобильный сотовый беспроводной широковещательная и многоадресная рассылка, а также используется Стандарты DVB-H для передачи данных по IP на портативные устройства (см. внешние ссылки). Коды Raptor в этих стандартах определены также в IETF RFC 5053. Самая продвинутая версия практического кода Raptor - это RaptorQ, определенный в IETF RFC 6330.
Информация об эффективной программной реализации кода RaptorQ указана в IETF RFC 6330 (самый продвинутый код фонтана), можно найти на веб-сайт проекта Codornices в ICSI .
Онлайн коды являются еще одним примером несистематического фонтанного кода.
Обзор
Коды Raptor образуются путем объединения двух кодов.
Фиксированная ставка код стирания, обычно с довольно высокой скоростью, применяется как «предварительный код» или «внешний код». Этот предварительный код может сам по себе представлять собой объединение нескольких кодов, например, в коде, стандартизированном 3GPP. код проверки четности высокой плотности полученный из двоичная последовательность Грея соединяется с простым регулярным код проверки четности с низкой плотностью. Другой возможностью было бы объединение Код Хэмминга с кодом проверки на четность низкой плотности.
Внутренний код принимает результат операции предварительного кодирования и генерирует последовательность символов кодирования. Внутренний код - это форма Коды LT. Каждый символ кодирования - это XOR псевдослучайно выбранного набора символов из выхода предварительного кода. Количество символов, которые объединяются с помощью операции XOR, чтобы сформировать выходной символ, выбирается псевдослучайно для каждого выходного символа в соответствии с определенным распределением вероятностей.
Это распределение, а также механизм генерации псевдослучайных чисел для выборки этого распределения и выбора символов для XOR должны быть известны как отправителю, так и получателю. В одном из подходов каждый символ сопровождается идентификатором, который может использоваться в качестве начального числа для генератора псевдослучайных чисел для генерации этой информации, при этом отправитель и получатель выполняют один и тот же процесс.
В случае несистематических кодов Raptor исходные данные, подлежащие кодированию, используются в качестве входных данных на этапе предварительного кодирования.
В случае систематических кодов Raptor вход на стадию предварительного кодирования получается путем применения сначала операции, обратной операции кодирования, которая генерирует первые k выводить символы в исходные данные. Таким образом, применение нормальной операции кодирования к результирующим символам приводит к тому, что исходные исходные символы регенерируются как первые k выходные символы кода. Необходимо обеспечить, чтобы псевдослучайные процессы, генерирующие первые k выходные символы генерируют обратимую операцию.
Расшифровка
Возможны два подхода к декодированию кодов Raptor. При конкатенированном подходе сначала декодируется внутренний код с использованием алгоритма распространения уверенности, который используется для кодов LT. Декодирование считается успешным, если эта операция восстанавливает достаточное количество символов, так что внешний код может восстанавливать оставшиеся символы с использованием алгоритма декодирования, подходящего для этого кода.
В комбинированном подходе отношения между символами, определяемыми как внутренним, так и внешним кодами, рассматриваются как единый комбинированный набор одновременных уравнений, которые могут быть решены обычными средствами, обычно с помощью Гауссово исключение.
Вычислительная сложность
Коды Raptor требуют O (размер символа) время для генерации символа кодирования из исходного блока и требовать O (размер исходного блока) время восстановить исходный блок как минимум из k кодирующие символы.
Вероятность восстановления и накладные расходы
Накладные расходы - это количество дополнительных символов кодирования помимо числа k символов источника в исходном исходном блоке необходимо получить, чтобы полностью восстановить исходный блок (исходя из соображений элементарной теории информации, полное восстановление исходного блока с k исходные символы не возможны, если меньше чем k кодирования символов.) Вероятность восстановления - это вероятность того, что исходный блок будет полностью восстановлен после приема заданного количества случайных символов кодирования, сгенерированных из исходного блока. Код RaptorQ, указанный в IETF RFC 6330 имеет следующий компромисс между вероятностью восстановления и накладными расходами на восстановление:
- Вероятность восстановления более 99% при накладных расходах 0 символов (восстановление из k полученные кодирующие символы).
- Вероятность восстановления более 99,99% при накладных расходах в 1 символ (восстановление из к + 1 полученные кодирующие символы).
- Вероятность восстановления более 99,9999% при накладных расходах в 2 символа (восстановление из к + 2 полученные кодирующие символы).
Эти утверждения справедливы для всего диапазона k поддерживается в IETF RFC 6330, т.е. k= 1, ..., 56403. Видеть IETF RFC 6330 Больше подробностей.
Легальное положение
Qualcomm, Inc. опубликовала Заявление о правах интеллектуальной собственности на код Raptor указано в IETF RFC 5053, и Заявление IPR для более продвинутого кода RaptorQ указано в IETF RFC 6330. Эти заявления отражают обязательство по лицензированию Qualcomm, Inc. с уважением к Стандарт MPEG DASH. Стандарт MPEG DASH внедрен множеством компаний, в том числе Компании-участники DASH Industry Forum.
Смотрите также
Примечания
- ^ Амин Шокроллахи (31 января 2011 г.). Разработка кодов Raptor (Речь). Приглашенный доклад на Kungliga Tekniska högskolan. Получено 24 февраля 2012.
2. Реализацию Raptor Code RFC5053 с открытым исходным кодом можно найти здесь: https://code.google.com/p/raptor-code-rfc/
3. Информация об эффективной программной реализации кода RaptorQ указана в IETF RFC 6330 (самый продвинутый код фонтана), можно найти на веб-сайт проекта Codornices в ICSI .
Рекомендации
- Амин Шокроллахи и Майкл Луби (2011). «Коды хищников». Основы и тенденции в теории коммуникации и информации. Теперь издатели. 6 (3–4): 213–322. Дои:10.1561/0100000060.
- Амин Шокроллахи, «Коды хищников», IEEE Transactions on Information Theory, vol. 52, стр. 2551-2567, 2006. PDF (требуется логин)
- 3GPP Партнерский проект третьего поколения
- DVB Цифровое видеовещание
- 3GPP TS26.346 Техническая спецификация 3GPP для службы мультимедийного вещания / многоадресной передачи: протоколы и кодеки.
- RFC5053 Схема прямого исправления ошибок Raptor для доставки объекта
- Характеристики IP-передачи данных DVB-H
- RFC6330 Схема прямого исправления ошибок RaptorQ для доставки объектов
- [1] Результат поиска "IPR" для RFC 5053, с заявлениями некоторых владельцев патентов
- [2] Результат поиска "IPR" для RFC 6330, с заявлениями некоторых владельцев патентов