Skip to main content

Topic: Error concealment in AAC decoder (Read 3147 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • encai
  • [*]
Error concealment in AAC decoder
First of all, thank you guys for reply to my last quesstion.
And I have another question about error concealment
in an AAC decoder.
What is the common method to deal with the packet
loss or transmittion error?

regards

encai

  • Ivan Dimkovic
  • [*][*][*][*][*]
  • Developer
Error concealment in AAC decoder
Reply #1
Well - common method is.. muting

More complex methods are based on psychoacoustic "prediction" of the next frame - I think that Nokia has few papers regarding error concealment technology - check out the http://www.aes.org for more details.

I must say that EC tools are more or less trade secrets, and I doubt that someone would disclose them to you free of charge.

  • Frank Klemm
  • [*][*][*][*][*]
  • Developer
Error concealment in AAC decoder
Reply #2
Quote
Originally posted by Ivan Dimkovic
Well - common method is.. muting

More complex methods are based on psychoacoustic "prediction" of the next frame - I think that Nokia has few papers regarding error concealment technology - check out the http://www.aes.org for more details.

I must say that EC tools are more or less trade secrets, and I doubt that someone would disclose them to you free of charge.


There are much more complex error concealment technology, but
more useful than muting is to repeat the last block up to two times and then fade the signal.

Drop of 1 Block:

Block 17
Block 18
Block 18
Block 20


Drop of 7 Blocks:

Block 17
Block 18
Block 18
0.9166 * Block 18
0.75 * Block 18
0.5 * Block 18
0.25 * Block 18
0.0833 * Block 18
Silence
Block 26
Block 27


More sophisticated method often introduce additional decoder delays.
--  Frank Klemm

  • encai
  • [*]
Error concealment in AAC decoder
Reply #3
Ivan Dimkovic, Frank Klemm
Thank you very much for your reply. It seems that it takes
time & money & additional decoder delays for me to use
more complex error concealmenttechnology.
I will follow Frank's method.
And one more question:
what does the coef. mean? Any equation to calculate them?

BTW: Is the higher layer's or the decoder's  duty to judge
which packet is loss?

  • encai
  • [*]
Error concealment in AAC decoder
Reply #4
Quote
Originally posted by encai
And one more question:
what does the coef. mean? Any equation to calculate them?


By "the coef.", I means the fading coef.
[1.0, 0.9166, 0.75, 0.5, 0.25, 0.0833, 0.0].

regards.

  • Frank Klemm
  • [*][*][*][*][*]
  • Developer
Error concealment in AAC decoder
Reply #5
Quote
Originally posted by encai


By "the coef.", I means the fading coef. 
[1.0, 0.9166, 0.75, 0.5, 0.25, 0.0833, 0.0].

regards.


Multiply with 12.
Calculate differences.
--  Frank Klemm

  • encai
  • [*]
Error concealment in AAC decoder
Reply #6
Quote
Originally posted by Frank Klemm


Multiply with 12.
Calculate differences.


I am really fresh on digital audio processing,  and
sorry for keeping asking silly questions.
Any URL or paper explain why fade in such a way:
[12/12, 11/12, 9/12, 6/12, 3/12, 1/12, 0/12].

regards.
encai

  • Ivan Dimkovic
  • [*][*][*][*][*]
  • Developer
Error concealment in AAC decoder
Reply #7
Choosing the fading coefficients is really matter of implementation, you might want to use shorter or loger falloff.

Frank only suggested one set of coefs, you might want to use different ones, for example, if your error environment has larger recovery times, etc..

More complicated EC methods use "beat detection" psychoacoustic model and according to that try to predict next frames before errors disappear.