具体实施方式
以下基于实施例对本申请进行描述,但是本申请并不仅仅限于这些实施例。在下文对本申请的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本申请。为了避免混淆本申请的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
在本文中使用以下术语。
多曝光视频数据:摄像头在采集视频数据时,每一帧图像采用两种或两种以上的曝光时间参数进行图像采集,获得包括至少两种对应不同曝光时间的图像帧的视频数据,称为多曝光视频数据。根据摄像头所采用曝光时间参数的不同,多曝光视频数据可以包括长曝光图像帧、超长曝光图像帧、短曝光图像帧、超短曝光图像帧中的至少两个。
单曝光视频数据:摄像头在采集视频数据时,始终采用同一种曝光时间参数进行图像采集,获得包括对应相同曝光时间的图像帧的视频数据,称为单曝光视频数据。根据摄像头所采用曝光时间参数的不同,单曝光视频数据包括长曝光图像帧、超长曝光图像帧、短曝光图像帧、超短曝光图像帧中的任意一个。
帧同步信号:摄像头对采集到的图像帧进行逐行输出,帧同步信号用于指示摄像头开始输出某一图像帧包括的像素行,图像处理芯片根据帧同步信号确定属于同一图像帧的多个像素行,进而对图像帧进行处理。
行同步信号:摄像头对采集到的图像帧进行逐行输出,行同步信号信用为用于标识当前行有效的行有效信号。
标识信号:在多曝光视频数据中,标识信号用于标识每一像素行所在图像帧的曝光时间,对应不同曝光时间的图像帧通过不同通道采集,因此标识信号也可以用于标识每一像素行对应的通道。
数字视频接口:数字视频接口(Digital Video Port,DVP)是标准的数字视频传输接口,图像处理芯片通过DVP接收待处理的图像数据。
加速单元:针对传统处理单元在一些专门用途的领域(例如,视频数据处理等等)效率不高的情况,为了提高在这些专门用途领域中的数据处理速度而设计的处理单元,在本公开实施例中主要是为了提高视频信号处理速度、释放CPU的算力、降低CPU功耗而设计的专门处理单元。
调度单元:对加速单元进行调度、向加速单元分配要执行的待执行指令序列的处理单元,它可以采用处理器(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等多种形式。
电子设备
图1示出本申请一个实施例的电子设备100内部的结构框图,如图1所示,电子设备100包括有总线连接的存储器110、调度单元集群140和加速单元集群150。调度单元集群140包括多个调度单元120。加速单元集群150包括多个加速单元130。加速单元130在本申请实施例中主要是为了加速视频数据处理而设计的专门处理单元,可以体现为专门为信号处理设计的处理单元、图形处理单元(GPU)、专用集成电路(ASIC)和现场可编程门阵列(FPGA)等。调度单元是对加速单元进行调度、向个加速单元分配要执行的待执行指令序列的单元,她可以采用处理器(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等多种形式。
传统的处理单元的架构设计,使得在架构中控制单元、存储单元占用了很大一部分空间,而计算单元占用的空间反而不足,因此其在逻辑控制方面十分有效,而在大规模并行计算方面则效率不够。因此,开发出了各种专门的加速单元,用来针对不同功能和不同领域的计算进行更有效的提高运算速度的处理。本申请提出的加速单元是专用于加速视频数据处理速度的处理单元,它的工作模式可配置,根据传输给数字视频接口的视频数据的类型,采用不同的信号处理方式,当传输给数字视频接口的视频数据为多曝光视频数据时,生成针对多曝光视频数据的帧同步信号,并生成用于指示每个像素行的曝光时间的标识信号,当传输给数字视频接口的视频数据为单曝光视频数据时,直接将接收到的视频数据传输给数字视频接口,从而该加速单元能够兼容各种类型的摄像头,适用于对不同类型的摄像头采集的视频数据进行处理,输出符合数字视频接口的视频数据,具有较强的适用性,拓宽了图像处理芯片的应用场景。
加速单元130要接受调度单元120的调度。如图1所示,存储器110中存储有摄像头采集到的视频数据,视频数据被一个调度单元120输送到一个加速单元130。调度单元120可以通过指令的形式向加速单元130发送需要传输给数字视频接口的视频数据在存储器110中的地址。加速单元130在进行信号处理时,直接在存储器110中寻址需要传输给数字视频接口的视频数据,将视频数据暂存在其片上内存中,进而加速单元130可以对视频数据进行信号处理。本申请实施例主要着眼于加速单元130对视频数据进行信号处理的过程,在后文中会对信号处理过程进行详细描述。
调度单元和加速单元的内部结构
下面结合图2的调度单元120与加速单元130的内部结构,具体说明调度单元120是如何调度加速单元130进行工作的。
如图2所示,调度单元120内包含多个处理器核121和被多个处理器核121共享的高速缓存122。每个处理器核121包括取指令单元123、指令译码单元124、指令发射单元125、指令执行单元126和存储控制单元127。
取指令单元123用于通过存储控制单元127,将要执行的指令从存储器110搬运到指令寄存器(可以是图2示出的寄存器堆128中的一个用于存放指令的寄存器)中,并接收下一个取指地址或根据取指算法计算获得下一个取指地址,取指算法例如包括:根据指令长度递增地址或递减地址。
取出指令后,调度单元120进入指令译码阶段,指令译码单元124按照预定的指令格式,对取回的指令进行解码,以获得取回的指令所需的操作数获取信息,从而为指令执行单元126的操作做准备。操作数获取信息例如指向立即数、寄存器或其他能够提供源操作数的软件/硬件。
指令发射单元125位于指令译码单元124与指令执行单元126之间,用于指令的调度和控制,以将各个指令高效地分配至不同的指令执行单元126,使得多个指令的并行操作成为可能。
指令发射单元125将指令发射到指令执行单元126后,指令执行单元126开始执行指令。但如果该指令执行单元126判断该指令应该是加速单元执行的,则将其转发到相应的加速单元执行。例如,如果该指令是一条信号处理的指令,指令执行单元126不再执行该指令,而是将该指令通过总线发送到加速单元130,由加速单元130执行。调度单元120调度加速单元130执行对视频数据的信号处理。
加速单元130包括控制器131和信号处理单元132。控制器131从调度单元120接收视频数据,将视频数据发送给信号处理单元132。控制器131向信号处理单元132发送控制指令,以控制信号处理单元132的运行。
信号处理单元132根据获取到的工作模式信息,在传输给数字视频接口的视频数据为多曝光视频数据时,生成包括多曝光视频数据中每个图像帧对应的帧同步脉冲的帧同步信号,并生成用于指示每个像素行的曝光时间的标识信号,将帧同步信号和标识信号发送给数字视频接口,以使多曝光视频数据符合数字视频接口的要求,而当传输给数字视频接口的视频数据为单曝光视频数据时,直接将接收到的视频数据传输给数字视频接口。通过对信号处理单元132进行配置,使得信号处理单元132能够适用于对不同类型摄像头采集到的视频数据进行处理,提高信号处理单元132的兼容性,通过信号处理单元132对视频数据进行处理后传输给图像处理芯片的数字视频接口,拓宽了图像处理芯片的应用场景。
片上系统
本申请实施例还提供了一种片上系统,该片上系统包括上述任一实施例中的加速单元130。
信号处理单元
图3是本申请一个实施例的信号处理单元的内部结构图。如图3所示,信号处理单元132包括控制单元133和脉冲生成单元134。在传输给数字视频接口200的视频数据为多曝光视频数据时,控制单元133获取针对多曝光视频数据的配置信息,脉冲生成单元134在接收到多曝光视频数据后,根据多曝光视频数据包括的行有效信号和控制单元133获取到的配置信息,在多曝光视频数据包括的第一帧同步信号上生成至少一个帧同步脉冲以获得第二帧同步信号,使得第二帧同步信号包括多曝光视频数据中每个图像帧对应的帧同步脉冲,然后脉冲生成单元134将生成的第二帧同步信号发送给数字视频接口200。
多曝光视频数据包括对应不同曝光时间参数的多种图像帧,摄像头输出的多曝光视频数据中包括第一帧同步信号,但第一帧同步信号仅包括多曝光视频数据中对应某一曝光时间参数的图像帧的帧同步脉冲,而数字视频接口200需要的帧同步信号需要包括多曝光视频数据中每个图像帧的帧同步脉冲。比如,多曝光视频数据包括的图像帧对应三种曝光时间参数,三种曝光时间参数分别对应长曝光、短曝光和超短曝光,为了便于描述,将对应曝光时间参数为长曝光的图像帧定义为长曝光图像帧,将对应曝光时间参数为短曝光的图像帧定义为短曝光图像帧,将对应曝光时间参数为超短曝光的图像帧定义为超短曝光图像帧。多曝光视频数据包括的第一帧同步信号仅包括长曝光图像帧的帧同步脉冲,而并不包括短曝光图像帧和超短曝光图像帧的帧同步脉冲,但为了图像处理芯片能够分别对长曝光图像帧、短曝光图像帧和超短曝光图像帧进行处理,数字视频接口200需要的帧同步信号需要包括多曝光视频数据中每个图像帧的帧同步脉冲,即需要长曝光图像帧、短曝光图像帧和超短曝光图像帧的帧同步脉冲。
由于多曝光视频数据以像素行的形式输入信号处理单元132,一个像素行即为多曝光视频数据中一个图像帧的一行像素,一个图像帧包括多个像素行。针对某一型号的摄像头,该摄像头采集到的多曝光视频数据会以特定的方式的向信号处理单元132输送像素行,脉冲生成单元134接收到的每个像素行对应于行有效信号中的一个脉冲,从而可以根据多曝光视频数据包括的行有效信号来确定生成帧同步脉冲的位置。另外,数字视频接口200将第二帧同步信号发送给图像信号处理(Image Signal Processing,ISP)模块,不同的图像信号处理模块对于帧同步信号中帧同步脉冲的位置具有不同的要求,图像信号处理模块对帧同步脉冲的位置要求体现在控制单元133获取到的配置信息中。因此,脉冲生成单元134可以根据多曝光视频数据包括的行有效信号,及控制单元133获取到的配置信息,在第一帧同步信号上生成帧同步脉冲,以获得第二帧同步信号。
控制单元133可以通过外围总线(Advanced Peripheral Bus,APB)接口与调度单元120进行控制信息交互,并通过APB接口接收调度单元120发送的运行控制信息,运行控制信息包括上述的配置信息,还包括后续实施例中所述的单曝光模式信息和像素标识信息等。
在本申请实施例中,控制单元133可以获取针对多曝光视频数据的配置信息,脉冲生成单元134根据所接收到多曝光视频数据包括的行有效信号,以及控制单元133获取到的配置信息,在多曝光视频数据包括的第一帧同步信号上生成帧同步脉冲,获得包括有多曝光视频数据中每个图像帧对应的帧同步脉冲的第二帧同步信号。当向数字视频接口200传输多曝光视频数据的摄像头的类型不同时,通过调整控制单元133获取到的配置信息,脉冲生成单元134便可以按照相应的配置信息,生成不同类型摄像头采集到的多曝光视频数据的帧同步信号,进而获得符合数字视频接口200的视频数据,从而提高了信号处理单元132的适用性和兼容性。
在一种可能的实现方式中,将相对应帧同步脉冲不在第一帧同步信号中的图像帧定义为第一图像帧,将第一帧同步信号中帧同步脉冲对应的图像帧定义为第二图像帧,第一图像帧和第二图像帧均是多曝光视频数据包括的图像帧。控制单元133获取到的配置信息用于指示第一图像帧对应的帧同步脉冲与第二图像帧对应的帧同步脉冲的相对位置。
应理解,不同的第一图像帧可以对应相同的曝光时间参数,也可以对应不同的曝光时间参数。当多曝光视频数据包括对应两种曝光时间参数的图像帧时,不同的第一图像帧对应相同的曝光时间参数。当多曝光视频数据包括对应三种或三种以上曝光时间参数的图像帧时,第一图像帧为至少两种对应不同曝光时间参数的图像帧的统称。
在配置信息指示第一图像帧对应的帧同步脉冲与第二图像帧对应的帧同步脉冲的相对位置时,脉冲生成单元134可以根据配置信息确定在第一帧同步信号上生成帧同步脉冲的位置,而行有效信号可以作为第一图像帧所对应帧同步脉冲与第二图像帧所对应帧同步脉冲之间相对位置的度量。因此,通过配置信息指示第一图像帧对应的帧同步脉冲与第二图像帧对应的帧同步脉冲的相对位置,脉冲生成单元134根据配置信息和行有效信号可以对第一帧同步信号上生成帧同步脉冲的位置进行准确定位,保证所生成第二帧同步信号的准确性,进而保证图像处理芯片对多曝光视频数据进行处理的准确性。
应理解,当第一图像帧为至少两种对应不同曝光时间参数的图像帧的统称时,配置信息用于分别指示每种曝光时间参数所对应图像帧的帧同步脉冲与第二图像帧对应的帧同步脉冲的相对位置。比如,多曝光视频数据包括长曝光图像帧、短曝光图像帧和超短曝光图像帧,第二图像帧为长曝光图像帧,则第一图像帧包括短曝光图像帧和超短曝光图像帧,此时配置信息用于指示短曝光图像帧对应的帧同步脉冲与长曝光图像帧对应的帧同步脉冲的相对位置,以及超短曝光图像帧对应的帧同步脉冲与长曝光图像帧对应的帧同步脉冲的相对位置。
还应理解,脉冲生成单元134所生成第二帧同步信号包括帧同步脉冲的数量,等于多曝光视频数据所包括图像帧的数量。多曝光视频数据中行有效信号所包括脉冲的数量,等于图像帧的像素行数与多曝光视频数据所包括图像帧的数量的乘积。
在一种可能的实现方式中,控制单元133获取到的配置信息包括行数间隔和延时间隔。脉冲生成单元134在第一帧同步信号上生成帧同步脉冲时,针对每个第一图像帧,根据行有效信号和该第一图像帧对应的行数间隔和延时间隔,在第一帧同步信号上生成该第一图像帧对应的帧同步脉冲,使得所生成的帧同步脉冲满足如下两个条件:
(i)该第一图像帧对应的帧同步脉冲与第二图像帧对应的帧同步脉冲之间的像素行数,等于该第一图像帧对应的行数间隔;
(ii)该第一图像帧对应的帧同步脉冲与最近一个行有效信号的上升沿之间的像素周期,等于该第一图像帧对应的延时间隔。
在本申请实施例中,行数间隔用于指示第一图像帧对应的帧同步脉冲与第二图像帧对应的帧同步脉冲之间间隔了一个图像帧的多少个像素行,延时间隔用于指示第一图像帧对应的帧同步脉冲相比最近一个行有效信号的上升沿延时了多少个像素周期。行有效信号指示脉冲生成单元134接收到的每个像素行,所以通过行有效信号可以确定帧同步脉冲之间的像素行。因此,脉冲生成单元134根据包括行数间隔和延时间隔的配置信息,以及多曝光视频数据包括的行有效信号,能够准确地在第一帧同步信号中定位生成帧同步脉冲的位置,进而在第一帧同步信号中生成每个第二图像帧对应的帧同步脉冲,获得准确指示各图像帧即将输入的第二帧同步信号。
应理解,当多曝光视频数据包括对应两种曝光时间参数的图像帧时,第一图像帧对应一种曝光时间参数,第二图像帧对应另一种曝光时间参数,此时配置信息包括一组行数间隔和延时间隔。当多曝光视频数据包括对应三种或三种以上曝光时间参数的图像帧时,第二图像帧对应一种曝光时间参数,第一图像帧为至少两种对应不同曝光时间参数的图像帧的统称,此时配置信息包括至少两组行数间隔和延时间隔,每一组行数间隔和延时间隔对应一种曝光时间参数的图像帧,不同组行数间隔和延时间隔对应不同曝光时间参数的图像帧。
图4是本申请实施例提供的一种帧同步信号和行有效信号的示意图。如图4所示,多曝光视频数据包括对应不同曝光时间参数的两种图像帧,第一帧同步信号仅包括帧同步脉冲401,帧同步脉冲401为第二图像帧对应的帧同步脉冲,帧同步脉冲402为脉冲生成单元134生成的帧同步脉冲。脉冲403为第二图像帧对应的行有效信号,脉冲404为第一图像帧对应的行有效信号。
脉冲生成单元134根据配置信息和行有效信号,在第一帧同步信号上生成帧同步脉时,首先根据行有效信号和配置信息包括的行数间隔,确定所要生成的帧同步脉冲402与第一帧同步信号原有帧同步脉冲401之间间隔的像素行,本实施例中帧同步脉冲402与帧同步脉冲401之间间隔2个像素行,然后根据配置信息包括的延时间隔,在第一帧同步信号上定位帧同步脉冲402的生成位置,使帧同步脉冲402的生成位置与帧同步脉冲402和帧同步脉冲401之间的最后一个行有效信号的上升沿之间的像素周期等于延时间隔,然后在第一帧同步信号上定位帧同步脉冲402的生成位置生成帧同步脉冲402。
应理解,在图4所示的帧同步信号和行有效信号中,多曝光视频数据包括两个图像帧,第二图像帧先于第一图像帧被输入脉冲生成单元134,第一图像帧和第二图像帧都包括4个像素行。
需要说明的是,一个第二图像帧对应的帧同步脉冲,位于该第二图像帧中第一个像素行对应的行有效信号之前,即该第二图像帧对应的帧同步脉冲需要优先于该第二图像帧中任一像素行输入数字视频接口200,保证数字视频接口200能够先确定该第二图像帧即将被输入,之后再接收到稿第二图像帧中的像素行。
图5是本申请实施例提供的另一种信号处理单元的内部结构图。如图5所示,信号处理单元132除了包括控制单元133和脉冲生成单元134外,还包括标识生成单元135。控制单元133用于获取多曝光视频数据的像素标识信息,像素标识信息用于指示曝光时间标识在图像帧的像素行中所处的像素,曝光时间标识用于标识响应图像帧的曝光时间参数。标识生成单元135在接收到多曝光视频数据后,根据控制单元133获取到的像素标识信息,生成用于指示每个像素行所在图像帧的曝光时间参数的标识信号,并将生成的标识信号发送给数字视频接口200。
多曝光视频数据包括对应不同曝光时间参数的多种图像帧,图像帧以像素行的形式输入数字视频接口200,为了保证数字视频接口200对接的图像处理芯片能够识别出每个像素行所在图像帧对应的曝光时间参数,需要生成用于指示每个像素行所在图像帧的曝光时间参数的标识信号。由于交替向数字视频接口200传输对应不同曝光时间参数的图像帧中的像素行,所以图像处理芯片根据标识信号能够确定属于同一图像帧的像素行,进而可以针对对应不同曝光时间参数的图像帧进行相应的处理。
摄像头在采集多曝光视频数据时,会在采集的每个图像帧的每个像素行的某一个或多个像素存放曝光时间标识,曝光时间标识用于指示相应像素行所在图像帧的曝光时间参数。但是,在不同类型的摄像头所采集的图像帧中,曝光时间标识在图像帧所包括像素行中所处的位置不同,比如每个像素行包括128个像素,一些摄像头所采集图像帧中曝光时间标识位于每个像素行的第1个像素,而另一些摄像头所采集图像帧中曝光时间标识位于每个像素行的第3个像素。
在本申请实施例中,由于不同摄像头所采集图像帧中曝光时间标识位于像素行中的位置可能不同,通过控制单元133获取到的像素标识信息确定曝光时间标识在像素行中的位置,进而标识生成单元135可以根据像素标识信息确定像素行中的曝光时间标识,以针对不同摄像头所采集的多曝光视频数据生成标识信号,并将生成的标识信号发送给数字视频接口200,因此信号处理单元132可以针对不同类型的摄像头生成标识信号,进一步提高了信号处理单元132的适用性和兼容性。
图6是本申请实施例提供的一种标识生成单元135的内部结构图。如图6所示,标识生成单元135包括像素选通电路136、像素寄存器137、至少两个编码寄存器138和运算单元139。各编码寄存器138中存储有不同的标识数据,不同的标识数据中曝光时间标识用于标识不同的曝光时间参数。像素选通电路136用于接收图像帧的一个像素行,并将像素行中像素标识信息所指示的至少一个像素的像素数据存储到像素寄存器137中。运算单元139用于将像素寄存器137中存储的像素数据与各编码寄存器138中存储的标识数据进行比较,根据比较结果确定像素数据中曝光时间标识所标识的曝光时间参数,并根据确定出的曝光时间参数生成用于指示像素选通电路136所接收像素行所在图像帧的曝光时间参数的标识信号。
像素选通电路136在接收到一个像素行后,根据控制单元133获取到的像素标识信息,定位像素行中包括曝光时间标识的像素,进而将定位到的一个或多个像素的像素数据存储到像素寄存器137中。比如,像素选通电路136接收到的像素行包括128个像素,根据像素标识信息,确定像素行所包括128个像素中的第2个像素中包括曝光时间标识,进而将像素行中第2个像素的像素值存储到像素寄存器137中,而像素行中第2个像素的像素数据有12bit位宽,其中第1bit和第2bit为该像素行的曝光时间标识,第3-12bit为图像数据。
不同编码寄存器138中存储有不同的标识数据,标识数据包括有曝光时间标识,不同的标识数据中包括不同的曝光时间标识,不同的曝光时间标识用于标识不同的曝光时间参数。应理解,编码寄存器138中存储的标识数据与像素寄存器137中存储的像素数据具有相同数量的位宽,而且标识数据与像素数据中曝光时间标识位于相同的bit位,以方便通过对像素数据和标识数据进行比较,确定像素行所在图像帧对应的曝光时间参数。比如,像素数据的位宽为12bit,像素数据中曝光时间标识位于第1-2bit,则标识数据的位宽也为12bit,且标识数据中曝光时间标识也位于第1-2bit。
不同编码寄存器138中标识数据包括不同的曝光时间标识,而不同的曝光时间标识用于标识不同的曝光时间参数。比如编码寄存器138的数量为3个,第1个编码寄存器138中标识数据包括的曝光时间标识为二进制数00,第2个编码寄存器138中标识数据包括的曝光时间标识为二进制数01,第3个编码寄存器138中标识数据包括的曝光时间标识为二进制数10,而曝光时间标识00用于标识长曝光,曝光时间标识01用于标识短曝光,曝光时间标识10用于标识超短曝光。
在本申请实施例中,像素选通电路136从像素行中获得包括曝光时间标识的像素数据存储到像素寄存器137中,而每个编码寄存器138中存储的标识数据包括不同的曝光时间标识,运算单元139通过对像素寄存器137中存储像素数据与各编码寄存器138中存储的标识数据进行比较,可以确定像素数据包括的曝光时间标识与哪个标识数据宝库偶的曝光时间标识相同,进而确定输入像素选通电路136的像素行所在图像帧对应的曝光时间参数,从而生成指示输入像素选通电路136的像素行所在图像帧的曝光时间参数的标识信号,保证所生成的标识信号能够准确指示相应像素行所在图像帧的曝光时间参数,进而与数字视频接口200对应的图像处理芯片能够根据标识信号识别出属于同一图像帧的像素行,以按照图像帧对应的曝光时间参数对图像帧进行相应处理。
图7是本申请实施例提供的一种标识信号的示意图。如图7所示,标识信号中的数字0用于标识第二图像帧的像素行,标识信号中的数字2用于标识第一图像帧的像素行,而第二像素帧对应的曝光时间参数为长曝光,第一像素帧对应的曝光时间参数为短曝光,因此标识信号中的数字0可以标识长曝光,标识信号中的数字2可以标识短曝光。
图8是本申请实施例提供的另一种标识生成单元135的示意图。如图8所示,在图6所示标识生成单元135的基础上,标识生成单元135还包括掩码寄存器141,掩码寄存器141中存储有掩膜数据。运算单元139包括N+1个按位或运算器、N个相等判别器和N个逻辑运算器,N为编码寄存器138的数量,N为大于或等于2的正整数。
第i编码寄存器Bi存储的标识数据和掩码寄存器141存储的掩码数据作为第i按位或运算器Si的输入,1≤i≤N。像素寄存器137存储的像素数据和掩码寄存器141存储的掩码数据作为第N+1按位或运算器SN+1的输入。第i按位或运算器Si的输出和第N+1按位或运算器SN+1的输出作为第i相等判别器Di的输入,第i相等判别器Di的输出作为第i逻辑运算器Li的第一输入。第i逻辑运算器Li的输出作为第i+1逻辑运算器Li+1的第二输入,第1逻辑运算器L1的第二输入为空值,第N逻辑运算器LN的输出为标识信号。在第i相等判别器Di的两个输入值相等时,第i逻辑运算器Li的输出为第i编码寄存器Bi中标识数据所包括曝光时间标识的编码IDi。在第i相等判别器Di的两个输入值不等时,第i逻辑运算器Li的输出为第i逻辑运算器Bi的第二输入。
掩码寄存器141中存储的掩码数据,用于在各按位或运算器进行按位或运算时,屏蔽像素数据和标识数据中非曝光时间标识所在的bit位,进而可以通过各相等判别器判断像素数据中的曝光时间标识与哪个标识数据中的曝光时间标识相同。比如,像素数据和标识数据的位宽均为12bit,而且像素数据和标识数据中的曝光时间标识均均为第1-2bit,通过按位或运算器的运算,像素数据和标识数据的第1-2bit仍为原来的值,但第2-12bit的值均为1,即每个按位或运算器的输出数据的位宽为12bit,其中第3-12bit的值均为1。
在本申请实施例中,由于编码寄存器138中存储的标识数据与像素寄存器137中存储的像素数据具有相同数量的位宽,而且标识数据与像素数据中曝光时间标识位于相同的bit位,通过各按位或运算器分别将像素数据和各标识数据与掩码数据进行按位或运算,然后各相等判别器将像素数据的按位或运算结果与各标识数据的按位或运算结果进行比较,将按位或运算结果与像素数据的按位或运算结果相等的一个标识数据包括的曝光时间标识指示的曝光时间参数,确定为输入像素选通电路136的像素行所在图像帧的曝光时间参数,进而输出相应的标识信号。通过各按位或运算器、相等判别器和逻辑运算器,可以准确地确定每个像素行所在图像帧的曝光时间参数,进而在将标识信号发送给数字视频接口200后,与数字视频接口200对接的图像处理芯片可以基于标识信号识别对应不同曝光时间参数的图像帧,以保证图像处理芯片对相应图像帧进行处理的准确性。
图9是本申请实施例提供的又一种信号处理单元的内部结构图。如图9所示,控制单元133用于接收指示传输给数字视频接口的视频数据为单曝光视频数据的单曝光模式信息,单曝光视频数据包括的图像帧具有相同的曝光时间参数。脉冲生成单元134根据单曝光模式信息,将所接收到的单曝光视频数据包括的第三帧同步信号发送给数字视频接口200。
在本申请实施例中,由于单曝光视频数据包括的图像帧对应相同的曝光时间参数,单曝光视频数据包括的第三帧同步信号已包括了全部图像帧对应的帧同步脉冲,无需在生成新的帧同步脉冲,所以控制单元133接收到单曝光模式信息时,指示输入到脉冲生成单元134中的视频数据为单曝光视频数据,此时脉冲生成单元直接将单曝光视频数据包括的第三帧同步信号发送给数字视频接口200。
在一种可能的实现方式中,标识生成单元135可以根据单曝光模式信息,将所接收到的单曝光视频数据发送给数字视频接口200。
在本申请实施例中,由于单曝光视频数据包括的图像帧对应相同的曝光时间参数,因此单曝光视频数据无需通过标识信号标识对应不同曝光时间参数的图像帧,所以控制单元133接收到单曝光模式信息时,指示输入到标识生成单元135的视频数据为单曝光视频数据,此时标识生成单元135直接将接收到的单曝光视频数据发送给数字视频接口200。
可见,本申请实施例提供的信号处理单元132不仅适用于对多曝光视频数据进行信号处理,以获得符合数字视频接口200的视频数据,还适用于对单曝光视频数据的传输,因此信号处理单元132可以适用于采集单曝光视频数据的摄像头,也适用于采集多曝光视频数据的摄像头,进一步提高了信号处理单元132的适用性。
信号处理方法
图10是本申请一个实施例的信号处理方法的流程图,该信号处理方法用于上述任一实施例中的信号处理单元,如图10所示,该信号处理方法包括:
步骤1001、获取针对多曝光视频数据的配置信息,其中,多曝光视频数据包括至少两种对应不同曝光时间的图像帧;
步骤1002、接收多曝光视频数据;
步骤1003、根据多曝光视频数据包括的行有效信号和配置信息,在多曝光视频数据包括的第一帧同步信号上生成至少一个帧同步脉冲以获得第二帧同步信号,使第二帧同步信号包括多曝光视频数据中的每个图像帧对应的帧同步脉冲;
步骤1004、将第二帧同步信号发送给数字视频接口。
在一种可能的实现方式中,该信号处理方法还包括:获取多曝光视频数据的像素标识信息,像素标识信息用于指示曝光时间标识在图像帧的每一行像素中所处的像素,曝光时间标识用于标识相应图像帧的曝光时间;接收多曝光视频数据;根据像素标识信息,生成用于指示图像帧中每个像素行的曝光时间的标识信号;将标识信号发送给数字视频接口。
由于信号处理方法的细节在上述实施例的信号处理单元部分,已经结合结构示意图进行了详细说明,具体过程可参见前述信号处理单元实施例中的描述,在此不再进行赘述。
标识生成单元
图6是本申请一个实施例的标识生成单元的内部结构图。如图6所示,标识生成单元135包括像素选通电路136、像素寄存器137、至少两个编码寄存器138和运算单元139。
各编码寄存器138中存储有不同的标识数据,不同的标识数据中曝光时间标识用于标识不同的曝光时间参数。
像素选通电路136可以接收多曝光视频数据所包括图像帧的一个像素行,并将像素行中像素标识信息所指示的至少一个像素的像素数据存储到像素寄存器137中。其中,多曝光视频数据包括至少两种对应不同曝光时间的图像帧,像素标识信息用于指示曝光时间标识在像素行中所处的像素,曝光时间标识用于指示像素行所在图像帧的曝光时间参数。
运算单元139可以将像素寄存器137中存储的像素数据与各编码寄存器138中存储的标识数据进行比较,根据比较结果确定像素数据中曝光时间标识所标识的曝光时间参数,并根据确定出的曝光时间参数生成用于指示像素选通电路136所接收像素行所在图像帧的曝光时间参数的标识信号,进而将生成的标识信号发送给数字视频接口200。
多曝光视频数据包括对应不同曝光时间参数的多种图像帧,图像帧以像素行的形式输入数字视频接口200,为了保证数字视频接口200对接的图像处理芯片能够识别出每个像素行所在图像帧对应的曝光时间参数,需要生成用于指示每个像素行所在图像帧的曝光时间参数的标识信号。由于交替向数字视频接口200传输对应不同曝光时间参数的图像帧中的像素行,所以图像处理芯片根据标识信号能够确定属于同一图像帧的像素行,进而可以针对对应不同曝光时间参数的图像帧进行相应的处理。
摄像头在采集多曝光视频数据时,会在采集的每个图像帧的每个像素行的某一个或多个像素存放曝光时间标识,曝光时间标识用于指示相应像素行所在图像帧的曝光时间参数。但是,在不同类型的摄像头所采集的图像帧中,曝光时间标识在图像帧所包括像素行中所处的位置不同,比如每个像素行包括128个像素,一些摄像头所采集图像帧中曝光时间标识位于每个像素行的第1个像素,而另一些摄像头所采集图像帧中曝光时间标识位于每个像素行的第3个像素。
像素选通电路136在接收到一个像素行后,根据像素标识信息定位像素行中包括曝光时间标识的像素,进而将定位到的一个或多个像素的像素数据存储到像素寄存器137中。比如,像素选通电路136接收到的像素行包括128个像素,根据像素标识信息确定像素行所包括128个像素中的第2个像素中包括曝光时间标识,进而将像素行中第2个像素的像素值存储到像素寄存器137中,而像素行中第2个像素的像素数据有12bit位宽,其中第1bit和第2bit为该像素行的曝光时间标识,第3-12bit为图像数据。
不同编码寄存器138中存储有不同的标识数据,标识数据包括有曝光时间标识,不同的标识数据中包括不同的曝光时间标识,不同的曝光时间标识用于标识不同的曝光时间参数。应理解,编码寄存器138中存储的标识数据与像素寄存器137中存储的像素数据具有相同数量的位宽,而且标识数据与像素数据中曝光时间标识位于相同的bit位,以方便通过对像素数据和标识数据进行比较,确定像素行所在图像帧对应的曝光时间参数。比如,像素数据的位宽为12bit,像素数据中曝光时间标识位于第1-2bit,则标识数据的位宽也为12bit,且标识数据中曝光时间标识也位于第1-2bit。
不同编码寄存器138中标识数据包括不同的曝光时间标识,而不同的曝光时间标识用于标识不同的曝光时间参数。比如编码寄存器138的数量为3个,第1个编码寄存器138中标识数据包括的曝光时间标识为二进制数00,第2个编码寄存器138中标识数据包括的曝光时间标识为二进制数01,第3个编码寄存器138中标识数据包括的曝光时间标识为二进制数10,而曝光时间标识00用于标识长曝光,曝光时间标识01用于标识短曝光,曝光时间标识10用于标识超短曝光。
在本申请实施例中,像素选通电路136从像素行中获得包括曝光时间标识的像素数据存储到像素寄存器137中,而每个编码寄存器138中存储的标识数据包括不同的曝光时间标识,运算单元139通过对像素寄存器137中存储像素数据与各编码寄存器138中存储的标识数据进行比较,可以确定像素数据包括的曝光时间标识与哪个标识数据宝库偶的曝光时间标识相同,进而确定输入像素选通电路136的像素行所在图像帧对应的曝光时间参数,从而生成指示输入像素选通电路136的像素行所在图像帧的曝光时间参数的标识信号。当向数字视频接口200传输多曝光视频数据的摄像头的类型不同时,通过调整像素标识信息,便可以生成能够准确指示相应像素行所在图像帧的曝光时间参数,使得数字视频接口200能够按照图像帧对应的曝光时间参数对图像帧进行相应处理,因此能够适配不同类型的摄像头,从而提高标识生成单元135所在信号处理单元的适用性和兼容性。
图7是本申请实施例提供的一种标识信号的示意图。如图7所示,标识信号中的数字0用于标识第二图像帧的像素行,标识信号中的数字2用于标识第一图像帧的像素行,而第二像素帧对应的曝光时间参数为长曝光,第一像素帧对应的曝光时间参数为短曝光,因此标识信号中的数字0可以标识长曝光,标识信号中的数字2可以标识短曝光。
图8是本申请实施例提供的另一种标识生成单元135的示意图。如图8所示,在图6所示标识生成单元135的基础上,标识生成单元135还包括掩码寄存器141,掩码寄存器141中存储有掩膜数据。运算单元139包括N+1个按位或运算器、N个相等判别器和N个逻辑运算器,N为编码寄存器138的数量,N为大于或等于2的正整数。
第i编码寄存器Bi存储的标识数据和掩码寄存器141存储的掩码数据作为第i按位或运算器Si的输入,1≤i≤N。像素寄存器137存储的像素数据和掩码寄存器141存储的掩码数据作为第N+1按位或运算器SN+1的输入。第i按位或运算器Si的输出和第N+1按位或运算器SN+1的输出作为第i相等判别器Di的输入,第i相等判别器Di的输出作为第i逻辑运算器Li的第一输入。第i逻辑运算器Li的输出作为第i+1逻辑运算器Li+1的第二输入,第1逻辑运算器L1的第二输入为空值,第N逻辑运算器LN的输出为标识信号。在第i相等判别器Di的两个输入值相等时,第i逻辑运算器Li的输出为第i编码寄存器Bi中标识数据所包括曝光时间标识的编码IDi。在第i相等判别器Di的两个输入值不等时,第i逻辑运算器Li的输出为第i逻辑运算器Bi的第二输入。
掩码寄存器141中存储的掩码数据,用于在各按位或运算器进行按位或运算时,屏蔽像素数据和标识数据中非曝光时间标识所在的bit位,进而可以通过各相等判别器判断像素数据中的曝光时间标识与哪个标识数据中的曝光时间标识相同。比如,像素数据和标识数据的位宽均为12bit,而且像素数据和标识数据中的曝光时间标识均均为第1-2bit,通过按位或运算器的运算,像素数据和标识数据的第1-2bit仍为原来的值,但第2-12bit的值均为1,即每个按位或运算器的输出数据的位宽为12bit,其中第3-12bit的值均为1。
在本申请实施例中,由于编码寄存器138中存储的标识数据与像素寄存器137中存储的像素数据具有相同数量的位宽,而且标识数据与像素数据中曝光时间标识位于相同的bit位,通过各按位或运算器分别将像素数据和各标识数据与掩码数据进行按位或运算,然后各相等判别器将像素数据的按位或运算结果与各标识数据的按位或运算结果进行比较,将按位或运算结果与像素数据的按位或运算结果相等的一个标识数据包括的曝光时间标识指示的曝光时间参数,确定为输入像素选通电路136的像素行所在图像帧的曝光时间参数,进而输出相应的标识信号。通过各按位或运算器、相等判别器和逻辑运算器,可以准确地确定每个像素行所在图像帧的曝光时间参数,进而在将标识信号发送给数字视频接口200后,与数字视频接口200对接的图像处理芯片可以基于标识信号识别对应不同曝光时间参数的图像帧,以保证图像处理芯片对相应图像帧进行处理的准确性。
本申请实施例的商业价值
本申请实施例在信号处理单元的适用性较差的技术问题时,信号处理单元包括的控制单元中的运行控制信息可通过软件程序进行配置,通过配置控制单元中的运行控制信息,可以使信号处理单元对多曝光视频数据或单曝光视频数据进行信号处理,获得符合数字视频接口的视频数据后,将输出视频数据输送至数字视频接口,从而可以适用于采集单曝光视频数据的摄像头,也适用于采集多曝光视频数据的各种摄像头,因此具有较强的适用性。与信号处理单元具有较强适应性相对应的是,通过数字视频接口与信号处理单元对接的图像处理芯片可以应用于更多的场景,拓宽了图像处理芯片的应用场景。
应该理解,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于装置和系统实施例中描述的方法,所以描述的比较简单,相关之处参见其他实施例的部分说明即可。
应该理解,上述对本说明书特定实施例进行了描述。其它实施例在权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
应该理解,本文用单数形式描述或者在附图中仅显示一个的元件并不代表将该元件的数量限于一个。此外,本文中被描述或示出为分开的模块或元件可被组合为单个模块或元件,且本文中被描述或示出为单个的模块或元件可被拆分为多个模块或元件。
还应理解,本文采用的术语和表述方式只是用于描述,本说明书的一个或多个实施例并不应局限于这些术语和表述。使用这些术语和表述并不意味着排除任何示意和描述(或其中部分)的等效特征,应认识到可能存在的各种修改也应包含在权利要求范围内。其他修改、变化和替换也可能存在。相应的,权利要求应视为覆盖所有这些等效物。