Я думаю, что это полезно для некоторых приложений, таких как Voice (VoIP), где вы хотите избежать ошибок и где вы никогда не захотите остановить (для повторной передачи пакета NAKed) и подождать (пока он не будет повторно передан).
Таким образом, он может быть реализован поверх транспортного протокола реального времени разновидности UDP.
Разве это не было бы ужасно для латентности?
Вы спрашиваете, увеличивает ли прямое исправление ошибок сквозную задержку? Если это так, я думаю, что ответ «нет», но это увеличивает необходимую пропускную способность.
Я полагаю, что вам всегда нужно некоторое время ожидания, чтобы избежать дрожания; так, например, вы можете сказать: «давайте задержим весь голосовой канал на 200 мсек, поэтому любой / каждый пакет может занять от 0 до 200 мсек, чтобы пересечь Интернет, и будет повторно собран и отправлен через преобразователь D-в-A в другой конец. "
Учитывая эти числа, отсутствие прямой коррекции ошибок может означать, что в каждом периоде 200 мсек вы отправляете 10 пакетов, каждый из которых содержит 20 мсек данных ... и если один из них потерян, то это пробел (сбой) на другом конце.
Принимая во внимание, что некоторое прямое исправление ошибок может означать, что в каждом периоде 200 мс вы все равно отправляете 10 пакетов ... каждый пакет содержит 20 мс данных, плюс 10 мс данных, которые уже были переданы в другом пакете (или , может быть, вы отправляете 30 пакетов вместо 20). Затем, если какой-либо один пакет потерян, данные, которые он переносил, доставлялись с избыточностью (половина в каждом из двух других пакетов), что позволяет избежать сбоев в декодированном выводе.