图像处理器以及半导体设备的制作方法

文档序号:14864425发布日期:2018-07-04 10:12阅读:196来源:国知局
图像处理器以及半导体设备的制作方法

通过引用将2016年12月26日提交的日本专利申请no.2016-251112的公开内容(包括说明书,附图以及摘要)整体并入本文。

本公开涉及一种图像处理器且例如适用于接收输入的相机图像的图像处理器。



背景技术:

已经研究并开发了用于车辆的高级驾驶辅助系统(adas),其中通过由相机输入的图像检测车辆行驶过程中的行人和障碍物来支持驾驶员的驾驶。实现自主驾驶需要这种技术。

例如,如日本未审专利申请公布no.2001-36927的系统中所述,在包括相机或相机-图像传输路径(以下将成为相机输入)的设备以及系统中,相机输入的故障检测确实是一个重要的功能且也是一个问题。



技术实现要素:

通过本说明书以及附图的描述将使其他问题和新的特征变得清晰。

在本公开中,代表性配置的概要简述如下:

一种图像处理器,通过确定用于多个输入画面的散列值或获取用于输入画面的直方图数据来检测故障。

本公开的半导体设备允许相机输入的故障检测。

附图说明

图1是示出根据一个实施例的adas系统的配置的框图;

图2是示出图1的图像处理器的配置的框图;

图3是用于解释固定显示故障的示意图;

图4是示出根据一个示例的图像处理器的配置的框图;

图5是用于解释检测故障的方法的示意图;

图6是示出通过cpu上运行的程序进行故障判定的流程图;

图7是示出图像帧和宏块之间关系的说明图;

图8示出视频编码中的画面内预测以及画面间预测的概要;

图9示出i图片、p图片以及b图片的根据时间的编码;

图10是示出图4中的视频编码电路的配置的框图;

图11是示出图10中的散列导出电路的配置的框图;

图12是示出图10中的散列计算单元的操作的说明图;

图13是示出通过图11中的散列导出电路对一个画面进行数据处理的顺序的说明图;

图14是示出具有每像素10位深度的数据的处理的说明图;

图15是示出根据第一变型例的散列导出电路的配置的框图;

图16是示出由图15中的散列导出电路对一个画面进行数据处理的顺序的说明图;

图17a是示出通过对根据第二变型例的像素数据取整而提供模糊度的方法的说明图;

图17b是示出通过对根据第二变型例的像素数据取整而提供模糊度的方法的说明图;

图18是示出从至少三个过去的画面进行故障判定的流程图;

图19是示出当经过包括相同画面的五个画面时的故障判定的一个示例的说明图;

图20是示出当三个连续的过去的画面彼此相同时的故障判定的一个示例的说明图;

图21是示出当画面的相同组合重复出现时的故障判定的一个示例的说明图;

图22是示出根据第四变型例的散列导出电路的配置的框图;

图23是示出垂直分成n个区域的画面的一个示例的说明图;

图24是示出根据第五变型例的散列导出电路的配置的框图;

图25是示出根据第六变型例的散列导出电路的配置的框图;

图26是示出固定在画面的一个位置的像素值的故障的说明图;

图27是示出根据像素值直方图的故障判定的概念图;

图28是示出根据第二示例的直方图导出电路的配置的框图;

图29是示出根据像素值直方图的故障判定的流程图;以及

图30是示出图4中的视频编码电路的另一配置示例的框图。

具体实施方式

以下将根据附图描述一个实施例的示例。在以下说明中,相同组成元素由相同附图标记指示且不再重复其说明。

图1是示出根据实施例的adas系统的配置的框图。adas系统1包括相机设备2、图像处理器3、第一显示设备4、网络5、视频/信息处理器6以及第二显示设备7。从相机设备2输入的图像由图像处理器3处理且显示在第一显示设备4上;同时,视频信号输出至网络5。在网络5之后的视频/信息处理器6中,传输的视频信号直接显示在第二显示设备7上或在显示在第二显示设备7上之前与来自另一传感器的信息组合。

在网络5之后的信息处理器6中,例如,传输的编码视频信号在显示之前被解码,或者视频信号与来自另一传感器的信息组合并经历视频处理。

图2是示出图1的图像处理器的配置的框图。在图2中,示出功能块,但是省略了控制cpu、cpu的主存储器等等。图像处理器3包括视频信号处理电路31、显示处理电路32、视频编码电路33以及网络传输电路34。视频信号处理电路31包括相机信号处理电路311、图像识别电路312以及图形处理电路313。图像处理器3具有各种功能,例如,从车辆外部的图像检测白线和障碍物以及显示关于白线和障碍物的信息以便在图像上叠加信息的功能。从相机设备2输入的信号在相机信号处理单元311中被处理为视频信号,在图像识别电路312以及图形处理电路313中经历各种类型的检测以及视频叠加,且随后从显示处理电路32输出至第一显示设备4。而且,要被输出的视频被编码以减少网络传输的数据量。来自图形处理电路313的输出图像在视频编码电路33中被编码并被压缩且随后通过网络传输电路34被输出至网络5。

在本系统中,相机输入的故障的检测是一种重要的功能。

各种故障会发生在相机输入处。代表性的故障是固定的画面显示。具体地,任意物理或系统因子在若干帧时段上持续显示相同画面。因此,看起来似乎是画面停止。图3是示出固定的画面显示的示意图。图3的上部示出正常状态,而图3的下部示出异常状态(固定的画面显示)。在正常状态中,画面显示在画面g0至g6中改变,而在异常状态中,画面显示在画面g0至g2中改变而在画面g3至g6中保持相同,导致固定的画面显示。

本实施例提供一种借助简单的技术检测固定的画面显示故障的配置和方法。具体地,在本实施例中,通过确定用于多个输入画面的散列值(hashvalues)或获取用于输入画面的直方图数据来检测故障。例如,导出并存储用于多个画面的散列值且随后在多个图片中进行比较。这可检测诸如停止的画面的故障。因此,可借助除黑色画面或固定的彩色画面之外的故障图案检测相机故障。在相机视频被处理以显示或编码之前检测故障,以允许在相机设备和视频传输路径中出现的故障的检测。

将根据示例和变型例在下文描述一个示例性实施例。示例的配置仅为解释实施例的范例且因此可采用不同的配置。

[示例]

在本示例中,通过图2中所示的图像处理器中的视频编码电路以及电路控制程序检测固定的显示故障。

图4是示出以视频编码电路为特征的图像处理器的配置的框图。图像处理器3包括视频信号处理电路31、视频编码电路33、网络传输电路34、cpu35、存储器36、cpu总线37以及存储总线38。图2中的相机信号处理电路311、图像识别电路312以及图形处理电路313组合成视频信号处理电路31且省略显示处理电路32。图4示出图2中省略的cpu35以及存储器36。从相机设备2输入的信号在视频信号处理电路31中被处理,输入至视频编码电路33且随后在其中被编码和压缩。此后,该信号输入至网络传输电路34且随后输出至网络5。数据通过存储总线38和存储器36在电路之间传输。由cpu35执行的程序存储在存储器36中。cpu35通过cpu总线37控制电路。图像处理器3是包括至少一个半导体芯片的半导体设备。例如,视频信号处理电路31、显示处理电路32、视频编码电路33、网络传输电路34、cpu35、cpu总线37以及存储总线38各由单个半导体芯片配置。存储器36由至少一个半导体存储芯片,例如sdram芯片配置。图像处理器3可包括至少一个半导体芯片的封装。

图5示出故障检测的概要。固定的画面显示可通过视频编码电路33中包括的电路以及cpu35上运行的视频编码电路33的控制程序来检测。图5示出输入画面的画面g0至g4按次序地输入至视频编码电路33、置于固定状态的画面g3和g4。在视频编码电路33中,为输入画面的各帧导出散列值。在图5中,h0至h4指示用于画面g0至g4的散列值。cpu35上的程序读取相应帧的导出的散列值并比较相邻两个帧的散列值。如果相邻两个帧中的散列值不同,则确定输入画面已经改变且置于正常状态下。如果散列值在相邻两个帧中保持相同,则确定输入画面未改变且已经发生了固定显示故障。在图5中,h0至h3改变但是h3和h4保持相同,其中检测到了固定显示故障。

在这种情况下,散列值是根据输入数据计算的位串。散列值的特征在于可从相同输入数据获得相同值,而从不同输入获得不同值。通常,各种散列函数是可用的。例如,公知的散列函数包括发布为ietfrfc1321(r.rivest,“md5消息摘要算法”,1992年4月,网络工作组征求意见:1321,[2016年9月5日检索],因特网(url:https://tools.ietf.org/html/rfc1321))以及ietfrfc3174(d.eastlake三世,等人,“美国安全散列算法1(sha1)”,2001年9月,网络工作组征求意见:3174,类别:信息,[2016年9月5日检索],因特网(url:https://tools.ietf.org/html/rfc3174))的消息摘要(md5),以及sha-1。不限制本示例中采用的散列算法。用于循环冗余校验(crc)等的检错码也是可用的。

图6是示出通过cpu上的程序进行的故障判定。作为故障检测电路的cpu35将先前画面上的编码的散列值与在当前画面上编码的散列值进行比较。如果散列值彼此相等,则判定检测到固定显示故障,且随后执行用于故障检测的处理。用于故障检测的处理例如为报警或在不传输相应画面的情况下返回后续画面的处理。将在下文讨论处理步骤。

步骤s1:cpu35如下重置变量:

画面数:n=0

先前画面散列存储变量:prevhashvar=0

当前画面散列存储变量:currhashvar=0

步骤s2:cpu35向控制电路331提供指令,使得视频编码电路33开始视频编码(startvideoencode(screengn))

步骤s3:cpu35从视频编码电路33检测视频编码的完成(detectvideoencodeend(screengn))。控制电路331输出指示视频编码完成的信号,设定标志或输出中断请求。

步骤s4:cpu35将先前画面g(n-1)的散列值保存在cpu中的寄存器中(prevhashvar=currhashvar)。

步骤s5:cpu从视频编码电路33读取编码完成画面gn的散列值(currhashvar=read(hashgn))。在这种情况下,编码完成画面gn的散列值为编码完成时的画面gn的输入画面上的散列值。

步骤s6:cpu35判定画面是否是第一画面(n==0?)。在否的情况下,处理进行至步骤s7。在是的情况下,处理进行至步骤s8。

步骤s7:cpu35判定当前画面是否具有与先前画面相同的散列值(prevhashvar=currhashvar?)。在否的情况下(改变),处理进行至步骤s8。在是的情况下(相同),处理进行至步骤s9。

步骤s8:cpu35更新画面数(n++)且随后处理返回至步骤s2。

步骤s9:cpu35检测固定显示故障。

步骤sa:cpu35执行用于故障检测的处理。

以下将讨论视频编码电路中执行的视频编码。图7示出画面帧被划分成宏块。图8示出视频编码中的画面内预测和画面间预测的概要。图9示出i图片,p图片以及b图片的根据时间的编码。

视频编码电路中的视频编码是公知为诸如mpeg,h.264和h.265的标准的视频压缩。本实施例适用于任一标准。为了方便起见,将基于h.264描述本示例。基本上,按次序地处理通过将画面划分成格子图案形成的矩形块。根据标准可以各种方式称谓的单元块将被称为“宏块”。如图7中所示,以光栅顺序从画面的左上至右下处理宏块。在ycbcr4:2:0格式的画面的情况下,宏块包括一组三个分量:16乘16像素的亮度y,8乘8像素的色差cb以及8乘8像素的色差cr。

在视频编码中,采用诸如画面内预测和画面间预测的技术。如图8中所示,三种编码模式可用于视频编码。在i图片编码中,进行画面内预测,其中从相同画面中的编码位置处的宏块预测将被编码的宏块。在p图片编码中,进行画面间预测,其中从另一编码画面预测将被编码的宏块。在b图片编码中,从两个编码画面进行画面间预测。简言之,“预测”为检索并确定类似于将被编码的宏块的画面。可确定与预测画面的不同以便增加压缩率。将用于画面间预测的另一编码画面将被称为“参考画面”。画面间预测也用于p图片和b图片。

如图9中所示,对于用于时段4的p图片的p4来说,从作为参考画面的时段2的p图片的p2进行画面预测。对于用作时段5的b图片的b3来说,从两个参考画面p2和p4进行画面预测。类似地,对于作为时段(2n)的p图片的p(2n)来说,从作为参考画面的时段(2n-2)的p图片的p(2n-2)进行画面预测。对于作为时段(2n+1)的b图片的b(2n-1)来说,从两个参考画面p(2n-2)和p(2n)进行画面预测。

参考图10,以下将说明视频编码电路的配置。图10是示出图4中的视频编码电路的配置的框图。视频编码电路33包括控制电路331、存储接口电路332、画面预测电路333、画面编码电路334、熵编码电路335、局部画面解码电路336以及散列导出电路33f。

控制电路331通过cpu总线37的接口与cpu35通信并控制视频编码电路33的电路。存储接口电路332通过存储总线38的接口将数据输入视频编码电路33外部的存储器36以及从其输出数据。画面预测电路333从输入画面和参考画面(过去的局部解码画面,将在下文说明)进行画面内预测或画面间预测。在画面编码电路334中,例如执行与预测画面的不同的计算、频率空间的转换以及量化以导出具有压缩数据量的系数串。在熵编码电路335中,来自画面编码电路334的系数串根据诸如可变长度编码和算术编码的技术被编码以产生编码位串。编码位串为视频编码电路33的输出且被存储在存储器36中。在局部画面解码电路336中,执行画面编码电路334的逆变换以解码画面。解码的画面(局部解码画面)存储在存储器36中且用作用于后续画面的参考画面。视频编码电路33的电路对各个宏块都执行处理。在这种配置中,数据缓冲器337、338、339、33a、33b、33c、33d和33e设置在电路之间以便存储若干宏块的数据。数据缓冲器337和339存储输入画面像素数据,数据缓冲器338和33a存储参考画面像素数据,数据缓冲器33b和33d存储用于编码的中间数据,数据缓冲器33e存储局部编码画面像素数据,且数据缓冲器33c存储编码位串数据。数据缓冲器337中的输入图像数据通过画面预测电路333存储在数据缓冲器339中。

视频编码电路33包括用作固定检测电路的散列导出电路33f。散列导出电路33f接收将输入至画面编码电路334的输入画面数据并导出输入画面唯一的散列值。导出的散列值可通过控制电路331从cpu35读取。

参考图11至13,将在下文说明视频编码电路中的散列导出。图11是示出图10中的散列导出电路的配置的框图。图12是示出图10中的散列计算单元的操作的说明图。图13示出画面上的数据处理的顺序。

图11是示出散列导出电路的框图。散列导出电路33f包括从数据缓冲器339获取像素数据的像素数据获取电路33f1,用于散列计算的散列计算单元33f2以及存储导出的散列值的散列存储电路33f3。输入画面像素数据从用于输入画面的数据缓冲器339被按次序地输入,且随后执行散列计算。散列存储电路33f3例如包括寄存器。

散列导出电路33f与视频编码电路33的其他电路块同步对各个宏块执行处理。散列计算单元33f2采用md5作为散列函数。如图12中所示,在md5的情况下,依照算法基于512位输入数据按次序地执行64次计算。换言之,如图12中所示,从i=0至63形成循环。在图12中,参考字符a、b、c和d表示32位变量,且a[i+1]、b[i+1]、c[i+1]和d[i+1]的位连接作为128位散列。从存储在输入画面数据缓冲器中的宏块数据,512位数据按次序地提供作为输入。图12的示例的前提是每像素8位亮度宏块。对8乘8像素执行散列计算,即总计64个像素。对左上亮度y0、亮度y1、亮度y2、亮度y3、色差cb以及色差cr按次序地执行处理。在对色差cr的处理结束时,完成对宏块的处理。在画面的所有宏块中,先前宏块的结果用作后一宏块的散列导出。因此,在处理过程中持续采用该结果。

如图13的上部所示的画面帧中的箭头所示,对第0个宏块、第一宏块、第二宏块…以宏块处理的顺序而按次序地执行用于画面的数据处理。当执行计算以在对画面的右下宏块处理结束时导出最后一个散列值时完成处理。最后一个散列值存储在图11的散列存储电路33f3中且从cpu35读取。图13中的数据输入顺序仅为一个示例。

如图12中所示,在散列计算中,按次序地更新之前的散列值。因此,可存储之前的散列值并用于后续循环,其对应于图12中的a[i+1]、b[i+1]、c[i+1]和d[i+1]。用于存储散列计算单元33f2中的先前散列的存储器可与图11中的散列存储电路33f3共享。

根据本示例,导出并存储两个画面的散列值,且随后在两个画面之间进行比较,由此检测诸如停止的画面的故障。紧挨在数据输出之前设置的视频编码电路具备散列导出电路。这可检测发生在整个相机输入系统中某处的故障。

<变型例>

以下将讨论某些代表性变型例。在变型例的说明中,具有与上述示例的说明中相同配置和功能的部分可由与上述示例相同的符号指示。在变型例的部分的说明中,可选地采用上述示例的说明,只要不出现技术矛盾即可。如果上述示例的配置的一部分被变型,则该示例的其他配置显然可与变型例组合。而且,该示例的一部分以及变型例的至少一部分可选地以组合方式采用,只要不出现技术矛盾即可。

(第一变型例)

在图11、12和13的示例中,亮度y、色差cb以及色差cr以顺序的方式全部在一个画面上进行处理。散列计算特征在于需要串行运算并排除并行运算,需要用于一个画面上的所有数据的串行处理的长的执行时间。如果执行时间不能被用于现有编码的执行时间掩蔽,则会出现问题。虽然讨论了每像素8位数据,但是可采用每像素10位或12位信号。在这种情况下,10位处理经常扩展为16位(2字节)处理。这会增加散列计算中串行处理的数据量,导致执行时间中的更严重的问题。

参考图14至16,将在下文讨论每像素10位数据段的并行处理的示例。图14示出10位信号至16位信号的扩展的一个示例。图15是示出根据第一变型例的散列导出电路的框图。图16示出每像素10位数据的处理顺序的一个示例。

首先将在下文讨论10位信号至16位信号的扩展的示例。虽然10位可以以6位“0”进行扩展,但是可能丢失散列计算的最终值的唯一性。因此,原始10位的最低有效的6位如图14中所示被组合。对于亮度来说,扩展的16位的最高有效8位表示为yh,而最低有效8位表示为yl。对于色差来说,16位表示为c。当12位信号扩展成16位信号时,原始12位的最低有效4位被组合。具体地,在像素数据长于1字节且短于2字节的情况下,原始数据的最低有效数据被分配且与短于2字节的数据段组合以便将像素数据扩展成2字节。这可降低散列计算的最终值的唯一性丢失的概率。

如图15中所示,散列导出电路33fa包括三对:第一散列计算单元33f2_1和第一散列存储电路33f3_1、第二散列计算单元33f2_2和第二散列存储电路33f3_2以及第三散列计算单元33f2_3和第三散列存储电路33f3_3。第一散列存储电路33f3_1、第二散列存储电路33f3_2以及散列存储电路33f3_3中的一个由选择器33f4选择且散列值由cpu35读取,使三对散列导出并行。具体地,第一散列计算单元33f2_1处理yh数据,第二散列计算单元33f2_2处理yl数据,且第三散列计算单元33f2_3处理c数据,由此在一个画面完结时获取三个散列值。由散列计算单元处理的数据量基本上被划分成三等份。这可缩短执行时间以便解决问题。

如图16中所示,亮度y包括划分成最高有效8位和最低有效8位的16位,其被表示为yh块(亮度yh0、亮度yh1、亮度yh2以及亮度yh3)以及yl块(亮度yl0、亮度yl1、亮度yl2以及亮度yl3)。色差cb和色差cr各为16位数据且因此示出为比图13中宽两倍的块。由第一散列计算单元33f2_1、第二散列计算单元33f2_2以及第三散列计算单元33f2_3处理的数据量被划分成三等份。第一散列计算单元33f2_1按次序地处理宏块的亮度yh0、亮度yh1、亮度yh2以及亮度yh3,第二散列计算单元33f2_2按次序地处理宏块的亮度yl0、亮度yl1、亮度yl2以及亮度yl3,且第三散列计算单元33f2_3按次序地处理宏块的色差cb和色差cr。

在一个画面处理之后获得的三个散列值通过cpu35上的程序与先前画面进行单独对比,以进行故障检测。因此,可对各个单独的区域进行故障检测以便定位。三个散列值可以加或者异或处理为单块数据。

在上述示例中,像素数据位被划分成最高有效位和最低有效位。像素可以以像素数据的顺序进行划分。例如,在其中可同时输入三个连续像素(3m)、(3m+1)以及(3m+2)的情况下,像素(3m)、像素(3m+1)以及像素(3m+2)可分别通过第一散列计算单元33f2_1、第二散列计算单元33f2_2以及第三散列计算单元33f2_3并行处理(m=0,1,2,…)。在本示例中,将像素分配给三个计算单元。像素可分配至任意数目的计算单元,例如至少两个计算单元。图14中10位信号至16位信号的扩展不限于第一变型例且适用于将在下文讨论的示例和变型例。

(第二变型例)

在该示例和第一变型例中,严格证实图像匹配且即使1位的差异也被识别为故障。但是,在某些情况下,证实是如此之严格以致故障可能逃过检测。具体地,即使画面由故障而被停止,某些噪声也会改变像素的最低有效位,使得判定“非故障”。为了解决这种问题,像素数据的最低有效位在散列计算之前被四舍五入。

参考图17a和17b,将在下文描述通过四舍五入像素数据提供模糊度的方法。图17a和17b示出通过四舍五入像素数据提供模糊度的技术的一个示例。图17a示出8位/像素且图17b示出10位/像素。例如,如图17a中所示,当8位/像素的最低有效2位以0掩蔽时,0至3,4至7,…以及252至255的组被认为具有相同值。因此,可能获得相同散列。换言之,检测变得非常模糊以致故障不太可能被噪声忽略。这种控制优选对应于每像素的位深。例如,如图17b中所示,当掩蔽8位的最有效2位时,掩蔽10位的最低有效4位。

最低有效位的掩蔽仅为一个示例。为像素值提供模糊度的技术可以是诸如低通滤波器的其他技术。图17a和17b中的最低有效位的掩蔽不限于该示例以及第一变型例且还适用于以下变型例。

(第三变型例)

在该示例和第一和第二变型例中,当在两个连续画面上发现数据部分或全部匹配时判定故障。在某些应用中,两个画面上的故障的即时确定可被认为是不正确的。为了解决这种问题,散列值可存储在至少三个画面上且在至少三个画面上判定故障。

参考图18至21,将在下文描述至少三个画面上的故障判定的一个示例。图18是示出在k画面上进行故障判定的流程图。图19是示出当过去五个画面包括相同画面时判定的故障的一个示例的说明图。图20是示出当三个连续过去的画面彼此相同时判定的故障的一个示例的说明图。图21是示出当画面的相同组合重复出现时判定的故障的一个示例的说明图。

如图18中所示,用于存储散列值的变量表达为hashvar[i](i=0,1,…,k-1)。每次完成一个图片,从视频编码电路33的散列存储电路33f3提取散列值且存储在hashvar[0]中。在这之前,hashvar[]变量使得执行先进先出(fifo)操作并存储过去的k个散列值。如果hashvar[]变量满足预定故障条件,则检测到故障。将在下文讨论该步骤。

步骤s1c;cpu35如下复位变量:

画面数:n=0

散列存储变量:for(i=0;i<k;i++)hashvar[i]=0

步骤s2:cpu35向控制电路331提供指令,使得视频编码电路33开始视频编码(startvideoencode(screengn))。

步骤s3:cpu35从视频编码电路33检测视频编码的完成(detectvideoencodeend(screengn))。

步骤s4c:cpu3为过去的(k-1)个画面更新散列存储变量。

for(i=1;i<k;i++)hashvar[i]=hashvar[i-1]

步骤s5c:cpu35从视频编码电路33读取编码完成画面gn的散列值(hashvar[0]=read(hashgn))。

步骤s6:cpu35判定当前画面是否是第一画面(n==0?)。在否的情况下,处理进行至步骤s7。在是的情况下,处理进行至步骤s8。

步骤s7c:cpu35判定hashvar[]变量是否满足故障条件。在否的情况下(不满足),处理进行至步骤s8。在是的情况下(满足),处理进行至步骤s9。

步骤s8:cpu35更新画面数(n++)且随后处理返回至步骤s2。

步骤s9:cpu35检测固定显示故障。

步骤sa:cpu35执行用于故障检测的处理。

可采用各种故障确定条件。图19是示出当经过的五个画面包括相同画面时判定的故障的一个示例的说明图。图20是示出当经过的三个连续画面彼此相同时判定的故障的一个示例的说明图。图21是示出当画面的相同组合重复出现时判定的故障的一个示例的说明图。

例如,假设提供在视频编码电路33的前级中的多个画面缓冲器部分故障,以致周期性地输入相同的画面。在这种情况下,当当前散列值与过去的四个散列值中的任一个匹配时判定故障。图19示出借助时间序列故障判定条件的k=5的一个示例。hashvar[0]存储当前图片的散列值且hashvar[1]至hashvar[4]存储过去的四个画面的散列值。图19示出在第一时间(t1)至第六时间(t6)的六个画面的散列存储中的数据传输。在第一时间(t1),第一散列值的h00存储在hashvar[0]中。在第二时间(t2)时,hashvar[0]的h00移动至hashvar[1]且后续散列值的h01存储在hashvar[0]中。以此方式,通过fifo操作更新hashvar[0]至hashvar[4]。根据hashvar[0]中的值是否等于hashvar[1]至hashvar[4]中的值来判定故障。直至第五时间(t5),hashvar[0]中的值不同于hashvar[1]至hashvar[4]中的值且因此判定没有发现故障。在第六时间(t6),散列值h02存储在hashvar[0]中。散列值等于hashvar[3]中的散列值且因此判定发现了故障。

在故障判定条件的另一示例中,判定故障在三个连续画面具有相同散列值时发现故障,例如,如图20中所示,散列值h03存储在hashvar[0]至hashvar[2]。在故障判定条件下,在不需要hashvar[]的情况下仅在流程中采用prevhashvar和currhashvar。提供计数器以计数具有相同散列值的连续画面数并将连续画面数与预定阈值比较。在用于强烈需要准备和牢固性的adas和无人机的应用的情况下,优选借助较少数量的画面判定故障。对于典型具有较少数量画面改变的安全相机来说,优选以延长的时段来判定故障。

如图21中所示,当散列值h04,h03,h02和h01分别存储在hashvar[0]至hashvar[3]中,且散列值h04、h03、h02和h01分别存储在hashvar[4]至hashvar[7]中时,相同图案会类似于循环一般出现。这种故障图案可被检测为故障(被包括故障判定条件中)。

(第四变型例)

在该示例和第一至第三变型例中,散列导出电路33f被提供在视频编码电路33中且通过控制程序判定故障。可通过散列导出电路中的电路判定故障。

参考图22,散列导出电路中的故障检测电路的提供的一个示例。图22是示出根据第四变型例的散列导出电路的框图。根据第四变型例的散列导出电路33fd包括像素数据获取电路33f1、散列计算单元33f2、当前画面散列存储电路33f3_c、先前画面散列存储电路33f3_p以及散列比较器33f5。画面完成信号从控制电路331输入且散列值在这时彼此比较。返回故障通知作为结果。当前画面的散列值存储在当前画面散列存储电路33f3_c中,当前画面散列存储电路33f3_c的散列值通过画面完成信号移动至先前画面散列存储电路33f3_p。通过硬件进行的故障检测能够实现在不使用软件的情况下检测故障并对故障执行处理的自主的设备配置。

在该示例和第一至第四变型例中,图像处理器中的视频编码电路包括导出输入画面唯一的散列值的电路。多个画面的散列值可通过控制程序或导出散列值的电路彼此比较。因此,可容易证实画面之间的改变以便在检测到画面改变时容易确定固定显示故障。而且,可容易地检测除匀色故障之外的故障。在画面的单独的区域中导出并比较散列值,由此指定故障位置。

(第五变型例)

在该示例和第一至第四变型例中,对各个画面进行故障检测。画面可被划分成多个区域且可通过对每个区域计算散列值而对每个区域检测故障。

图23和24示出对于画面的单独区域中每一个进行故障检测的一个示例。图23示出垂直划分成n个区域的画面的一个示例。图24是示出根据第五变型例的散列导出电路的框图。

如图23中所示,画面被垂直划分成n个区域r0,r1,r3,…r(n-1)。

如图24中所示,散列导出电路33fe包括像素数据获取电路33f1、区域选择器33f6、r0散列计算单元33f2_r0至r(n-1)散列计算单元33f2_r(n-1)、r0散列存储电路33f3至r(n-1)散列存储电路33f3_r(n-1)以及选择器33f4。

r0散列计算单元33f2_r0至r(n-1)散列计算单元33f2_r(n-1)分别计算区域r0至r(n-1)的散列值。r0散列存储电路33f3至r(n-1)散列存储电路33f3_r(n-1)分别存储区域r0至r(n-1)的散列值。响应于来自控制电路331的区域选择信号,区域选择器33f6选择r0散列计算单元33f2_r0至r(n-1)散列计算单元33f2_r(n-1)中的一个。例如,当区域选择器33f6选择r0散列计算单元33f2_r0时,散列值由属于区域r0的像素导出且随后写入r0散列存储电路33f3_r0。对所有n个区域执行相同处理。在一个画面完成之后,激活所有r0散列存储电路33f3_r0至r(n-1)散列存储电路33f3_r(n-1)。在这种划分方法中,例如,如果区域形状为与像素一样宽的列,则可检测仅发生于cmos传感器的列中的故障。cmos传感器是相机设备2的图像拾取设备的一个示例。可根据输入设备(例如相机)的故障模式以各种方式划分画面。例如,画面可被划分成行或被划分成矩形。

此外,用于输入画面的数据缓冲器339可根据画面上的数据的处理顺序(扫描顺序)和单独的形状的组合改变容量并存储格式。而且可能需要另外的缓冲器。

根据第五变型例,可在各个单独的区域中详细检测故障。这可容易识别故障原因和位置。而且,可以小范围掩蔽故障位置。可对传感器的故障模式具体进行检测,例如cmos传感器的列中的故障。

(第六变型例)

如上所述,存储最终结果的散列存储电路以及用于在散列存储器中更新的存储电路可以是公用存储电路。在这种情况下,可共享r0散列计算单元至r(n-1)散列计算单元以及用于各个区域的散列计算单元。

图25是示出根据第六变型例的散列导出电路的框图。

根据第六变型例的散列导出电路33ff包括像素数据获取电路33f1、散列计算单元33f2、区域选择器33f6、r0散列存储电路33f3_r0至r(n-1)散列存储电路33f3_r(n-1)以及区域选择器33f7。

r0散列存储电路33f3_r0至r(n-1)散列存储电路33f3_r(n-1)分别存储区域r0至r(n-1)的散列值。区域选择器33f6响应于控制电路331提供的区域选择信号选择r0散列存储电路33f3_r0至r(n-1)散列存储电路33f3_r(n-1)中的一个。例如在散列计算单元33f2中,散列值由属于区域r0的像素导出且随后写入通过区域选择器33f6选择的r0散列存储电路33f3_r0中。而且,例如,当导出了属于区域r0的像素的散列值时,散列计算单元33f2在更新之前读取来自r0散列存储电路33f3_r0的散列值,计算新的散列值,将该散列值更新至新计算的散列值,且将更新的散列值存储进r0散列存储电路33f3_r0。

(第七变型例)

在该示例和第一至第六变型例中,利用散列值判定故障。可在不采用散列值的情况下判定故障。

参考图26至29,将在下文讨论使用像素值直方图替代散列值进行故障判定的一个示例。图26示出固定在画面一个位置处的像素值的故障。图27是示出根据像素值直方图进行故障判定的概念图。图28是示出根据第七变型例的直方图导出电路的框图。图29是示出控制程序的操作流程的流程图。

如图26中所示,假设画面中的故障位置固定在一个像素值。画面构成其中除故障位置之外的部分在画面g0至g5上改变的图像序列。

如图27中所示,画面的像素值直方图,即,获得像素值的使用频率以对画面频率求和。假设故障位置仅指示固定像素值且因此仅增加了像素值的频率。例如,在固定在53的像素值的情况下,画面的频率和仅增加53的像素值的频率。频率和与预定故障判定阈值比较以判定故障。

用于直方图的累加和的画面数以及故障判定阈值可通过任一方法来确定。可为各个范围的像素值(例如50至54)(而不是各个像素值)确定直方图。

在本变型例中,提供直方图导出电路以替代与图2、4和10相同配置中的散列导出电路。如图28中所示,直方图导出电路33fg包括像素数据获取电路33f1、像素值直方图计算单元33f2g以及直方图数据存储电路33f3g。基于由像素数据获取电路33f1获得的像素数据,如图27中所示,像素值直方图计算单元33f2g为像素值导出直方图。图片的结果存储在直方图数据存储电路33f3g中。直方图计算例如公开在日本未审专利申请公布no.2008-300980(美国未审专利申请公布no.2008/0298685)中。

图29示出控制程序的操作流程。将在下文讨论操作流程的步骤。

步骤s1f:cpu35如下复位变量:

画面数:n=0

直方图存储变量:for(i=0;i<k;i++)hashvar[i]=0

步骤s2:cpu35向控制电路331提供指令,使视频编码电路33开始视频编码(startvideoencode(screengn))。

步骤s3:cpu35从视频编码电路33检测视频编码的完成(detectvideoencodeend(screengn))。

步骤s4f:cpu35为过去的(k-1)个画面更新直方图存储变量。

for(i=1;i<k;i++)histvar[i]=histvar[i-1]

步骤s5f:cpu35从视频编码电路33读取编码完成画面gn的直方图数据(histvar[0]=read(histgn))。

步骤sb:cpu35对过去的k个画面的直方图数据求和。

totalhistvar=0

for(i=0;i<k;i++)totalhistvar+=histvar[i]

步骤s6f:cpu35判定画面数是否至少为k(n>=k?)。

在否的情况下,处理进行至步骤s7f。在是的情况下,处理进行至步骤s8。

步骤s7f:cpu35判定totalhistvar变量是否满足故障条件。在否的情况下(不满足),处理进行至步骤s8。在是的情况下(满足),处理进行至步骤s9。

步骤s8:cpu35更新画面数(n++)且随后处理返回至步骤s2。

步骤s9:cpu35检测固定显示故障。

步骤sa:cpu35执行用于故障检测的处理。

在根据示例的各个画面的散列值的情况下,部分固定显示不能被检测到,因为即使一部分改变也会改变散列值。在本示例中,可检测部分固定显示的故障。

第七变型例与根据第五或第六变型例的画面的划分组合,由此识别画面中故障的位置。例如,每像素的故障判定能进行点故障的检测。第七变型例也可与用于根据第一变型例的各个亮度和各个色差的数据划分组合。

已经根据实施例、示例和变型例具体描述了由发明人提出的本发明。显然,本发明不限于实施例、示例以及变型例且可以以各种方式改变。

例如,在示例和变型例中,输入画面上的散列值用于检测故障。替代散列值,输入画面上的像素数据可用于检测故障。

在示例和变型例中,散列导出电路或直方图导出电路被应用于但不专用于图像处理器中的视频编码电路。例如,散列导出电路或直方图导出电路可被提供用于图2的相机信号处理电路、图像识别电路、图形处理电路以及显示处理电路中的至少一个。这可检测各个电路中的故障并识别故障位置。

在该示例中,描述了adas系统。本发明应用于接收相机图像的设备或系统以及接收除相机图像之外的图像的设备或系统。例如,本发明适用于响应于相机输入、车载相机、行车记录仪、网络相机以及安全相机而自主移动或遥控操作的机器人或无人机。

在示例和变型例中,视频编码电路配置有特殊硬件。视频编码电路可以部分或全部由cpu执行的软件配置。例如,对于画面预测、散列导出、画面编码、局部画面解码、熵编码等等来说,可通过cpu执行存储器中存储的程序。在这种情况下,程序存储在存储设备(例如,存储器36)中。如果处理完全由cpu执行,如图30中所示,则图像处理器330包括例如cpu(运算电路)35以及存储器(存储电路)36。程序存储在存储器36中。通过软件的处理消除了特殊硬件的需要,由此降低芯片面积。

<附录>

以下将描述实施例的一个方面。

(1)一种图像处理器,包括:直方图导出电路,该直方图导出电路具有计算输入画面上的像素值的直方图数据的至少一个计算单元,以及存储直方图数据的至少一个存储电路;以及故障检测电路,其中通过积累画面之间的直方图数据来判定是否画面已经改变或停止,且在画面停止时检测故障。

(2)在(1)的图像处理器中,

故障检测电路包括cpu,该cpu读取存储电路的直方图数据并积累画面之间的数据以便判定是否画面已经改变或停止,且在画面停止时检测故障。

(3)(2)的图像处理器进一步包括:

压缩视频的视频编码电路,

直方图导出电路,该直方图导出电路被包括在视频编码电路中以便以视频编码的处理块顺序来按次序地计算输入画面的直方图数据。

(4)在(3)的图像处理器中,

直方图导出电路包括计算单元和存储电路,

直方图导出电路根据位串或亮度/色差划分输入画面上的像素,借助计算单元对各个分立的基元并行计算不同的直方图数据,并将直方图数据的片段存储在相应存储电路中,以及

cpu从存储电路读取直方图数据,积累各个基元的数据,并检测故障。

(5)在(3)的图像处理器中,

直方图导出电路还包括区域选择器、计算单元和存储电路,

区域选择器基于区域选择信号将划分成多个区域的输入画面输入至个计算单元中的一个,

计算单元对各个分立的区域计算直方图数据的不同片段,

存储电路存储直方图数据的相应片段,以及

cpu读取存储电路的直方图数据,积累画面之间的各个区域的数据,并检测故障。

(6)在(3)的图像处理器中,

直方图导出电路包括区域选择器以及存储电路,

直方图导出电路将输入画面划分成多个区域并对各个分立的区域计算直方图数据的不同片段,

区域选择器基于区域选择信号在相应存储电路中存储直方图数据的片段,以及

cpu读取存储电路的直方图数据,积累画面之间的各个区域的数据,并检测故障。

(7)(3)的图像处理器还包括:

处理来自相机设备的视频信号的视频信号处理电路,

作为由视频信号处理电路处理的图像的输入画面。

(8)在(3)的图像处理器中,

视频编码电路包括画面预测电路、画面编码电路、局部画面解码电路以及熵编码电路,以及

输入画面为从画面预测电路输出并输入至画面编码电路的画面。

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