掌桥专利:专业的专利平台
掌桥专利
首页

一种传感器图像像素的ECC纠错方法

文献发布时间:2023-06-19 10:41:48


一种传感器图像像素的ECC纠错方法

技术领域

本发明属于图像处理领域,具体涉及一种传感器图像像素的ECC纠错方法。

背景技术

ECC的全称是Error Checking and Correction(错误检测和纠正),现有的ECC纠错基于列校验、行校验两个步骤完成,每次对256字节的图像数据(256行、8列矩阵)进行校验,矩阵每个元素表示一个Bit(比特)位。bit是表示信息的最小单位,是二进制数的一位包含的信息或2个选项中特别指定1个的需要信息量。

列校验如下图1:

其中,一个Byte由8bits组成,是数据存储的基础单位,1Byte又称为一个字节,用一个字节(Byte)储存,CP0~CP5为六个Bit位,表示Column Parity(列极性),CP0为第0、2、4、6列的极性,CP1为第1、3、5、7列的极性,CP2为第0、1、4、5列的极性,CP3为第2、3、6、7列的极性,CP4为第0、1、2、3列的极性,CP5为第4、5、6、7列的极性。即CP0表示第0列256个Bit异或之后再与第2列256个Bit异或,再与第4列、第6列的每个Bit异或,这样,CP0其实是256*4=1024个Bit异或的结果。CP1~CP5依此类推。

行校验如下图2:

其中,RP0~RP15为十六个Bit位,表示Row Parity(行极性),RP0为第0、2、4、6、……、252、254个字节的极性;RP1为第1、3、5、7、……、253、255个字节的极性;RP2为第0、1、4、5、……、252、253(处理2个Byte,跳过2个Byte);RP3为第2、3、6、7、……、254、255(跳过2个Byte,处理2个Byte);RP 4:处理4个Byte,跳过4个Byte;RP 5:跳过4个Byte,处理4个Byte;RP 6:处理8个Byte,跳过8个Byte;RP 7:跳过8个Byte,处理8个Byte;RP 8:处理16个Byte,跳过16个Byte;RP 9:跳过16个Byte,处理16个Byte;RP10:处理32个Byte,跳过32个Byte;RP11:跳过32个Byte,处理32个Byte;RP12:处理64个Byte,跳过64个Byte;RP13:跳过64个Byte,处理64个Byte;RP14:处理128个Byte,跳过128个Byte;RP15:跳过128个Byte,处理128个Byte;可见,RP0~RP15每个Bit都是128个字节(也就是128行)即128*8=1024个Bit位求异或的结果。

对256字节的数据共生成了6个Bit的列校验结果,16个Bit的行校验结果,共22个Bit。256字节数据中的一个Bit位发生变化时,新旧22Bit校验码求异或的结果中一定会有11个Bit位为1。按位异或,若结果为0,则表示不存在错;若3个字节异或结果中存在11个比特位为1,表示存在1bit错误,且可纠正;其他情况均表示出现了无法纠正的错误。

当数据位256字节时,行校验使用RP0~RP15,抽取异或结果的RP15,RP13,RP11,RP9,RP7,RP5,RP3,RP1位便可定位出哪个Byte出错,再用CP5,CP3,CP1定位哪个Bit出错。

现有的ECC纠错方法存在以下缺陷:

1、不适应用于传感器芯片成本高:上述ECC校验算法需缓存大量的像素数据才能进行计算,因此成本较高,而传感器芯片基于成本的考虑,不可能设计缓存的。

2、时延高、实时性弱:ECC校验算法需要大量的数据存储且需等所有数据缓存完成后才能进行校验,实时性差,使得传感器系统时延高、实时性弱。

3、算法复杂、计算速度慢、功耗高:256个像素,计算量极大、计算速度慢、功耗高。

发明内容

为了解决上述缺陷,一方面,本发明提供一种传感器图像像素的ECC纠错方法,该方法成本低,无需缓存,可适应于传感器芯片,时延低、实时性强,算法有效且简单、芯片计算速度快、功耗低。

一种传感器图像像素的ECC纠错方法,包括以下步骤:

S01:锁存像素数据;

S02:计算出列极性;

S03:计算出行极性;

S04:将计算出的CP、RP依次附加在像素数据后发送出去;

S05:传感器接收端接收有效像素后进行相同的ECC计算;

S06:传感器接收端计算出的极性值与接收到的极性值比较并决定是否纠错;

S07:单bit数据纠错。

可选地,所述S01中,锁存的像素数据为2-50个。

另一方面,本发明还提供一种传感器图像像素的ECC纠错装置。

一种传感器图像像素的ECC纠错装置,所述所述传感器图像像素的ECC纠错装置包括图像传感器、锁存器、极性计算模块、数据拼接模块和主机,锁存器从图像传感器接收像素数据锁存;极性计算模块读取锁存器的像素,进行RP、CP极性计算;数据拼接模块读取极性计算模块输出的RP、CP值;同时读取对应的像素值进行数据拼接,RP、CP值附着在像素值后,发送给主机;主机获得待校验数据;主机接收像素值后进行CP、RP值重新计算,计算的极性值与接收到的极性值比较并根据比较结果决定是否纠错。

可选地,所述锁存器接收锁存的像素数据为2-50个。

可选地,所述发送是通过SPI/I2C/USB/串口等接口发送的,主机是通过SPI/I2C/USB/串口等接口获得的待校验数据。

可选地,所述图像传感器为CMOS图像传感器。

可选地,所述锁存器从图像传感器接收是从图像传感器的DVP/MIPI接口接收。

本发明有益效果:

本发明仅利用每2个像素数据即可完成ECC校验,发送端的数据单元块为两个像素,具有以下的优势:

1、成本低:无需缓存,只需要2个像素即可校验,因此成本低,可适应于传感器芯片。

2、时延低、实时性强:本发明仅需2个像素即可校验,因此实时性更好,使得传感器系统时延低、实时性强,尤其适合高端图像传感器领域。

3、算法有效且简单、芯片计算速度快、功耗低:当每次锁存的像素为2个时,只需要计算2个像素的CP0~CP5、RP0~RP1,计算量小、芯片计算速度快、功耗更低。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明背景技术列校验规则示意图;

图2为本发明背景技术行校验规则示意图;

图3为流程示意图;

图4为本发明像素排列示意图;

图5为本发明S03计算显示示意图;

图6为本发明S03错误点显示示意图;

图7为本发明传感器图像像素的ECC纠错原理框图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

请参考图3-6,图3为流程示意图,图4为本发明像素排列示意图,图5为本发明S03计算显示示意图,图6为本发明S03错误点显示示意图。

一种传感器图像像素的ECC纠错方法,包括以下步骤(为便于理解,下面以2个像素数据为例进行叙述):

S01:芯片锁存PIXEL输出的2个像素数据,该2个像素数据为0x45(二进制为0100_0101)和0x38(二进制为0011_1000)。

S02:计算出Column Parity(列极性),CP0~CP5共6bit。

其中,CP0为第0、2、4、6列的极性,CP1为第1、3、5、7列的极性,CP2为第0、1、4、5列的极性,CP3为第2、3、6、7列的极性,CP4为第0、1、2、3列的极性,CP5为第4、5、6、7列的极性。计算出的结果CP0~CP5分别为0、0、1、1、1、1;

S03:计算出Row Parity(行极性),RP0~RP1共2bit。

其中,RP0为第0行的极性,RP1为第1行的极性。计算出的结果RP0~RP1分别为1、1。

S04:将计算出的6bit CP、2bit RP依次附加在像素数据后发送出去。

通过将计算出的6bit CP、2bit RP依次附加在像素数据后发送出去,使得ECC纠错中实时校验数据量少,ECC校验码可以实时计算,实时纠正,方便图像实时显示。

S05:传感器接收端每接收2个有效像素后进行相同的ECC计算。

其中,假设发送过程中第0字节、第1bit出现错误,由0变成1,则接收端计算出的结果CP0~CP5分别为0、1、0、1、0、1;RP0~RP1分别为0、1。

数据变化前,CP0=0,CP1=0,CP2=1,CP3=1,CP4=1,CP5=1;RP0=1,RP1=1;

数据变化后,CP0=0,CP1=1,CP2=0,CP3=1,CP4=0,CP5=1;RP0=1,RP1=0;

S06:传感器接收端计算出的8bit极性值与接收到的8bit极性值比较。

若全部相同(即异或为0)则数据正确;若有一半极性值不同,则出现单bit数据错误;其他情况则为多bit错误。

S07:单bit数据纠错。

CP1,CP2,CP4发生了变化,RP1发生了改变,因此可定位到第0像素、第1bit位,将其取反即可完成纠错。

基于上述的传感器图像像素的ECC纠错方法,本发明还提供一种传感器图像像素的ECC纠错装置,该纠错装置用于实现传感器图像像素的ECC纠错。

请参考图7,图7为本发明传感器图像像素的ECC纠错原理框图。

一种传感器图像像素的ECC纠错装置,包括图像传感器、锁存器、极性计算模块、数据拼接模块和主机,锁存器从图像传感器的DVP/MIPI接口接收像素数据锁存;极性计算模块读取锁存器的像素,进行RP、CP极性计算;数据拼接模块读取极性计算模块输出的RP、CP值;同时读取对应的像素值进行数据拼接,RP、CP值附着在像素值后,发送给主机;主机获得待校验数据;主机接收像素值后进行CP、RP值重新计算,计算的极性值与接收到的极性值比较若全部相同(即异或为0)则数据正确;若有一半极性值不同,则出现单bit数据错误;否则为多bit错误,若单bit数据纠错则进行纠错。

可选地,锁存器每次锁存的像素数据为2-50个。

可选地,所述发送是通过SPI/I2C/USB/串口等接口发送的,主机是通过SPI/I2C/USB/串口等接口获得的待校验数据。

可选地,图像传感器为CMOS图像传感器。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应作广义理解,例如,可以是固定连接,也可以是通过中间媒介间接相连,可以是两个元件内部的连通或者两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或者位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或者暗示所指的装置或者元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。在本发明的描述中,“多个”的含义是两个或两个以上,除非是另有精确具体地规定。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

相关技术
  • 一种传感器图像像素的ECC纠错方法
  • 一种有源像素、高动态范围图像传感器及操作有源像素的方法
技术分类

06120112641144