下載/瀏覽

Download Report

Transcript 下載/瀏覽

第 11 組
國科會自由軟體專案
『需求規格報告書』
數位廣播接收機音訊解碼
程式之撰寫
組長:楊東霖
組員:劉瑞顯、徐祥榮
目錄
•
•
•
•
•
•
•
•
案例背景…………………………………………………03
開發軟體內容……………………………………………04
所有功能項目……………………………………………05
內部介面需求……………………………………………06
外部介面需求……………………………………………07
功能規格與流程…………………………………………08
操作概念…………………………………………………10
系統需求…………………………………………………11
2
案例背景
計畫中,將預計撰寫完成數位廣播接收機之音訊解碼程
式。此程式將以個人電腦為平台,輸入之檔案為數位廣播所
規範之音訊位元流,輸出為PCM 檔案及 X-PAD資訊檔。整個
程式的數學運算,將以定點數運算為之,以利後續移植到實
際系統之便。除此之外,整個系統將特別考慮記憶體使用之
效率,及降低演算法之複雜度。在系統測試方面,第一階段
將使用ISO之測試位元流(test bitstream),檢驗撰寫完畢
之MPEG-1/2 Layer II之解碼程式是否完全正確。然後第二
階段再使用數位廣播之測試位元流(test bitstream),做最
後之功能確認。
3
開發軟體內容
隨著科技的進步,廣播也已經進入數位化的時代。由於
數位廣播的音質優美,並且可以傳送圖片及資料等,以及可
以使用單一頻率(SFN)達成全國聯播網,因此數位廣播將是
未來的潮流。有鑑於此,本計畫預定在個人電腦上,撰寫數
位廣播接收機(DAB receiver)之音訊解碼程式,將數位廣
播接收機收到之音訊編碼訊號,加以解碼,還原成PCM 訊號。
為求達到實用之目的,本程式之數學運算,預定以定點數
(fixed-point)之方式,加以實現,使有志於發展數位廣播
接收機之工程師,能在最短時間內,將本程式移植到其他定
點數運算之平台,如DSP CPU 或ARM CPU 等,以之建構出完
整之接收機。
4
所有功能項目
功能性需求(Functional Requirements)
•提供位元分配解碼之功能
•提供位比例因子解碼之功能
•提供取樣重新量化之功能
•提供子頻帶合成器之功能
•將解碼之後的聲音訊號儲存成 PCM 檔案。
•將解碼後的 X-PAD, F-PAD 資訊儲存成檔案,以備查詢。
5
內部介面需求
• ADS 必需解析 DAB audio frame Header,從而得知記載
同步位元、取樣頻率、資料率、聲音壓縮率,最後將可
提供 PCM 轉換時的資訊。
• ADS 子系統要負責把 XPAD 的輸入資料準備好,然後把
工作交由 XPAD 子系統來解析。
• XPAD 要負責把 SCFSI CRC 交給 ADS 子系統,解碼下一
個 Audio Frame 時需要用來比對。
6
外部介面需求
• 輸入的 DAB Audio Frame 必須滿足 ETSI 300.401 的規
格。
• 解碼後聲音訊號,是以 PCM Raw Data 的檔案型式輸出。
• 解碼時,聲音的相關資訊,例如取樣頻率、位元率、單
雙聲道…等,也要輸出到另外的檔案。
• PAD 部份,以文字檔的方式輸出。
7
功能規格與流程
音訊解碼子系統(Audio Decoding System)提供數位廣播系
統Mpeg I layer II 的聲音解碼,整個解碼子系統由四個子
區塊所組成,分別為:
• 位元分配解碼區塊(Decoding of bit allocation ,DBA),
• 比例因子解碼區塊(Decoding of scalefactors ,DS),
• 取樣重新量化區塊(Re-quantization of samples ,RQS),
• 子頻帶合成器區塊(Synthesis sub-band filter ,SSB)
8
功能規格與流程
接下來,依據Layer II預先定義好之表格,查出每一個子頻帶
首先,程式先找出位元流中訊框開頭(Frame
接下來,讀取子頻帶之取樣點(subband
sample)之資料,並
Header,內含
(subband)
之位元分配欄位(bit allocation)使用之位元(bit)數,並依
Sync
與scale
Word)。找到開頭後,分析其記載之資訊,以確認其規
factor相乘,以得到子頻帶取樣點之真正數值。由於
據此查出每個子頻帶之取樣點(sample)的位元數。如果某個子頻
子頻帶取樣點之數值,係以三個為一組,因此編碼上有可能
格為MPEG-1或MPEG-2,然後記錄CRC,以備後面使用。
帶的位元分配(bit allocation)不為零,則可繼續讀出該子頻帶之
基本上,MPEG-1及MPEG-2編碼之差異不大,主要是
grouping在一起,變成一個數值,因此在讀取數值時,要加
SCFSI ( SCale Factor Selection Info ) 以判斷該子頻帶在本訊框
MPEG-1取樣頻率為48
以注意。最後再利用子頻帶合成(subband
ks/s,而MPEG-2為24
synthesis)的公式,
ks/s。
之中,有多少個scale factor。SCFSI欄位指示的,可能是三個獨
產生音訊之PCM訊號。在數位廣播中,則需再增加判斷
立的scale factor,前兩個取樣點共用一個數值,後兩個取樣點共
scale
factor之CRC(SCF-CRC)及解碼F-PAD、X-PAD等
用一個數值,或是三個取樣點共用一個數值。因此程式必須要依
部份,才算完成。
此指示,將相關之scale factor讀出。
9
操作概念 (Operational Concept)
本系統使用者操作流程圖:
本系統的輸入檔案,可由 ISO 下載
測試檔案,或是經由數位收音機截
取下DAB Audio Bitstream,規格如
外部需求所示。本系統將依照檔案
的內容,輸出 48KHz 或 24KHz 的
PCM 檔案,並將解碼相關資訊 (XPad, F-Pad… )寫入檔案。使用者
可使用 Cool Edit 之類的音樂播放
軟體,播放輸出的 PCM 檔案,也可
以開啟解碼資訊檔案,檢視解碼之
正確性。
10
系統需求
效能需求 (Performance Requirements)
•本系統所撰寫出來的 Fixed-Point 格式的程式,預計效能會比
標準Mpeg 1 Layer 2 的Reference Code 效能提高10倍。
•解碼之後的語音訊號, 有12bit 的精確度
測試需求 (Test Requirements)
•與ISO提供之MPEG-1/2 Layer I/II/III之參考程式(reference
program),交互比較,以確認 audio coding 的部份完全正確。
•利用數位廣播專用之測試位元流 (test bitstream),測試所撰
寫之程式,以確認此程式是否完全正確。
•把 F-PAD 及X-PAD 之欄位分析 (parse)出來,並送到另一個檔
案中加以儲存,再檢驗其正確性。
系統需求
環境需求其他需求 (Other Requirements)
可信度需求 (Reliability Requirement)
•遇到不正確的輸入檔,能避免程式異常中止。
維護性需求 (Maintainability Requirement)
•所有程式需要以模組化的方式開發,以加快維護效率。將
來需要與更大的系統做整合時,修改的輻度能減到最低。
安裝需求 (Installation Requirement)
•執行檔需可於 2000 / XP 上安裝,而不需要其他的安裝元件。
系統需求
環境需求 (Environmental Requirement)
•執行的硬體主機為 Intel P4 1G 以上的機器,硬碟(Hard
•Disk)空間需要2G 以上。
•喇叭一組。
系統需求
設計限制 (Design and Implementation Constrains)
• 整個程式的數學運算採用定點數(fix-point) 運算
技術限制 (Technological Limitation)
• 解碼時,遇到錯誤的 Audio Frame ,無法做錯誤更正
• (error correction) 及錯誤掩飾(error concealment)
使用者議題 (End User Issue)
• 本系統的針對的使用者,是開發 DAB Receiver 的 RD工程師。
• 本系統可以做為一個比較的範本。也能輕易地移植到各種不同
平台。
系統需求
風險管理 (Risk Management)
•RSK-001 使用 Microsoft 平台需要考慮到病毒的問題,因此防
毒軟體的安裝需要考慮,並注意資料的備份。