CN117558283B - 一种多路多标准的音频解码系统 - Google Patents

一种多路多标准的音频解码系统 Download PDF

Info

Publication number
CN117558283B
CN117558283B CN202410045396.5A CN202410045396A CN117558283B CN 117558283 B CN117558283 B CN 117558283B CN 202410045396 A CN202410045396 A CN 202410045396A CN 117558283 B CN117558283 B CN 117558283B
Authority
CN
China
Prior art keywords
decoding
audio
task
frame
audio frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410045396.5A
Other languages
English (en)
Other versions
CN117558283A (zh
Inventor
卢娜
陈树
陈伟
胡俊
应屹航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Nationalchip Science & Technology Co ltd
Original Assignee
Hangzhou Nationalchip Science & Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Nationalchip Science & Technology Co ltd filed Critical Hangzhou Nationalchip Science & Technology Co ltd
Priority to CN202410045396.5A priority Critical patent/CN117558283B/zh
Publication of CN117558283A publication Critical patent/CN117558283A/zh
Application granted granted Critical
Publication of CN117558283B publication Critical patent/CN117558283B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture

Abstract

本发明涉及一种多路多标准的音频解码系统。本发明的架构包括处理器CPU、音频帧解码单元、任务队列模块。处理器CPU用于对任务队列模块进行配置音频帧的解码任务,通过寄存器配置的方法配置解码任务和与解码任务关联的输入控制信息。音频帧解码单元用于将一帧音频压缩码流数据解码成一帧脉冲编码调制数据,为单任务执行单元,支持现有的多个标准音频解码。任务队列模块用于管理和实现多路音频解码的运转,任务队列模块采用先进先出的结构。本发明通过任务队列模块增加了多路多标准音频解码的灵活性,解决了多路灵活变化的应用问题。本发明灵活且易扩展,且CPU的参与大大降低,最大可能地释放CPU。

Description

一种多路多标准的音频解码系统
技术领域
本发明属于数字音视频解码和广播技术领域,涉及一种多路多标准的音频解码系统。
背景技术
在数字电视广播(DVB,Digital Video Broadcasting)系统下,音频解码是一个重要的基础技术,用于将不同的音频压缩标准数据解码成适合播放的脉冲编码调制(PCM,Pulse Code Modulation)数据。如今,人们已经不满足于单路节目的播放,更重视多个音源的混音,比如增加语音互动,不同场景下音效的叠加,以及针对盲人等特殊人群的辅助音频解说混音。另外多屏互动功能分为多屏同时播放同一个节目,或者播放不同的节目。也就是说不同的音频输出接口需要播放同个音源,或者播放不同的音源。这些需求都需要芯片支持多路多标准的解码和混音播放。多路多标准的音频解码架构,CPU参与越多,越会增加软件的开销,影响CPU执行任务的响应时间,使得需要更高性能的CPU来满足客户体验,导致芯片成本增加。
发明内容
本发明的目的是提供一种多路多标准的音频解码系统。
本发明的架构包括处理器CPU、音频帧解码单元、任务队列模块。
处理器CPU用于对任务队列模块进行配置音频帧的解码任务,通过寄存器配置的方法配置解码任务和与解码任务关联的输入控制信息。
音频帧解码单元用于将一帧音频压缩码流(ESA,Elementary Streams Audio)数据解码成一帧脉冲编码调制数据PCM。音频帧解码单元支持现有的多个标准音频解码,为单任务执行单元,在一个时刻只执行一个帧解码任务。
任务队列模块用于管理和实现多路音频解码的运转,最大支持M路音频解码,每路音频解码由多个帧解码构成,任务队列模块采用先进先出的结构,具有如下特征:
A.M路的帧解码总时间小于任何一路的帧播放时间。
B.处理器CPU配置的音频帧解码任务与音源相关:当需要停止其中一路音频解码时,处理器CPU停止配置该路的音频帧解码任务;当需要增加一路新的音频解码时,处理器CPU增加配置该路的音频帧解码任务。
多路音频解码过程具体如下:
(1)音频帧解码单元查询任务队列是否为空,如果任务队列为空,说明当前没有解码任务,音频帧解码单元进入低功耗模式,等待特定时间后再次查询,特定时间由处理器CPU通过寄存器配置;如果任务队列不为空,则音频帧解码单元按照任务队列顺序读取一个解码任务,从低功耗模式进入正常工作模式。
(2)音频帧解码单元读取一个解码任务之后,根据这个解码任务关联的输入控制信息进行解码。
(3)音频帧解码单元在解码任务执行完成后产生解码状态和解码数据。解码任务执行的完成结果包括解码正常完成、解码错误异常和解码数据不够。如完成结果为解码正常完成,则音频帧解码单元将脉冲编码调制数据PCM按照输入控制信息的要求写入对应的内存空间;如完成结果为解码错误异常,则音频帧解码单元根据输入控制信息里面的抗误码策略进行上一帧脉冲编码调制数据PCM重复或者静音输出;如完成结果为解码数据不够,则音频帧解码单元不输出脉冲编码调制数据PCM。
(4)每个解码任务执行完成后,更新该解码任务对应的一路音频的解码信息,提供给处理器CPU,更新的解码信息包括解码结果状态、采样率、声道数、比特率、当前ESA帧消耗的比特数、当前PCM帧的写指针、ESA数据缺少的字节数。当脉冲编码调制数据PCM和解码信息都更新完毕后,音频帧解码单元向处理器CPU上报中断。
(5)处理器CPU向任务队列模块配置音频帧解码任务,每一路音源的首帧解码任务由处理器CPU主动配置,非首帧解码任务在处理器CPU收到音频帧解码单元上报的中断后,由处理器CPU被动配置。
本发明通过任务队列模块增加了多路多标准音频解码的灵活性,解决了多路灵活变化的应用问题。本发明通过音频帧解码单元不处理解码任务就进入低功耗模式,有解码任务进入正常工作模式达到降低功耗,硬件自适应控制低功耗响应更及时效果更好。另外CPU只参与音频帧的解码任务配置工作,解决CPU过多参与的问题,大大地释放CPU。本发明提出的多路多标准音频解码结构,灵活且易扩展,且CPU的参与大大降低,最大可能地释放CPU,让CPU可以做更多其它的事情。
附图说明
图1为本发明多路多标准音频解码架构示意图;
图2为本发明音频帧解码单元的架构示意图;
图3为本发明多路解码的音频帧解码单元的流程示意图;
具体实施方式
一种多路多标准的音频解码架构,如图1所示,包括处理器CPU[1.1]、音频帧解码单元[1.2]、任务队列模块[1.3]。三者之间通过APB总线和AXI总线交互信息。
处理器CPU[1.1]用于对任务队列模块[1.3]进行配置音频帧的解码任务,通过APB寄存器配置的方法配置解码任务和与解码任务关联的输入控制信息。具有如下特征:
A.处理器CPU[1.1]配置每一个解码任务的时候,需要配置一组寄存器,包括任务标识码、音频标准标识码、抗误码策略、待解码的ESA帧数据的起始地址和长度、解码之后的PCM帧数据待存放的起始地址。最后配置task_finish_flag寄存器,这样处理器CPU就将当前解码任务推进任务队列模块。
B.处理器CPU[1.1]向任务队列模块[1.3]配置音频帧解码任务,每一路音源的首帧解码任务由处理器CPU主动配置,非首帧解码任务在处理器CPU收到音频帧解码单元上报的中断后,由处理器CPU被动配置。
音频帧解码单元[1.2]用于将一帧音频压缩码流(ESA,Elementary StreamsAudio)数据解码成一帧脉冲编码调制数据PCM。音频帧解码单元支持现有的多个标准音频解码(如MPEG1&2,MPEG4_AAC,Dolby Digital Plus,Opus等),为单任务执行单元,在一个时刻只执行一个帧解码任务。具有如下特征:
I.音频帧解码单元[1.2]由任务解析模块[3.1]、码流预解析模块[3.2]、帧解码模块[3.3]三个子模块构成,如图2所示。
a.任务解析模块[3.1]根据任务队列模块[1.3]的硬连线和APB总线的交互,获取解码任务,并解析解码任务相关的信息,比如当前解码任务是什么音频标准,ESA数据对应的内存地址在哪里,PCM数据对应的存放地址在哪里。如果没有获取解码任务,则进入低功耗控制模式。
b.码流预解析模块[3.2]根据任务解析模块获得的解析信息,对当前解码任务的ESA码流数据通过AXI总线读取和缓存,并根据音频标准类型进行同步字检索和帧长的解析。这里的帧长解析不是为了解码,而是为了预先判断当前ESA数据是否足够解码出一帧PCM。如果判断发现ESA数据不够则直接结束当前解码任务,更新对应的解码信息和中断信息。如果判断发现ESA数据够则进入帧解码模块。
c.帧解码模块[3.3]根据音频标准类型选择对应的音频标准解码模块,一个解码任务只能选择一个音频标准。虽然不同的音频标准解码细节上不同,但是PCM的输出机制是一致的,都是根据任务解析模块解析的PCM内存存放信息通过AXI总线输出。另外解码异常处理根据任务解析模块解析的抗误码机制进行静音输出或者不输出。
II.音频帧解码单元[1.2]专注于处理每一个解码任务,每一个解码任务的目的就是解码一帧ESA数据输出PCM数据。音频帧解码单元不关心连续的解码任务之间的关系,因为对它来说,不管是支持多少路音频解码,音频帧解码单元的工作机制都是一样的。
任务队列模块[1.3]用于管理和实现多路音频解码的运转,最大支持M路音频解码,每路音频解码由多个帧解码构成,任务队列模块采用先进先出的结构,具有如下特征:
1.M路的帧解码总时间小于任何一路的帧播放时间。播放时间和采样率以及帧长有关,比如M路中最短播放时间的帧信息如下,采样率为48KHz,帧长为2048个样点,那么这帧音频数据的播放时间是2048/48ms,M路帧解码的总时间要小于2048/48ms。这样保证所有声音播放不会出现卡顿的现象。
2.处理器CPU配置的音频帧解码任务与音源相关:当需要停止其中一路音频解码时,处理器CPU停止配置该路的音频帧解码任务;当需要增加一路新的音频解码时,处理器CPU增加配置该路的音频帧解码任务。停止或增加音频帧解码任务时,都不需要关闭或重启任务队列模块和音频帧解码单元。也就是说,多路音频解码可以实现灵活地动态地增加和减少路数,而不影响声音的播放。
从处理器CPU的视角,多路音频解码过程如下所示:
(1)根据应用需求,处理器CPU启动第一路音频解码P1,当处理器CPU更新了P1的ESA数据后,处理器CPU向任务队列模块主动配置P1的首帧解码任务。
(2)根据应用需求,处理器CPU启动第二路音频解码P2,当处理器CPU更新了P2的ESA数据后,处理器CPU向任务队列模块主动配置P2的首帧解码任务。
(3)根据应用需求,处理器CPU启动第三路音频解码P3,当处理器CPU更新了P3的ESA数据后,处理器CPU向任务队列模块主动配置P3的首帧解码任务。
(4)处理器CPU接收音频帧解码单元上报的中断。解析中断信号来自哪一路音频解码,如果中断信号来自P1,处理器CPU在获取P1上一帧的解码信息后,向任务队列模块配置P1的下一帧解码任务。P2,P3也是同理。
(5)根据应用需求,处理器CPU需要停止第二路音频解码P2。
(6)处理器CPU接收音频帧解码单元上报的中断。解析中断信号来自哪一路音频解码,如果中断信号来自P1,处理器CPU在获取P1上一帧的解码信息后,向任务队列模块配置P1的下一帧解码任务。P3也是同理。如果中断信号来自P2,处理器CPU在获取P2上一帧的解码信息后,不再向任务队列模块配置P2的下一帧解码任务,之后处理器CPU接收音频帧解码单元上报的中断就与P2无关了。
从音频帧解码单元的视角,多路音频解码过程如图3所示:
(1)音频帧解码单元查询任务队列是否为空,如果任务队列为空,说明当前没有解码任务,音频帧解码单元进入低功耗模式,等待特定时间后再次查询,特定时间由处理器CPU通过寄存器配置;如果任务队列不为空,则音频帧解码单元按照任务队列顺序读取一个解码任务,从低功耗模式进入正常工作模式。
(2)音频帧解码单元读取一个解码任务之后,根据这个解码任务关联的输入控制信息进行解码,输入控制信息包括音频标准标识码、抗误码策略、待解码的ESA帧数据的起始地址和长度、解码之后的PCM帧数据待存放的起始地址。
(3)音频帧解码单元在解码任务执行完成后产生解码状态和解码数据。解码任务执行的完成结果包括解码正常完成、解码错误异常和解码数据不够。如完成结果为解码正常完成,则音频帧解码单元将脉冲编码调制数据PCM按照输入控制信息的要求写入对应的内存空间;如完成结果为解码错误异常,则音频帧解码单元根据输入控制信息里面的抗误码策略进行上一帧脉冲编码调制数据PCM重复或者静音输出;如完成结果为解码数据不够,则音频帧解码单元不输出脉冲编码调制数据PCM。
(4)每个解码任务执行完成后,更新该解码任务对应的一路音频的解码信息,提供给处理器CPU,更新的解码信息包括解码结果状态、采样率、声道数、比特率、当前ESA帧消耗的比特数、当前PCM帧的写指针、ESA数据缺少的字节数。当脉冲编码调制数据PCM和解码信息都更新完毕后,音频帧解码单元向处理器CPU上报中断。
(5)重新开始(1)。

Claims (2)

1.一种多路多标准的音频解码系统,其特征在于:包括处理器CPU、音频帧解码单元、任务队列模块;
所述的处理器CPU用于对任务队列模块进行配置音频帧的解码任务,通过寄存器配置的方法配置解码任务和与解码任务关联的输入控制信息;
所述的音频帧解码单元用于将一帧音频压缩码流数据解码成一帧脉冲编码调制数据PCM;音频帧解码单元支持现有的多个标准音频解码,为单任务执行单元,在一个时刻只执行一个帧解码任务;
所述的任务队列模块用于管理和实现多路音频解码的运转,最大支持M路音频解码,每路音频解码由多个帧解码构成,任务队列模块采用先进先出的结构;
多路音频解码过程具体如下:
(1)音频帧解码单元查询任务队列是否为空,如果任务队列为空,说明当前没有解码任务,音频帧解码单元进入低功耗模式,等待特定时间后再次查询,特定时间由处理器CPU通过寄存器配置;如果任务队列不为空,则音频帧解码单元按照任务队列顺序读取一个解码任务,从低功耗模式进入正常工作模式;
(2)音频帧解码单元读取一个解码任务之后,根据这个解码任务关联的输入控制信息进行解码;
(3)音频帧解码单元在解码任务执行完成后产生解码状态和解码数据;解码任务执行的完成结果包括解码正常完成、解码错误异常和解码数据不够;如完成结果为解码正常完成,则音频帧解码单元将脉冲编码调制数据PCM按照输入控制信息的要求写入对应的内存空间;如完成结果为解码错误异常,则音频帧解码单元根据输入控制信息里面的抗误码策略进行上一帧脉冲编码调制数据PCM重复或者静音输出;如完成结果为解码数据不够,则音频帧解码单元不输出脉冲编码调制数据PCM;
(4)每个解码任务执行完成后,更新该解码任务对应的一路音频的解码信息,提供给处理器CPU;当脉冲编码调制数据PCM和解码信息都更新完毕后,音频帧解码单元向处理器CPU上报中断;
(5)处理器CPU向任务队列模块配置音频帧解码任务,每一路音源的首帧解码任务由处理器CPU主动配置,非首帧解码任务在处理器CPU收到音频帧解码单元上报的中断后,由处理器CPU被动配置。
2.如权利要求1所述的一种多路多标准的音频解码系统,其特征在于,所述的任务队列模块具有如下特征:
A.M路的帧解码总时间小于任何一路的帧播放时间;
B.处理器CPU配置的音频帧解码任务与音源相关:当需要停止其中一路音频解码时,处理器CPU停止配置该路的音频帧解码任务;当需要增加一路新的音频解码时,处理器CPU增加配置该路的音频帧解码任务。
CN202410045396.5A 2024-01-12 2024-01-12 一种多路多标准的音频解码系统 Active CN117558283B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410045396.5A CN117558283B (zh) 2024-01-12 2024-01-12 一种多路多标准的音频解码系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410045396.5A CN117558283B (zh) 2024-01-12 2024-01-12 一种多路多标准的音频解码系统

Publications (2)

Publication Number Publication Date
CN117558283A CN117558283A (zh) 2024-02-13
CN117558283B true CN117558283B (zh) 2024-03-22

Family

ID=89817073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410045396.5A Active CN117558283B (zh) 2024-01-12 2024-01-12 一种多路多标准的音频解码系统

Country Status (1)

Country Link
CN (1) CN117558283B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1669071A (zh) * 2002-05-22 2005-09-14 日本电气株式会社 用于在音频代码的编码/解码处理之间转换代码的方法和装置以及使用该方法和装置的存储介质
KR20070078621A (ko) * 2006-01-27 2007-08-01 삼성전자주식회사 휴대단말기의 멀티데이타 처리장치 및 방법
CN101189662A (zh) * 2005-05-31 2008-05-28 微软公司 带多级码本和冗余编码的子带话音编解码器
WO2008135378A1 (fr) * 2007-04-27 2008-11-13 Alcatel Lucent Procede de communication permettant d'ameliorer la gestion du bureau virtuel d'un appareil mobile communicant
CN101420624A (zh) * 2008-11-13 2009-04-29 华为技术有限公司 一种视频解码错误处理方法及装置
WO2010034523A1 (en) * 2008-09-23 2010-04-01 Aktiv Management Service S.R.L. A wireless mobile apparatus for receiving, decoding and retransmitting multistandard digital audio, video and data signals
CN101827242A (zh) * 2010-05-10 2010-09-08 南京邮电大学 一种基于网络电视机顶盒的可视电话系统实现方法
CN106060627A (zh) * 2016-06-15 2016-10-26 乐视控股(北京)有限公司 一种基于多路直播的音频处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7558472B2 (en) * 2000-08-22 2009-07-07 Tivo Inc. Multimedia signal processing system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1669071A (zh) * 2002-05-22 2005-09-14 日本电气株式会社 用于在音频代码的编码/解码处理之间转换代码的方法和装置以及使用该方法和装置的存储介质
CN101189662A (zh) * 2005-05-31 2008-05-28 微软公司 带多级码本和冗余编码的子带话音编解码器
KR20070078621A (ko) * 2006-01-27 2007-08-01 삼성전자주식회사 휴대단말기의 멀티데이타 처리장치 및 방법
WO2008135378A1 (fr) * 2007-04-27 2008-11-13 Alcatel Lucent Procede de communication permettant d'ameliorer la gestion du bureau virtuel d'un appareil mobile communicant
WO2010034523A1 (en) * 2008-09-23 2010-04-01 Aktiv Management Service S.R.L. A wireless mobile apparatus for receiving, decoding and retransmitting multistandard digital audio, video and data signals
CN101420624A (zh) * 2008-11-13 2009-04-29 华为技术有限公司 一种视频解码错误处理方法及装置
CN101827242A (zh) * 2010-05-10 2010-09-08 南京邮电大学 一种基于网络电视机顶盒的可视电话系统实现方法
CN106060627A (zh) * 2016-06-15 2016-10-26 乐视控股(北京)有限公司 一种基于多路直播的音频处理方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DTMB标准、芯片及其在双国标移动数字电视中的应用;周冰倩;;科技信息;20111105(31);全文 *
数字电视机顶盒开发平台和机顶盒;余智;现代电视技术;19991231(04);全文 *

Also Published As

Publication number Publication date
CN117558283A (zh) 2024-02-13

Similar Documents

Publication Publication Date Title
US5384890A (en) Method and apparatus for providing multiple clients simultaneous access to a sound data stream
US20150363161A1 (en) Method and apparatus for audio synchronization
KR101474597B1 (ko) 가상 메모리 디바이스에 대한 동작 모드 결정 방법 및 시스템
EP1860555A2 (en) Media subsystem, method and computer program product for adaptive media buffering
US6820034B2 (en) Method and apparatus for statistical compilation
US8352946B2 (en) Managing migration ready queue associated with each processor based on the migration ready status of the tasks
EP3822798A2 (en) Memory access technology and computer system
US20050188189A1 (en) Methods for reducing energy consumption of buffered applications using simultaneous multi-threading processor
JP5537726B2 (ja) マルチメディアファイルの制御過程に高速な応答を実現する方法及び放送装置
EP2512056B1 (en) Efficient parallel sub-packet decoding using multiple decoders, controller and task instructions
US20230267079A1 (en) Processing apparatus, method and system for executing data processing on a plurality of channels
CN117558283B (zh) 一种多路多标准的音频解码系统
CN103078810A (zh) 一种高效率富媒体展现系统和方法
US7000138B1 (en) Circuits and methods for power management in a processor-based system and systems using the same
JP5096923B2 (ja) 動的再構成論理回路を有するマルチスレッドプロセッサ
US9195490B2 (en) Differential voltage and frequency scaling (DVFS) switch reduction
US20060020935A1 (en) Scheduler for dynamic code reconfiguration
CN114816769A (zh) 一种向量处理器处理方法及系统
US8209520B2 (en) Expanded functionality of processor operations within a fixed width instruction encoding
CN112684693A (zh) 可穿戴设备及其音频处理方法
US20060013077A1 (en) Audio-video systems with application specific modules and common processing software architecture
EP1596299B1 (en) Data processing apparatus and method thereof
US20240129501A1 (en) Memory management method and video player system for playing multichannel video
CN111654807B (zh) 一种音频信号的混音处理方法、系统、设备及存储介质
JPH07244588A (ja) データ処理装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant