2024年6月6日发(作者:)

多路音频、多媒体

关键词:多媒体;复用;多路音频;缓存

一种可支持多路音频舰频同时播放的装置, 数据缓存模块连接

有多个音频/视频读取模块,音频/视频读取模块的输出端分别与

音频输出接口和视频呈现模块连接。

多媒体技术是计算机综合处理声、文、图信息的技术,具有

集成性、实时性和交互性。随着社会的发展,在多媒体服务中,服

务器端与客户端需要高速的计算以支持视、音频的实时编码、解码。

多数情况下,pc机不能满足实时与高质量的要求。

目前的电视机、电脑等多媒体设备在播放视频时,只能将一个视

频或音频作为主播放界面,存在局限性。如电视机,由于家人各自

喜欢看不同的频道,经常因选择频道而产生分歧。又如mp3、mp4

等,能支持多个播放器的多媒体设备都存在主次音干扰问题。为此,

人们希望能在一台设备上同时播放多个视频或音频,而每个视频或

音频能独立拥有多媒体效果,且互不影响。本文将探讨一种能够充

分利用资源的设计。本设计采用的核心芯片是mcu。mcu提供了一

个多功能可编程服务平台,采用通用编程语言,支持多种图像/语

音格式、多种压缩标准和算法,被广泛应用于如数字电视、数字视

频记录、视频会议和游戏平台等领域。

1 装置设计概述

1.1 方案提出

计算机技术的高速发展,使新一代计算机的资源相对充足。而在

实际使用过程中,大量的系统资源并没得到充分利用,特别是超线

程的p4架构,利用率不到10%,造成很大的资源浪费。数字音频

是多媒体技术的重要组成部分,品种繁多的新产品也不断涌现,音

频数据压缩和传输格式不断丰富和更新,给人们带来了方便和享

受。但与此同时,人们也在对数字音频产品不断提出更高的要求,

功能单一的产品必将被高性能、多功能以及具有良好兼容性的数字

音频系统所取代。同时播放多个视频画面时能够获得互不干扰的音

频输出的技术必将成为数字音频的发展趋势。本文提出一种全新的

设计方案:将系统资源优化整合、充分利用,能够在电脑或电视等

多媒体设备中实现多画面视频播放、多通道音频输出,各声音又不

互相干扰的一种装置。

1.2 常用的多路视频、音频同时播放方案分析

(1)单声卡多声道输出方式

声卡播放音频文件原理:多个副缓冲区中的数据混合到主缓冲区

中,然后再播放主缓冲区内的数据实现声音播放。声卡的主缓冲区

有且只有一个,声道可有多个。采用多个声道实现多路音频输出存

在以下问题:多声道不能实现声音隔离单独输出;并且制作音源的

时候是通过各个声道,从多个方位,多种方式录取的,录取到的多

路声音经过ac3或者dts编码后进行存储,播放时声卡把压码后的

声音信息再解码出来,送到缓冲区中(也许用到了多个从缓冲区),

最后通过声卡的主缓冲区播放,因为其含有以多种方式,多方位录

制的信息,所以每个声音输出孔的声音都存在混音等问题,声音效

果不好,不具备良好的立体感。

(2)音频与视频的双输出hdmi线+音响

市场中有采用带音频与视频的双输出hdmi线和音响来实现两个

屏幕声音互不干扰(视频看电影,电脑游戏,各自有声音)的产品,

它则需要两块声卡,一块用于电影,一块用于游戏,可以在程序中

选择使用不同声卡。若采用一块声卡,因hdmi带的音频输出只是

多了一种输出接口形式,声音是通过同一个声卡处理的,所以声音

还是混合的。如果将两个程序播放声音设置成一个左声道,一个右

声道,播放程序或游戏可以进行这种设置,但无法实现立体声。

(3)双头显卡多音频输出

采用双头显卡把电视与电脑连接起来,图像互不干扰的问题可以

解决,但电脑只有一块声卡,打开多个有声应用程序于电脑和电视

上会出现声音串扰的问题。目前有种方法是利用一块声卡把不同应

用程序的声音分离出来,通过前后声道进行传输,从而实现两(多)

路声音分开传输,互不干扰。但实际操作发现,前后声道输出的声

音总是相同的,有些声卡自带的“音效管理员”并不支持把前后声

道声音分离的功能。另一种方法是为电脑添加一块“虚拟声卡”,

通过“控制面板”的“声音”设置,用不同的声卡输出不同应用程

序的声音。实际操作发现这种方法有两个问题:第一,虚拟声卡软

件(rigexpert)并不能独立于物理声卡发声,因此并不能起到分离

声音的作用;第二,不是每一个发出声音的应用软件都提供了对声

卡进行选择的设置,比如windows media player可以设置,但

realplayer则不支持,所以仍会出现声音串扰的情况。

(4)分析

通常音源软件自己不能选择声音输出设备,默认的音频数据是直

接到windows的mix里面的。要实现分离输出,就要考虑可以控制

音频的分离输出软件。本文提出:将任意声道的声音模拟成多声道

模式,并且在各声道设置控制开关,这择就可以通过某些软件实现

虚拟声道,并对各声道进行独立控制,进而可以把不同应用程序的

声音分别送入不同的声道进行控制、传送,最终解决声音互相干扰

的问题。

2 模块装置设计

(1)硬件说明

数字信号处理器dsp是声卡的关键部件。声卡用数字信号处理器

芯片管理所有声音输入输出和midi操作。用数字信号处理器可以

通过编程来完成一些特定的任务,减轻cpu的负担。它的芯片带有

自己的ram和eprom,用来存放声音处理(vo)、adpcm编码/译码

程序和中间运算结果。视频输入模块采用dm365架构,能支持多种

格式的视频输入格式,实现高清视频输入。高清akd转换芯片采用

tvp7002,tvp7002能实现r/pr,g/y,b/pb信号的数字转换,转

换率高达165mhz。

(2)设计原理

同时播放多个音频文件是利用多缓冲技术,把多个副缓冲区中的

数据混合到主缓冲区中,然后再播放主缓冲区内的数据或用多线程

来实现。本文设计将音频,视频数据存入缓存区的不同位置,利用

多个音视频数据读取模块进行读取,并分别显示或播放,互不影响。

电路结构如图l所示。

如图1所示,设计的装置包括mcu(微控制单元)以及与该mcu连

接的数据存储模块、音视频解码模块和数据缓存模块。设计的主要

特点是数据缓存模块连接有多个音频/视频读取模块,输出端分别

与视频呈现模块和音频输出接口模块连接。mcu将要播放的数据从

数据存储模块中读取并进行解码,并将解码后的数据按照不同的地

址分别存入缓存模块中,缓存模块采用多路复用技术,实现集中管

理,利用音频/视频读取模块读取相应位置的数据信息,分别输出

显示或播放。音频输出接口模块具有多个音频输出端口,以便用户

通过各自的耳麦或音频播放设备接收各自的音频数据。

(3)程序说明

mcu采用其程序总线与数据总线分开,取指令与执行指

令并行运行的方式。程序总线宽度为256bit,每一次取指操作都

是取8条指令,即一个取指包。执行时,每条指令占用一个功能单

元,取指、指令分配和指令译码单元都具备每周期读取并传递8条

32位指令的能力。

mcu有二个类似的可进行数据处理的数据通路a和b,其结构如

图2所示,共包含下述物理资源:

①2个数据通路(a和b)。

②8个功能单元。mcu每组数据通路有四个功能单元,两组数据

通路功能单元的功能基本相同。这些功能单元主要完成乘法运算和

产生地址的功能。l与s是主要的算术逻辑运算单元(alu)。

③二个数据读取通路(ld1和ld2)和二个数据存储通路(st1和

st2)。

④二个寄存器组交叉通路(2x和1x)。

⑤二个数据寻址通路(s/c1和s/c2)。

⑥控制寄存器组。

用户可以通过对控制寄存器组编程来选用mcu的部分功能。功能

单元方面,算术逻辑运算单元s可通过搬移指令mcu访问控制寄存

器,对其进行读写操作。每一个通道可以同时运行,也可以分时运

行,并且是可编程和软件可控的。它执行数据传送功能存储器到存

储器:执行块传送、预装数据到内部高速缓存、用0或1填充存储

器某特定区域。待传送数据的参数,如起始地址、数据大小等封装

并打包在一个数据包中。控制器一次读取一个数据包作为它的传送

数据,并可以在不中断vuw工作的情况下,把在存储器中互不相连

的数据持续地传送。存储器到io口和io口到存储器,执行io数

据传输的muc控制寄存器有以下寄存器

寻址模式寄存器amr

控制状态寄存器csr。

mcu控制器支持64m b到128m b的sdram/sgram,而不需另加

额外的控制电路。控制器包括了dram的刷新与读写控制、队列、

优先权判别等硬件逻辑。内部的锁相环电路产生sdram/sgram所

需的读写时钟。

mcu的eprom/falshrom控制器执行以下几个功能:

芯片配置和rom启动定序器。在系统启动时,读取系统启动代码

和配制信息。

控制读、写、擦除falshrom。

启动过程中,进行上电诊断;测试状态时,设置不同的程序断点。

中断控制寄存器ifr、isr、icr、ier、istp、irp和nrp。

dma控制器(direct memory access):mcu中的通道控制器。

(4)本设计装置实施的效果示意图如图3所示。图中左边同时播

放了a、b、c、d四个视频,输出端设置有四个音频输出口(1、2、

3、4)分别对应四个视频的声音。为促使声音的不干扰传输,采用

多信道利用技术,把多个声间传输分成不同的时隙,对各路通信进

行分组,每组占用一个时隙,不同组分别进行数据传输互不干扰。

信道利用技术中.复用器具有几个缓存器,这样就可将声音分离。

用户只要通过各自的耳麦即可听取相应视频的声音,可供多人使

用,节省了资源。

(5)音频信息传输采用madi(multichannel audiodigital

interface)接口标准,线性量化(pcm)音频数据madi采用异步工作

方式:音频信号的时钟和数据分开传输,每个通道包含32个比特,

其中24个比特分配给音频或由音频,非音频标记定义的其他数据,

另有4个比特用来表示二通道接口的有效位(v)、用户数据位(u)、

状态数据位(c)和奇偶校验位(p),另4个比特用于模式确认。

本设计的音频输出不仅仅只局限于有线的数据传输,其音频输出

接口模块还可以包括蓝牙音频输出单元,通过无线蓝牙实现音频传

输并播放。

3 结束语

本文将音/视频数据存入缓存的不同位置,利用多个音视频数据

读取模块进行读取,并分别显示或播放,互不影响。目前在市场上

还末找到可实现类似功能的硬件。此设计的装置可应用于包括电视

机、电脑以及多媒体设备等,具有较好的实用价值。