簡易檢索 / 詳目顯示

研究生: 彭瑋強
Wei-Chiang Peng
論文名稱: 視訊壓縮上的數位信號程式技術研究
The Study of DSP Coding Techniques on Video Compression
指導教授: 王家祥
Jia-Shung Wang
口試委員:
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2000
畢業學年度: 88
語文別: 中文
論文頁數: 94
中文關鍵詞: 數位信號處理器Very Long Instruction WordH.263迴圈展開平行
外文關鍵詞: DSP, VLIW, H.263, loop unrolling, parallel
相關次數: 點閱:3下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 在本篇論文中,我們研究數種DSP平行處理的方法將H.263實做在一個VLIW DSP處理器上,藉由數位信號處理器的強大計算功能來加速視訊壓縮的處理。用DSP來處理影像、視訊壓縮是相當合適的,因為這些壓縮程式包含許多向量的運算,而DSP的長處就是在處理這一類數值運算。H.263,是一適用於PSTN上的視訊壓縮演算法。在進行視訊壓縮時,H.263會先將一張張的影像切割成一個個的區塊,而後在再對這一個個的區塊做Motion Estimation,希望能藉由前一張影像找尋到相似的區塊,之後再用DCT和Quantization來對相減之後的剩餘值進行壓縮和編碼的動作,以上這些處理運用Software Pipeline、Loop Unrolling的DSP程式技巧。
    開發DSP的應用程式可以採用C程式語言。因為DSP的平行編譯器設計較為複雜,因此藉由DSP編譯器-Code Composer所編譯出來的DSP執行碼,在執行效率上,比起用組合語言所編寫的DSP程式來的沒有效率。編寫DSP組合語言程式時需要考慮許多的情況,像是Function Unit的分配、暫存器的配置、組合語言指令延遲週期的問題、記憶體的擺放,都是在編寫組合語言程式時要注意的。在本篇論文中,我們對H.263這視訊壓縮演算法中幾個較佔處理時間的部分改寫,而改寫的方式則是用手寫DSP組合語言程式的方式將C程式碼改寫成組合語言程式碼。藉由這樣的改寫,一般來說,在處理週期上跟Code Composer所編譯出來的程式碼比較起來可以大幅減少許多。而本篇論文的目標則是將H.263視訊壓縮程式實做在一數位信號處理器上,並且讓這視訊壓縮程式能夠即時執行。


    In this thesis, we study several parallel process techniques on generating effective DSP code for H.263 video codec. Due to the rapid development of powerful VLIW DSP chips currently, it is possible to accelerate the complex computation of H.263 so that it can generate the compressed video in real time. H.263 is a novel video compression standard in H.324, which is nominated for PSTN communication. H.263 is a block-based coding scheme, uses motion estimation to search the best match block in the reference frame and adopts DCT and quantization to remove the spatial redundancies. It is no surprising that those computations can gain a large degree of parallelism in DSP computation. We use several techniques such as software pipelining, loop unrolling, etc to gain the possible benefit of parallelism.
    Nowadays, the developing environment of DSP code is getting better due to the progress of complier technology. We simply can write down the code in C and the object code will be generated through code composer automatically. However, in our experience, the efficiency of such DSP execute program is not good quality comparing to the handwritten assembly code because of the weak of parallelism. In this thesis, several computation-intensive procedures were carefully investigated, especially for the possibility of parallelism. Besides, lots of problems, such as allocating function units and registers, settling on delay slots, etc. are all important in generating DSP assembly code. From the experimental results, in general, the execution cycles of assembly code is more less than that generated by the code composer.

    第一章 簡介 3 第二章 一個VLIW DSP架構介紹-TI C6201 6 2.1 c6201的硬體架構 6 2.1.1 c6201 CPU 6 2.1.2 記憶體模組 8 2.1.3 匯流排 8 2.2 c6201的指令集 9 2-3 Pipeline Stage 12 2.3.1 Fetch 12 2.3.2 Decode 13 2.3.3 Execute 14 第三章 H.263視訊壓縮技術 17 3.1 DCT (Discrete Cosine Transform) 18 3.2 Motion Estimation 20 3.2.1 Full Search 21 3.2.2 BBGDS (Block-Based Gradient Descent Search) 22 3.3 iDCT 23 3.4 Qunatization 24 第四章 H.263的DSP程式技術 25 4.1 平行組合語言程式碼的編寫步驟 27 4.1.1 C程式碼翻譯成所需的組合語言指令 27 4.1.2 繪出Dependency圖 30 4.1.3 Sequential組合語言程式碼 31 4.1.4 週期表 32 4.1.5 平行組合語言程式 33 4.2 DCT(Discrete Cosine Transform) 36 4.2.1 HDCT的C程式碼翻譯成所需的組合語言指令 36 4.2.2 繪出HDCT的Dependency圖 38 4.2.3 HDCT的Sequential組合語言程式 40 4.2.4 HDCT的週期表 42 4.2.5 HDCT的平行組合語言程式 43 4.3 Motion Estimation 49 4.3.1 計算Absolute Difference 49 4.3.1.1 Absolute Difference的C程式碼翻譯成所需的組合語言指令 51 4.3.1.2 繪出Absolute Difference的Dependency圖 53 4.3.1.3 Absolute Difference的Sequential組合語言程式 54 4.3.1.4 Absolute Difference的週期表 56 4.3.1.5 Absolute Difference的平行組合語言程式 57 4.3.2 控制的部分 60 4.3.2.1 Full Search 60 4.3.2.2 BBGDS 61 4.4 iDCT(inverse Discrete Cosine Transform) 65 4.4.1 iDCT的C程式碼翻譯成所需的組合語言指令 66 4.4.2 繪出iDCT的Dependency圖 67 4.4.3 iDCT的Sequential組合語言程式碼 68 4.4.4 iDCT的週期表 69 4.4.5 iDCT的平行組合語言程式 72 4.5 Quantization 74 4.5.1 Quantization的C程式碼翻譯成所需的組合語言指令 74 4.5.2 繪出Quantization的Dependency圖 76 4.5.3 Quantization的Sequential組合語言程式 77 4.5.4 Quantization的週期表 79 4.5.5 Quantization的平行組合語言程式 80 第五章 實驗結果與討論 83 5.1 Motion Estimation 84 5.1.1 Full Search 84 5.1.2 BBGDS 84 5.2 DCT 85 5.3 iDCT 85 5.4 Quantization 85 5.5 整體效能分析 86 第六章 結論與未來發展方向 90 References 92

    [1]ITU-T Recommendation H.263, “Video coding for low bitrate communication,” July 1995.
    [2]M. W. Whybray and E. ellis, “H.263 – video coding recommendation for PSTN videophone and multimedia,” IEEE Colloquium ‘Low Bit Image Coding’, pp. 6/1-9, 1995
    [3]W. H. Chen, C. H. Smith, and S. C. Fralick, “A fast computational algorithm for the discrete cosine transform,” IEEE Trans. Commun, vol. 25, no. 9, pp. 1004-1009, Sep.1977
    [4] Kou, W.; Mark, J.W. “A new look at DCT-type transforms,” IEEE Trans. Acoustics, Speech and Signal Processing, vol. 37, no 12, pp. 1899 –1908, Dec. 1989
    [5]L. K. Liu and E. Feig, “A block-based gradient descent search algorithm for block motion estimation in video coding,” IEEE Trans. Circuits Syst. Video Tech., vol 6, pp. 419-422, Aug 1996
    [6]R. Li, B, Zeng, and M. L. Liou, "A new three-step search algorithm for block motion estimation," IEEE Trans. Circuits Syst. Video Tech., vol. 4, pp. 438-442, Aug. 1994.
    [7]L. M. Po and W. C. Ma, “A novel four step search algorithm for fast block motion estimation,” IEEE Trans. Circuits Syst. Video Tech., vol. 6, no. 3, pp. 313-371, Jun. 1996
    [8]Spru189d.pdf, “TMS320C6000 cpu and instruction set reference guide,” Mar. 1999
    [9]Spru197d.pdf, “TMS320C6000 technical brief,” Feb. 1999
    [10]Spru186e.pdf, “TMS320C6000 assembly language tools user’s guide,” Feb. 1999
    [11]Spru328.pdf, “Code composer studio user’s guide,” May 1999
    [12]Spru187e.pdf, “TMS320C6000 optimizing c compiler user’s guide,” Feb. 1999
    [13]Spru198d.pdf, “TMS320C6000 programmer’s guide,” Mar. 2000

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)
    全文公開日期 本全文未授權公開 (國家圖書館:臺灣博碩士論文系統)
    QR CODE