0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于嵌入式處理器實現(xiàn)TS流處理系統(tǒng)的應用方案

電子設計 ? 來源:單片機與嵌入式系統(tǒng)應用 ? 作者:帥文 ? 2021-05-05 16:50 ? 次閱讀

中國地面電視傳輸標準的強制實施和直播星的開通,將極大地促進數(shù)字電視的發(fā)展。現(xiàn)在國內已經有多個省市開播了移動數(shù)字電視。對終端接收設備軟件而言,數(shù)字電視的處理主要是對經過解碼后的TS流分析和解析。

1 TS流及一般處理流程

1.1 TS流

TS流,即傳送流(Transport Stream),是根據(jù)ITU-TRec.H.222.O | ISO/IEC 13818-2和ISO/IEC 13818-3協(xié)議而定義的一種數(shù)據(jù)流。它由一道或多道節(jié)目組成,每道節(jié)目由一個或多個原始流和其他一些流復合在一起,包括視頻流、音頻流、節(jié)目特定信息流(PSI)和其他數(shù)據(jù)包。在數(shù)字電視廣播中傳送的就是TS流。TS流可以承載多種信息流,如實際應用中的音視頻流、數(shù)據(jù)流、控制流等。一個TS包的長度是固定的,以同步字節(jié)(sync_byte)Ox47打頭,后跟數(shù)據(jù)包識別號PID和分組負載數(shù)據(jù)等,總長為188字節(jié)。從PID可以判斷其后面負載的數(shù)據(jù)類型是視頻流、音頻流、PSI,還是其他數(shù)據(jù)包。節(jié)目特定信息流(PSI)用來描述傳送流的組成結構,由特定的PID構成,其中最重要的是PAT表和 PMT表。

1.2 TS流的處理

數(shù)字電視接收設備在收到TS流后的一般處理流程如圖1所示。TS-Reader是TS流讀取模塊,用于檢測TS流并讀??;TS-Demux模塊是TS流分拆模塊,用于將TS流中的音視頻數(shù)據(jù)分檢出來供后面模塊處理;Video-Decoder模塊是視頻解碼模塊,依照TS流承載的視頻數(shù)據(jù)壓縮格式進行相應的解碼工作,然后將解碼后的視頻數(shù)據(jù)送到顯示設備輸出;Audio-Decoder模塊是音頻解碼模塊,將TS流內的音頻流解碼,輸出到音頻設備。

2 基于AU1200的TS流處理系統(tǒng)組成

本設計的數(shù)字電視接收設備的硬件選用AU1200作為主芯片。AU1200是RMI公司推出的一款MIPS架構的高性能、低功耗、高集成度的嵌入式處理器。AU1200所具有的媒體加速引擎(Media Acceleration Engine,MAE)可以在沒有DSP的條件下流暢播放MPEG-1、MPEG-2、DivX和Xvid等多種流媒體,而不需要PC(或其他設備)進行內容的代碼轉換。采用AU1200作為嵌入式數(shù)字電視播放設備的主芯片,在媒體播放性能上能充分利用其低成本、低功耗和高性能的特性。

MAE是AU1200處理器內置的片上硬件,它承擔了視頻解碼、縮放、顏色空間轉換和過濾的功能。MAE硬件上被分為前端和后端,各自執(zhí)行特定的任務。 MAE的前端獨立執(zhí)行最為復雜和繁重的解碼任務,包括反向量化、反向余弦轉換、運動補償和Windows Media Video 9覆蓋平滑處理。MAE后端執(zhí)行縮放、顏色空間轉換和過濾功能。高效地利用MAE前后端可以減輕CPU的負載,提供更友好的人機交互。

Linux系統(tǒng)為平臺,利用其多線程處理的優(yōu)勢,結合AU1200硬件組成的數(shù)字電視播放系統(tǒng)可以方便地實現(xiàn)數(shù)字電視TS流的播放。數(shù)字電視播放系統(tǒng)結構如圖2所示。

3 數(shù)字電視播放軟件的設計

播放軟件采用模塊化設計,多線程并行處理。各模塊并通過MAI(Media Application Interface)Engine完成相互問的數(shù)據(jù)傳遞和同步。軟件要求在保持流暢播放MPEG(1,2,4),DivX,WMV和XviD等格式多媒體文件的同時增加播放數(shù)字電視的功能。

3.1 已有播放軟件結構

已有的媒體播放軟件結構:播放軟件內各模塊通過MAI Engine將相應模塊組裝起來,完成特定格式的媒體文件的播放或格式轉換。

模塊類型分為:File Reader模塊、Demux模塊、De-coder模塊、Render模塊和File Writer模塊。模塊是否需要載人、如何進行鏈接由MAI Engine根據(jù)播放的媒體格式而定。模塊裝載后以線程的形式獨立運行,模塊間通過數(shù)據(jù)緩沖區(qū)進行數(shù)據(jù)交換,并由MAI Engine負責協(xié)調,以確保模塊運行正常。

3.2 播放軟件內的TS流處理

在播放軟件內實現(xiàn)數(shù)字電視TS流的播放,需要在原有的播放系統(tǒng)上增加TS流的Reader、Demux和Decoder模塊。由于數(shù)字電視的音視頻編碼格式都是公開且確定的,因此需要相應的Decoder模塊進行處理?;贛AE的TS流處理模塊結構如圖3所示。

(1)TS-Reader模塊

TS-Reader模塊是讀取TS流的模塊。它從硬件設備獲取TS流數(shù)據(jù),按照TS-Demux的數(shù)據(jù)緩沖區(qū)大小要求寫入該緩沖區(qū)。主要實現(xiàn)打開TS流數(shù)據(jù)接口、關閉接口和讀取TS流數(shù)據(jù)3個功能,分別對應3個主要函數(shù)一TSstreamopen()、_TSstreamclose()和 _TSstreamread()。由于數(shù)字電視不支持回放,因此不具備定位搜索(即Seek)的功能。

(2)TS-Demux模塊

TS-Demux模塊是進行TS流解析的模塊,它是處理數(shù)字電視TS流的關鍵。TS-Demux從緩沖區(qū)中取到數(shù)據(jù)后,需要對TS流進行解析,然后返回 MAI當前TS流的節(jié)目信息,供應用程序選擇。在確定節(jié)目流PID后,TS-Demux將根據(jù)音視頻PID分檢TS流,獲取Video和Audio數(shù)據(jù),供相應的Decoder解碼。

(3)Audio-Decoder模塊

在MAI開始鏈接各模塊時已確定了音視頻的解碼格式,因此音視頻的解碼模塊在鏈接時已確定下來。此時的音頻解碼Audio-Decoder模塊就是處理音頻解碼的模塊,依據(jù)不同的數(shù)字電視格式,該音頻解碼格式可能是mp3或ac3等。音頻解碼后,音頻數(shù)據(jù)送往Audio-Render模塊驅動硬件發(fā)出聲音。

(4)Video-Decoder模塊

視頻解碼Video-Decoder模塊也是進行確定編碼格式的解碼工作。對于MPEG2的編碼格式,Video-Decoder將數(shù)據(jù)交給MAE的前端處理,由MAE送到顯示屏上顯示。對于其他不能使用MAE前端進行處理的視頻格式(如H264等),必須由軟件進行解碼,形成YUV數(shù)據(jù),然后將YUV數(shù)據(jù)輸入到MAE的后端處理。

3.3 數(shù)字電視播放效果

需要對搭建起的數(shù)字電視播放系統(tǒng)進行測試。通過測試,數(shù)字電視設備接口的數(shù)據(jù)緩沖區(qū)需要設置為256KB,如果存儲容量允許采用512 KB到1 MB更好。在數(shù)字電視模塊采用USB接口進行播放時,播放流暢,音視頻同步,數(shù)字電視的實際播放達到了預期的效果。

3.4 增加對其他媒體格式的支持

對于其他常見的媒體文件格式,如flv和rmvb等,也可以通過增加該格式的 Demux和Decoder實現(xiàn)播放。由于視頻Decoder解碼后得到的是YUV數(shù)據(jù),因此直接將該數(shù)據(jù)交給MAE-BE端處理。音視頻同步方面,需要在提交YUV數(shù)據(jù)給MAE-BE端處理時,將當前幀的時間戳一并提交給MAE,即可由MAE內部實現(xiàn)音視頻同步。當然也可以自己在程序中進行音視頻同步,這需要在提交YUV前從MAE取得音頻播放的時間戳,然后與當前視頻幀的時間戳比較,進行必要的延時操作。

結語

本文詳細介紹了數(shù)字電視播放系統(tǒng)的建立過程。該系統(tǒng)基于AU1200芯片,結合軟硬件優(yōu)勢,實現(xiàn)了數(shù)字電視TS流的播放功能。通過對媒體播放程的擴展,還可以實現(xiàn)如flv和rmvb等多種媒體格式的解碼播放。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19313

    瀏覽量

    230052
  • 芯片
    +關注

    關注

    456

    文章

    50889

    瀏覽量

    424238
  • 嵌入式
    +關注

    關注

    5085

    文章

    19138

    瀏覽量

    305726
收藏 人收藏

    評論

    相關推薦

    基于ARM7的嵌入式音頻處理系統(tǒng)的設計

    技術,完成基于ARM7的嵌入式音頻系統(tǒng)的軟硬件設計與實現(xiàn)。該系統(tǒng)具有音頻實時錄制、音頻實時播放和播放由WAV格式保存的音頻文件的功能?!娟P鍵詞】:ARM;;音頻
    發(fā)表于 04-24 09:42

    使用 ARM 和 CPLD 共同實現(xiàn)嵌入式數(shù)字圖像處理系統(tǒng)

    分享的是基于ARM和CPLD的嵌入式數(shù)字圖像處理系統(tǒng)設計方案。嵌入式數(shù)字圖像處理系統(tǒng)概述:本文介紹的是一種
    發(fā)表于 12-10 17:55

    基于SPB怎么實現(xiàn)嵌入式音頻處理系統(tǒng)設計?

    的軟件構架。SPB中的軟件IP模塊可以屏蔽底層細節(jié),為FPGA嵌入式設計的快速開發(fā)提供便利,提高研發(fā)效率。介紹了基于SPB的FPGA嵌入式設計關鍵技術,并在智能開發(fā)平臺NanoBoard 3000上實現(xiàn)了基于SPB的
    發(fā)表于 03-11 07:12

    怎么實現(xiàn)基于信號處理嵌入式應用的音頻處理系統(tǒng)的設計?

    本文闡述了基于信號處理嵌入式應用的音頻處理系統(tǒng)的設計和實現(xiàn)。
    發(fā)表于 06-08 07:07

    專用處理器技術在嵌入式系統(tǒng)中應用間題研究

    本文討論了專用處理器技術在嵌入式系統(tǒng)設計中一些基本問題。作為一個重要的現(xiàn)代電子應用技術,嵌入式系統(tǒng)的應用設計目標就是要
    發(fā)表于 05-09 13:09 ?22次下載

    嵌入式處理系統(tǒng)

    嵌入式處理系統(tǒng) 嵌入式系統(tǒng)概述 嵌入式處理系統(tǒng)設計 并行計算機的組織結構模型
    發(fā)表于 02-25 16:53 ?43次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>處理系統(tǒng)</b>

    嵌入式異構多處理器系統(tǒng)中的通信實現(xiàn)

    摘要:提出一種嵌入式異構多處理器系統(tǒng)的結構模型,論述這種系統(tǒng)的通信機制,并闡述在基于這種嵌入式異構多處理
    發(fā)表于 03-01 01:34 ?47次下載

    基于嵌入式圖像處理系統(tǒng)設計

    有機結合,有效的提高了通信的智能性與靈活性。應用嵌入式系統(tǒng)對圖像進行處理,可以顯著的提高圖像處理系統(tǒng)的數(shù)據(jù)處理、通信等能力,進而有效的擴大圖
    發(fā)表于 11-24 14:52 ?24次下載

    如何構建基于處理器嵌入式安全系統(tǒng)?

    嵌入式安全系統(tǒng)概述;嵌入式系統(tǒng)安全技術;安全應用處理器介紹 ;基于安全處理器
    的頭像 發(fā)表于 01-25 07:06 ?2568次閱讀
    如何構建基于<b class='flag-5'>處理器</b>的<b class='flag-5'>嵌入式</b>安全<b class='flag-5'>系統(tǒng)</b>?

    嵌入式系統(tǒng)教程之嵌入式處理器的詳細資料說明

    本文檔的主要內容詳細介紹的是嵌入式系統(tǒng)教程之嵌入式處理器的詳細資料說明包括了:1 硬件子系統(tǒng)的組成,2
    發(fā)表于 06-14 17:14 ?18次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>教程之<b class='flag-5'>嵌入式</b><b class='flag-5'>處理器</b>的詳細資料說明

    VivadoHLS嵌入式實時圖像處理系統(tǒng)的構建與實現(xiàn)優(yōu)先出版

    VivadoHLS嵌入式實時圖像處理系統(tǒng)的構建與實現(xiàn)優(yōu)先出版(嵌入式開發(fā)電腦推薦)-VivadoHLS嵌入式實時圖像
    發(fā)表于 07-30 12:39 ?0次下載
    VivadoHLS<b class='flag-5'>嵌入式</b>實時圖像<b class='flag-5'>處理系統(tǒng)</b>的構建與<b class='flag-5'>實現(xiàn)</b>優(yōu)先出版

    嵌入式圖像處理系統(tǒng)的設計與實現(xiàn)

    嵌入式圖像處理系統(tǒng)的設計與實現(xiàn)(嵌入式開發(fā)需要學哪些算法)-文檔為嵌入式圖像處理系統(tǒng)的設計與
    發(fā)表于 08-04 15:19 ?12次下載
    <b class='flag-5'>嵌入式</b>圖像<b class='flag-5'>處理系統(tǒng)</b>的設計與<b class='flag-5'>實現(xiàn)</b>

    嵌入式處理器

      嵌入式處理器嵌入式系統(tǒng)的核心,是控制、輔助系統(tǒng)運行的硬件單元。范圍極其廣闊,從最初的4位處理器
    發(fā)表于 10-20 17:21 ?1次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>處理器</b>

    嵌入式處理器

      嵌入式處理器嵌入式系統(tǒng)的核心,是控制、輔助系統(tǒng)運行的硬件單元。范圍極其廣闊,從最初的4位處理器
    發(fā)表于 10-21 13:36 ?3次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>處理器</b>

    基于ARM嵌入式圖像處理系統(tǒng)設計與實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于ARM嵌入式圖像處理系統(tǒng)設計與實現(xiàn).pdf》資料免費下載
    發(fā)表于 10-12 10:16 ?0次下載
    基于ARM<b class='flag-5'>嵌入式</b>圖像<b class='flag-5'>處理系統(tǒng)</b>設計與<b class='flag-5'>實現(xiàn)</b>