1、10申请公布号CN102063393A43申请公布日20110518CN102063393ACN102063393A21申请号201010538175X22申请日20101109G06F13/18200601G06F15/1620060171申请人福州瑞芯微电子有限公司地址350003福建省福州市铜盘路软件园A区18号楼72发明人洪锦坤74专利代理机构深圳市博锐专利事务所44275代理人张明54发明名称图像数据或音频数据的叠加处理方法和装置57摘要本发明提供一种图像数据或音频数据的叠加处理方法和装置,所述方法是通过设置在主设备上并连接于总线的一叠加处理器进行,主要包括主控制器部分和运算器部分,
2、其主控制器部分主要用于将需要叠加的数据读出存放在两个FIFO中,由运算器提取运算后存放在另一FIFO中,再由主控制器把FIFO3的数据写到内存中,方法简单,实现方便;且将该叠加处理器设置在SOC上,该叠加处理器独立运作,不占用系统资源,不影响系统的处理速度,功耗小。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书6页附图3页CN102063403A1/2页21一种图像数据或音频数据的叠加处理方法,其特征在于其是通过设置在主设备上并连接于总线的一叠加处理器进行,该叠加处理器包括一主控制器、一寄存器、一运算器、三个先入先出队列存储器FIFO、一主设备总线接口以及一
3、从设备总线接口,所述三个FIFO分别为FIFO1、FIFO2、FIFO3;所述叠加处理方法包括主控制器部分和运算器部分;所述主控制器部分包括如下步骤步骤11、从寄存器中读出启动标志位,判断是否启动,是跳到步骤12;否重新进行步骤11;步骤12、从寄存器读出要进行叠加处理的两组图像数据或音频数据A和B的起始地址和运算后存放的地址,该两起始地址和运算后存放的地址分别称为地址变量A0、B0和C0,步骤13、判断FIFO1是否为满,是跳到下一步;否通过主设备总线接口访问主设备的内存控制器,从内存中读出一段图像数据或音频数据A存放到FIFO1中,并把地址变量A0加上读出的长度,生成新的地址变量A0;步骤
4、14、判断FIFO2是否为满,是跳到下一步;否通过主设备总线接口访问主设备的内存控制器,从内存中读出一段图像数据或音频数据B存放到FIFO2中,并把地址变量B0加上读出的长度,生成新的地址变量B0;步骤15、判断FIFO3是否为空,是跳到下一步;否通过主设备总线接口访问内存控制器,把FIFO3的数据写到内存中,并把地址变量C0加上写到内存的数据的长度,生成新的地址变量C0;步骤16、判断是否运算完毕,是清除启动标志,通过主设备的中断控制器启动中断输出,并跳到步骤11;否跳到步骤13;所述运算器部分包括如下步骤步骤21、判断FIFO3是否为满,是继续本步骤的判断;否跳到下一步;步骤22、判断FI
5、FO1是否为空,是继续本步骤的判断;否读出一个图像数据或音频数据A,跳下一步;步骤23、判断FIFO2是否为空,是继续本步;否读出一个图像数据或音频数据B,跳下一步;步骤24、把图像数据或音频数据和图像数据或音频数据B进行图像或音频运算,把运算结果写到FIFO3中,然后返回到步骤21。2如权利要求1所述一种图像数据或音频数据的叠加处理方法,其特征在于所述叠加处理器具体是设置在主设备的片上系统SOC上。3如权利要求1或2所述一种图像数据或音频数据的叠加处理方法,其特征在于所述主设备是带有图像输出的设备、带有音频输出的设备或者兼带音频和图像输出的设备。4一种图像数据或音频数据的叠加处理装置,其特征
6、在于其是通过设置在主设备上并连接于总线的一叠加处理器进行,该叠加处理器包括一主控制器、一寄存器、一运算器、三个FIFO、一主设备总线接口以及一从设备总线接口,所述三个FIFO分别为FIFO1、FIFO2、FIFO3;所述主控制器用于从寄存器中读出启动标志位,判断是否启动,是跳到下一步;否重新开始本步骤;从寄存器读出要进行叠加处理的两组图像数据或音频数据A和B的起始地址和运算后权利要求书CN102063393ACN102063403A2/2页3存放的地址,该两起始地址和运算后存放的地址分别称为地址变量A0、B0和C0,判断FIFO1是否为满,是跳到下一步;否通过主设备总线接口访问主设备的内存控制
7、器,从内存中读出一段图像数据或音频数据A存放到FIFO1中,并把地址变量A0加上读出的长度,生成新的地址变量A0;判断FIFO2是否为满,是跳到下一步;否通过主设备总线接口访问主设备的内存控制器,从内存中读出一段图像数据或音频数据B存放到FIFO2中,并把地址变量B0加上读出的长度,生成新的地址变量B0;判断FIFO3是否为空,是跳到下一步;否通过主设备总线接口访问内存控制器,把FIFO3的数据写到内存中,并把地址变量C0加上写到内存的数据的长度,生成新的地址变量C0;判断是否运算完毕,是清除启动标志,通过主设备的中断控制器启动中断输出,并跳到上述从寄存器中读出启动标志位、判断是否启动的步骤;
8、否跳到上述判断FIFO1是否为满的步骤;所述运算器用于判断FIFO3是否为满,是继续本步骤的判断;否跳到下一步;判断FIFO1是否为空,是继续本步骤的判断;否读出一个图像数据或音频数据A,跳下一步;判断FIFO2是否为空,是继续本步;否读出一个图像数据或音频数据B,跳下一步;把图像数据或音频数据和图像数据或音频数据B进行图像或音频运算,把运算结果写到FIFO3中,然后返回到上述判断FIFO3是否为满的步骤。权利要求书CN102063393ACN102063403A1/6页4图像数据或音频数据的叠加处理方法和装置技术领域0001本发明涉及一种音、视频设备中图像数据或音频数据处理方法和装置,用于图
9、像数据的叠加运算或音频数据的叠加运算。背景技术0002带有图像输出的设备必然要用图像数据的叠加运算,同样带有音频输出的设备必然要用音频数据的叠加运算,而音视频设备还分别涉及到图像叠加和音频叠加的运算。目前图像叠加和音频叠加运算都由音、视频设备的系统处理器处理,其处理方法是由CPU分别对图像叠加运算和音频叠加运算,这样会占用很多CPU的资源,而且处理速度又慢,功耗大。发明内容0003本发明要解决的技术问题,在于提供一种图像数据或音频数据的叠加处理方法和装置,用于图像或音频叠加的运算,独立运作,不占用系统资源,不影响处理速度,功耗小。0004本发明是这样实现的一种图像数据或音频数据的叠加处理方法,
10、其是通过设置在主设备上并连接于总线的一叠加处理器进行,该叠加处理器包括一主控制器、一寄存器、一运算器,三个FIFO、一主设备总线接口以及一从设备总线接口,所述三个FIFO分别为FIFO1、FIFO2、FIFO3;所述叠加处理方法包括主控制器部分和运算器部分;0005所述主控制器部分包括如下步骤0006步骤11、从寄存器中读出启动标志位,判断是否启动,是跳到步骤12;否重新进行步骤11;0007步骤12、从寄存器读出要进行叠加处理的两组图像数据或音频数据A和B的起始地址和运算后存放的地址,该两起始地址和运算后存放的地址分别称为地址变量A0、B0和C0,0008步骤13、判断FIFO1是否为满是跳
11、到下一步;否通过主设备总线接口访问主设备的内存控制器,从内存中读出一段图像数据或音频数据A存放到FIFO1中,并把地址变量A0加上读出的长度,生成新的地址变量A0;0009步骤14、判断FIFO2是否为满是跳到下一步;否通过主设备总线接口访问主设备的内存控制器,从内存中读出一段图像数据或音频数据B存放到FIFO2中,并把地址变量B0加上读出的长度,生成新的地址变量B0;0010步骤15、判断FIFO3是否为空是跳到下一步;否通过主设备总线接口访问内存控制器,把FIFO3的数据写到内存中,并把地址变量C0加上写到内存的数据的长度,生成新的地址变量C0;0011步骤16、判断是否运算完毕,是清除启
12、动标志,通过主设备的中断控制器启动中断输出,并跳到步骤11;否跳到步骤13;0012所述运算器部分包括如下步骤说明书CN102063393ACN102063403A2/6页50013步骤21、判断FIFO3是否为满是继续本步骤的判断;否跳到下一步;0014步骤22、判断FIFO1是否为空是继续本步骤的判断;否读出一个图像数据或音频数据A,跳下一步;0015步骤23、判断FIFO2空吗是继续本步;否读出一个图像数据或音频数据B,跳下一步;0016步骤24、把图像数据或音频数据和图像数据或音频数据B进行图像或音频运算,把运算结果写到FIFO3中,然后返回到步骤21。0017其中,所述叠加处理器具体
13、是设置在主设备的SOC上。所述主设备是带有图像输出的设备、带有音频输出的设备或者兼带音频和图像输出的设备。0018本发明还一种图像数据或音频数据的叠加处理装置,其是通过设置在主设备上并连接于总线的一叠加处理器进行,该叠加处理器包括一主控制器、一寄存器、一运算器、三个FIFO、一主设备总线接口以及一从设备总线接口,所述三个FIFO分别为FIFO1、FIFO2、FIFO3;0019所述主控制器用于0020从寄存器中读出启动标志位,判断是否启动,是跳到下一步;否重新开始本步骤;0021从寄存器读出要进行叠加处理的两组图像数据或音频数据A和B的起始地址和运算后存放的地址,该两起始地址和运算后存放的地址
14、分别称为地址变量A0、B0和C0,0022判断FIFO1是否为满,是跳到下一步;否通过主设备总线接口访问主设备的内存控制器,从内存中读出一段图像数据或音频数据A存放到FIFO1中,并把地址变量A0加上读出的长度,生成新的地址变量A0;0023判断FIFO2是否为满,是跳到下一步;否通过主设备总线接口访问主设备的内存控制器,从内存中读出一段图像数据或音频数据B存放到FIFO2中,并把地址变量B0加上读出的长度,生成新的地址变量B0;0024判断FIFO3是否为空,是跳到下一步;否通过主设备总线接口访问内存控制器,把FIFO3的数据写到内存中,并把地址变量C0加上写到内存的数据的长度,生成新的地址
15、变量C0;0025判断是否运算完毕,是清除启动标志,通过主设备的中断控制器启动中断输出,并跳到上述从寄存器中读出启动标志位、判断是否启动的步骤;否跳到上述判断FIFO1是否为满的步骤;0026所述运算器用于0027判断FIFO3是否为满,是继续本步骤的判断;否跳到下一步;0028判断FIFO1是否为空,是继续本步骤的判断;否读出一个图像数据或音频数据A,跳下一步;0029判断FIFO2是否为空,是继续本步;否读出一个图像数据或音频数据B,跳下一步;0030把图像数据或音频数据和图像数据或音频数据B进行图像或音频运算,把运算结果写到FIFO3中,然后返回到上述判断FIFO3是否为满的步骤。003
16、1本发明具有如下优点说明书CN102063393ACN102063403A3/6页600321、本发明方法主要通过主控制器和运算器配合运作,用于图像或音频数据的叠加的运算,其主控制器部分主要用于将需要叠加的数据读出存放在两个FIFO中,由运算器提取运算后存放在另一FIFO中,再由主控制器把FIFO3的数据写到内存中,方法简单,实现方便;00332、本发明方法是在带有图像输出或音频输出的设备上专门设置一图像数据或音频数据的叠加处理器进行,并将该叠加处理器设置在SOC上,该叠加处理器独立运作,不占用系统资源,不影响系统的处理速度,功耗小。附图说明0034下面参照附图结合实施例对本发明作进一步的说明
17、。0035图1为实现本发明方法专门设置的数据叠加处理器的结构示意图。0036图2为本发明方法的主控制器的处理流程框图。0037图3为本发明方法的运算器的处理流程框图。具体实施方式0038本发明方法,可用于带有图像输出的设备、带有音频输出的设备,或兼带图像输出和音频输出的设备,下称主设备。0039请参阅图1所示,为实现本发明方法专门设计的数据叠加处理器的结构示意图,主设备的总线上连接有一系统处理器1、一内存控制器2、一中断控制器3,以及本发明的叠加处理器4。所述叠加处理器4设置于主设备的SOC未图示上。0040所述叠加处理器4包括一主控制器41、一寄存器42、一运算器43,三个FIFO44、一主
18、设备总线接口45以及一从设备总线接口46;所述寄存器42、主设备总线接口45、从设备总线接口46均连接所述主控制器41,所述主控制器41再分别通过所述三个FIFO44连接所述运算器43,所述主控制器41还与所述中断控制器3连接。所述三个FIFO44分别为FIFO1、FIFO2、FIFO3。0041所述主控制器41通过总线把内存储器中待运算的数据读取放到FIFO1和FIFO2中,并把运算后存于FIFO3中的数据写到内存储器中。0042所述寄存器42用于存储该图像叠加或音频叠加处理器的状态和配置参数。0043所述运算器43用于运算需要叠加的两组图像数据或音频数据;0044所述FIFO1和FIFO2
19、用于存放需要叠加的两组图像数据或音频数据。0045所述FIFO3用于存放运算完的图像数据或音频数据。0046结合图2和图3所示,本发明方法的处理流程分为主控制器部分和运算器部分。下面具体举三个实例进行详细说明0047实施例一、仅图像数据的叠加0048主控制器41的处理流程为0049步骤11、从寄存器42中读出启动标志位,判断是否启动,是跳到步骤12;否重新进行步骤11;0050步骤12、从寄存器42读出要进行叠加处理的两组图像数据A和B的起始地址称为地址变量A0和地址变量B0和运算后存放的地址称为变量C0;说明书CN102063393ACN102063403A4/6页70051步骤13、判断F
20、IFO1是否为满是跳到下一步;否通过主设备总线接口45访问内存控制器2,从内存中读出一段图像数据A存放到FIFO1中,并把地址变量A0加上读出的长度,生在新的地址变量A0,以供下一次读取;0052步骤14、判断FIFO2是否为满是跳到下一步;否通过主设备总线接口45访问内存控制器2,从内存中读出一段图像数据B存放到FIFO2中,并把地址变量B0加上读出的长度,生在新的地址变量B0,以供下一次读取;0053步骤15、判断FIFO3是否为空是跳到下一步;否通过主设备总线接口45访问内存控制器2,把FIFO3的数据写到内存中供主设备使用,并把地址变量C0加上写到内存的数据的长度,生在新的地址变量C0
21、,以供下一次读取;0054步骤16、判断是否运算完毕,是清除启动标志,通过中断控制器3启动中断输出,跳到步骤11;否跳到步骤13。0055运算器的处理流程为0056步骤21、判断FIFO3是否为满是因无法提供空间存储运算器的运算结果,因此继续本步骤的判断,直至不满;否说明有剩余空间,跳到下一步;0057步骤22、判断FIFO1是否为空是说明FIFO1中没有用于运算的数据,因此继续本步骤的判断,直至有需要运算的数据;否说明有需要运算的数据,此时读出一个图像数据A,跳下一步;0058步骤23、判断FIFO2空吗是说明FIFO2中没有用于运算的数据,因此继续本步,直至有需要运算的数据;否说明有需要运
22、算的数据,此时读出一个图像数据B,跳下一步;0059步骤24、把图像数据A和图像数据B进行运算,把运算结果写到FIFO3中,以供主控制器41把FIFO3的数据写到内存中供主设备使用,然后返回到步骤21。0060实施例二、仅音频数据的叠加0061主控制器41的处理流程为0062步骤11、从寄存器42中读出启动标志位,判断是否启动,是跳到步骤12;否重新进行步骤11;0063步骤12、从寄存器42读出要进行叠加处理的两组音频数据A和B的起始地址称为地址变量A0和地址变量B0和运算后存放的地址称为变量C0;0064步骤13、判断FIFO1是否为满是跳到下一步;否通过主设备总线接口45访问内存控制器2
23、,从内存中读出一段音频数据A存放到FIFO1中,并把地址变量A0加上读出的长度,生在新的地址变量A0,以供下一次读取;0065步骤14、判断FIFO2是否为满是跳到下一步;否通过主设备总线接口45访问内存控制器2,从内存中读出一段音频数据B存放到FIFO2中,并把地址变量B0加上读出的长度,生在新的地址变量B0,以供下一次读取;0066步骤15、判断FIFO3是否为空是跳到下一步;否通过主设备总线接口45访问内存控制器2,把FIFO3的数据写到内存中,并把地址变量C0加上写到内存的数据的长度,生在新的地址变量C0,以供下一次读取;0067步骤16、判断是否运算完毕,是清除启动标志,通过中断控制
24、器3启动中断输出,跳到步骤11;否跳到步骤13。说明书CN102063393ACN102063403A5/6页80068运算器的处理流程为0069步骤21、判断FIFO3是否为满是因无法提供空间存储运算器的运算结果,因此继续本步骤的判断,直至不满;否说明有剩余空间,跳到下一步;0070步骤22、判断FIFO1是否为空是说明FIFO1中没有用于运算的数据,因此继续本步骤的判断,直至有需要运算的数据;否说明有需要运算的数据,此时读出一个音频数据A,跳下一步;0071步骤23、判断FIFO2空吗是说明FIFO2中没有用于运算的数据,因此继续本步,直至有需要运算的数据;否说明有需要运算的数据,此时读出
25、一个音频数据B,跳下一步;0072步骤24、把音频数据A和音频数据B进行运算,把运算结果写到FIFO3中,以供主控制器41把FIFO3的数据写到内存中供主设备使用,然后返回到步骤21。0073实施例三、图像数据和音频数据的叠加0074本实施例为实施例一和实施例二的合并,如可先进行实施例一中所有步骤将图像数据叠加完毕之后进行实施例二的所有步骤进行音频数据的叠加;也可反过来进行,即先进行实施例二的所有步骤进行音频数据的叠加完毕之后进行实施例一中所有步骤将图像数据叠加,因此,此处不做重复描述。0075本发明还一种图像数据或音频数据的叠加处理装置,其是通过设置在主设备上并连接于总线的一叠加处理器进行,
26、该叠加处理器包括一主控制器、一寄存器、一运算器、三个FIFO、一主设备总线接口以及一从设备总线接口,所述三个FIFO分别为FIFO1、FIFO2、FIFO3;0076所述主控制器用于0077从寄存器中读出启动标志位,判断是否启动,是跳到下一步;否重新开始本步骤;0078从寄存器读出要进行叠加处理的两组图像数据或音频数据A和B的起始地址和运算后存放的地址,该两起始地址和运算后存放的地址分别称为地址变量A0、B0和C0,0079判断FIFO1是否为满,是跳到下一步;否通过主设备总线接口访问主设备的内存控制器,从内存中读出一段图像数据或音频数据A存放到FIFO1中,并把地址变量A0加上读出的长度,生
27、成新的地址变量A0;0080判断FIFO2是否为满,是跳到下一步;否通过主设备总线接口访问主设备的内存控制器,从内存中读出一段图像数据或音频数据B存放到FIFO2中,并把地址变量B0加上读出的长度,生成新的地址变量B0;0081判断FIFO3是否为空,是跳到下一步;否通过主设备总线接口访问内存控制器,把FIFO3的数据写到内存中,并把地址变量C0加上写到内存的数据的长度,生成新的地址变量C0;0082判断是否运算完毕,是清除启动标志,通过主设备的中断控制器启动中断输出,并跳到上述从寄存器中读出启动标志位、判断是否启动的步骤;否跳到上述判断FIFO1是否为满的步骤;0083所述运算器用于0084
28、判断FIFO3是否为满,是继续本步骤的判断;否跳到下一步;说明书CN102063393ACN102063403A6/6页90085判断FIFO1是否为空,是继续本步骤的判断;否读出一个图像数据或音频数据A,跳下一步;0086判断FIFO2是否为空,是继续本步;否读出一个图像数据或音频数据B,跳下一步;0087把图像数据或音频数据和图像数据或音频数据B进行图像或音频运算,把运算结果写到FIFO3中,然后返回到上述判断FIFO3是否为满的步骤。0088综上所述,本发明方法主要通过主控制器和运算器配合运作,用于图像或音频数据的叠加的运算,其主控制器部分主要用于将需要叠加的数据读出存放在两个FIFO中,由运算器提取运算后存放在另一FIFO中,再由主控制器把FIFO3的数据写到内存中,方法简单,实现方便;另外本发明方法是在带有图像输出或音频输出的设备上专门设置一图像数据或音频数据的叠加处理器,并将该叠加处理器设置在SOC上,用于图像或音频叠加的运算,该叠加处理器独立运作,不占用系统资源,不影响系统的处理速度,功耗小。说明书CN102063393ACN102063403A1/3页10图1说明书附图CN102063393ACN102063403A2/3页11图2说明书附图CN102063393ACN102063403A3/3页12图3说明书附图CN102063393A
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1