The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Доступен аудиокодек Opus 1.4"
Отправлено Аноним, 24-Апр-23 00:02 
> В случае с царапинами, теряется предсказуемое,

Что за царапины с предсказуемым объемом выбитого?! Не, оно немного не так - ридсоломону просто пофиг сколько корректировать пока это ниже его максимума. Сколько будет столько и откорректирует. А с interleave - uncorrectable на первом уровне до балды, ведет только к маркировке результатов как erasure. Что на руку второму уровню (рид соломон может чинить вдвое больше ошибок если такое знание есть). И вот выпадение пачки битов за присест трансформируется в выпадение одного символа в каждой группе второго уровня FEC. Ради этого interleave/deinterleave и два слоя и затеваются.

И это, с пакетами тоже можно очень похожий interleaving делать. Так что выпавший пакет с 20 байтами данных на самом деле после deinterleave допустим ведет к "потерян 5-й байт в 20 пакетах". И вот это вот второй уровень рида соломона влет починит. Что ему 1 байт из 20 восстановить, если избыточности для этого хватало?

Минус этой идеи только в том что та формулировка подразумевает что для интерливинга пакеты забуферили и это некий лаг относительно реального времени. Однако при желании можно нащупать некий компромисс. Да, это уже некоторые продвинутости, но так можно было.

> не очень высокое число бит и если они потеряны, то рядом есть данные,
> по которым можно восстановить утраченное.

Это "базовый" вариант идеи. В случае CIRC уровней два и фэйл первого уровня не смертелен и лишь немного портит данные в ЭН блоках второго уровня после деинтерливинга. Это легко чинит второй уровень. Вон я на примере пакетов описал как это делается.

Грубо говря, берете 20 пакетов по 20 байтов. Теперь переупорядочиваем: в первом пакете все первые байты 20 пакетов. В втором - все вторые. В третьем все третьи. И если вынесло первый пакет, ок, мы потеряли первый байт в 20 пакетах, FEC легко с этим справится. А если бы вы FEC делали на уровне пакета, полный вылет 1го пакета -> пакета нет, данных нет, FEC нет, фиксить нечего, упс. Некая разница, да? :) Но это подразумевает что вы морально готовы буферить пакеты получив некую добавочную латенси.

> Можно буферизировать несколько секунд, только если половина потеряна, то без
> умножения трафика восстанавливать там нечего.

Разумеется FEC всегда добавляет оверхед. Сколько именно - зависит от того какой объем разрушений хочется уметь парировать.

> А умножение трафика это ведь вещь щекотливая и приведёт к ещё большим потерям.

Может да, а может нет. С другой стороны на lossy линке (беспроводные, там же помехи, затухание сигнала, нестабильный уровень, отраженка и все такое) если данных нет, квакать будет, а если немного теряется, FEC может и выдюжить.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру