一种音视频信号处理芯片及方法与流程

文档序号:27140074发布日期:2021-10-30 00:24阅读:293来源:国知局
一种音视频信号处理芯片及方法与流程

1.本技术涉及音视频信号处理领域,尤其涉及一种音视频信号处理芯片及方法。


背景技术:

2.近年来,嵌入式芯片在掌上电脑、手机、数码相机以及其他数字产品当中得到了广泛应用。但随着应用对性能需求的不断提升,往往需要芯片应付面向某一领域的大量计算密集型任务。尽管通用处理器价格便宜、功能灵活,但往往无法满足这些特定领域应用的性能要求。
3.目前,随着移动互联网内容社交分享的愈演愈烈,文字、图片这些媒介已经越来越满足不了社交用户的多样化需求,相比之下更直观的视音频社交正在蓄势待发,音视频作为一种最直观的媒介,越来越频繁地应用于各类信息服务场合中。然而,对视音频的处理模式往往还是采用以往处理图片等的常规模式,大大的降低了音视频的用户体验及音视频信号的处理效率。


技术实现要素:

4.有鉴于此,本技术提供一种音视频信号处理芯片及方法,通过自定义指令来提高音视频信号处理效率。
5.具体地,本技术是通过如下技术方案实现的:
6.根据本技术的第一方面,提供一种音视频信号处理芯片,包括:可灵活配置处理器、可编程处理器单元、共享寄存器;所述可灵活配置处理器通过所述共享寄存器与所述可编程处理器单元连接;
7.所述可灵活配置处理器,用于处理输入芯片的音视频信号得到第一数据,将所述第一数据发送至所述可编程处理器单元;
8.所述可编程处理器单元,用于接收所述第一数据,处理所述第一数据得到第二数据,将所述第二数据发送至所述可灵活配置处理器;所述可编程处理器单元包括多个自定义指令寄存器,所述自定义指令寄存器用于自定义指令处理所述第一数据。
9.可选的,所述可编程处理器单元包括多个自定义指令寄存器,所述自定义指令寄存器用于自定义指令处理所述第一数据,进一步包括:
10.所述可编程处理器单元包括n个自定义指令寄存器,用于自定义指令处理m个数据通道的第一数据,所述自定义指令处理m个数据通道的第一数据为对m个数据通道的第一数据进行向量运算。
11.可选的,所述自定义指令寄存器还包括控制寄存器,所述可编程处理器单元向所述控制寄存器存入0至m

1的数据,用于启动相应的数据通道的第一数据进行向量运算。
12.可选的,所述自定义指令寄存器还包括通道标号寄存器,所述通道标号寄存器用于当向量运算完成时,存储相应的数据通道标号。
13.可选的,所述自定义指令寄存器还包括指令地址寄存器,所述指令地址寄存器用
于存储所述m个数据通道的向量运算指令在指令内存中的起始地址,所述指令内存用于存放进行向量运算的自定义指令。
14.可选的,所述可编程处理器单元还包括通道数据存储内存,用于存储所述m个数据通道的第一数据及进行向量运算后的m个数据通道的第二数据。
15.可选的,所述可灵活配置处理器,处理输入芯片的音视频信号得到第一数据后,将所述第一数据存储至所述共享寄存器,并向所述可编程处理器单元发送中断信号,请求所述可编程处理器单元接收所述第一数据;
16.所述可编程处理器单元,接收所述第一数据,处理所述第一数据得到第二数据后,将所述第二数据存储至所述共享寄存器,并向所述可灵活配置处理器发送中断信号,请求所述可灵活配置处理器接收所述第二数据。
17.可选的,所述芯片还包括信号输入接口和信号输出接口,所述信号输入接口和信号输出接口与所述可灵活配置处理器连接,用于音视频信号的输入及输出。
18.另一方面,本技术提供一种音视频信号处理方法,包括所述音视频信号输入至可灵活配置处理器,经过所述可灵活配置处理器处理后得到第一数据,将所述第一数据存储至所述共享寄存器,并向所述可编程处理器单元发送中断信号,请求所述可编程处理器单元接收所述第一数据;可编程处理器单元,接收所述第一数据,处理所述第一数据得到第二数据后,将所述第二数据存储至所述共享寄存器,并向所述可灵活配置处理器发送中断信号,请求所述可灵活配置处理器接收所述第二数据;所述可灵活配置处理器接收所述第二数据后,输出所述第二数据;所述可编程处理器单元包括多个自定义指令寄存器,所述自定义指令寄存器用于自定义指令处理所述第一数据。
19.可选的,所述可编程处理器单元包括多个自定义指令寄存器,所述自定义指令寄存器用于自定义指令处理所述第一数据,进一步包括:
20.所述可编程处理器单元包括n个自定义指令寄存器,用于自定义指令处理m个数据通道的第一数据,所述自定义指令处理m个数据通道的第一数据为对m个数据通道的第一数据进行向量运算。
21.由上述描述可知,通过可灵活配置处理器和可编程处理器单元的结合,并在可编程处理器单元中自定义指令对音视频信号进行向量运算,提高了音视频信号处理效率。
附图说明
22.图1是本技术一示例性实施例示出的一种音视频信号处理芯片示意图。
具体实施方式
23.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
24.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包
含一个或多个相关联的列出项目的任何或所有可能组合。
25.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
26.先对本技术出现的技术术语进行解释:
27.pdm,脉冲密度调制,模拟信号的幅值使用输出脉冲对应区域的密度表示。pwm波是pdm波转换频率固定的一种特例,在实际输出的一位数据流中,只存在“1”和“0”,1的密度越大,代表该区域对应的模拟信号幅值越大,反之,0的密度越大,代表该区域的模拟信号幅值越小。1和0连续转换的区域对应中间幅值。使用低通滤波器将pdm信号滤波后,可以恢复连续的模拟信号波形。
28.pcm,脉冲编码调制,脉冲编码调制就是把一个时间连续,取值连续的模拟信号变换成时间离散,取值离散的数字信号后在信道中传输。脉冲编码调制就是对模拟信号先抽样,再对样值幅度量化,编码的adc量化过程。
29.pwm,脉冲宽度调制,脉冲宽度调制是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或mos管栅极的偏置,来实现晶体管或mos管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
30.参见图1,图1是本技术一示例性实施例示出的一种音视频信号处理芯片的示意图。
31.音视频处理芯片包括,可灵活配置处理器(flexible process unit,fpu)、可编程处理器单元(programmable process unit,ppu)、共享寄存器、pdm解码器、pwm编码器、程序内存和数据内存。
32.音视频信号通过输入接口输入到可灵活配置处理器fpu中,其中输入接口可以为pdm接口或者pcm/i2s接口。通过pdm接口输入的信号需要由pdm解码器将pdm信号转化为pcm信号,然后进入fpu中;通过pcm/i2s接口输入的信号不需要其他处理直接进入fpu中。
33.fpu和可编程处理器单元ppu通过共享寄存器连接。fpu对,输入的音视频信号进行处理,每一轮计算完毕,将数据都会缓存在共享寄存器,并向ppu发送中断,请求ppu接收,ppu接收完毕,发送反馈中断。同样地,ppu每一轮计算完毕,数据也会缓存在共享寄存器中,并向fpu发送中断,请求fpu接收,fpu接收完毕,发送反馈中断。fpu将接收的数据输出,有两种输出模式,可直接通过pcm/i2s输出,也可送给pwm编码器,输出给动铁发声。芯片可支持双路pdm信号输入,同时运行双路处理算法。
34.其中,可灵活配置处理器fpu是芯片中的并行协处理器,主要负责音视频算法的并行处理。fpu配置了专用数据内存,数据内存主要用于缓存fpu计算结果。可编程处理器单元ppu作为芯片的核心处理模块,可采用可编程的32bits dsp,采用harvard结构,harvard结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序
内存和数据内存是两个独立的存储器,每个存储器独立编址、独立访问。外设接口主要是i2c,内嵌时钟发生器,为芯片提供基准时钟,时钟管理模块可为芯片提供一个或多个不同频率、不同相位的稳定时钟。ppu模块的数据总线和地址总线都是32bits,总线兼容wishbone标准;ppu模块有256个32bits寄存器作为ram;ppu模块有8个带优先级设置的中断;ppu分基本指令集和扩展指令集两大类,基本指令集有:数据转移、算术操作、位操作、执行转移、其他指令等。基本指令集中的乘法和除法均为32bits。扩展指令集是为完成视音频快速处理定制的专用指令集,目前已实现40多种专用指令,包括但不限于对数计算,指数计算,开平方等。
35.图1提供了一种通过自定义指令对音视频信号进行向量运算的音视频信号处理芯片,具体实现为:
36.可灵活配置处理器fpu接收输入的音视频信号后,对音视频信号进行算法相应的算法处理后,得到第一数据,fpu每一轮计算完成后,将第一数据缓存至于fpu连接的共享寄存器,并发送中断请求至ppu,请求ppu接收第一数据,ppu接收完毕后,向fpu发送中断反馈。
37.可灵活配置处理器ppu接收fpu发送的第一数据后,将该第一数据存储至通道数据存储内存,该通道数据存储内存可存放多个通道数据。ppu包括多个自定义指令寄存器,该自定义指令寄存器可自定义指令处理m个数据通道的第一数据,即对m个数据通道的第一数据进行向量运算。ppu还包括通道数据存储内存,用于存储m个数据通道的第一数据及进行向量运算后的m个数据通道的第二数据。
38.ppu将处理后的第二数据存储至共享寄存器,并发送中断请求至fpu,请求fpu接收第二数据,fpu接收完毕后,向ppu发送中断反馈。
39.fpu通过输出接口将第一数据或第二数据输出,可以通过pcm/i2s输出接口输出,也可送给pwm编码器,输出给动铁发声。
40.自定义指令寄存器还包括控制寄存器、通道标号寄存器和指令地址寄存器,ppu向控制寄存器存入0至m

1的数据,用于启动相应的数据通道的第一数据进行向量运算。通道标号寄存器用于当该数据通道的第一数据向量运算完成时,存储相应的数据通道标号到标号寄存器中。指令地址寄存器用于存储m个数据通道的向量运算指令在指令内存中的起始地址,指令内存用于存放进行向量运算的自定义指令。该指令内存可以是数据内存或程序内存,该自定义指令可以是对第一数据进行数据转移、算数操作、位操作、执行转移、对数计算、指数计算、开平方中的一种或多种,或者其他对音视频定制的专用指令。
41.在一个实施例中,ppu包括7个自定义指令寄存器,编号为0~6,其中自定义指令寄存器0为控制寄存器,自定义指令寄存器1至5为指令地址寄存器,自定义指令寄存器6为通道标号寄存器,对10个通道的数据进行向量运算,通道号用0~9来表示。向量运算由ppu通过数据总线控制,向量运算启动后自动读写通道数据存储内存中的第一数据进行向量运算。在需要对某个通道的数据进行向量运算时,ppu向自定义指令寄存器0中写入0~9的通道号,启动相应通道做向量运算,向量运算完成后ppu把相应的通道号写入到自定义指令寄存器6的低4位,并产生中断通知ppu向量运算完成。自定义指令寄存器1~5存放通道0~9对应的指令在数据内存中的起始地址。具体的执行过程如下:
42.ppu向自定义指令寄存器写入数据后,根据自定义指令寄存器6的低4位数据从自定义指令寄存器1至5中选择对应通道数据的向量运算的指令在数据内存的起始地址,从这
个地址开始每次读取一个指令并执行,每一条指令执行完后判断当前指令中的向量运算通道完成标志,如果标志为1,当前通道向量运算完成,写入自定义指令寄存器6,将进行向量运算后得到的第二数据存入到通道数据存储内存,并产生向量运算中断,当该通道的数据向量运算完成后,将通道数据存储内存中的第二数据存入到共享寄存器中,ppu向fpu发送中断,请求fpu接收该第二数据;否则读取下一条指令执行,直到向量运算通道完成标志为1为止。向量运算的通道数据存储在通道数据存储内存,指令存储在程序内存或数据内存。ppu加载程序的时候需同时加载10个数据通道的向量运算的指令到程序内存或数据内存,并把每个通道第一条指令的起始地址写到自定义指令寄存器1至5中。
43.fpu与ppu是完全并行工作的,ppu只需要启动fpu,fpu就可完全独立工作,当fpu并行代码执行完成后,通过中断通知ppu即可。
44.本技术提供的音视频信号处理芯片,可在指令集中增加一些为视音频处理算法专用的指令,采用通用cpu和普通dsp需要几十条指令的处理,在本技术提供的芯片中只需要一条自定义指令就可以完成,极大地提高了处理器的效率。
45.本技术另一实施例中,提供了一种音视频信号处理方法,包括音视频信号输入至可灵活配置处理器,经过可灵活配置处理器处理后得到第一数据,将第一数据存储至共享寄存器,并向可编程处理器单元发送中断信号,请求可编程处理器单元接收第一数据;可编程处理器单元,接收第一数据,处理第一数据得到第二数据后,将第二数据存储至共享寄存器,并向可灵活配置处理器发送中断信号,请求可灵活配置处理器接收第二数据;可灵活配置处理器接收第二数据后,输出第二数据;可编程处理器单元包括多个自定义指令寄存器,自定义指令寄存器用于自定义指令处理第一数据。可编程处理器单元包括多个自定义指令寄存器,自定义指令寄存器用于自定义指令处理第一数据,进一步包括:
46.可编程处理器单元包括n个自定义指令寄存器,用于自定义指令处理m个数据通道的第一数据,自定义指令处理m个数据通道的第一数据为对m个数据通道的第一数据进行向量运算。
47.对于方法实施例而言,由于其基本对应于装置实施例,所以相关之处参见装置实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
48.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1