CN101340595B - 一种图像数据回读的方法和装置 - Google Patents
一种图像数据回读的方法和装置 Download PDFInfo
- Publication number
- CN101340595B CN101340595B CN2008101322435A CN200810132243A CN101340595B CN 101340595 B CN101340595 B CN 101340595B CN 2008101322435 A CN2008101322435 A CN 2008101322435A CN 200810132243 A CN200810132243 A CN 200810132243A CN 101340595 B CN101340595 B CN 101340595B
- Authority
- CN
- China
- Prior art keywords
- data
- view data
- image data
- processing unit
- graphics processing
- 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
Links
Images
Landscapes
- Image Input (AREA)
- Image Processing (AREA)
Abstract
本发明实施例公开了一种图像数据回读的方法和装置,本发明实施例公开的方法,包括:将获取的图像数据进行缓存;对所述缓存后的图像数据进行位宽转化,并按照图像处理单元接收数据的接口的时序发送图像数据。该装置包括:数据缓存模块,用于将获取的图像数据进行缓存;数据输出模块,用于对所述缓存后的图像数据进行位宽转化,并按照图像处理单元接收数据的接口的时序发送图像数据。通过使用本发明的实施例,可以实现图像数据分时分批处理。
Description
技术领域
本发明涉及图像处理技术,尤其涉及一种图像数据回读的方法和装置。
背景技术
图像处理技术在移动终端中的应用越来越普遍,图像处理电路一般集成在移动终端系统的多媒体SOC(System On Chip,片上系统)芯片中,处理摄像头采集到的图像数据。由于市场需求和技术水平的提高,对图像处理模块规格的要求也不断提升,对总线带宽提出了更高的要求,并且实现的过程也越来越复杂。
现有技术中,一种图像处理的方法是将图像处理子系统与Camera(摄像头)接口设计在一个SOC系统中,如图1所示,Camera接口采集Camera输出的图像数据,按照一定的数据格式及总线传输规范,将图像数据传送给图像处理子模块,Camera接口与图像处理子模块一般集成于同一芯片中。现有技术还有一种基于AMBA 2.0(Advanced Microcontroller Bus Architecture,先进微控制器总线架构)AHB(Advanced High-performance Bus,先进高性能总线)的图像处理方法,如图2所示,由图像采集接口、sync(同步模块)、图像处理子模块、数据缓存模块、AHB Master(AHB主设备)接口和AHB Slave(AHB从设备)接口构成,对图像进行处理的过程包括:图像采集接口采集Camera的图像数据;图像处理子模块对采集到的数据进行处理;数据再经数据缓存模块送到AHB Master接口,由AHB Master接口向AHB总线输出;AHB总线通过AHB Slave接口可以配置访问寄存器。其中,图像采集接口采用Camera时钟进行采样,其他模块工作于AHB总线时钟,sync模块用于同步两个时钟域。一般的图像处理流程,图像采集接口将接收到的Camera图像数据写入内存,然后图像处理子模块再将内存中的数据读入,处理完毕后写回内存。但是该结构一方面实时的处理Camera图像数据,另一方面仅需一次 内存写操作。
一般情况下,有效的图像数据不能在传输过程中丢失,为达到这个效果具体实现时的方法、装置或系统应满足两个性能约束:一是图像数据输入接口的吞吐量足够大,保证输入的数据有效接收;另一方面,要求存储总线的优先级较高,避免数据接收后却因为总线资源竞争失败而无法写到内存。
发明人在实现本发明的过程中,发现现有技术至少存在以下问题:
现有技术中,图像处理子模块和图像输入接口直接相连,因此图像处理子模块的处理速度必须足够快,才能满足第一个约束,但是某些图像处理过程耗时较长,单独对这个部分提出性能要求会较大增加设计难度。此外,图像数据被处理之后数据量可能会增加,导致向存储总线发送的数据量上升,在总线带宽不变的情况下,利用现有技术提供的方法时对总线的访问时间增加,根据第二个约束,需要赋予较高的总线访问优先级。这样可能会造成总线上其他较低优先级的设备长时间无法获得总线资源,从而影响整个系统的性能;若不恰当的释放总线,则可能导致图像数据丢失。
发明内容
本发明实施例提供一种图像数据回读的方法和装置,可以实现对图像数据分时分批的处理。
本发明实施例提供一种图像数据回读的方法,包括:
将获取的图像数据进行缓存;
对所述缓存后的图像数据进行位宽转化以适应图像处理单元的接口宽度,并按照图像处理单元接收数据的接口的时序发送图像数据,所述时序包括时钟信号、输出数据及数据信息指示信号。
同时本发明实施例提供了一种图像数据回读的装置,包括:
数据缓存模块,用于将获取的图像数据进行缓存;
数据输出模块,用于对所述缓存后的图像数据进行位宽转化以适应图像处理单元的接口宽度,并按照图像处理单元接收数据的接口的时序发送图像数据,所述时序包括时钟信号、输出数据及数据信息指示信号。
同时本发明实施例还提供了一种图像数据回读的系统,包括:存储单元, 图像数据回读装置和图像处理单元;
所述存储单元,用于存储图像数据;
所述图像数据回读装置,用于将从所述存储单元中获取的图像数据进行缓存;然后对所述缓存后的图像数据进行位宽转化以适应图像处理单元的接口宽度,并按照图像处理单元接收数据的接口的时序发送图像数据,所述时序包括时钟信号、输出数据及数据信息指示信号;
所述图像处理单元,用于接收所述图像数据回读装置发送的图像数据,并对所述图像数据进行处理。
与现有技术相比,本发明实施例具有以下优点:
本发明实施例提供方法和装置,通过将存储单元中的图像数据缓存后按照接口的时序发送图像数据,达到对图像数据分时分批的处理,克服因为总线带宽或者实现技术等原因引起的图像处理性能瓶颈。同时本方法可以有效的避免图像数据处理单元在数据吞吐能力达到极限时引起系统崩溃。
附图说明
图1是现有技术一中图像处理框图;
图2是现有技术二中基于AHB总线的图像处理结构示意图;
图3是本发明实施例中图像数据回读的方法的流程图;
图4是本发明另一实施例中图像数据回读的方法的流程图;
图5是本发明实施例中支持的各种存储格式的示意图;
图6是本发明实施例中输出端口时序图;
图7是本发明实施例中IRC的接口框图;
图8是本发明实施例中图像数据回读的装置示意图;
图9是本发明实施例中图像数据回读的系统示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种图像数据回读的方法和装置,可以较好的满足带宽等因素引出的非实时处理需求。
下面结合附图和具体实施例对本发明实施例提供的图像数据回读的方法进行详细说明。
图3为本发明实施例提供的图像数据回读的方法的流程图,包括:
步骤s301、将获取的图像数据进行缓存。具体的,接收到获取图像数据命令后,根据该命令在存储单元中读取该数据,并将其存放在内部缓存中。
步骤s302、对所述缓存后的图像数据进行位宽转化,并按照图像处理单元接收数据的接口的时序发送图像数据。
上述步骤将获取的图像数据先进行缓存,并按照图像处理单元接收数据的接口时序将缓存的数据发送出去,使图像处理单元可以分时分批的对图像数据进行处理。
如图4所示,以Camera接口接收图像数据为例,包括:
步骤s401、根据接收的命令读取图像数据。IRC(Image Read-backController,图像回读控制器)接收到CPU通过总线发送的获取图像数据的命令后,从存储单元中读取该图像数据。该IRC支持以帧为单位的回读图像数据方式,支持单帧或连续多帧处理,而且支持的数据源存储格式有多种,如图5所示,为各种存储格式的示意图,包括:YUV4:2:2 Planar/Semi-Planar、YUV4:2:0 Planar/Semi-Planar和YUV4:2:2 Packed。
具体的,软件配置IRC寄存器并启动IRC。该IRC的寄存器主要包括:存储单元中图像数据存储首地址、图像数据行偏移量、待处理的一帧图像尺寸,以及源数据存储格式、存储顺序和数据输出频率相对总线频率的分频比。
IRC启动后,根据寄存器中存储的信息,自动计算图像在内存中存放的位置,并采用NCR16、INCR8、INCR4或SINGLE等burst(突发)操作方式回读图像数据,其中,采用INCR16效率相对较高。在处理每行末尾的数据时,数据源中该行未被操作的数据不足16×32Bits(总线带宽32Bit)时,一般采用INCR8、INCR4或者SINGLE操作。为了实现高效的输出,IRC在处理Planar/Semi-Planar数据时Y、U和V分量在内存中的存储地址可以进行轮询 读取,保证IRC数据输出端口在IRC读取数据的大部分时间内都能连续发送数据。例如,当IRC获取Y:U:V 4:2:2 Planar类型的数据时,先对Y分量的内存地址进行一次突发读取,然后读取U分量,再读取V分量,其中Y表示图像的亮度,U和V表示图像的色度。
值得注意的是,在一般情况下,总线上的burst操作不允许被打断,如果IRC正在处理总线上发送过来的burst传输时,被软复位(IRC_RDY信号先从高电平拉低一个周期以上,然后拉高),则IRC进入保护状态等待总线上该burst传输结束,才启动新一帧数据的回读,从软复位发生起至burst传输结束,所有数据均不会被保存。
步骤s402、对读取的图像数据进行缓存。
图像回读控制器将获取的图像数据存放在内部的缓存中,该缓存包括SRAM和缓存控制器。从物理上看,SRAM为一个整体;从逻辑上看,SRAM存储空间分为三段,分别用于缓存图像数据中的Y、U和V分量;缓存控制器用于进行必要的逻辑控制,包括生成读、写使能信号,读、写指针,读、写地址,SRAM中各段的空状态指示,以及数据输出位宽转换的MUX控制信号。若获取的图像数据格式为Planar/Semi-Planar格式,数据的存储顺序为Y->U->Y->V->Y;若获取的图像数据格式为Packed格式,数据的存储顺序为YUYV、YVYU、UYVY或VYVU。
步骤s403、模拟Camera接口的输出时序,输出该图像数据。
由于Camera接口的宽度为8Bit,而SDRAM宽度为32Bit,所以需要对获取并放入缓存的图像数据的位宽进行转化,IRC的输出端口时序图,如图6所示,包含了行、帧起始和结束的指示信号以及数据类型指示信号,数据输出频率相对总线频率可实现1~32分频。
值得注意的是,在一般情况下,内部缓存不为空时,IRC即可向外输出数据,但为了避免向图像处理单元发送的数据量过大导致系统崩溃,图像回读控制器可以根据系统的状态指示信号对图像数据处理单元的数据吞吐量进行检测,该信号不小于预设的安全阈值时,强制暂停数据发送过程。具体的,该预设的安全阈值为图像回读控制器到图像数据处理单元的流水级数,例如 当图像回读控制器输出数据到后续的图像数据处理单元的流水级数为10,则后续单元的极限状态水线设定提前10级,一旦系统状态指示信号达到10,则IRC暂停发送数据。
通过上述步骤将读取的图像数据进行缓存,并按照摄像头接口的时序对缓存的图像数据进行位宽变换后发送到图像数据处理单元,可以实现分批分时处理图像数据。
如图7所示,为IRC的接口框图,其接收的信号主要包括:总线接口信号,寄存器信号,数据类型指示信号,系统状态指示信号,以及数据信号;输出的信号主要包括:总线请求、总线Burst操作类型、总线读地址。进行图像数据回读时,需要通过外部模块进行协助(如AHB总线接口模块)。
具体的,总线接口信号通过AHB总线接口模块与IRC进行信息交互,当IRC连接到其他规范的总线时,AHB总线接口可以由相应规范的总线接口模块替代。
本发明实施例还提供了一种图像数据回读的装置,如图8所示,包括:
数据缓存模块810,用于将获取的图像数据进行缓存;可以包括SRAM和缓存控制器;从逻辑上将SRAM存储空间分为三段,分别用于缓存图像数据中的Y、U和V分量;缓存控制器,主要用于进行必要的逻辑控制,包括生成读、写使能信号,读、写指针,读、写地址,SRAM中各段的空状态指示,以及数据输出位宽转换的MUX控制信号。当然,也可以使用一个SRAM实现,也可采用两个或者三个独立的SRAM实现,缓存空间的大小可根据规格确定。
数据输出模块820,用于对所述缓存后的图像数据进行位宽转化,并按照图像处理单元接收数据的接口的时序发送图像数据。可以实现数据输出控制,同时模拟接口时序,产生必要的行、帧起始和结束信号以及用于指示当前输出数据类型(Y、U或V分量)的数据有效信号。
所述装置还包括:
接收模块830,用于接收获取图像数据命令;
存储位置计算模块840,用于根据寄存器中所述图像数据的信息为初值, 计算所述图像数据存储的位置;
数据获取模块850,用于按照命令在所述存储位置计算模块840计算出的存储位置处获取图像数据。
所述数据输出模块820包括:
位宽转化子模块821,用于对缓存的图像数据进行位宽转化;
数据发送子模块822,用于按照图像处理单元接收数据的接口时序向所述图像处理单元发送图像数据。该子模块可以实现数据输出控制并模拟接口时序,产生必要的行、帧起始和结束信号以及用于指示当前输出数据类型(Y、U或V分量)的数据有效信号。
所述数据输出模块820还包括:
系统吞吐量检测子模块823,用于当所述数据发送子模块822发送图像数据时,根据系统状态指示信号对系统的数据吞吐量进行检测,当检测到连接的图像数据处理单元达到数据吞吐极限时,通知数据发送子模块822暂停发送图像数据;否则,数据发送子模块822可以正常发送图像数据。其中可以通过判断系统状态指示信号是否大于预设的阈值,来判断图像数据处理单元是否达到数据吞吐极限。
本发明实施例还提供了一种图像数据回读的系统,如图9所示,包括:存储单元910,图像数据回读装置920和图像处理单元930;
所述存储单元910,用于存储图像数据;
所述图像数据回读装置920,用于将从所述存储单元910中获取的图像数据进行缓存;然后对所述缓存后的图像数据进行位宽转化,并按照图像处理单元接收数据的接口的时序发送图像数据;
所述图像处理单元930,用于接收所述图像数据回读装置920发送的图像数据并对所述图像数据进行处理。
通过本发明实施例提供方法、系统和装置,可以支持多种数据的存储格式,并能模拟图像处理单元接口的输出时序,输出图像数据及行、场指示信号,适用面很广。而且本发明实施例提供的方法可以实现图像数据分时分批的处理,克服因为总线带宽或者实现技术等原因引起的图像处理性能瓶颈。 同时本方法可以有效的避免图像数据处理单元在数据吞吐能力达到极限时引起系统崩溃。本发明实施例提供的方法及装置与总线协议无关,只要有适合的总线接口模块与之连接,提供相同的总线接口信号,即可应用于AMBA架构之外的总线架构。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (9)
1.一种图像数据回读的方法,其特征在于,包括:
将获取的图像数据进行缓存;
对所述缓存后的图像数据进行位宽转化以适应图像处理单元的接口宽度,并按照图像处理单元接收数据的接口的时序发送图像数据,所述时序包括时钟信号、输出数据及数据信息指示信号。
2.如权利要求1所述的方法,其特征在于,还包括:
通过单帧或多帧连续操作的图像数据回读方式获取图像数据。
3.如权利要求1所述的方法,其特征在于,还包括:
接收获取图像数据命令;
以寄存器中所述图像数据的信息为初值,计算所述图像数据存储的位置;
在所述位置处获取图像数据。
4.如权利要求1所述的方法,其特征在于,还包括:
根据系统状态指示信号对系统的数据吞吐量进行检测,当检测到连接的图像数据处理单元达到数据吞吐极限时,暂停发送图像数据。
5.一种图像数据回读装置,其特征在于,包括:
数据缓存模块,用于将获取的图像数据进行缓存;
数据输出模块,用于对所述缓存后的图像数据进行位宽转化以适应图像处理单元的接口宽度,并按照图像处理单元接收数据的接口的时序发送图像数据,所述时序包括时钟信号、输出数据及数据信息指示信号。
6.如权利要求5所述的装置,其特征在于,还包括:
接收模块,用于接收获取图像数据命令;
存储位置计算模块,用于根据寄存器中所述图像数据的信息为初值,计算所述图像数据存储的位置;
数据获取模块,用于按照命令在所述存储位置计算模块计算出的存储位置处获取图像数据。
7.如权利要求5所述的装置,其特征在于,所述数据输出模块包括:
位宽转化子模块,用于对缓存的图像数据进行位宽转化;
数据发送子模块,用于按照图像处理单元接收数据的接口时序向所述图像处理单元发送图像数据。
8.如权利要求7所述的装置,其特征在于,所述数据输出模块还包括:
系统吞吐量检测子模块,用于当所述数据发送子模块发送图像数据时,根据系统状态指示信号对系统的数据吞吐量进行检测,当检测到连接的图像数据处理单元达到数据吞吐极限时,通知所述数据发送子模块暂停发送图像数据。
9.一种图像数据回读的系统,其特征在于,包括:存储单元,图像数据回读装置和图像处理单元;
所述存储单元,用于存储图像数据;
所述图像数据回读装置,用于将从所述存储单元中获取的图像数据进行缓存;然后对所述缓存后的图像数据进行位宽转化以适应图像处理单元的接口宽度,并按照图像处理单元接收数据的接口的时序发送图像数据,所述时序包括时钟信号、输出数据及数据信息指示信号;
所述图像处理单元,用于接收所述图像数据回读装置发送的图像数据,并对所述图像数据进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101322435A CN101340595B (zh) | 2008-07-21 | 2008-07-21 | 一种图像数据回读的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101322435A CN101340595B (zh) | 2008-07-21 | 2008-07-21 | 一种图像数据回读的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101340595A CN101340595A (zh) | 2009-01-07 |
CN101340595B true CN101340595B (zh) | 2011-09-21 |
Family
ID=40214526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101322435A Active CN101340595B (zh) | 2008-07-21 | 2008-07-21 | 一种图像数据回读的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101340595B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103123718B (zh) * | 2011-11-21 | 2016-06-22 | 腾讯科技(深圳)有限公司 | 一种图像处理方法和系统 |
CN106973188A (zh) * | 2017-04-11 | 2017-07-21 | 北京图森未来科技有限公司 | 一种图像传输装置和方法 |
CN110072040A (zh) * | 2019-04-22 | 2019-07-30 | 东华大学 | 一种基于树莓派的图像采集装置 |
CN113179310B (zh) * | 2021-04-23 | 2023-04-18 | 武汉卓目科技有限公司 | 一种通用便携的卫星遥控遥测设备及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5293603A (en) * | 1991-06-04 | 1994-03-08 | Intel Corporation | Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path |
-
2008
- 2008-07-21 CN CN2008101322435A patent/CN101340595B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5293603A (en) * | 1991-06-04 | 1994-03-08 | Intel Corporation | Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path |
Also Published As
Publication number | Publication date |
---|---|
CN101340595A (zh) | 2009-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101490067B1 (ko) | 복수의 프로세서들을 이용한 병렬 이미지 프로세싱 | |
CN101634975B (zh) | 一种实现dma数据传输的方法及装置 | |
CN102841869B (zh) | 一种基于fpga的多通道i2c控制器 | |
CN101340595B (zh) | 一种图像数据回读的方法和装置 | |
US9251556B2 (en) | Display control method and system and display device | |
US20090110110A1 (en) | Transmission Apparatus, Transmission Method, Communication Apparatus, and Program | |
US20060236001A1 (en) | Direct memory access controller | |
CN104615386A (zh) | 一种核外高速缓存装置 | |
CN113099133A (zh) | 串行解串器链路传输高带宽相机数据的方法 | |
CN113961494A (zh) | 一种pcie总线与axi总线的桥接系统 | |
CN102571317A (zh) | 软件无线电系统中基于pci总线的数据同步方法及系统 | |
WO2018099014A1 (zh) | 一种基带中频交互方法、系统及存储介质 | |
CN103516627B (zh) | 多芯片通信中数据包发送、接收的方法和装置 | |
CN102497544A (zh) | 一种对视频信号的存取进行控制的装置 | |
CN104317747A (zh) | 一种网格接收机的数据缓存与发送装置及方法 | |
CN101056316A (zh) | 一种pci以太网媒体访问控制器传输数据的方法 | |
CN104714832A (zh) | 一种用于机载数据网络异步数据交互区的缓冲管理方法 | |
CN111045817B (zh) | 一种PCIe传输管理方法、系统和装置 | |
CN108897696B (zh) | 一种基于DDRx存储器的大容量FIFO控制器 | |
CN114302087B (zh) | 一种mipi数据传输模式转换方法、装置及电子设备 | |
CN214205739U (zh) | 一种光电平台用基于fpga的通用型高清显示系统 | |
CN113254387B (zh) | 数据缓存器、芯片、机器人、数据缓存方法 | |
CN105007151A (zh) | 一种高低速总线通讯方法及装置 | |
CN112637602B (zh) | 一种jpeg接口及数字图像处理系统 | |
CN112491620B (zh) | 一种基于srio的多通道数据传输控制器及调整方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |