[asterisk-dev] Suggestion on Packet Loss Concealment Algorithm

ColinZuo at viatech.com.cn ColinZuo at viatech.com.cn
Thu May 18 18:34:45 MST 2006


Hi,

The theory is not based on the music, it's based on that given by the ITU G.711 Appendix I (BTW: the music is converted to 8K/mono/16bit by CoolEdit).
And the current plc algorithm is similar to the G.711 Appendix I except:
1. The pitch detection algorithm : G.711 Appendix I uses cross correlation, but Asterisk uses AMDF which is simpler and also performs well
2. The OLA window: G.711 update the OLA window length when burst loss occurs, but Asterisk didn't
3. The nearby field of the first erasure: G.711 delays the output for 3.75 ms to compensate the probable loss, but Asterisk just use the symmetrical
part before the lost to do the OLA. The one G.711 Appendix I utilized should be better, but it's not very important as human being's ears are really anti-jamming.
4. whether prolong the pitch period during burst loss: G.711 Appendix I prolong the pitch period to a maximum of 3 pitch period, but Asterisk only uses one which
saves memory but behave bad at burst loss.

BTW:
	Not only in my experimentation but also in some book, you can find the theory that the quasi-periodic voice's cycle should not last very long (As for the
file i use, it's about 15ms), and the first part are produced by the pitch detection algorithm, in this case both G.711 and Asterisk behave well. It's just whether prolong
the pitch period make them different. And because the experiment show that the concealed output of G.711 Appendix I contains a lot of phase mismatch and amplitude
mismatch, so it means that how to produce the prolonged pitch is not very strictive, that's why i just simply prolong it and not utilize the algorithm like G.711.

	And believe me, before i report it formally i will test it will samples from sources like MOCHA.
	The original attachment is a working demo (the utility of ITU STL2005 could be downloaded for free, which also named ITU G.191),
	 so if you want to prove me wrong, please show me the source file you use and i'd be very glad to improve.

Sincerely,
Colin
>  -----原始邮件-----
> 发件人: 	asterisk-dev-bounces at lists.digium.com [mailto:asterisk-dev-bounces at lists.digium.com]  代表 Steve Underwood
> 发送时间:	2006年5月18日 21:38
> 收件人:	Asterisk Developers Mailing List
> 主题:	Re: [asterisk-dev] Suggestion on Packet Loss Concealment Algorithm
> 
> 
> ColinZuo at viatech.com.cn wrote:
> 
> > Hi all,
> >
> > The current PLC algorithm uses only one pitch period, and therefore
> > behaves bad during burst lost (Beeps in background),
> >
> > I have prolonged the pitch period under burst loss situation and
> > tested it using a small utility of ITU STL2005. As for the music files
> >
> > (which were produced using VLC's file output module), the modified plc
> > can handle 50% and 50ms long loss, although it might be that
> >
> > the music wave doesn't vary very fast, i think the modification still
> > improve the performance very much.
> >
> > The attachment is the rar of the modified files, very little change
> > <<asteriskplc.rar>> .
> >
> > Sincerely,
> > Colin
> >
> This sounds like a really bad idea. The current PLC algorithm isn't
> designed for music. It is designed for voice. From your description it
> sounds like you don't actually understand what the current code is doing.
> 
> Steve
> 
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
> 
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-dev
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20060518/19b08d6f/attachment.htm


More information about the asterisk-dev mailing list