Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

дмитрий юдин3

813 views

Published on

  • Be the first to comment

  • Be the first to like this

дмитрий юдин3

  1. 1. Работает, только если данные всегда доступны по требованию. Net Sender Internet Receiver Multiplexer Demultiplexer Audio Video Audio VideoEncoder Encoder Decoder Decoder Mic Camera Render Render
  2. 2. RTCP – Real-time Transport Control ProtocolRTP – Real-time Transport Protocol (для сигнализационных пакетов) Net Media Data Internet (audio, video) Зависит от Frame ? настроек алгоритма UDP/TCP Описано в RTP-Packet RFC
  3. 3. В общем случае, нет возможности обеспечить гарантированную передачу данных без потерь сохраняя приемлемую задержку. Net 1 UDP Internet 1 1 2 ∆t 2 2 3 ∆t 3 4 4 5 5 ∆t 5 3 Delay=∑∆tUPD – ненадежный < 250ms – okTCP – надежный, но не позволяет 4 < 500ms – acceptableконтролировать задержку Jitter Buffer
  4. 4. В общем случае, нет возможности обеспечить гарантированную передачу данных без потерь сохраняя приемлемую задержку.Но “масштаб бедствия” можно уменьшить: REDundancy, FEC, NACK Net 1 RED 1 2 ∆1 3 2 ∆1 3 ~1 2 3 AMR ISAC 2 Требует поддержки со стороны алгоритма Silk 3 FEC 1 2 2 1 2 4 Увеличивает задержку NACK 1 2 3 1 3 2 1 2 3 lost seqNum Перегрузка канала
  5. 5. Net RTP/RTCP Sender Internet RTP/RTCP Receiver Jitter Buffer Multiplexer RED/FEC/NACK Demultiplexer (RED/FEC/NACK) Audio Video Audio VideoEncoder Encoder Decoder Decoder Mic Camera Render Render
  6. 6. Существует большое количество аудио кодеков предназначенных для передачи голоса по сети. Audio G711, G722 - Delay 20-60ms G723.1, G729AB - Bitrate 8-64kbps Speexother ITU-T’s G7xx - Sampling rate 8-32kHz iLBC AMR (NB, WB) - VAD/DTX iSAC Speex - PLC (Packet Loss Concealment) Silk, Opus iLBC - Complexity < 80MHz iSAC - Open source Silk, Opus - Patent freeСуществует большое количество аудио кодеков НЕ предназначенных для передачи голоса по сети: MP3, AAC, WMA, FLAC…
  7. 7. Выбор видео кодеков совсем невелик. VideoMPEG1/2, H263, MPEG4 H264, VP8 - Encoding quality H264, VP8Key Frame SideInfo 5xDelta Encoder MVK0 D1 D2 D3 D4 Quant Delta Smpls K0 D1 D2Эффективно с точки зрения сжатия, однако, в общем случае, при потере пакета восстановить последующие кадры невозможно.
  8. 8. RTP: First Lost Last Frame N Пытаемся декодировать или пропускаем Video Мусор D e Декодирование c o невозможно d e Ok. Ошибка не r Текст распространяется Ok
  9. 9. Борьба с потерями это всегда компромисс между эффективностьюкодирования и устойчивостью к потерям. Video Избегать длинных цепочек 75 frames K D D K D 3 sec Задержка (залипание картинки), из-за большого размера ключевого кадра и отсутствия обратной связи.
  10. 10. Борьба с потерями это всегда компромисс между эффективностьюкодирования и устойчивостью к потерям. Video Перезапрашивать ключевой кадр K D D K D RTCP RTP Задержка (залипание картинки), из-за большого размера ключевого кадра и Internet позднего принятия решения.
  11. 11. Борьба с потерями это всегда компромисс между эффективностьюкодирования и устойчивостью к потерям. Video Уменьшать пик-фактор peak-factor K D D R1 D D R2 RTCP Не помогает, если R1 сильноConfirmed(R1) ? R1 : K отличается от R2: Size(R2) ~= Size(K). Internet
  12. 12. Борьба с потерями это всегда компромисс между эффективностьюкодирования и устойчивостью к потерям. Video Использовать самовосстановление (всегда декодировать). K D D K Dslice0 Увеличивает битрейт  ухудшает качество картинки при том жеslice1 битрейте.
  13. 13. Борьба с потерями это всегда компромисс между эффективностьюкодирования и устойчивостью к потерям. Video Избегать длинных цепочек Перезапрашивать ключевой кадр Уменьшать пик-фактор (recovery) PLC – Packet Loss Concealment Самовосстанавливающиеся последовательности Все меры бесполезны если отсутствует контроль ширины полосы
  14. 14. Net RTP/RTCP Sender Internet RTP/RTCP Receiver Jitter Buffer RED/FEC/NACK (RED/FEC/NACK) Audio Video Audio VideoEncoder Encoder Decoder Decoder Mic Camera Render Render
  15. 15. Net RTP/RTCP Internet RTP/RTCP Jitter Buffer RED/FEC/NACK (RED/FEC/NACK) Encoder+PLC Rate control Decoder+PLCSilk, iSAC, VP8, Silk, iSAC, VP8,Speex,… H264 Windows, OSX Speex,… H264 iOS, Android X86, ARM AudioProc Mic Camera Render Render Devices
  16. 16. Эхо!Нужен AEC – Acoustic Echo Canceler
  17. 17. AEC - Acoustic Echo Canceler AEC Internet mic speaker - Вычислительная сложность - Double Talk Digital Только линейные искажения! Analog Adaptive Digital
  18. 18. Net RTP/RTCP Internet RTP/RTCP RTP/RTCP RTP/RTCP Voice&Video RED/FEC/NACK Engine Jitter Buffer (RED/FEC/NACK) Encoder+PLC Rate control Decoder+PLCSilk, iSAC, VP8, Silk, iSAC, VP8,Speex,… H264 Windows, OSX Speex,… H264 iOS, Android AEC X86, ARM AudioProc Mic Camera Render Render Devices
  19. 19. Voice&Video EngineРазрабатывать с “0” Использовать открытые проекты: WebRTC, Libjingle, … TODO
  20. 20. СПАСИБО! Дмитрий ЮдинВедущий разработчик, проект/департамент d.yudin@corp.mail.ru

×