120 likes | 217 Views
LAB 3. Audio Transmission over WLAN/GPRS. Goal. 嘗試使用 WLAN/GPRS 傳送 Audio 瞭解 WLAN/GPRS 網路特性 瞭解 WLAN/GPRS 對於 Audio 傳輸之影響 增進對於網路特性及多媒體傳輸的基本認識. MPEG-4 STANDARD. Consists of 6 parts: Systems ISO/IEC 14496-1 Visual ISO/IEC 14496-3 Audio ISO/IEC 14496-2: AAC, CELP, …
E N D
Goal • 嘗試使用WLAN/GPRS傳送Audio • 瞭解WLAN/GPRS網路特性 • 瞭解WLAN/GPRS對於Audio傳輸之影響 • 增進對於網路特性及多媒體傳輸的基本認識
MPEG-4 STANDARD • Consists of 6 parts: • Systems ISO/IEC 14496-1 • Visual ISO/IEC 14496-3 • Audio ISO/IEC 14496-2: AAC, CELP, … • DMIF (DeliveryMultimediaIntegration Framework) ISO/IEC 14496-6 • Reference Software ISO/IEC 14496-5: it is a software for the tools defined in standard 14496-1,2,3 and 6 (e.gaudio encoding software). • Conformance defines conformance conditions for bitstreamsand devices; this part is used to test MPEG-4 implementations .
Audio傳輸實驗步驟 (1) • 採CELP(Code Excited Linear Predictive)做語音壓縮 • 4.8kbps (8khz,mono,16bit) • 兩端執行實驗程式BuffaloAV • 首先,先進行兩端連線 • [Audio][Connect]
Audio傳輸實驗步驟 (2) • 接著會跳出底下對話盒, IP欄請輸入對方的IP • Audio Port兩端均設為一樣
Audio傳輸實驗步驟 (3) • Connect後,可由訊息視窗看到程式已經啟動相關的Encode, Decode, Recv Threads
Audio傳輸實驗步驟 (4) • 接下來,按[Audio][Init]進行音效部份的初始化 • 初始化成功後,程式底部的訊息視窗會顯示語音擷取及輸出的音訊格式 • 並啟動Sound capture thread開始擷取語音訊號,並傳送
Audio傳輸實驗步驟 (5) • 最後,按[Audio][Play]播放接收的語音訊號
程式流程說明 • 兩端以點對點, UDP傳送封包 • 之前Audio Connection Dialog即在設定雙方的IP及用來溝通的Port
程式流程說明 SoundCaptureThread Sound signal queue AudioEncodeThread AudioDecodeThread AudioRecvThread CELP frame queue
CELP Library Usage • void celp_init(int prot); • 使用CELP前,需先呼叫此function以進行初始化 • int celp_encode(short iarf[240], char packedbits[18]); • 對iarf PCM語音資料進行編碼,結果輸出至packedbits • int celp_decode(char packedbits[18], short pf[240]); • 對packedbits進行解碼,結果輸出至pf
練習 • 程式在接收端,除了會將所接收之語音訊號解碼後播放外,同時也會輸出至D:\sound.wav • 利用WLAN及GPRS連線,進行Audio傳輸 • 並分別聽看看sound.wav聲音品質是否有所差別 • 如同Video傳輸作法,為每個語音訊號在傳輸前加上number,並於接收時觀察是否有封包遺失情形發生