1 / 17

Developement and Implementation of an MPEG1 Layer III Decoder on x86 and TMS320C6711 platforms

Developement and Implementation of an MPEG1 Layer III Decoder on x86 and TMS320C6711 platforms. Farina Simone. (Braidotti Enrico). DECODING PROCESS. ALIAS RECONSTRUCTION. Not encoded signal.

fedora
Download Presentation

Developement and Implementation of an MPEG1 Layer III Decoder on x86 and TMS320C6711 platforms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Developement and Implementation of an MPEG1 Layer III Decoder on x86 and TMS320C6711 platforms FarinaSimone (Braidotti Enrico)

  2. DECODING PROCESS

  3. ALIAS RECONSTRUCTION Not encoded signal It is performed only when using long blocks: this means only when using pure long blocks or mixed blocks. Same signal encoded using long blocks Lets see what long/short blocks are Same signal encoded using short blocks

  4. HYBRID SYNTHESIS • IMDCT (Inverse Modified Discrete Cosine Transform) • Subbands are backward transformed separately depending on block length. • 6-point IMDCT • When short blocks are used (pre-echoes masking) • 18-point IMDCT • When long blocks are used

  5. HYBRID SYNTHESIS • Fast IMDCT algorithm (Szu-Wei Lee ) Based on simmetric properties of cosine function It needs a rearranging stage to restore values to their original positions Drastically reduces number of operations if compared to direct implementation

  6. HYBRID SYNTHESIS • Windowing • Once transformed, subbands are windowed according to value of block_type (subbands with short blocks are separately transformed for each window and then overlapped) • Overlap-adding • First half of transformed blocks is overlapped with second half of the corresponding blocks in the previous granule

  7. FREQUENCY INVERSION Every second sample in every second subband has to be multiplied by -1.

  8. SYNTHESIS POLYPHASE FILTERBANK • This process produces 32 PCM audio samples. • 576 / granule • 1152 / frame (equal to 26 ms of audio @ 44,1 kHz) Composed of several steps, it turns out to be the most time-consumingstage of the overall decoding process

  9. SYNTHESIS POLYPHASE FILTERBANK • Polyphase Matrixing • It is a cosine-like transform (non standard ) • The direct computation involves a 64×32 matrix and requires almost ¼ of decoding time • Needs optimization to perform real-time decoding • K. Konstantinides’ algorithm • 32-point Fast DCT (B.G.Lee)

  10. SYNTHESIS POLYPHASE FILTERBANK • Konstantinides’ Algorithm

  11. SYNTHESIS POLYPHASE FILTERBANK • FCT Algorithm (Byeong-Gi Lee ) • Using trigonometrical properties a 2M DCT can be performed by 2M-1 2-point DCTs Direct computation × = N ² + = N· ( N-1 ) FCT × = N/2 · log2 ( N ) + < 3· N/2 · log2 ( N )

  12. WAVE STANDARD • Individuated by a 44-byte header, holds information about: • sampling frequency • number of channels • . . . • Uncompressed PCM audio samples (normally with 16 bits/sample resolution) stored in following way:

  13. PERFORMANCE ANALYSIS • PC Performances • The decoder, without optimization, works in real time on the following CPUs: The decoder, with optimization , reaches 17,5× on Pentium IV CPU

  14. PERFORMANCE ANALYSIS • C6711 DSK Performances • The decoder, without optimization, doesn’t work in real time on the board • Parallel port is used for data transfer and it’s very very slow • Most algorithms need optimization(only Huffman Decoding is optimized) • Code needs some ASM optimization to use the full-potential of the board architecture • Whole decoding process (except data transfer TO external hard disk) takes about 10 times more than needed to work in real time. With optimization it is an easy goal to reach.

  15. PERFORMANCE ANALYSIS • Time-occupation of optimized processes on C6711 DSK:

  16. PERFORMANCE ANALYSIS • Time-occupation of optimized processes on C6711 DSK:

  17. PERFORMANCE ANALYSIS • Time-occupation of other processes on C6711 DSK:

More Related