隨著科技的進步,近幾年發展出許多高複雜度及需要大量資料運算的應用程式來滿足人們的需求,例如影音的編解碼器(Video/Audio Encoder/Decoder)、3D物理模擬(3D Physical Simulation)、數位訊號處理(Digital Signal Processing)、網路(Network)…等,然而伴隨著可攜式裝置的普及,這些需求進一步從一般個人電腦衍伸到嵌入式系統上,人們想要利用這些可攜式裝置來滿足個人娛樂的需求,從基本的聽音樂、上網,到進階的影音播放,例如播放高解析度的影片。 H.264/AVC是目前廣受歡迎的一套視訊編解碼標準,由ITU-T(國際電信聯盟)中的視訊編碼專家組(VCEG)和ISO/IEC運動圖像專家組(MPEG)聯合的聯合視訊組(JVT,Joint Video Team)所提出的高度壓縮數位視訊編解碼標準。這種編碼技術也被稱為AVC(Advanced Video Coding)。第一版標準於2003年5月完成,近來常被運用在高解析度影像(HD Video、HDTV)的編解碼方面。 現今的系統已漸漸走向使用多核心處理器的趨勢,因為不斷提高單顆核心的頻率不僅得不到預期的效能提升,在耗電量方面也是相當驚人,反觀使用多顆低頻率的核心卻可以在效能提升及降低耗電量方面都有優異的表現,尤其在嵌入式方面,使用多核心已是許多系統廠商的最佳選擇。 本篇論文最主要是在說明如何在嵌入式多核心平台上為H.264/AVC解碼器設計一種平行化的架構,與以往單純只使用Data Partitioning及Function Partitioning的平行方式不同,我們使用了一種混合型式的平行方法,並搭配為此平行化架構設計的優先權動態排程機制來提升平行度,使其在解碼高解析度(Full HD)影片時,能充分利用嵌入式多核心上的核心資源,達到高效能的訴求。因其為嵌入式多核心系統設計,使用fine-grained的MB-level Parallelism而非使用其它coarse-grained的Parallelism,例如GOP-level Parallelism,這樣可以減少大量使用記憶體,符合嵌入式系統的設計需求。 經由模擬結果發現,我們提出的H.264解碼器平行化設計,與其他Spatial Domain的平行化設計,例如2D-Wave Parallelism及 Pipeline+2D Wave Parallelism相比,更能接近最佳的Speed-up理想值,並能解決核心之間Load Balance的問題。