一种数字图像伽马校正硬件实现方法及系统与流程

文档序号:14881061发布日期:2018-07-07 09:46阅读:290来源:国知局

本发明涉及一种数字图像伽马校正硬件实现方法及系统,涉及数字图像处理领域,可应用在集成电路中,比如soc,fpga等。



背景技术:

现在数字电视,视频监控,行车记录仪,医学远端诊断,娱乐和教育等各个领域,以及多种ai技术中,数字图像的高清显示是必不可少的。伽马校正使显示视频变成线性,避免失真。在计算机图像处理和计算机图形学中,伽马校正是数字图像显示前必不可少的操作。伽马校正通过为rgb颜色空间的每个颜色通道设置伽马因子,来调整rgb显示器上的实际rgb效果。理想的显示系统是线性的。然而,现实中的视频显示器却是非线性的,显示系统的输出值与输入值并不成正比。

目前伽马校正多数采用软件实现,其应用具有一定局限性,无法在大量视频流中快速高效的应用。有的硬件实现,但其效率低,受限于接口少,只在一定的范围内使用。



技术实现要素:

本发明提供一种高效的数字图像伽马校正硬件实现方法及系统,具有实现效率高,使用范围广的特点。

本发明采用的技术方案如下:

一种数字图像伽马校正硬件实现方法,方法包括:对伽马校正模块采用双apb访问方式;所述双访问方式包括访问方式一和访问方式二;所述访问方式一只访问查找表ram;所述访问方式二只负责对伽马校正模块中逻辑电路内部的寄存器进行读写操作;所述访问方式一和访问方式二互相独立,互不交叉,能够同时进行。

所述方法还包括:设置pready信号一直为高;所述pready信号为响应写操作的信号;所述响应写操作的信号为响应双访问方式对伽马校正模块进行写操作的信号。

所述查找表ram包括三张独立的查找表:查找表r、查找表g和查找表b,分别对应输入视频流r、g和b信号所要进行伽马校正的信息。

所述三张独立的查找表的信息内容由外部cpu下放。

所述方法还包括:时钟包括视频数据流时钟和apb总线时钟pclk;所述pclk为apb总线访问提供的时钟;在pclk时钟域的信号都同步到当地的时钟流时钟。

所述在pclk时钟域的信号都同步到当地的时钟流时钟的具体方法为:用当地视频流时钟寄存pclk时钟域的信号2拍。

一种数字图像伽马校正硬件实现系统,采用上述的数字图像伽马校正硬件实现方法,包括伽马校正模块;所述伽马校正模块包括查找表ram和逻辑电路;其特征在于,所述伽马校正模块包括双apb接口;所述双apb接口包括第一apb接口apb_a和第二apb接口apb_b;所述第一apb接口apb_a只用于访问查找表ram;所述第二apb接口apb_b只用于对逻辑电路内部的寄存器进行读写操作;所述第一apb接口apb_a和第二apb接口apb_b互相独立,互不交叉。

所述查找表ram包括三张独立的查找表:查找表r、查找表g和查找表b,分别对应输入视频流r、g和b信号所要进行伽马校正的信息。

所述三张独立的查找表的信息内容由外部cpu下放。

所述逻辑电路还包括bypass寄存器、使能寄存器和复位寄存器中的任意一种、两种或三种。

与现有技术相比,本发明的数字图像伽马校正硬件实现方法及系统,实现效率高,使用范围广,能够够挂多种外部设备,比如i2c,dma,cpu等,应用广泛灵活,可应用在集成电路中,比如soc,fpga等。

附图说明

图1为本发明其中一实施例的原理示意图。

图2为本发明其中一实施例的apb总线和查找表数据结构映射关系图。

图3为本发明其中一实施例的apb_a总线接口信号结构示意图。

图4为本发明其中一实施例的apb_b总线接口信号结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

如图1所示,一种数字图像伽马校正硬件实现方法,方法包括:对伽马校正模块采用双apb访问方式;所述双访问方式包括访问方式一和访问方式二;所述访问方式一只访问查找表ram;所述访问方式二只负责对伽马校正模块中逻辑电路内部的寄存器进行读写操作;所述访问方式一和访问方式二互相独立,互不交叉,能够同时进行。

本发明方案采用双apb访问方式,对输入的视频流快速有效查找表,实现伽马校正功能。所述访问方式一和访问方式二互相独立,互不交叉,能够同时进行,这样效率有很大提高。

所述方法还包括:设置pready信号一直为高;所述pready信号为响应写操作的信号;所述响应写操作的信号为响应双访问方式对伽马校正模块进行写操作的信号。

pready信号是响应写操作的信号,只有pready信号为高的时候,apb接口才能进行写操作,如果pready为低,则apb接口不能进行写操作,只有一直等pready为高才能写操作。在本发明方案中,对apb协议进行了优化,pready信号一直为高,访问方式一和访问方式二各自的apb写操作更快,消除了等待pready的延时,从而可以快速的对寄存器或者ram访问。

所述查找表ram包括三张独立的查找表:查找表r、查找表g和查找表b,分别对应输入视频流r、g和b信号所要进行伽马校正的信息。

独立的三张表能够清晰的管理和处理各自的表中信息。另外,如果采用单apb访问方式,其既要配置寄存器读写,又要对三张查找表访问,而且pready信号不停的拉低,写操作无法操作,延迟等待,这样效率显然大大降低。可见双apb访问方式优越性很明显。

所述三张独立的查找表的信息内容由外部cpu下放。

查找表访问控制逻辑负责对三张查找表进行地址解码,分别对三张查找表读地址进行解码,对三张查找表进行读写操作访问。写操作主要发生在外部cpu对查找表进行初始化,读操作对查找表输出数据进行两路处理,一路是通过访问方式一上报到外部cpu,一路作为本方案数据输出到下游处理。

所述方法还包括:时钟包括视频数据流时钟和apb总线时钟pclk;所述pclk为apb总线访问提供的时钟;在pclk时钟域的信号都同步到当地的时钟流时钟。

所述在pclk时钟域的信号都同步到当地的时钟流时钟的具体方法为:用当地视频流时钟寄存pclk时钟域的信号2拍,从而解决信号亚稳态,保证信号的稳定性。

如图1所示,一种数字图像伽马校正硬件实现系统,采用上述的数字图像伽马校正硬件实现方法,包括伽马校正模块;所述伽马校正模块包括查找表ram和逻辑电路;其特征在于,所述伽马校正模块包括双apb接口;所述双apb接口包括第一apb接口apb_a和第二apb接口apb_b;所述第一apb接口apb_a只用于访问查找表ram;所述第二apb接口apb_b只用于对逻辑电路内部的寄存器进行读写操作;所述第一apb接口apb_a和第二apb接口apb_b互相独立,互不交叉。

本发明方案采用双apb接口,对输入的视频流快速有效查找表,实现伽马校正功能。双apb接口分为apb_a和apb_b接口。apb_a接口只访问查找表ram,apb_b只负责对逻辑电路内部的寄存器进行读写操作,各司其职。其优势是在芯片运行的不同阶段,双apb接口可以独立运行,互不交叉,这样效率很大提高。另外,双apb总线接口,能够挂多种外部设备,比如i2c,dma,cpu等,应用广泛灵活。apb_a总线专门访问查找表,apb_b总线专门读写内部逻辑寄存器,各司其职,并行运行,提高效率。

apb_a总线和apb_b总线都有pready信号。pready信号控制写操作的过程,只有为高才有可能进行apb的写操作(因为还有其他写条件限制,比如片选信号),否则一直hold住,不能写操作。作为本发明的一种实施方式,apb_a总线和apb_b总线的pready信号一直拉为高,因而写操作不会因为pready而反压延迟,能够快速写操作。为什么pready信号可以一直拉为高呢,因为本方案:一方面,采用双apb接口,独立并行运行,效率很高;另一方面,内部逻辑的时钟采用视频数据的时钟,频率为150mhz,处理能力远大于apb的pclk时钟,因此不存在因为处理不过来而反压写操作。

所述查找表ram包括三张独立的查找表:查找表r、查找表g和查找表b,分别对应输入视频流r、g和b信号所要进行伽马校正的信息。

所述三张独立的查找表的信息内容由外部cpu下放。

所述逻辑电路还包括bypass寄存器、使能寄存器和复位寄存器中的任意一种、两种或三种。寄存器读写控制逻辑是通过apb_b接口完成对内部逻辑的寄存器读写进行操作。bypass寄存器能够直通输入数据,使能寄存器能够开关输出数据,复位寄存器能够复位寄存器的默认值。

在本发明方案中,有三张独立的查找表,其只能通过apb_a接口访问,其数据结构如图2所示。在本发明方案中,查找表是10bits宽,然后apb_a总线只有8bits宽。那么如何将10bits宽的查找表映射到8bit宽的apb_a总线呢,在本发明方案中采用的一种实施方式为:10bits宽的查找表低8bitss是影射到apb_a总线的地址为偶数对应的数据内容;10bits宽的查找表高2bits是影射到apb_a总线的地址为奇数对应的数据内容的低2bits。每个查找表包括了256x10bit的字,根据上面影射关系,apb_a的地址空间有512bytes。在初始化查找表之前,必须关闭正常的功能操作,在本发明的一个实施方式中,这个通过使能寄存器控制。

作为本发明的一种实施方式,在具体实现中,查找表分为初始化过程和正常工作过程。在初始化过程,由外部cpu通过apb_a总线对查找表访问。正常工作过程中,主要是输入的视频流对查找表的读操作,以及外部cpu对查找表的处理。查找表有三张,分为查找表r,查找表g,查找表b。在初始化中,通过查找表的地址mem_paddr高2bit进行译码,其为0则对应查找表r,其为1则对应查找表g,其为2则对应查找表b。在查找表写操作时候,需要根据地址的奇偶性,将cpu下放的2个8bit数据,拼接成一个10bit的写数据写入到查找表中。在查找表的读操作时候,只根据地址的奇偶性来决定读低8bits还是高2bits。在正常工作过程中,视频流的24bits数据解析出来三个8bit数据,其分别对应查找表r,查找表g,查找表b三张表的地址。不在apb_a写操作情况下,三张表数据输出数据,拼接成30bits的视频流输出。

在本发明方案中,采用了双apb总线。在现有技术中,双apb总线如果都采用pclk时钟域,实现比较复杂。作为本发明方案的一种实施方式,双apb总线中,其中一条apb总线采用pclk时钟域。如图3和图4所示,作为本发明的一种实施方式,在apb_b接口信号没有pclk时钟,而apb_a接口是有的。对此,进行同步处理的一种实施方式为:apb_b的读写操作用latch进行锁存数据,然后同步到了pclk时钟域。

作为本发明的一种实施方式,对逻辑内部的寄存器读写操作通过apb_b总线操作的。如上面提及到,apb_b总线没有带有伴随时钟,读写操作通过控制字来操作,然后同步到pclk时钟域中。在写操作中,写数据是基于psel,penble,pwrite和paddr敏感信号进行锁存,将数据写入对应地址的内容,再经过两拍pclk时钟同步到pclk时钟域,从而解决异步问题,保证信号的时序稳定性。在读操作中,读数据是基于psel和paddr敏感信号进行锁存,再经过两拍pclk时钟同步到pclk时钟域,从而解决异步问题,保证信号的时序稳定性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1