【技术实现步骤摘要】
本专利技术涉及音频处理
,特别是涉及一种音频数据的处理方法、装置和系统。
技术介绍
在数字电视系统领域中,为了实现音频数据的正常播放,现有技术中采用环形缓冲区的方式对捕获的音频数据进行存储,然后对捕获到的音频数据进行播放。但是,在采用环形缓冲区对待播放音频数据进行存储时,当写指针达到环形缓冲区的尾地址时,会立即返回到起始地址继续捕获。同时,由于捕获和读取是并行执行的,因此,若先前缓冲区起始地址的音频数据没有被及时读取播放,会造成未被读取的音频数据被新捕获的数据覆盖的情况,进而导致声音跳播的问题。为了避免上述情况,现有方案中会将每笔捕获到的音频数拷贝到另外一块内存空间(或内存池)上,通过读取拷贝后的内存空间上的音频数据进行播放。虽然上述方案解决了音频数据被覆盖的问题,但采用内存池的方案也引入一系列的其他问题:需要再开辟一块内存空间以供单独存储或备份数据,频繁的内存拷贝动作也会在一定程度上降低系统性能,复杂了操作流程,同时,对新开辟的内存空间上的每笔数据的维护,会增加系统设计的复杂度,不易于后期维护。
技术实现思路
本专利技术的实施例提供一种音频数据的处理方法、装置和系统,用以避免设置内存池的同时实现待播放音频数据不会被覆盖的问题。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术实施例提供了一种音频数据的处理方法,包括:设置第一队列和第二队列,所述第一队列用于管理待播放音频数据的已配置的信息控制节点,所述第二队列用于管理已播放音频数据的已配置的信息控制节点,所述待播放音频数据的已配置的信息控制节点中包含待播放音频数据的属性信息;从所 ...
【技术保护点】
一种音频数据的处理方法,其特征在于,包括:设置第一队列和第二队列,所述第一队列用于管理待播放音频数据的已配置的信息控制节点,所述第二队列用于管理已播放音频数据的已配置的信息控制节点,所述待播放音频数据的已配置的信息控制节点中包含待播放音频数据的属性信息;从所述第一队列中卸载单位数据的已配置的信息控制节点;根据所述卸载的已配置的信息控制节点中待播放音频数据的属性信息,读取对应的待播放音频数据;将所述卸载的已配置的信息控制节点链接到第二队列。
【技术特征摘要】
1.一种音频数据的处理方法,其特征在于,包括:设置第一队列和第二队列,所述第一队列用于管理待播放音频数据的已配置的信息控制节点,所述第二队列用于管理已播放音频数据的已配置的信息控制节点,所述待播放音频数据的已配置的信息控制节点中包含待播放音频数据的属性信息;从所述第一队列中卸载单位数据的已配置的信息控制节点;根据所述卸载的已配置的信息控制节点中待播放音频数据的属性信息,读取对应的待播放音频数据;将所述卸载的已配置的信息控制节点链接到第二队列。2.根据权利要求1所述的方法,其特征在于,与所述卸载的已配置的信息控制节点对应的待播放音频数据为第一通路的音频数据;根据所述卸载的已配置的信息控制节点中待播放音频数据的属性信息,读取对应的待播放音频数据之后,所述方法还包括:检测是否从第一通路切换到第二通路;若检测到从所述第一通路切换到所述第二通路,则卸载并释放所述第一队列中剩余的已配置的信息控制节点。3.根据权利要求1或2所述的方法,其特征在于,所述从所述第一队列中卸载单位数据的已配置的信息控制节点之前,所述方法还包括:设置第三队列,所述第三队列用于管理待配置的信息控制节点,所述第三队列中包含至少一个待配置的信息控制节点;当接收到触发指令时,从所述第三队列中卸载单位数据的待配置的信息控制节点,并对所述卸载的待配置的信息控制节点进行配置;将已配置的信息控制节点链接到所述第一队列中。4.根据权利要求3所述的方法,其特征在于,所述当接收到触发指令时,从所述第三队列中卸载单位数据的待配置的信息控制节点之前,所述方法还包括:采用直接内存写入WDMA捕获待播放音频数据,其中,所述WDMA与第一缓冲区对应,所述第一缓冲区中包括读指针和写指针;检测所述第一缓冲区中写指针和读指针的差值是否大于或等于第一预设阈值;若所述第一缓冲区中写指针和读指针的差值大于或等于所述第一预设阈值,则触发阈值中断,生成所述触发指令。5.根据权利要求4所述的方法,其特征在于,所述当接收到触发指令时,从所述第三队列中卸载单位数据的待配置的信息控制节点,并对所述卸载的待配置的信息控制节点进行配置包括:根据所述触发指令,从所述第三队列中卸载单位数据的待配置的信息控制节点;根据所述第一缓冲区中从所述读指针到所述写指针之间的待播放音频数据,将所述待播放音频数据的起始地址、所述待播放音频数据的长度配置在所述卸载的待配置的信息控制节点中。6.根据权利要求5所述的方法,其特征在于,所述根据卸载的已配置的信息控制节点中待播放音频数据的属性信息,读取对应的待播放音频数据进行播放之前,所述方法还包括:根据所述卸载的已配置的信息控制节点,对与直接内存读取RDMA对应的第二缓冲区中的配置节点进行配置;其中,所述第二缓冲区中包括读指针、写指针以及多个配置节点,所述配置节点具有配置信息。7.根据权利要求6所述的方法,其特征在于,所述配置信息中包括所述配置节点的起始地址参数,以及对应的长度参数;所述根据所述卸载的已配置的信息控制节点,对与直接内存读取RDMA对应的第二缓冲区中的配置节点进行配置包括:确定所述第二缓冲区中的写指针所指向的目标配置节点;将所述目标配置节点的起始地址参数设置为所述待播放音频数据的起始地址;将所述目标配置节点的长度参数设置为所述待播放音频数据的数据长度。8.根据权利要求7所述的方法,其特征在于,所述根据卸载的已配置的信息控制节点中待播放音频数据的属性信息,读取对应的待播放音频数据包括:更新所述第二缓冲区中的写指针;计算所述第二缓冲区中的写指针与读指针的差值;若所述第二缓冲区中的写指针与读指针的差值大于或等于第二预设阈
\t值,则读取所述第二缓冲区中读指针所指向的配置节点对应的待播放音频数据。9.根据权利要求8所述的方法,其特征在于,所述第二缓冲区为环形缓冲区,所述更新所述第二缓冲区中的写指针的步骤包括:判断所述目标配置节点是否为所述第二缓冲区的最后一个配置节点;若是,则配置所述第二缓冲区中的写指针为所述第二缓冲区的起始地址对应的第一个配置节点所在的位置;若否,则配置所述第二缓冲区中的写指针为所述第二缓冲区中所述目标配置节点的下一个配置节点的位置。10.根据权利要求6所述的方法,其特征在于,所述方法还包括:确定所述第二缓冲区中读指针所在的位置;计算所述第二缓冲区中第一标记指针和第二标记指针的差值,所述第一标记指针指向所述第二缓冲区中的读指针所在位置的上一个配置节点所在的位置,所述第二标记指针为上一次释放时所述第一标记指针所在的位置;若所述第二缓冲区中第一标记指针和第二标记指针的差值大于或等于第三预设阈值,则将所述第二队列中与所述第一标记指针和所述第二标记指针之间对应的已配置的信息控制节点卸载并释放;将所述第二队列中卸载并释放的信息控制节点链接到所述第三队列中。11.一种音频数据的处理装置,其特征在于,包括:队列设置单元,用于设置第一队列和第二队列,所述第一队列用于管理待播放音频数据的已配置的信息控制节点,所述第二队列用于管理已播放音频数据的已配置的信息控制节点,所述待播放音频数据的已配置的信息控制节点中包含待播放音频数据的属性信息;节点卸载单元,用于从所述第一队列中卸载单位数据的已配置的信息控制节点;读取单元,用于根据所述卸载的已配置的信息控制节点中待播放音频数据的属...
【专利技术属性】
技术研发人员:鲁忠辉,李淑荣,王强,
申请(专利权)人:青岛海信电器股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。