Hardware implementation of an MPEG1 Layer1 audio encoder - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Hardware implementation of an MPEG1 Layer1 audio encoder

Description:

Hardware core for MPEG-1, layer-1 (MP1) audio encoding. Description in Verilog-RTL for flexibility. Synthetisable to FPGA architecture. 5 ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 22
Provided by: samik9
Category:

less

Transcript and Presenter's Notes

Title: Hardware implementation of an MPEG1 Layer1 audio encoder


1
Hardware implementation of an MPEG-1 Layer-1
audio encoder
EE4 Final Year project 2000-2001
  • Sami Khawam

S.Khawam_at_ug.ee.ed.ac.uk
Friday, January 26, 2001
2
Presentation Outline
  • 1. Aims of the project
  • 2. Overview of MPEG algorithm
  • 3. Implementation
  • 4. Project organisation
  • 5. Further extensions and modifications

3
1. Aims of the project
4
Aims of the project
  • Hardware core for MPEG-1, layer-1 (MP1) audio
    encoding.
  • Description in Verilog-RTL for flexibility.
  • Synthetisable to FPGA architecture.

5
Advantage
Commercial IP cores and chips exist, but are
mainly based on software and DSP cores. The
advantages in hardware
  • High speed, thus real-time possibility.
  • Lower power consumption.
  • Low cost by using low cost FPGAs.

6
Applications
  • Portable or standalone audio record and playback
    devices.
  • Voice-over-IP systems.
  • Standalone internet-radio servers.

7
2. Overview of MPEG algorithm
8
Encoding System
9
Analysis Filterbank
  • Time to frequency domain conversion.
  • Critically sampled 384 inputs, 384 outputs.
  • 32 equal width subbands.
  • Like parallel band-pass.
  • Equation from ISO document
  • Can be optimised

10
Psychoacoustic Model
  • Key to maintain signal quality at high
    compression ratios.
  • Based on absolute hearing threshold
  • and the frequency masking properties of the ear.
  • Finds the Signal-to-Mask Ratio value for each
    subband.

11
SMR calculation outline
  • 512-point FFT and window then squaring to get
    power.
  • Identify tonal (sine like, local peaks) and
    non-tonal (noise like) maskers.
  • Remove the ones that are blow the threshold of
    hearing.
  • Remove weak tonal maskers too close to strong
    maskers.
  • Find global masking threshold absolute
    threshold contribution from maskers.
  • Find minimum masking threshold in each subband
    (from individual masking threshold and GMT).
  • SMR of each subband MMT - Peak power of subband.

12
Bit allocation and Quantisation
  • Find the minimum number of quantisation bits to
    make the quantisation noise inaudible.
  • Uses iteration to find the minimum difference
    between SMR and SNR.
  • Attempts to get the desired final bit rate.
  • Then linearly quantise the subband samples.

13
Bitstream formatting
  • Header
  • For each of the 32 subbands
  • number of bit allocated
  • scale factor
  • quantised samples
  • Optional CRC error check.

14
3. Implementation
FPGA
PC
384 PCM frame
RS232
MPEG
RS232
driver
Encoder
Encoded data
  • Audio encoded frame by frame
  • PC sends PCM audio and receives the encoded data.
  • Encoded data saved in .mp1 format by the PC.

15
4. Project Timeline
16
Second Term
  • Build the 3 main components separately then
    integrate them.
  • For each component
  • Design the hardware based on C and Matlab source.
  • Write adequate test-benches for simulation.

17
Third Term
  • Implement the integrated blocks and RS232
    transfers on the FPGA.
  • Write C program for transferring data between the
    PC and the board.
  • Create test samples.
  • Write documentation.

18
5. Further extensions and modifications
19
Problematic issues
  • FPGA too small.
  • Low memory availability of the FPGA external
    DRAM needed.
  • Psychoacoustic model too design-time expensive.

20
Possible solutions
  • Lower complexity psychoacoustic model. e.g. using
    FFTs find the average sound power level for each
    subband and treat result as SMR.
  • Computation of standard functions on the PC, e.g.
    FFT in order to save memory and design time.

21
Further extension
  • Support for layer 2.
  • Implementation of decoder.
  • Optimisation (speed and size) of single
    components, e.g. like the filterbank.
Write a Comment
User Comments (0)
About PowerShow.com