图像数据或音频数据的叠加处理方法和装置.pdf

上传人:e2 文档编号:971904 上传时间:2018-03-22 格式:PDF 页数:12 大小:450.59KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010538175.X

申请日:

2010.11.09

公开号:

CN102063393A

公开日:

2011.05.18

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 13/18变更事项:专利权人变更前:福州瑞芯微电子有限公司变更后:福州瑞芯微电子股份有限公司变更事项:地址变更前:350003 福建省福州市铜盘路软件园A区18号楼变更后:350000 福建省福州市鼓楼区软件大道89号18号楼|||授权|||实质审查的生效IPC(主分类):G06F 13/18申请日:20101109|||公开

IPC分类号:

G06F13/18; G06F15/16

主分类号:

G06F13/18

申请人:

福州瑞芯微电子有限公司

发明人:

洪锦坤

地址:

350003 福建省福州市铜盘路软件园A区18号楼

优先权:

专利代理机构:

深圳市博锐专利事务所 44275

代理人:

张明

PDF下载: PDF下载
内容摘要

本发明提供一种图像数据或音频数据的叠加处理方法和装置,所述方法是通过设置在主设备上并连接于总线的一叠加处理器进行,主要包括主控制器部分和运算器部分,其主控制器部分主要用于将需要叠加的数据读出存放在两个FIFO中,由运算器提取运算后存放在另一FIFO中,再由主控制器把FIFO-3的数据写到内存中,方法简单,实现方便;且将该叠加处理器设置在SOC上,该叠加处理器独立运作,不占用系统资源,不影响系统的处理速度,功耗小。

权利要求书

1: 一种图像数据或音频数据的叠加处理方法, 其特征在于 : 其是通过设置在主设备上 并连接于总线的一叠加处理器进行, 该叠加处理器包括一主控制器、 一寄存器、 一运算器、 三个先入先出队列存储器 FIFO、 一主设备总线接口以及一从设备总线接口, 所述三个 FIFO 分别为 FIFO-1、 FIFO-2、 FIFO-3 ; 所述叠加处理方法包括主控制器部分和运算器部分 ; 所述主控制器部分包括如下步骤 : 步骤 11、 从寄存器中读出启动标志位, 判断是否启动, 是: 跳到步骤 12 ; 否: 重新进行步 骤 11 ; 步骤 12、 从寄存器读出要进行叠加处理的两组图像数据或音频数据 A 和 B 的起始地址 和运算后存放的地址, 该两起始地址和运算后存放的地址分别称为地址变量 A0、 B0 和 C0, 步骤 13、 判断 FIFO-1 是否为满, 是: 跳到下一步 ; 否: 通过主设备总线接口访问主设备 的内存控制器, 从内存中读出一段图像数据或音频数据 A 存放到 FIFO-1 中, 并把地址变量 A0 加上读出的长度, 生成新的地址变量 A0 ; 步骤 14、 判断 FIFO-2 是否为满, 是: 跳到下一步 ; 否: 通过主设备总线接口访问主设备 的内存控制器, 从内存中读出一段图像数据或音频数据 B 存放到 FIFO-2 中, 并把地址变量 B0 加上读出的长度, 生成新的地址变量 B0 ; 步骤 15、 判断 FIFO-3 是否为空, 是: 跳到下一步 ; 否: 通过主设备总线接口访问内存控 制器, 把 FIFO-3 的数据写到内存中, 并把地址变量 C0 加上写到内存的数据的长度, 生成新 的地址变量 C0 ; 步骤 16、 判断是否运算完毕, 是: 清除启动标志, 通过主设备的中断控制器启动中断输 出, 并跳到步骤 11 ; 否: 跳到步骤 13 ; 所述运算器部分包括如下步骤 : 步骤 21、 判断 FIFO-3 是否为满, 是: 继续本步骤的判断 ; 否: 跳到下一步 ; 步骤 22、 判断 FIFO-1 是否为空, 是: 继续本步骤的判断 ; 否: 读出一个图像数据或音频 数据 A, 跳下一步 ; 步骤 23、 判断 FIFO-2 是否为空, 是: 继续本步 ; 否: 读出一个图像数据或音频数据 B, 跳 下一步 ; 步骤 24、 把图像数据或音频数据和图像数据或音频数据 B 进行图像或音频运算, 把运 算结果写到 FIFO-3 中, 然后返回到步骤 21。
2: 如权利要求 1 所述一种图像数据或音频数据的叠加处理方法, 其特征在于 : 所述叠 加处理器具体是设置在主设备的片上系统 SOC 上。
3: 如权利要求 1 或 2 所述一种图像数据或音频数据的叠加处理方法, 其特征在于 : 所 述主设备是带有图像输出的设备、 带有音频输出的设备或者兼带音频和图像输出的设备。
4: 一种图像数据或音频数据的叠加处理装置, 其特征在于 : 其是通过设置在主设备 上并连接于总线的一叠加处理器进行, 该叠加处理器包括一主控制器、 一寄存器、 一运算 器、 三个 FIFO、 一主设备总线接口以及一从设备总线接口, 所述三个 FIFO 分别为 FIFO-1、 FIFO-2、 FIFO-3 ; 所述主控制器用于 : 从寄存器中读出启动标志位, 判断是否启动, 是: 跳到下一步 ; 否: 重新开始本步骤 ; 从寄存器读出要进行叠加处理的两组图像数据或音频数据 A 和 B 的起始地址和运算后 2 存放的地址, 该两起始地址和运算后存放的地址分别称为地址变量 A0、 B0 和 C0, 判断 FIFO-1 是否为满, 是: 跳到下一步 ; 否: 通过主设备总线接口访问主设备的内存控 制器, 从内存中读出一段图像数据或音频数据 A 存放到 FIFO-1 中, 并把地址变量 A0 加上读 出的长度, 生成新的地址变量 A0 ; 判断 FIFO-2 是否为满, 是: 跳到下一步 ; 否: 通过主设备总线接口访问主设备的内存控 制器, 从内存中读出一段图像数据或音频数据 B 存放到 FIFO-2 中, 并把地址变量 B0 加上读 出的长度, 生成新的地址变量 B0 ; 判断 FIFO-3 是否为空, 是: 跳到下一步 ; 否: 通过主设备总线接口访问内存控制器, 把 FIFO-3 的数据写到内存中, 并把地址变量 C0 加上写到内存的数据的长度, 生成新的地址变 量 C0 ; 判断是否运算完毕, 是: 清除启动标志, 通过主设备的中断控制器启动中断输出, 并跳 到上述从寄存器中读出启动标志位、 判断是否启动的步骤 ; 否: 跳到上述判断 FIFO-1 是否 为满的步骤 ; 所述运算器用于 : 判断 FIFO-3 是否为满, 是: 继续本步骤的判断 ; 否: 跳到下一步 ; 判断 FIFO-1 是否为空, 是: 继续本步骤的判断 ; 否: 读出一个图像数据或音频数据 A, 跳下一步 ; 判断 FIFO-2 是否为空, 是: 继续本步 ; 否: 读出一个图像数据或音频数据 B, 跳下一步 ; 把图像数据或音频数据和图像数据或音频数据 B 进行图像或音频运算, 把运算结果写 到 FIFO-3 中, 然后返回到上述判断 FIFO-3 是否为满的步骤。

说明书


图像数据或音频数据的叠加处理方法和装置

    技术领域 本发明涉及一种音、 视频设备中图像数据或音频数据处理方法和装置, 用于图像 数据的叠加运算或音频数据的叠加运算。
     背景技术 带有图像输出的设备必然要用图像数据的叠加运算, 同样带有音频输出的设备必 然要用音频数据的叠加运算, 而音视频设备还分别涉及到图像叠加和音频叠加的运算。目 前图像叠加和音频叠加运算都由音、 视频设备的系统处理器处理, 其处理方法是 : 由 CPU 分 别对图像叠加运算和音频叠加运算, 这样会占用很多 CPU 的资源, 而且处理速度又慢, 功耗 大。
     发明内容 本发明要解决的技术问题, 在于提供一种图像数据或音频数据的叠加处理方法和 装置, 用于图像或音频叠加的运算, 独立运作, 不占用系统资源, 不影响处理速度, 功耗小。
     本发明是这样实现的 : 一种图像数据或音频数据的叠加处理方法, 其是通过设置 在主设备上并连接于总线的一叠加处理器进行, 该叠加处理器包括一主控制器、 一寄存器、 一运算器, 三个 FIFO、 一主设备总线接口以及一从设备总线接口, 所述三个 FIFO 分别为 FIFO-1、 FIFO-2、 FIFO-3 ; 所述叠加处理方法包括主控制器部分和运算器部分 ;
     所述主控制器部分包括如下步骤 :
     步骤 11、 从寄存器中读出启动标志位, 判断是否启动, 是: 跳到步骤 12 ; 否: 重新进 行步骤 11 ;
     步骤 12、 从寄存器读出要进行叠加处理的两组图像数据或音频数据 A 和 B 的起始 地址和运算后存放的地址, 该两起始地址和运算后存放的地址分别称为地址变量 A0、 B0 和 C0,
     步骤 13、 判断 FIFO-1 是否为满?是 : 跳到下一步 ; 否: 通过主设备总线接口访问 主设备的内存控制器, 从内存中读出一段图像数据或音频数据 A 存放到 FIFO-1 中, 并把地 址变量 A0 加上读出的长度, 生成新的地址变量 A0 ;
     步骤 14、 判断 FIFO-2 是否为满?是 : 跳到下一步 ; 否: 通过主设备总线接口访问 主设备的内存控制器, 从内存中读出一段图像数据或音频数据 B 存放到 FIFO-2 中, 并把地 址变量 B0 加上读出的长度, 生成新的地址变量 B0 ;
     步骤 15、 判断 FIFO-3 是否为空?是 : 跳到下一步 ; 否: 通过主设备总线接口访问 内存控制器, 把 FIFO-3 的数据写到内存中, 并把地址变量 C0 加上写到内存的数据的长度, 生成新的地址变量 C0 ;
     步骤 16、 判断是否运算完毕, 是: 清除启动标志, 通过主设备的中断控制器启动中 断输出, 并跳到步骤 11 ; 否: 跳到步骤 13 ;
     所述运算器部分包括如下步骤 :
     步骤 21、 判断 FIFO-3 是否为满?是 : 继续本步骤的判断 ; 否: 跳到下一步 ;
     步骤 22、 判断 FIFO-1 是否为空?是 : 继续本步骤的判断 ; 否: 读出一个图像数据 或音频数据 A, 跳下一步 ;
     步骤 23、 判断 FIFO-2 空吗?是 : 继续本步 ; 否: 读出一个图像数据或音频数据 B, 跳下一步 ;
     步骤 24、 把图像数据或音频数据和图像数据或音频数据 B 进行图像或音频运算, 把运算结果写到 FIFO-3 中, 然后返回到步骤 21。
     其中, 所述叠加处理器具体是设置在主设备的 SOC 上。所述主设备是带有图像输 出的设备、 带有音频输出的设备或者兼带音频和图像输出的设备。
     本发明还一种图像数据或音频数据的叠加处理装置, 其是通过设置在主设备上并 连接于总线的一叠加处理器进行, 该叠加处理器包括一主控制器、 一寄存器、 一运算器、 三 个 FIFO、 一主设备总线接口以及一从设备总线接口, 所述三个 FIFO 分别为 FIFO-1、 FIFO-2、 FIFO-3 ;
     所述主控制器用于 :
     从寄存器中读出启动标志位, 判断是否启动, 是: 跳到下一步 ; 否: 重新开始本步 骤;
     从寄存器读出要进行叠加处理的两组图像数据或音频数据 A 和 B 的起始地址和运 算后存放的地址, 该两起始地址和运算后存放的地址分别称为地址变量 A0、 B0 和 C0,
     判断 FIFO-1 是否为满, 是: 跳到下一步 ; 否: 通过主设备总线接口访问主设备的内 存控制器, 从内存中读出一段图像数据或音频数据 A 存放到 FIFO-1 中, 并把地址变量 A0 加 上读出的长度, 生成新的地址变量 A0 ;
     判断 FIFO-2 是否为满, 是: 跳到下一步 ; 否: 通过主设备总线接口访问主设备的内 存控制器, 从内存中读出一段图像数据或音频数据 B 存放到 FIFO-2 中, 并把地址变量 B0 加 上读出的长度, 生成新的地址变量 B0 ;
     判断 FIFO-3 是否为空, 是: 跳到下一步 ; 否: 通过主设备总线接口访问内存控制 器, 把 FIFO-3 的数据写到内存中, 并把地址变量 C0 加上写到内存的数据的长度, 生成新的 地址变量 C0 ;
     判断是否运算完毕, 是: 清除启动标志, 通过主设备的中断控制器启动中断输出, 并跳到上述从寄存器中读出启动标志位、 判断是否启动的步骤 ; 否: 跳到上述判断 FIFO-1 是否为满的步骤 ;
     所述运算器用于 :
     判断 FIFO-3 是否为满, 是: 继续本步骤的判断 ; 否: 跳到下一步 ;
     判断 FIFO-1 是否为空, 是: 继续本步骤的判断 ; 否: 读出一个图像数据或音频数据 A, 跳下一步 ;
     判断 FIFO-2 是否为空, 是: 继续本步 ; 否: 读出一个图像数据或音频数据 B, 跳下 一步 ;
     把图像数据或音频数据和图像数据或音频数据 B 进行图像或音频运算, 把运算结 果写到 FIFO-3 中, 然后返回到上述判断 FIFO-3 是否为满的步骤。
     本发明具有如下优点 :1、 本发明方法主要通过主控制器和运算器配合运作, 用于图像或音频数据的叠加 的运算, 其主控制器部分主要用于将需要叠加的数据读出存放在两个 FIFO 中, 由运算器提 取运算后存放在另一 FIFO 中, 再由主控制器把 FIFO-3 的数据写到内存中, 方法简单, 实现 方便 ;
     2、 本发明方法是在带有图像输出或音频输出的设备上专门设置一图像数据或音 频数据的叠加处理器进行, 并将该叠加处理器设置在 SOC 上, 该叠加处理器独立运作, 不占 用系统资源, 不影响系统的处理速度, 功耗小。 附图说明
     下面参照附图结合实施例对本发明作进一步的说明。 图 1 为实现本发明方法专门设置的数据叠加处理器的结构示意图。 图 2 为本发明方法的主控制器的处理流程框图。 图 3 为本发明方法的运算器的处理流程框图。具体实施方式 本发明方法, 可用于带有图像输出的设备、 带有音频输出的设备, 或兼带图像输出 和音频输出的设备, 下称主设备。
     请参阅图 1 所示, 为实现本发明方法专门设计的数据叠加处理器的结构示意图, 主设备的总线上连接有一系统处理器 1、 一内存控制器 2、 一中断控制器 3, 以及本发明的叠 加处理器 4。所述叠加处理器 4 设置于主设备的 SOC( 未图示 ) 上。
     所述叠加处理器 4 包括一主控制器 41、 一寄存器 42、 一运算器 43, 三个 FIFO44、 一主设备总线接口 45 以及一从设备总线接口 46 ; 所述寄存器 42、 主设备总线接口 45、 从设 备总线接口 46 均连接所述主控制器 41, 所述主控制器 41 再分别通过所述三个 FIFO44 连 接所述运算器 43, 所述主控制器 41 还与所述中断控制器 3 连接。所述三个 FIFO44 分别为 FIFO-1、 FIFO-2、 FIFO-3。
     所述主控制器 41 : 通过总线把内存储器中待运算的数据读取放到 FIFO-1 和 FIFO-2 中, 并把运算后存于 FIFO-3 中的数据写到内存储器中。
     所述寄存器 42 : 用于存储该图像叠加或音频叠加处理器的状态和配置参数。
     所述运算器 43 : 用于运算需要叠加的两组图像数据或音频数据 ;
     所述 FIFO-1 和 FIFO-2 : 用于存放需要叠加的两组图像数据或音频数据。
     所述 FIFO-3 : 用于存放运算完的图像数据或音频数据。
     结合图 2 和图 3 所示, 本发明方法的处理流程分为主控制器部分和运算器部分。 下 面具体举三个实例进行详细说明 :
     实施例一、 仅图像数据的叠加
     主控制器 41 的处理流程为 :
     步骤 11、 从寄存器 42 中读出启动标志位, 判断是否启动, 是: 跳到步骤 12 ; 否: 重 新进行步骤 11 ;
     步骤 12、 从寄存器 42 读出要进行叠加处理的两组图像数据 A 和 B 的起始地址 ( 称 为地址变量 A0 和地址变量 B0) 和运算后存放的地址 ( 称为变量 C0) ;
     步骤 13、 判断 FIFO-1 是否为满?是 : 跳到下一步 ; 否: 通过主设备总线接口 45 访 问内存控制器 2, 从内存中读出一段图像数据 A 存放到 FIFO-1 中, 并把地址变量 A0 加上读 出的长度, 生在新的地址变量 A0, 以供下一次读取 ;
     步骤 14、 判断 FIFO-2 是否为满?是 : 跳到下一步 ; 否: 通过主设备总线接口 45 访 问内存控制器 2, 从内存中读出一段图像数据 B 存放到 FIFO-2 中, 并把地址变量 B0 加上读 出的长度, 生在新的地址变量 B0, 以供下一次读取 ;
     步骤 15、 判断 FIFO-3 是否为空?是 : 跳到下一步 ; 否: 通过主设备总线接口 45 访 问内存控制器 2, 把 FIFO-3 的数据写到内存中供主设备使用, 并把地址变量 C0 加上写到内 存的数据的长度, 生在新的地址变量 C0, 以供下一次读取 ;
     步骤 16、 判断是否运算完毕, 是: 清除启动标志, 通过中断控制器 3 启动中断输出, 跳到步骤 11 ; 否: 跳到步骤 13。
     运算器的处理流程为 :
     步骤 21、 判断 FIFO-3 是否为满?是 : 因无法提供空间存储运算器的运算结果, 因 此继续本步骤的判断, 直至不满 ; 否: 说明有剩余空间, 跳到下一步 ;
     步骤 22、 判断 FIFO-1 是否为空?是 : 说明 FIFO-1 中没有用于运算的数据, 因此继 续本步骤的判断, 直至有需要运算的数据 ; 否: 说明有需要运算的数据, 此时读出一个图像 数据 A, 跳下一步 ; 步骤 23、 判断 FIFO-2 空吗?是 : 说明 FIFO-2 中没有用于运算的数据, 因此继续本 步, 直至有需要运算的数据 ; 否: 说明有需要运算的数据, 此时读出一个图像数据 B, 跳下一 步;
     步骤 24、 把图像数据 A 和图像数据 B 进行运算, 把运算结果写到 FIFO-3 中, 以供主 控制器 41 把 FIFO-3 的数据写到内存中供主设备使用, 然后返回到步骤 21。
     实施例二、 仅音频数据的叠加
     主控制器 41 的处理流程为 :
     步骤 11、 从寄存器 42 中读出启动标志位, 判断是否启动, 是: 跳到步骤 12 ; 否: 重 新进行步骤 11 ;
     步骤 12、 从寄存器 42 读出要进行叠加处理的两组音频数据 A 和 B 的起始地址 ( 称 为地址变量 A0 和地址变量 B0) 和运算后存放的地址 ( 称为变量 C0) ;
     步骤 13、 判断 FIFO-1 是否为满?是 : 跳到下一步 ; 否: 通过主设备总线接口 45 访 问内存控制器 2, 从内存中读出一段音频数据 A 存放到 FIFO-1 中, 并把地址变量 A0 加上读 出的长度, 生在新的地址变量 A0, 以供下一次读取 ;
     步骤 14、 判断 FIFO-2 是否为满?是 : 跳到下一步 ; 否: 通过主设备总线接口 45 访 问内存控制器 2, 从内存中读出一段音频数据 B 存放到 FIFO-2 中, 并把地址变量 B0 加上读 出的长度, 生在新的地址变量 B0, 以供下一次读取 ;
     步骤 15、 判断 FIFO-3 是否为空?是 : 跳到下一步 ; 否: 通过主设备总线接口 45 访 问内存控制器 2, 把 FIFO-3 的数据写到内存中, 并把地址变量 C0 加上写到内存的数据的长 度, 生在新的地址变量 C0, 以供下一次读取 ;
     步骤 16、 判断是否运算完毕, 是: 清除启动标志, 通过中断控制器 3 启动中断输出, 跳到步骤 11 ; 否: 跳到步骤 13。
     运算器的处理流程为 :
     步骤 21、 判断 FIFO-3 是否为满?是 : 因无法提供空间存储运算器的运算结果, 因 此继续本步骤的判断, 直至不满 ; 否: 说明有剩余空间, 跳到下一步 ;
     步骤 22、 判断 FIFO-1 是否为空?是 : 说明 FIFO-1 中没有用于运算的数据, 因此继 续本步骤的判断, 直至有需要运算的数据 ; 否: 说明有需要运算的数据, 此时读出一个音频 数据 A, 跳下一步 ;
     步骤 23、 判断 FIFO-2 空吗?是 : 说明 FIFO-2 中没有用于运算的数据, 因此继续本 步, 直至有需要运算的数据 ; 否: 说明有需要运算的数据, 此时读出一个音频数据 B, 跳下一 步;
     步骤 24、 把音频数据 A 和音频数据 B 进行运算, 把运算结果写到 FIFO-3 中, 以供主 控制器 41 把 FIFO-3 的数据写到内存中供主设备使用, 然后返回到步骤 21。
     实施例三、 图像数据和音频数据的叠加
     本实施例为实施例一和实施例二的合并, 如可先进行实施例一中所有步骤将图像 数据叠加完毕之后进行实施例二的所有步骤进行音频数据的叠加 ; 也可反过来进行, 即先 进行实施例二的所有步骤进行音频数据的叠加完毕之后进行实施例一中所有步骤将图像 数据叠加, 因此, 此处不做重复描述。 本发明还一种图像数据或音频数据的叠加处理装置, 其是通过设置在主设备上并 连接于总线的一叠加处理器进行, 该叠加处理器包括一主控制器、 一寄存器、 一运算器、 三 个 FIFO、 一主设备总线接口以及一从设备总线接口, 所述三个 FIFO 分别为 FIFO-1、 FIFO-2、 FIFO-3 ;
     所述主控制器用于 :
     从寄存器中读出启动标志位, 判断是否启动, 是: 跳到下一步 ; 否: 重新开始本步 骤;
     从寄存器读出要进行叠加处理的两组图像数据或音频数据 A 和 B 的起始地址和运 算后存放的地址, 该两起始地址和运算后存放的地址分别称为地址变量 A0、 B0 和 C0,
     判断 FIFO-1 是否为满, 是: 跳到下一步 ; 否: 通过主设备总线接口访问主设备的内 存控制器, 从内存中读出一段图像数据或音频数据 A 存放到 FIFO-1 中, 并把地址变量 A0 加 上读出的长度, 生成新的地址变量 A0 ;
     判断 FIFO-2 是否为满, 是: 跳到下一步 ; 否: 通过主设备总线接口访问主设备的内 存控制器, 从内存中读出一段图像数据或音频数据 B 存放到 FIFO-2 中, 并把地址变量 B0 加 上读出的长度, 生成新的地址变量 B0 ;
     判断 FIFO-3 是否为空, 是: 跳到下一步 ; 否: 通过主设备总线接口访问内存控制 器, 把 FIFO-3 的数据写到内存中, 并把地址变量 C0 加上写到内存的数据的长度, 生成新的 地址变量 C0 ;
     判断是否运算完毕, 是: 清除启动标志, 通过主设备的中断控制器启动中断输出, 并跳到上述从寄存器中读出启动标志位、 判断是否启动的步骤 ; 否: 跳到上述判断 FIFO-1 是否为满的步骤 ;
     所述运算器用于 :
     判断 FIFO-3 是否为满, 是: 继续本步骤的判断 ; 否: 跳到下一步 ;
     判断 FIFO-1 是否为空, 是: 继续本步骤的判断 ; 否: 读出一个图像数据或音频数据 A, 跳下一步 ;
     判断 FIFO-2 是否为空, 是: 继续本步 ; 否: 读出一个图像数据或音频数据 B, 跳下 一步 ;
     把图像数据或音频数据和图像数据或音频数据 B 进行图像或音频运算, 把运算结 果写到 FIFO-3 中, 然后返回到上述判断 FIFO-3 是否为满的步骤。
     综上所述, 本发明方法主要通过主控制器和运算器配合运作, 用于图像或音频数 据的叠加的运算, 其主控制器部分主要用于将需要叠加的数据读出存放在两个 FIFO 中, 由 运算器提取运算后存放在另一 FIFO 中, 再由主控制器把 FIFO-3 的数据写到内存中, 方法简 单, 实现方便 ; 另外本发明方法是在带有图像输出或音频输出的设备上专门设置一图像数 据或音频数据的叠加处理器, 并将该叠加处理器设置在 SOC 上, 用于图像或音频叠加的运 算, 该叠加处理器独立运作, 不占用系统资源, 不影响系统的处理速度, 功耗小。

图像数据或音频数据的叠加处理方法和装置.pdf_第1页
第1页 / 共12页
图像数据或音频数据的叠加处理方法和装置.pdf_第2页
第2页 / 共12页
图像数据或音频数据的叠加处理方法和装置.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《图像数据或音频数据的叠加处理方法和装置.pdf》由会员分享,可在线阅读,更多相关《图像数据或音频数据的叠加处理方法和装置.pdf(12页珍藏版)》请在专利查询网上搜索。

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