Technical discussions related to Speech Coding (all itu and other vocoders, ACELP, CELP, AMR, etc)
Hi, is it possible to switch between G729 Encoder and G729a Encoder between frames? I am asking this because G729A document specifies that G729a is bitstream interoperable with G729. Thanking You Naveen ------------------------------------
Naveen: I don't think there's any such thing as a 729A encoder: 729A is only a change to the decoder part. Chuck _____ From: s...@yahoogroups.com [mailto:s...@yahoogroups.com] On Behalf Of naveen kumar Sent: Thursday, May 15, 2008 11:17 PM To: s...@yahoogroups.com Subject: [speechcoding] G729a and G729 interoperability Hi, is it possible to switch between G729 Encoder and G729a Encoder between frames? I am asking this because G729A document specifies that G729a is bitstream interoperable with G729. Thanking You Naveen ------------------------------------
Chuck: Thanks for your reply. G729A encoder is much less complex compared to G729 Encoder. So they are definitely different implementations. Algorithmically there are minor changes in encoder but they reduce MIPS by about 40%. But I am not sure whether switching between G729 and G729a is possible or not. Thanking You Naveen Kumar 2008/5/17 Chuck Hutton <c...@msn.com>: > Naveen: > > I don't think there's any such thing as a 729A encoder: 729A is only a > change to the decoder part. > > Chuck > > ________________________________ > > From: s...@yahoogroups.com [mailto:s...@yahoogroups.com] On > Behalf Of naveen kumar > Sent: Thursday, May 15, 2008 11:17 PM > To: s...@yahoogroups.com > Subject: [speechcoding] G729a and G729 interoperability > > Hi, > > is it possible to switch between G729 Encoder and G729a Encoder between > frames? > I am asking this because G729A document specifies that G729a is > bitstream interoperable with G729. > > Thanking You > Naveen ------------------------------------
Naveen: You are quite correct and I simply had forgotten about the encoder changes which did indeed have reduced MIPS of about the same amount as the decoder. As for the switching, here is the abstract from Salami and LaFlamme's original IEEE paper on 729A: <CLIP> This article describes the ITU-T Recommendation G.729 Annex A (G.729A) for encoding speech signals at 8 kb/s with low complexity. G.729A is the standard speech coding algorithm for multimedia digital simultaneous voice and data (DSVD). G.729A is bitstream interoperable with G.729; that is, speech coded with G.729A can be decoded with G.729, and vice versa. <END OF CLIP> Sure looks like you can switch. Chuck -----Original Message----- From: naveen kumar [mailto:c...@gmail.com] Sent: Friday, May 16, 2008 9:54 PM To: Chuck Hutton Cc: s...@yahoogroups.com Subject: Re: [speechcoding] G729a and G729 interoperability Chuck: Thanks for your reply. G729A encoder is much less complex compared to G729 Encoder. So they are definitely different implementations. Algorithmically there are minor changes in encoder but they reduce MIPS by about 40%. But I am not sure whether switching between G729 and G729a is possible or not. Thanking You Naveen Kumar 2008/5/17 Chuck Hutton <c...@msn.com>: > Naveen: > > I don't think there's any such thing as a 729A encoder: 729A is only a > change to the decoder part. > > Chuck > > ________________________________ > > From: s...@yahoogroups.com [mailto:s...@yahoogroups.com] On > Behalf Of naveen kumar > Sent: Thursday, May 15, 2008 11:17 PM > To: s...@yahoogroups.com > Subject: [speechcoding] G729a and G729 interoperability > > Hi, > > is it possible to switch between G729 Encoder and G729a Encoder between > frames? > I am asking this because G729A document specifies that G729a is > bitstream interoperable with G729. > > Thanking You > Naveen ------------------------------------
G729 and G729a are interoperable. We tested it!! _____ From: s...@yahoogroups.com [mailto:s...@yahoogroups.com] On Behalf Of naveen kumar Sent: Friday, May 16, 2008 9:54 PM To: Chuck Hutton Cc: s...@yahoogroups.com Subject: Re: [speechcoding] G729a and G729 interoperability Chuck: Thanks for your reply. G729A encoder is much less complex compared to G729 Encoder. So they are definitely different implementations. Algorithmically there are minor changes in encoder but they reduce MIPS by about 40%. But I am not sure whether switching between G729 and G729a is possible or not. Thanking You Naveen Kumar 2008/5/17 Chuck Hutton <charlesh3@msn. <mailto:charlesh3%40msn.com> com>: > Naveen: > > I don't think there's any such thing as a 729A encoder: 729A is only a > change to the decoder part. > > Chuck > > ________________________________ > > From: speechcoding@ <mailto:speechcoding%40yahoogroups.com> yahoogroups.com [mailto:speechcoding@ <mailto:speechcoding%40yahoogroups.com> yahoogroups.com] On > Behalf Of naveen kumar > Sent: Thursday, May 15, 2008 11:17 PM > To: speechcoding@ <mailto:speechcoding%40yahoogroups.com> yahoogroups.com > Subject: [speechcoding] G729a and G729 interoperability > > Hi, > > is it possible to switch between G729 Encoder and G729a Encoder between > frames? > I am asking this because G729A document specifies that G729a is > bitstream interoperable with G729. > > Thanking You > Naveen ------------------------------------
Hi Naveen Yes you can !! can you please explain more about your use case ? Regards Ranjeet On Fri, 16 May 2008 naveen kumar wrote : >Hi, > >is it possible to switch between G729 Encoder and G729a Encoder between frames? >I am asking this because G729A document specifies that G729a is >bitstream interoperable with G729. > >Thanking You >Naveen ------------------------------------
Hi Ranjeet and Saraj
If it is possible then I have a doubt.
In G729 encoder we have mem_syn and mem_err two vectors that are
related to memory updates (Sec 3.3 and Sec3.10 of G729 document).
These two variables are missing in G729a encoder.
So if we are running g729a encoder then how do we update the above two
variables so that switching between G729 and G729a is smooth.
Is there a prescribed method by ITU?
I am using following procedure to update mem_syn and mem_err.
Aq = Aq_t; /* pointer to interpolated quantized LPC parameters */
for (i_subfr=0; i_subfr<80; i_subfr+=40)
{
Syn_filt(Aq, &exc[i_subfr], &synth[i_subfr], L_SUBFR, mem_syn, 1);
for (i = L_SUBFR-M, j = 0; i < L_SUBFR; i++, j++)
{
mem_err[j] = sub(speech[i_subfr+i], synth[i_subfr+i]);
}
Aq += MP1;
}
Is this correct procedure?
Naveen Kumar S.R.
2008/5/19 ranjeet gupta <c...@rediffmail.com>:
> Hi Naveen
>
> Yes you can !! can you please explain more about your use case ?
>
> Regards
> Ranjeet
> On Fri, 16 May 2008 naveen kumar wrote :
>
>>Hi,
>>
>>is it possible to switch between G729 Encoder and G729a Encoder between
>> frames?
>>I am asking this because G729A document specifies that G729a is
>>bitstream interoperable with G729.
>>
>>Thanking You
>>Naveen
>
------------------------------------