簡易檢索 / 詳目顯示

研究生: 秦昊
Chin, Hao
論文名稱: MPEG2 AAC解碼器在SCREAM DSP-16上的實作與加速研究
An Efficient Implementation of MPEG2 AAC Decoder on SCREAM DSP-16
指導教授: 蘇文鈺
Su, Wen-Yu
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2006
畢業學年度: 94
語文別: 中文
論文頁數: 102
中文關鍵詞: 壓縮音訊解碼器加速實作
外文關鍵詞: efficient, AAC, MPEG2, implementation, dsp, decoder
相關次數: 點閱:59下載:1
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報

  • 近年來根據音響心理學(psycho-acoustic)原理去發展的音訊壓縮技術大大地增進了音訊編碼的效能,不但在音訊資訊儲存、廣播上有所幫助,也帶動了相關電子產品的發展(例如iPod)。MPEG-2 AAC是在1997年由MPEG(Moving Pictures Expert Group)組織所制定完成的標準,提供相當優秀的壓縮效率。

    除了個人電腦上的應用以外,音訊壓縮解碼器在嵌入式系統上也有著廣泛的需求;通常在這類消費性電子產品中,是使用一顆DSP(Digital Signal Processor)以快速執行壓縮解碼器所需的數值運算。SCREAM DSP-16是一顆由成功大學音樂與多媒體系統實驗室(SCREAM LAB)所開發的DSP,支援一些特殊的指令來更快速地完成運算工作,本論文即提出了在這顆DSP-16上有效率地實作MPEG-2 AAC解碼器的方法。

    要在DSP上實作有效率的程式,主要需要考慮計算複雜度與所使用的記憶體大小。計算複雜度方面,我們先將浮點數版本的程式碼改成使用定點數運算,進而針對計算量大的部份撰寫組語加速。另外,本論文也提出了如何減少記憶體使用量的方法。

    Recently, audio coding schemes based on principles of psycho-acoustic provide superior coding efficiency. They help the storage and transmission of audio information a lot, and also make related electronics popular. MPEG-2 AAC is a standard defined by MPEG(Moving Pictures Expert Group) in 1997, it provides an outstanding coding efficiency.

    There is wide demand for audio decoder built around embedded systems besides applications on personal computers. In the most case, this kind of consumer electronics use a DSP(Digital Signal Processor) to speed up the numerical computation essential to decoders. SCREAM DSP-16 is a DSP developed by SCREAM LAB of National Cheng-Kung University, it supports some specialized instructions suitable for audio-related numerical computation. In this thesis, several efficient techniques are proposed to implement MPEG-2 AAC decoder on DSP-16.

    To design an efficient solution on DSP, computation complexity and memory utilization are major concerns. To reduce computation complexity, we use fixed-point operations to replace floating-point operations, then in some critical functions we rewrite the source code in assembly language to further reduce complexity. In addition, this thesis describes several approaches to improve memory utilization.

    Chapter 1 – 緒論 1 ※1.1–研究背景及動機 1 ※1.2–各章節概述 2 Chapter 2 – AAC編解碼流程介紹 3 ※2.1–濾波器組(MDCT) 8 §2.1.1– 窗框形狀的轉換 10 §2.1.2– 音訊區塊大小的轉換 11 ※2.2– 時域雜訊重整(TNS) 12 §2.2.1–時域/頻域的對稱性 12 §2.2.2–AAC中對TNS的實作 12 ※2.3– 量化與比例因子 15 §2.3.1– 非均勻量化 15 §2.3.2– 赫夫曼編碼 16 §2.3.3– 比例因子 16 §2.3.4– 迴圈量化控制 18 ※2.4 無失真編碼 21 §2.4.1 赫夫曼表 21 §2.4.2 Sectioning 22 §2.4.3 Grouping & Interleaving 23 ※2.5 Stereo Coding 25 §2.5.1 Mid/Side Stereo Coding 25 §2.5.2 Intensity Stereo Coding 25 ※2.6 資料串流的構成 26 Chapter 3 – SCREAM DSP-16 28 ※3.1 – 處理器架構 29 ※3.2 – 暫存器 32 ※3.3 – 運算 34 §3.3.1 – 資料格式 34 §3.3.2 – ALU 34 3.3.2.1 簡介 34 3.3.2.2 使用的暫存器 35 3.3.2.3 會影響到的旗標 36 3.3.2.4 條件判斷 37 3.3.2.5 所有ALU指令 37 §3.3.3 – MAC 39 3.3.3.1 簡介 39 3.3.3.2 使用的暫存器 39 3.3.3.3 會影響到的旗標 40 3.3.3.4 資料格式的選擇 41 3.3.3.5 所有的指令 42 §3.3.4 – Shifter 42 3.3.4.1 簡介 42 3.3.4.2 使用的暫存器 43 3.3.4.3 會影響到的旗標 43 3.3.4.4 Shifter Option 44 3.3.4.5 所有的指令 45 ※3.4 – 定址與資料搬移 46 §3.4.1 – DAG暫存器 46 §3.4.2 – 定址方式 47 §3.4.3 – 環狀緩衝區 48 §3.4.4 – bit-reverse addressing 49 §3.4.5 – PX暫存器 50 §3.4.6 – 所有的指令 51 ※3.5 – 程式流程控制 53 §3.5.1 – 堆疊 53 §3.5.2 – CALL 53 §3.5.3 – JUMP 54 §3.5.4 – DELAYED BRANCH 55 §3.5.5 – LOOP 55 §3.5.6 – 所有的指令 56 ※3.6 – Multi-Function Instructions 58 §3.6.1 – 介紹 58 §3.6.2 – 所有的指令 59 Chapter 4 – 程式發展過程 60 ※4.1 – 浮點數版本的開發 62 §4.1.1– 開發結果 64 ※4.2 –複雜函數的逼近方式 66 §4.2.1–20.25x的逼近方法 66 §4.2.2–x(4/3)的逼近方法 67 ※4.3 –減少記憶體使用量 69 §4.3.1–運算速度與記憶體的trade-off 69 §4.3.2–記憶體的重疊 72 ※4.4 –定點數版本的開發 74 §4.4.1–定點數的資料結構 74 §4.4.2–定點數與浮點數的轉換 75 §4.4.3–exponent值 75 §4.4.4–定點數的算術運算 76 4.4.4.1加法 (add) 76 4.4.4.2減法 (sub) 77 4.4.4.3乘法 (multiply) 78 4.4.4.4移位 (shift left / shift right) 78 4.4.4.5變號 (negative) 79 4.4.4.6 normalization 79 4.4.4.7 saturation 79 Chapter 5 – 組合語言版本 81 ※5.1 – 算術運算的組合語言 81 §5.1.1 – 讀寫 81 §5.1.2 – 加法、減法 82 §5.1.3 – 乘法 83 §5.1.4 –迴圈 84 ※5.2 – 改寫過程 86 §5.2.1 – Critical Function 86 §5.2.2 – InverseQuant 87 §5.2.3 – IFilterBank 91 5.2.3.1 – IMDCT 91 ※5.3 – 改寫結果 96 Chapter 6 – 結論 100

    [1] M. Bosi, R. E. Goldberg, Introduction To Digital Audio Coding And Standards, Kluwer Academic Publishers, Chapter 6.

    [2] ISO/IEC 11172-3: 1993, Information technology – Coding of moving pictures and associated audio for digital storage media at up to about 1.5 Mbit/s – Part 3:Audio.

    [3] K. Brandenburg and G. Stoll, “ISO-MPEG-1 Audio:a generic standard for coding of high quality digitalaudio”, In N. Gilchrist and Ch. Grewin, editors, Collected Papers on Digial Audio Bit-Rate Reduction,pages 31 – 42. AES, 1996.

    [4] ISO/IEC 13818–7: 1997, Information technology – Generic coding of moving pictures and associated audio information.

    [5] M. Bosi, K. Brandenburg, Sch. Quackenbush, L. Fielder, K. Akagiri, H. Fuchs, M. Dietz, J. Herre, G. Davidson, and Yoshiaki Oikawa, “ISO/IEC MPEG-2 Advanced Audio Coding.”, in Proc. of the 101st AES Convention, 1996.

    [6] C. Todd, G. A. Davidson, M. F. Davis, L. D. Fielder, B. D. Link and S. Vernon,“AC-3 : Flexible Perceptual Coding for Audio Transmission and Storage,” in Proc. of the 96th AES Convention, Preprint 3796, February 1994.

    [7] Jiirgen Helve and James D. Johnston, “Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS)”, in Proc. of the 101st AES Convention, November 1996.

    [8] John P. Pricen, Alan Bernard Bradley, “Analysis/Synthesis Filter Bank Design Basedo n Time Domain Aliasing Cancellation”, IEEE Trans on ASSP, Oct 1986.

    [9] B. Edler, “Coding of Audio Signals with Overlapping Block Transform and Adaptive Window Functions”, Frequenz, vol. 43, pp. 252-256, 1989.

    [10] N. Jayant and P. Noll, Digital Coding of Waveforms, Prentice-Hall, Englewood Cliffs, NJ,1984.

    [11] Zhong-Ho Chen,“Portable DSP Development Environment For Embedded Real-Time System”, master thesis, National Cheng-Kung University, Taiwan, June, 2005.

    [12] Analog Device Ltd., ADSP-219x DSP Hardware Reference.

    [13] Analog Device Ltd., ADSP-219x DSP Instruction Set Reference.

    [14] A. V. Oppenheim, R. W. Schafer, J. R. Buck, Discrete-Time Signal Processing, Prentice Hall, Second Edition, Chapter 9.

    [15] AudioCoding.com, http://www.audiocoding.com/

    [16] Chun-Kun Chan,“Realization of MPEG-2 Advanced Audio Coding on ARM Processor”, master thesis, National Chiao-Tung University, Taiwan, June, 2001.

    [17] Vladimir Britanak, K. R. Rao, “An Efficient Implementation of the Forward and Inverse MDCT in MPEG Audio Coding”, IEEE signal processing letters, vol. 8, No. 2, February, 2001.

    [18] Analog Device Ltd., VisualDSP++ 3.5 C Compiler and Library Manual for ADSP-219x DSPs.

    [19] Fraunhofer IIS - Audio & Multimedia - Real-time Implementation of High Quality Audio Coding Schemes on DSPs,
    http://www.iis.fraunhofer.de/amm/techinf/audio_dsp/index.html

    [20] Analog Devices : Embedded Processing & DSP: Third Party Developers page for company - Epigon Media Technologies Pvt. Ltd.,
    http://dspcollaborative.analog.com/developers/
    DSP_CompanyListing.asp?c_id=30

    [21] Adaptive Digital's DSP Algorithms and Solutions,
    http://www.adaptivedigital.com/products/specs/aac_dec.htm

    [22] Coding Technologies ,
    http://www.codingtechnologies.com/products/assets/
    productsheets/
    aacPlusFixedPointReferenceImplementations_v3.1.pdf

    [23] Harmonic Structure Quad Tree Audio Codec,
    http://scream.csie.ncku.edu.tw/~bff/HSQT.htm

    [24] ITU Radiocommunication Study Group 6, “DRAFT REVISION TO RECOMMENDDATION ITU-R BS.1387 - Method for objective measurements of perceived audio quality”.

    下載圖示 校內:2008-08-21公開
    校外:2008-08-21公開
    QR CODE