您当前的位置:首页 > 生活 > 内容

ts流与asi流的区别 基于嵌入式处理器实现TS流处理系统的应用方案

ts流与asi流的区别 基于嵌入式处理器实现TS流处理系统的应用方案

中国地面电视传输标准的强制实施和文章卫星的开通将极大地推动数字电视的发展。目前,国内已有多个省市推出了移动数字电视。对于终端接收设备的软件来说,数字电视的处理主要是对解码后的TS流进行分析和解析。

TS流和一般处理流程

1.1 TS流

TS流,即传输流,是根据ITU-trec . h . 222 . o | iso/iec 13818-2和iso/iec 13818-3协议定义的数据流。它由一个或多个节目组成,每个节目由一个或多个原始流和其他流组成,包括文章流、音频流、节目特定信息流(PSI)和其他数据包。在数字电视广播中传输的是TS流。TS流在实际应用中可以承载多种信息流,如音文章流、数据流和控制流等。TS包的长度是固定的,从sync _ byte)0x 47开始,随后是包标识号PID和包有效载荷数据,总长度为188字节。从PID可以判断其背后的数据类型是文章流、音频流、PSI,还是其他数据包。节目特定信息流(PSI)用于描述传输流的结构,它由特定的PID组成,其中PAT表和PMT表是最重要的。

1.2 ts流的处理

数字电视接收设备接收TS流后的一般处理流程如图1所示。TS-Reader是TS流读取模块,用于检测TS流并读取;TS-Demux模块是TS流拆分模块,用于将TS流中的音文章数据整理出来,供后续模块处理;文章解码模块(Video-Decoder module)是一个文章解码模块,它根据TS流的压缩格式对文章数据进行解码,然后将解码后的文章数据发送给显示设备输出;音频解码模块是一个音频解码模块,对TS流中的音频流进行解码,输出到音频设备。

基于AU1200的TS流处理系统的组成

本文设计的数字电视接收装置的硬件选用AU1200作为主芯片。AU1200是RMI推出的高性能、低功耗、高集成度的MIPS架构嵌入式处理器。AU1200 的媒体加速引擎(MAE)可以流畅播放MPEG-1、 MPEG-2、 DIVX、Xvid ID等各种流媒体,无需DSP,无需PC(或其他设备)对内容进行转码。使用AU1200作为嵌入式数字电视播放设备的主芯片,可以在媒体播放性能上充分发挥其低成本、低功耗、高性能的优势。

MAE是AU1200处理器内置的片上硬件,承担文章解码、缩放、色彩空间转换、滤波等功能。MAE硬件分为前端和后端,每个部分执行特定的任务。MAE的前端独立执行最复杂和艰巨的解码任务,包括反量化、反余弦变换、运动补偿和Windows Media Video 9覆盖平滑。MAE后端执行缩放、色彩空间转换和过滤功能。高效利用MAE的前后端,可以减轻CPU的负荷,提供更友好的人机交互。

以Linux为平台,利用其多线程处理的优势,由AU1200硬件构成的数字电视播放系统可以方便地播放数字电视的ts流。数字电视播放系统的结构如图2所示。

3数字电视播放软件的设计

回放软件采用模块化设计,多线程并行处理。各模块通过MAI (Media Application Interface,媒体应用接口)引擎完成相互之间的数据传输和同步。软件要求能够流畅播放MPEG (1,2,4)、DivX、WMV、XviD格式的多媒体文件,同时增加播放数字电视的功能。

3.1现有回放软件结构

现有的媒体播放软件结构:播放软件中的所有模块都由MAI引擎组装,完成特定格式的媒体文件的播放或格式转换。

这些模块分为文件读取模块、解复用模块、解码器模块、渲染模块和文件写入模块。模块是否需要载人,如何链接,取决于MAI引擎播放的媒体格式。加载后,模块以线程的形式独立运行。模块之间通过数据缓冲区进行数据交换,MAI引擎负责协调以保证模块的正常运行。

3.2播放软件中的TS流处理

为了在播放软件中实现数字电视TS流的播放,需要在原有的播放系统中增加TS流的阅读器、解复用器和解码器模块。由于数字电视的音文章编码格式是开放的、确定的,因此需要相应的解码模块进行处理。基于MAE的TS流处理模块的结构如图3所示。

(1)TS阅读器模块

ts阅读器模块是用于读取TS流的模块。它从硬件设备获取ts流数据,并根据TS-Demux的数据缓冲区大小要求将其写入缓冲区。主要实现打开TS流数据接口、关闭接口、读取TS流数据三个功能,分别对应三个主要函数——TSstreamopen()、_TSstreamclose()和_TSstreamread()。因为数字电视不支持播放,所以不具备Seek功能。

(2)TS-Demux模块

TS-Demux模块是用于分析TS流的模块,是处理数字电视TS流的关键。TS-Demux从缓冲区获取数据后,需要解析TS流,然后返回MAI的节目信息供应用程序选择的当前TS流。在确定节目流的PID后,TS-Demux会根据音文章PID对TS流进行排序,得到音文章数据,供相应的解码器进行解码。

(3)音频解码器模块

音文章的解码格式在MAI开始链接各个模块的时候就已经确定了,所以音文章的解码模块在链接的时候就已经确定了。此时,的音频解码器模块是处理音频解码的模块。根据不同的数字电视格式,音频解码格式可以是mp3或ac3等。解码后,音频数据被发送到音频渲染模块,以驱动硬件发出声音。

(4)文章解码器模块

文章解码器模块也用于解码编码格式。对于MPEG2-2的编码格式,文章解码器将数据提供给MAE 的前端进行处理,MAE发送到显示屏进行显示。其他文章格式(如H264等。)不能被MAE前端处理的,必须通过软件解码形成YUV数据,然后将YUV数据输入到MAE后端进行处理。

3.3数字电视播放效果

测试需要建设的数字电视广播系统。通过测试,数字电视设备接口的数据缓冲区需要设置为256KB,如果存储容量允许512 KB到1 MB就更好了。数字电视模块使用USB接口播放时,播放流畅,音文章同步,数字电视实际播放达到预期效果。

3.4增加对其他媒体格式的支持

其他常见的媒体文件格式,如flv和rmvb,也可以通过添加解复用器和解码器来播放。由于文章解码器解码后得到YUV数据,数据直接交给MAE-BE处理。在音文章同步方面,在向MAE-BE提交YUV数据进行处理时,要将当前帧的时间戳提交给MAE,这样MAE才能实现音文章同步。当然,你也可以自己同步程序中的音频和文章,这需要你在提交YUV之前从MAE获取音频播放的时间戳,然后与当前文章帧的时间戳进行对比,进行必要的延时操作。

标签

本文详细介绍了数字电视广播系统的建立过程。该系统基于AU1200芯片,结合软硬件优势,实现了数字电视TS流的播放功能。通过扩展媒体播放过程,还可以解码和播放各种媒体格式,如flv和rmvb。

标签:TS数字电视数据


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 活了30多年,才知道豆腐这样做这么好吃,美味又解馋,流口水了

下一篇: 三星zflip3屏幕寿命(三星zflip3屏幕会折坏吗)



猜你感兴趣

推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号