<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費電子 > 設計應用 > 基于AU 1 200的TS流處理設計

          基于AU 1 200的TS流處理設計

          作者: 時間:2009-08-17 來源:網絡 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/166898.htm

          1 流及一般流程
          1.1
          TS流,即傳送流(Transport Stream),是根據ITU-TRec.H.222.O | ISO/IEC 13818-2和ISO/IEC 13818-3協(xié)議而定義的一種數據流。它由一道或多道節(jié)目組成,每道節(jié)目由一個或多個原始流和其他一些流復合在一起,包括視頻流、音頻流、節(jié)目特定信息流(PSI)和其他數據包。在數字電視廣播中傳送的就是TS流。TS流可以承載多種信息流,如實際應用中的音視頻流、數據流、控制流等。一個TS包的長度是固定的,以同步字節(jié)(sync_byte)Ox47打頭,后跟數據包識別號PID和分組負載數據等,總長為188字節(jié)。從PID可以判斷其后面負載的數據類型是視頻流、音頻流、PSI,還是其他數據包。節(jié)目特定信息流(PSI)用來描述傳送流的組成結構,由特定的PID構成,其中最重要的是PAT表和 PMT表。
          1.2 TS流的
          數字電視接收設備在收到TS流后的一般處理流程如圖1所示。TS-Reader是TS流讀取模塊,用于檢測TS流并讀??;TS-Demux模塊是TS流分拆模塊,用于將TS流中的音視頻數據分檢出來供后面模塊處理;Video-Decoder模塊是視頻解碼模塊,依照TS流承載的視頻數據壓縮格式進行相應的解碼工作,然后將解碼后的視頻數據送到顯示設備輸出;Audio-Decoder模塊是音頻解碼模塊,將TS流內的音頻流解碼,輸出到音頻設備。

          2 1200的TS流處理系統(tǒng)組成
          的數字電視接收設備的硬件選用1200作為主芯片。1200是RMI公司推出的一款MIPS架構的高性能、低功耗、高集成度的嵌入式處理器。AU1200所具有的媒體加速引擎(Media Acceleration Engine,MAE)可以在沒有DSP的條件下流暢播放MPEG-1、MPEG-2、DivX和Xvid等多種流媒體,而不需要PC(或其他設備)進行內容的代碼轉換。采用AU1200作為嵌入式數字電視播放設備的主芯片,在媒體播放性能上能充分利用其低成本、低功耗和高性能的特性。
          MAE是AU1200處理器內置的片上硬件,它承擔了視頻解碼、縮放、顏色空間轉換和過濾的功能。MAE硬件上被分為前端和后端,各自執(zhí)行特定的任務。 MAE的前端獨立執(zhí)行最為復雜和繁重的解碼任務,包括反向量化、反向余弦轉換、運動補償和Windows Media Video 9覆蓋平滑處理。MAE后端執(zhí)行縮放、顏色空間轉換和過濾功能。高效地利用MAE前后端可以減輕CPU的負載,提供更友好的人機交互。


          上一頁 1 2 3 下一頁

          關鍵詞: 設計 處理 TS AU 基于

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();