图像信号处理器资源管理的制作方法

文档序号:32677732发布日期:2022-12-24 04:13阅读:64来源:国知局
图像信号处理器资源管理的制作方法
图像信号处理器资源管理
1.本技术要求于2020年5月14日递交的美国申请no.15/931,770的优先权,其全部内容通过引用并入本文。
技术领域
2.本公开总体上涉及图像或视频捕获设备,包括图像信号处理器的资源管理,该图像信号处理器以变化的帧速率处理帧。


背景技术:

3.许多设备包括一个或多个可使用来捕获视频的图像帧序列的图像传感器。例如,智能手机或平板电脑包括一个或多个用于捕获视频的图像传感器。设备可以调整帧速率以用于捕获和处理图像帧。例如,图像传感器可能能够以多个帧速率捕获图像帧。该设备指示图像传感器以特定的帧速率捕获图像帧,并且图像传感器以指示的帧速率捕获图像帧序列。图像帧的每个由图像信号处理器处理,并且可以对已处理的该图像帧序列进行编码以生成视频。


技术实现要素:

4.提供本发明内容以简化形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容既不是旨在标识所要求保护的主题的关键特征或必要特征,也不是旨在限制所要求保护的主题的范围。
5.本公开的一些方面涉及图像信号处理器的资源管理,该图像信号处理器以变化的帧速率处理帧。示例方法包括由图像信号处理器以第一帧速率从图像传感器接收第一图像帧序列。该方法还包括由图像信号处理器以第一帧速率处理第一图像帧序列的每个图像帧。该方法还包括由图像信号处理器从图像传感器接收图像传感器从第一帧速率到第二帧速率的帧速率变化的指示。该方法还包括响应于从图像传感器接收到帧速率变化的指示,配置图像信号处理器的一个或多个滤波器以处理来自图像传感器的图像帧。该方法还包括由图像信号处理器以第二帧速率从图像传感器接收第二图像帧序列。该方法还包括由图像信号处理器以第二帧速率处理第二图像帧序列的每个图像帧。
6.在一些实施方式中,帧速率变化的指示被包括在来自图像传感器的第一图像帧序列之后的图像帧的元数据中。该方法可以还包括在来自第二图像帧序列的一批(batch)多个图像帧期间由图像信号处理器向应用处理器指示一次帧速率变化。该批中的图像帧的数量可以由图像信号处理器基于接收到的帧速率变化的指示来确定。在一些实施方式中,该批中的图像帧的数量是基于与该批相关联的帧速率的。在一些实施方式中,图像信号处理器在配置一个或多个滤波器之后向应用处理器指示帧速率变化。
7.该方法可以还包括由图像信号处理器处理第一图像帧序列的图像帧的第一间隔以生成第一部分预览流。第一间隔是基于第一帧速率的。该方法可以还包括由图像信号处理器处理第二图像帧序列的图像帧的第二间隔以生成第二部分预览流。第二间隔是基于第
二帧速率的。该方法可以还包括由图像信号处理器生成包括已处理的第一图像帧序列和已处理的第二图像帧序列的视频流,由图像信号处理器输出用于显示的预览流,以及由图像信号处理器输出视频流。在一些实施方式中,预览流采用固定的帧速率,并且视频流采用变化的帧速率。
8.该方法可以还包括由存储器存储查找表,该查找表将不同的帧速率映射到用于配置一个或多个滤波器的设置。图像信号处理器基于帧速率变化使用查找表来配置一个或多个滤波器。在一些实施方式中,查找表还将不同的帧速率映射到每批图像帧的数量,用于由图像信号处理器与应用处理器进行通信。
9.该方法可以还包括由编码器对第一图像帧序列和第二图像帧序列进行编码来产生视频流。
10.一种示例设备,包括图像信号处理器,其被配置来以第一帧速率从图像传感器接收第一图像帧序列;以第一帧速率处理第一图像帧序列中的每个图像帧;从图像传感器接收图像传感器从第一帧速率到第二帧速率的帧速率变化的指示;响应于从图像传感器接收到帧速率变化的指示,配置图像信号处理器的一个或多个滤波器以处理来自图像传感器的图像帧;以第二帧速率从图像传感器接收第二图像帧序列;以及以第二帧速率处理第二图像帧序列的每个图像帧。在一些实施方式中,帧速率变化的指示被包括在来自图像传感器的第一图像帧序列之后的图像帧的元数据中。
11.图像信号处理器可以还被配置来在来自第二图像帧序列的一批多个图像帧期间向应用处理器指示一次帧速率变化。该批中的图像帧的数量由图像信号处理器基于接收到的帧速率变化的指示来确定。在一些实施方式中,该批中的图像帧的数量是基于与该批相关联的帧速率的。
12.图像信号处理器可以还被配置来在配置一个或多个滤波器之后向应用处理器指示帧速率变化。图像信号处理器可以还被配置来处理第一图像帧序列的图像帧的第一间隔以生成第一部分预览流(第一间隔是基于第一帧速率的);处理第二图像帧序列的图像帧的第二间隔以生成第二部分预览流(第二间隔是基于第二帧速率的);生成包括已处理的第一图像帧序列和已处理的第二图像帧序列的视频流;输出用于显示的预览流;以及输出视频流。在一些实施方式中,预览流采用固定的帧速率,并且视频流采用变化的帧速率。
13.在一些实施方式中,该设备还包括存储器以存储查找表,该查找表将不同的帧速率映射到用于配置一个或多个滤波器的设置。图像信号处理器还被配置来基于帧速率变化使用查找表配置一个或多个滤波器。查找表可以还将不同的帧速率映射到每批图像帧的数量,用于由图像信号处理器与应用处理器进行通信。
14.在一些实施方式中,该设备包括编码器以对第一图像帧序列和第二图像帧序列进行编码来产生视频流。该设备可以包括显示器以显示预览流。该设备可以还包括应用处理器以执行与第一图像帧序列和第二图像帧序列相关联的相机应用。该设备可以还包括图像传感器,其被配置来捕获第一图像帧序列;捕获第二图像帧序列;以及向图像信号处理器指示帧速率变化。
15.一种存储指令的示例非暂时性计算机可读介质,该指令在由设备的一个或多个处理器执行时导致该设备由图像信号处理器以第一帧速率从图像传感器接收第一图像帧序列;由图像信号处理器以第一帧速率处理第一图像帧序列中的每个图像帧;由图像信号处
理器从图像传感器接收从第一帧速率到第二帧速率的帧速率变化的指示;响应于从图像传感器接收到帧速率变化的指示,配置图像信号处理器的一个或多个滤波器以处理来自图像传感器的图像帧;由图像信号处理器以第二帧速率从图像传感器接收第二图像帧序列;以及由图像信号处理器以第二帧速率处理第二图像帧序列的每个图像帧。在一些实施方式中,帧速率变化的指示被包括在来自图像传感器的第一图像帧序列之后的图像帧的元数据中。
16.该指令的执行可以可以还导致该设备:在来自第二图像帧序列的一批多个图像帧期间由图像信号处理器向应用处理器指示一次帧速率变化。该批中的图像帧的数量由图像信号处理器基于接收到的帧速率变化的指示来确定。在一些实施方式中,该批中的图像帧的数量是基于与该批相关联的帧速率的。在一些实施方式中,图像信号处理器在配置一个或多个滤波器之后向应用处理器指示帧速率变化。
17.该指令的执行可以还导致该设备由图像信号处理器处理第一图像帧序列的图像帧的第一间隔以生成第一部分预览流(第一间隔是基于第一帧速率的);由图像信号处理器处理第二图像帧序列的图像帧的第二间隔以生成第二部分预览流(第二间隔是基于第二帧速率的);由图像信号处理器生成包括已处理的第一图像帧序列和已处理的第二图像帧序列的视频流;由图像信号处理器输出用于显示的预览流;以及由图像信号处理器输出视频流。在一些实施方式中,预览流采用固定的帧速率,并且视频流采用变化的帧速率。
18.该指令的执行可以还导致该设备由存储器存储查找表,该查找表将不同的帧速率映射到用于配置一个或多个滤波器的设置。图像信号处理器基于帧速率变化使用查找表来配置一个或多个滤波器。查找表可以还将不同的帧速率映射到每批图像帧的数量,用于由图像信号处理器与应用处理器进行通信。
19.该指令的执行可以还导致该设备由编码器对第一图像帧序列和第二图像帧序列进行编码来产生视频流。
20.另一种示例设备,包括用于以第一帧速率从图像传感器接收第一图像帧序列的部件;用于以第一帧速率处理第一图像帧序列中的每个图像帧的部件;用于从图像传感器接收图像传感器从第一帧速率到第二帧速率的帧速率变化的指示的部件;用于响应于从图像传感器接收到帧速率变化的指示,配置图像信号处理器的一个或多个滤波器以处理来自图像传感器的图像帧的部件;用于以第二帧速率从图像传感器接收第二图像帧序列的部件;以及用于以第二帧速率处理第二图像帧序列的每个图像帧的部件。在一些实施方式中,帧速率变化的指示被包括在来自图像传感器的第一图像帧序列之后的图像帧的元数据中。
21.该设备可以还包括用于在来自第二图像帧序列的一批多个图像帧期间向应用处理器指示一次帧速率变化的部件。该批中的图像帧的数量由图像信号处理器基于接收到的帧速率变化的指示来确定。在一些实施方式中,该批中的图像帧的数量是基于与该批相关联的帧速率的。在一些实施方式中,在配置一个或多个滤波器之后向应用处理器指示帧速率变化。
22.该设备可以还包括用于处理第一图像帧序列的图像帧的第一间隔以生成第一部分预览流的部件(第一间隔是基于第一帧速率的);用于处理第二图像帧序列的图像帧的第二间隔以生成第二部分预览流的部件(第二间隔是基于第二帧速率的);用于生成包括已处理的第一图像帧序列和已处理的第二图像帧序列的视频流的部件;用于输出用于显示的预
览流的部件;以及用于输出视频流的部件。在一些实施方式中,预览流采用固定的帧速率,并且视频流采用变化的帧速率。该设备可以还包括用于存储查找表的部件,该查找表将不同的帧速率映射到用于配置一个或多个滤波器的设置。基于帧速率变化使用查找表来配置一个或多个滤波器。在一些实施方式中,查找表还将不同的帧速率映射到每批图像帧的数量,用于与应用处理器进行通信。
23.该设备可以还包括用于对第一图像帧序列和第二图像帧序列进行编码来产生视频流的部件。
附图说明
24.本公开的各方面在附图的图中通过示例而非限制的方式示出,并且其中相似的附图标记指代相似的元件。
25.图1是描述由图像传感器发起的帧速率变化的示例时序图。
26.图2是用于调整帧速率的示例设备的框图。
27.图3a是用于处理以不同帧速率捕获的帧的示例图像信号处理器的框图。
28.图3b是用于处理以不同帧速率捕获的帧的另一个示例图像信号处理器的框图。
29.图4是由图像传感器提供给图像信号处理器的图像帧的示例内容的描述。
30.图5是描述用于视频的图像帧处理的示例操作的说明性流程图。
31.图6是描述用于基于批大小配置图像信号处理器与处理器之间的通信的示例操作的说明性流程图。
32.图7是描述用于生成预览流的示例操作的说明性流程图。
具体实施方式
33.本公开的各方面可以使用于用来生成视频的图像捕获和处理设备。一些方面包括图像信号处理器的资源管理,该图像信号处理器以变化的帧速率处理帧。
34.设备可以被配置来调整用于要生成的视频的帧速率。例如,应用处理器指示图像信号处理器(isp)调整帧速率用于捕获处理的图像帧。isp指示图像传感器调整其捕获图像帧时采用的帧速率,并且isp配置其一个或多个图像处理滤波器(例如降噪滤波器、边缘增强滤波器、色彩平衡滤波器等等)以处理每个已捕获图像帧。isp还可以基于帧速率配置一个或多个其他组件(例如用于生成预览视频的组件)。
35.现在,一些图像传感器被配置来在没有来自图像信号处理器或应用处理器的指令的情况下调整帧速率。在一些实施方式中,图像传感器可以包括或耦合到测量接收到的光的特征的一个或多个组件,并且帧速率可以基于这些测量被调整。例如,集成电路可以测量在图像传感器处接收的光的强度。如果光强度下降到阈值以下,则图像传感器可以降低帧速率以便于增加每帧的曝光时间。其他测量可以包括测量用于图像传感器的局部运动、全局运动或色偏以确定是否要改变帧速率。图像传感器以新的帧速率捕获图像帧,并以新的帧速率向isp输出图像帧。以这种方式,isp可以随着帧速率变化从图像传感器接收图像帧的流。
36.图像传感器向isp指示帧速率变化。例如,图像传感器可以被配置为以可交换图像帧(exif)格式向isp提供图像帧。exif格式的每个图像帧包括exif报头(其可以包括有关图
像帧的信息,例如来自全球定位传感器的位置信息、来自时钟的时间信息、等等)。以新的帧速率捕获的一个或多个图像帧可以在exif报头中包括新的帧速率的指示。isp处理exif报头并确定帧速率被改变。以这种方式,帧速率变化可以由图像传感器而不是应用处理器来发起。
37.帧速率变化可能需要isp调整一个或多个滤波器(或图像处理管线的其他组件)用于以新的帧速率处理图像帧。但是,isp基于来自应用处理器的指令被配置。结果,当图像传感器改变其帧速率时,isp可能需要来自应用处理器的关于用于处理图像帧的新配置的指令。
38.图1是描述由图像传感器102发起的帧速率变化的示例时序图100。图像传感器102改变其帧速率,并且图像传感器102向isp 104指示帧速率变化(108)。例如,从图像传感器102输出到isp 104的(以新的帧速率捕获的)图像帧的报头指示新的帧速率。响应于确定帧速率正在改变,isp 104暂停帧处理(110)。例如,isp 104处理图像帧报头以确定帧速率已经在图像传感器102处被改变。由于isp 104基于来自应用处理器106的指令被配置,所以isp 104不以新的帧速率处理输入图像帧。
39.随着图像帧的处理被暂停,isp 104向应用处理器106指示帧速率变化(112)。例如,isp 104可以生成并向应用处理器106输出一个或多个指示帧速率变化的软件指令。不同类型的isp可以与不同类型的应用处理器耦合。以这种方式,isp 104可以被配置来生成通用或中间件格式的指令,该指令能够被不同类型的应用处理器(包括应用处理器106)处理。
40.应用处理器106可以使用图像传感器102和isp 104来执行用于生成视频的照相机应用或其他合适的软件应用。(执行该应用的)应用处理器106从isp 104接收帧速率变化的指示。在一些实施方式中,应用处理器106可以将通用或中间件格式的指令转换为专用于应用处理器106或该应用的格式的指令。应用处理器106从转换后的指令确定图像传感器102的帧速率已经改变。响应于确定帧速率已经改变,应用处理器106确定isp 104的配置来以新的帧速率处理图像帧(114)。在一些实施方式中,isp配置可以包括对一个或多个图像处理滤波器的改变(例如,对降噪滤波器的改变、对边缘增强滤波器的改变、对色彩平衡滤波器的改变、对阴影滤波器的改变、对几何校正滤波器的改变、减少或增加要应用于每个图像帧的滤波器的数量、改变要应用于每个图像帧的滤波器、等等)。
41.设备可以包括显示器或者耦合到显示器以提供由图像传感器102捕获的图像帧的流的预览。预览可以采用比由图像传感器102捕获的图像帧更低的帧速率。例如,图像传感器102可以以每秒60帧(fps)或120fps捕获图像帧,并且所显示的预览可以采用30fps。isp 104可以被配置来处理所捕获的图像帧的间隔以生成被显示的预览流。例如,如果预览采用30fps并且图像传感器以60fps捕获帧,则isp 104可以被配置为每隔一个帧处理给预览流。在一些实施方式中,isp 104生成两个或更多个图像帧的流。例如,一个流可以是预览流(用于要显示的预览),另一个流可以是视频流(用于生成的最终视频)。在来自图像传感器102的图像帧的流中的间隔处的图像帧可以被处理用于预览流。所有图像帧(包括在流中的间隔处的图像帧以及其余图像帧)可以被处理用于视频流。在一些实施方式中,图像帧的第一实例被处理用于预览流,并且图像帧的第二实例被处理用于视频流。在将预览流与最终视频流进行比较时,对于预览流而言,延迟可能比图像质量更为重要,因为要在捕获图像帧后
尽可能快地显示预览。为了减少延迟,处理用于预览流的图像帧可以不包括应用在处理用于视频流的图像帧中应用的所有滤波器。
42.处理图像帧用于生成预览流时采用的间隔可以由应用处理器106指示。以这种方式,当帧处理被暂停时,isp 104也可以不生成预览流。由应用处理器106确定的isp配置还可以包括处理来自图像传感器102的图像帧以生成预览流时采用的间隔的指示。
43.在应用处理器106确定用于以新的帧速率处理图像帧的isp配置之后,应用处理器106向isp 104提供指令,用于配置isp 104来以新的帧速率处理来自图像传感器102的图像帧(116)。在一些实施方式中,指令采用通用或中间件格式(例如采用由isp 104使用来向应用处理器106指示帧速率变化的格式)。isp 104处理指令,并配置isp 104来以新的帧速率处理图像帧(118)。在调整一个或多个滤波器时,isp 104可以调整处理图像帧用于预览流时采用的间隔。isp 104还可以调整一个或多个图像处理滤波器(例如降噪滤波器、边缘增强滤波器、滤波器的数量、或要应用哪个滤波器)以处理来自图像传感器102的图像帧。在isp 104基于来自应用处理器106的指令配置一个或多个滤波器之后,isp 104可以恢复处理来自图像传感器102的图像帧(120)。在isp 104暂停处理时,isp 104可以丢弃从图像传感器102接收到的图像帧。
44.对于高于阈值帧速率的帧速率,可能需要由isp 104暂停图像处理,因为图像帧捕获之间的时间可能不是足以(1)在isp 104与应用处理器106之间进行通信和(2)由isp 104基于通信配置一个或多个滤波器的时间量。例如,60fps的帧速率对应于图像帧捕获之间的小于17毫秒(ms),而120fps的帧速率对应于图像帧捕获之间的大约8ms。isp 104和应用处理器106之间的通信可能需要大于8ms(例如接近17ms)。例如,isp 104的硬件层与软件层进行交互以与应用处理器106通信,软件层中的延迟可能会导致所需时间大于8ms。以这种方式,在不暂停图像帧的处理的情况下,isp 104不能被配置用于以新的帧速率来自图像传感器102的下一个图像帧。
45.图像帧的暂停处理(其中丢弃暂停期间接收到的图像帧)会对用户体验造成负面影响,尤其是随着帧速率的持续提高(例如配置为以240fps、480fps等的帧速率捕获图像帧的图像传感器)。例如,当由于帧速率变化而暂停处理时,包括帧速率变化的视频可能包括间隙。在另一个示例中,当暂停处理时,预览流可能被挂起。
46.一种解决方案是使设备包括多个isp,以对于图像传感器捕获图像帧时可以采用的每个帧速率都具有专用isp。例如,如果图像帧能够以30fps、60fps、120fps、240fps、480fps、和960fps捕获图像帧,则该设备包括至少六个isp(对于每个帧速率都有一个isp)。以这种方式,相应的isp可以使用于处理以特定帧速率捕获的已接收图像帧。一个问题是,所有isp都被初始化或以其他方式使用电源,即使不使用时也是如此。结果,增加isp的数量会增加功耗。另一个问题是,增加isp的数量增加了设备中所需的空间。例如,可能需要更多的组件(更复杂的组件)来实现包括用于不同帧速率的多个isp的设备。
47.在一些实施方式中,isp可以被配置为处理以不同的帧速率捕获的图像帧。可以在不与应用处理器交互的情况下管理以变化帧速率处理帧的isp的资源。例如,isp可以配置一个或多个滤波器而无需来自应用处理器的指令来配置isp。配置一个或多个滤波器可以包括调整处理图像帧用于生成预览流时采用的间隔。以这种方式,当帧速率改变时,isp可能不会暂停图像帧的处理,并且视频可能不会显示中断(或可能显示减少的中断)。当帧速
率变化时,预览流也可能不会被中断(或包括减少的中断),因为isp可以调整处理图像帧时采用的间隔,而无需来自应用处理器的输入。如果isp能够配置其自身用于处理以不同帧速率捕获的图像帧,则对于isp的至少某些操作可能不需要应用处理器。
48.在以下描述中,阐述例如特定组件、电路和过程的示例的许多特定细节以提供对本公开的透彻理解。如本文所使用的术语“耦合”的意思是直接连接或者通过一或多个中介组件或电路连接。而且,在以下描述中且出于解释的目的,阐述特定术语以提供对本公开的透彻理解。然而,所属领域的技术人员将显而易见,这些特定细节可能并非实践本文公开的教示所必需的。在其它情况下,以框图的形式示出众所周知的电路和设备以避免混淆本公开的教示。以下详细描述的一些部分是关于对计算机存储器内的数据位的操作的程序、逻辑块、处理和其它符号表示来呈现。在本公开中,程序、逻辑块、过程等被视为产生所需结果的步骤或指令的自一致序列。所述步骤是需要物理量的物理操控的步骤。这些量通常采用能够在计算机系统中存储、传递、组合、比较和以其它方式操控的电信号或磁信号的形式,但不一定如此。
49.然而,应牢记,所有这些和类似术语与适当的物理量相关联,且仅为应用于这些量的方便的标签。除非从以下论述显而易见另有明确的指出,否则应了解,在整个本技术案中,使用例如“存取”、“接收”、“发送”、“使用”、“选择”、“确定”、“归一化”、“相乘”、“求平均”、“监测”、“比较”、“应用”、“更新”、“测量”、“导出”、“建立”、“生成”等术语的论述是指计算机系统或类似电子计算设备的动作和过程,所述计算机系统或类似电子计算设备操控表示为计算机系统的寄存器和存储器内的物理(电子)数量的数据并且变换成类似地表示为计算机系统存储器或寄存器或其它这类信息存储、发射或显示设备内的物理量的其它数据。
50.在图中,单个块可被描述为执行一或多个功能;然而,在实际实践中,由所述块执行的一或多个功能可在单个组件中或在多个组件上执行,和/或可使用硬件、使用软件或使用硬件与软件的组合来执行。为清晰说明硬件与软件的此可互换性,下文大体就其功能性来描述各种说明性组件、块、模块、电路和步骤。此功能性是实施为硬件还是软件取决于特定应用和强加于整个系统的设计约束。所属领域的技术人员可以针对每一特定应用以不同方式实施所描述的功能性,但此类实施决策不应被解释为引起对本公开的范围的偏离。此外,示例设备可包含除展示的组件以外的组件,包含例如处理器、存储器等众所周知的组件。
51.本公开的各个方面适用于包括或耦合到能够捕获用于视频的图像帧序列的一个或多个图像传感器的任何合适电子设备(例如安全系统、智能电话、平板电脑、膝上型计算机、数字视频相机等)。而且,本公开的各个方面可以被实施在具有或耦合到相同或不同性能和特征(例如分辨率、快门速度、传感器类型等)的图像传感器的设备中。
52.术语“设备”和“装置”不限于一个或具体数目的实物对象(例如一个智能电话、一个相机控制器、一个处理系统等等)。如本文中所使用,设备可以是具有可实施本公开的至少一些部分的一或多个部件的任何电子设备。虽然以下描述和示例使用术语“设备”来描述本公开的各种方面,但术语“设备”不限于特定配置、类型或对象的数目。如本文中所使用,装置可以包括用于执行所描述操作的设备或设备的一部分中。
53.图2是用于调整视频的帧速率的示例设备200的框图。示例设备200包括或耦合到
图像传感器202。示例设备200还包括处理器204,存储指令208的存储器206和isp 212。在一些实施方式中,设备200还包括或耦合到显示器214,并且包括多个输入/输出(i/o)组件216。设备200可以还包括或耦合到用于设备200的电源218(例如电池或将设备200耦合到电源的组件)。设备200可以包括未示出的附加特征或组件。在一个示例中,可以包括用于无线通信设备的无线接口,该无线接口可以包括多个收发器和基带处理器。在另一个示例中,一个或多个传感器(例如陀螺仪或全球定位系统(gps)接收器)可以被包括在该设备中或耦合到该设备。
54.图像传感器202可以包括能够捕获用于视频的一系列图像帧的一个或多个图像传感器。图像传感器202可以包括设备200的相机模块(例如,用于智能电话或其他合适设备的单相机模块、双相机模块,三相机模块等)的一个或多个图像传感器。图像传感器202可以还包括(或耦合到)用于聚焦光的一个或多个透镜、用于接收光的一个或多个孔、用于在曝光窗之外阻挡光的一个或多个快门、用于滤除特定频率范围之外的光的一个或多个滤色器阵列(cfa)、用于将模拟测量值转换为数字信息的一个或多个模拟前端、或用于成像的其他合适组件。设备200可以还包括闪光灯、深度传感器、gps、或用于成像的其他合适组件。
55.图像传感器202可以被配置为在没有来自isp 212或处理器204的干预的情况下调整其帧速率。在一些实施方式中,图像传感器202包括或耦合到一个或多个组件(例如包括一个或多个集成电路或其他传感器)以测量接收到的光的一个或多个特征。例如,可以测量光的强度。在另一个示例中,可以随着时间过去测量在图像传感器上的光强度的变化,以确定全局运动(由图像传感器202的运动引起)或局部运动(由在图像传感器202捕获的场景中的一个或多个对象运动引起)。图像传感器202可以被配置为基于一个或多个测量来调整帧速率。例如,如果全局运动或局部运动增加超过阈值,则图像传感器202可以增加帧速率。在另一个示例中,图像传感器202可以在光强度降低超过阈值时降低帧速率。虽然提供了用于调节图像传感器的帧速率的一些示例,但是可以执行任何合适的测量、阈值或其他手段来确定何时调节帧速率。
56.图像传感器202被配置为向isp 212指示帧速率变化。在一些实施方式中,图像传感器202以第一帧速率捕获第一图像帧序列并将其提供给isp 212。图像传感器202可以将第一帧速率改变为第二帧速率,并以第二帧速率继续捕获图像帧(例如第二图像帧序列)。图像传感器202以第二帧速率向isp 212提供第二图像帧序列。在由图像传感器202向isp 212指示帧速率变化时,第二序列中的一个或多个图像帧的报头可以指示帧速率变化。例如,报头可以指示捕获图像帧时采用的帧速率。在另一个示例中,报头可以指示帧速率之间的差异、帧速率的特定变化或在指示变化中的其他合适方式。尽管这些示例描述了使用exif报头来指示由图像传感器202向isp 212发送的帧速率变化,但是可以使用任何合适格式的报头来指示帧速率变化。除图像帧报头之外或作为其替代,图像帧的其他分量可用于指示帧速率变化(例如页脚、图像帧主体中的特定位置等)。除图像帧的一个或多个分量之外或作为其替代,可以使用用于指示帧速率变化的其他方式。例如,图像传感器202可被配置为提供在图像帧外部的专有或标准化信令以指示帧速率变化。
57.isp 212可以包括一个或多个图像信号处理器以处理由图像传感器202提供的已捕获图像帧。isp 212能够在图像传感器202指示帧速率变化之后配置其自身,而无需来自处理器204的干预。例如,isp 212响应于根据从图像传感器202接收的图像帧的一个或多个
exif报头确定帧速率变化,在没有来自处理器204的指令的情况下配置一个或多个滤波器。isp 212可以在配置isp212的同时或之后向处理器204指示帧速率变化。例如,isp 212可以生成一个或多个通用或中间件指令(例如基于处理器204和isp 212之间的桥接件),并且当isp 212接下来与处理器204通信时,可以将指令提供给处理器204。isp 212不需要等待与处理器204的下一次通信和来自处理器204的配置指令来配置isp 212。例如,isp 212可以将与不同帧速率(或帧速率变化)相关联的不同配置文件存储在存储器中(例如,包括在isp 212中或耦合到isp 212的存储器、存储器206或另一合适的存储器中)。isp 212可以被配置为基于所指示的帧速率或帧速率变化来识别要访问的文件。isp 212可以访问所识别的文件,并且isp 212可以基于所访问的文件来配置一个或多个滤波器。配置文件与帧速率(或帧速率变化)之间的关联可以存储在包括于isp 212中或耦合到isp 212的存储器的查找表中。
58.在一些实施方式中,isp 212还被配置为控制图像传感器202的一个或多个方面。例如,isp 212仍然可以向图像传感器202指示由处理器204发起的帧速率变化。isp 212可以被配置为控制图像传感器202的其它方面,包括初始化、自动聚焦、自动曝光或其它功能、闪光操作、要由模拟前端施加的增益等。
59.isp 212可能仍然能够从处理器204接收配置(例如,当由处理器204发起帧速率变化时)。以这种方式,isp 212能够基于来自图像传感器202的帧速率变化的指示或者基于来自处理器204的指令来配置自身。isp 212可以与处理器204一起被包括在片上系统(soc)上,或者isp 212可以与设备200中的处理器204分立。isp 212还可以被配置为将用于视频的已处理图像帧流提供给用于编码或进一步处理的向处理器204(或其他合适组件,例如用于存储的存储器206)。在一些实施方式中,isp 212可以将已处理图像帧输出给存储器(例如存储器206或由isp 212和处理器204访问的不同存储器)。例如,isp 212可以在特定扇区(例如以与图像帧的大小相关联的固定间隔)寻址存储器,以存储每个已处理图像帧。在一些实施方式中,isp 212可以将第一组已处理图像帧输出到存储器,用于预览流。第一组已处理图像帧可以是由isp212处理的图像帧的子集,并且预览流可以由图形处理器或其他合适组件访问以在显示器214上显示预览流。isp 212还可以输出第二组已处理图像帧,用于视频流。第二组已处理图像帧可以包括由isp 212处理的所有图像帧,并且视频流可以由处理器204访问用于进行进一步处理(例如用于编码等)。第一组已处理图像帧可被存储在存储器的第一部分中,第二组已处理图像帧可被存储在存储器的第二部分中。
60.在一些方面,isp 212可以执行来自存储器的指令(例如来自存储器206的指令208、存储在耦合到isp 212或包括在isp 212中的单独存储器中的指令、或者由处理器204提供的指令(如适用时,在被转换成isp 212专用指令之后))。除了被配置为执行软件的isp 212之外或作为替代,isp 212可以包括特定硬件(例如一个或多个集成电路(ic))以执行在本公开中描述的一个或多个操作。
61.存储器206可以是存储计算机可执行指令208以执行本公开中描述的一个或多个操作的全部或一部分的非瞬时性或非暂时性计算机可读介质。在一些实施方式中,指令208包括将由设备200执行用于生成视频的相机应用(或其他合适的应用)。指令208可以还包括由设备200执行的其他应用或程序(例如除了用于视频生成之外的操作系统和特定应用)。(例如,由处理器204)执行相机应用可能会导致设备200使用图像传感器202和isp 212生成
视频。虽然示例设备200被描述为包括存储器206,但在某些实施方式中,设备200可以不包括存储器206。例如,存储器可以在设备200的外部,并且设备200可以被配置为访问存储器。
62.处理器204可以包括能够执行存储在存储器206内的一个或多个软件程序的脚本或指令(例如指令208)的一个或多个通用处理器。例如,处理器204可以包括被配置为执行存储在存储器206中的相机应用(或用于生成视频的其他合适的应用)的一个或多个应用处理器。在执行相机应用时,处理器204可以被配置为指示isp 212参考图像传感器202执行一个或多个操作。例如,处理器204可以被配置成指示帧速率变化和isp配置,用于处理以已改变帧速率捕获的图像帧。执行在相机应用外部的指令208还可以使设备200执行任何数量的功能或操作。在一些实施方式中,除了执行软件以使设备200执行许多功能或操作(包括本文所述的操作)的能力之外,处理器204可以还包括ic或其他硬件。
63.在一些实施方式中,处理器204可包括编码器210。编码器210可被配置为对来自isp 212的已处理图像帧流进行编码来产生视频。然后视频可以被提供给存储器206用于存储。在一些实施方式中,视频可以被输出到另一合适的组件,例如显示器214或用于显示的图形处理器,用于从设备200输出的输出组件等。在一些实施方式中,编码器210可以实施在由处理器204执行的软件中。例如,编码器210可以实施在存储于存储器206中的指令208中。在一些其他实施方式中,编码器210可以实施在处理器204的硬件(例如一个或多个ic)、或软件和硬件的组合中。虽然示出为被包括在处理器204中,但是编码器210可以被实施在设备200的任何合适的组件中或在设备200的外部。例如,编码器210可以被实施在isp 212或耦合到isp 212的单独集成电路中,用于对已处理图像帧流进行编码来生成视频。尽管在图2中示例设备200被描述为包括处理器204,但是,在一些实施方式中,示例设备200可以不包括处理器204。例如,处理器可以在设备200的外部,并且设备200可以被配置为与处理器通信。
64.尽管在图2的示例中示出为经由处理器204彼此耦合,但是处理器204、存储器206、isp 212、可选显示器214和可选i/o组件216可以以各种布置彼此耦合。例如,处理器204、存储器206、isp 212、显示器214和/或i/o组件216可以经由一个或多个本地总线(为了简化而未示出)彼此耦合。
65.显示器214可以是允许用户交互和/或向用户呈现项目(例如,由图像传感器202捕获的图像帧的预览)的任何合适显示器或屏幕。在一些方面中,显示器214是触敏显示器。i/o组件216可以是或包括任何合适的机构、接口或设备,以从用户接收输入(例如命令)并向用户提供输出。例如,i/o组件216可以包括(但不限于)图形用户界面(gui)、键盘、鼠标、麦克风和扬声器、可挤压框条、一个或多个按钮(例如电源按钮)、滑块或开关等。
66.如上所述,isp 212可以包括用于在图像处理管线期间处理图像帧的一个或多个isp。同样如上所述,isp 212可以被配置为处理图像帧的子集用于生成预览流。例如,isp 212可以被配置为以与从图像传感器202接收到的图像帧序列相距规定间隔来处理每个图像帧。该间隔可以基于与捕获图像帧时采用的帧速率相比的、用于预览流的帧速率。例如,isp 212也可以被配置为处理所有图像帧用于生成视频流。例如,isp 212可以被配置为处理从图像传感器202接收的每个图像帧,并且已处理图像帧可以被(例如由编码器210)编码来生成视频。如本文所述,isp 212可以基于由图像传感器202指示的帧速率变化来配置其一个或多个滤波器(或图像处理管线的其他滤波器和组件)。
67.如本文所使用,间隔可以指对象之间的间隔(在时间上或空间上)。例如,以四个图像帧的间隔处理图像帧(也可以称为每第四个图像帧进行处理)可以是指处理图像帧序列的第一图像帧,处理该图像帧序列(从第一图像帧起的四个图像帧)的第五个图像帧,处理图像帧序列(从第五个图像帧起的四个图像帧)的第九个图像帧,等等。在另一示例中,以16个字节的间隔访问存储器(也可以称为每第16个字节进行访问)可以是指访问存储器的字节n,访问存储器的字节n+16,访问存储器的字节n+32,等等。
68.图3a是用于处理以不同帧速率捕获的帧的示例isp 300的框图。isp 300可以是图2中的isp 212的示例实施方式。isp 300被配置为接收由图像传感器302捕获的一个或多个图像帧序列。图像传感器302可以是图2中的图像传感器202的示例实施方式。isp 300还可以被配置为输出用于预览流的第一已处理图像帧序列,并输出用于视频流的第二已处理图像帧序列。以这种方式,isp 300可以是单输入多输出(simo)组件,其中单输入是来自图像传感器302的图像帧流,而多输出是已处理图像帧的预览流和视频流。在某些实施方式中,用于预览流的已处理图像帧被输出到存储器的第一部分(例如图2中的存储器206或耦合到isp 300和处理器304的不同存储器),用于视频流的已处理图像帧被输出到存储器的第二部分。处理器304可以是图2中的处理器204的示例实施方式。在一些实施方式中,处理器304可以访问存储器以获得用于视频流的已处理图像帧,并且处理器304可以对已处理图像帧进行编码或进一步处理。在一些其他实施方式中,isp 300可以将用于视频流的已处理图像帧直接提供给处理器304。存储用于预览流的已处理图像帧的存储器的第一部分可以由图形处理器或用于显示预览的其他合适组件来访问。在一些其他实施方式中,isp 300可以将用于预览流的已处理图像帧直接提供给用于显示预览的组件。
69.isp 300包括相机子系统(csid)324和成像前端(ife)326。在一些实施方式中,csid 324包括控制器306。控制器306从图像传感器302接收图像帧流。例如,控制器306可以接收以第一帧速率捕获的第一图像帧序列,并且控制器306可以接收以第二帧速率捕获的第二图像帧序列。尽管未示出,但是模拟前端可以将来自图像传感器302的每个图像帧的模拟图像数据转换为由csid 324接收的数字格式。csid 324可以处理一个或多个图像帧报头(或其他图像元数据)以确定帧速率。如果帧速率改变,则csid 324可以确定为isp 300配置新的帧速率。在一些实施方式中,csid 324包括控制器306以接收图像帧并处理图像帧报头(或其他图像元数据)来确定帧速率。控制器306还可以确定为isp 300配置新的帧速率。配置isp 300可以包括配置isp 300的一个或多个滤波器310a-310k。滤波器310a-310k可以执行任何合适的图像处理功能(例如颜色平衡、重新马赛克或去马赛克、降噪、边缘增强、颜色变换、阴影校正、几何校正等)。配置一个或多个滤波器310a-310k可以包括为滤波器配置一个或多个参数(例如阈值、内核、或影响滤波器的其他输入)或者配置哪些滤波器对于处理图像帧是暂停的还是活跃的。配置isp 300还可以包括配置其他组件用于处理以新的帧速率捕获的图像帧。虽然将滤波器310a-310k描述为包括在csid 324中,但是一个或多个滤波器310a-310k可以包括在ife 326或isp 300或图像处理管线的另一部分中。在一些实施方式中,配置isp 300还包括配置isp 300来仅处理(或排队)用于预览流的图像帧的一部分。例如,isp 300可以被配置为以预定的间隔将图像帧使用于预览流,以补偿所捕获的图像帧和预览流之间的帧速率差。
70.在一些实施方式中,预览的帧速率可以是静态的。例如,预览的帧速率可以保持在
30fps,而图像帧输入流的帧速率可以在30fps和960fps之间的任何位置变化。如果以30fps捕获输入流,则预览流可以包括每个已处理图像帧的实例(其中isp 300不会针对预览流跳过任何图像帧)。如果以高于30fps的速度捕获输入流,则预览流可能仅包含已处理图像帧的一部分的实例(例如,以60fps捕获时每隔一个图像帧,以120fps捕获时每第四个图像帧的实例,等等)。配置一个或多个滤波器的控制器306可以包括减少要针对预览流处理或排队的图像帧的数量。在一些实施方式中,控制器306确定在要针对预览流处理的流中的图像帧的间隔。该间隔可以对应于预览帧速率与输入流的帧速率之间的比率。例如,如果预览帧速率为30fps,而输入流的帧速率为120fps,则该比率为1:4(30fps至120fps)。以这种方式,控制器306确定预览流将包括由isp 300处理的每第四个图像帧。isp 300因此可以被配置为从预览流中滤除剩余的图像帧。在一些实施方式中,isp 300包括(或耦合到)查找表(lut)308。lut308可以包括帧速率到间隔或比率的映射。以这种方式,控制器306可以从lut 308获得间隔或比率,以配置要针对预览流处理或排队哪些图像帧。
71.isp配置可以指示针对特定帧速率要将什么配置应用于isp 300(或图像处理管线)。例如,与60fps帧速率相关联的isp配置可以指示滤波器310a-310k、isp 300的其他组件(或图像处理管线的其他部分)的配置,或用于处理用于预览流的图像帧的间隔。如上所述,isp 300可以包括(或耦合到)lut308以存储帧速率到特定isp配置的映射。例如,图像传感器302可以被配置为以多个不同的帧速率捕获图像帧。lut 308可以将至少一个isp配置映射到每个不同的帧速率。在示例实施方式中,图像传感器302可以在30fps、60fps、120fps、240fps、480fps和960fps之间调整其帧速率。lut 308存储映射到30fps的第一isp配置、映射到60fps的第二isp配置、映射到120fps的第三isp配置、映射到240fps的第四isp配置、等等。控制器306从已接收图像帧的报头(或其他元数据)确定帧速率,在lut 308中查找帧速率,并获得映射到lut 308中的帧速率的isp配置。然后控制器306基于已获得的isp配置对isp 300进行配置(包括一个或多个滤波器310a-310k和/或用于处理用于预览流的间隔)。
72.如上所述,图像传感器302可以被配置为在没有来自isp 300或处理器304的输入的情况下调整其帧速率,并且图像传感器302可以向isp 300指示帧速率变化。在一些示例中,图像传感器302可以在一个或多个图像帧报头或图像帧元数据的其他部分中指示帧速率变化(例如,指示新的帧速率或帧速率差)。csid 324从图像传感器302接收图像帧。例如,csid 324可以接收以第一帧速率捕获的第一图像帧序列,并且csid 324可以接收以第二帧速率捕获的第二图像帧序列。第二图像帧序列中的一个或多个图像帧可以指示从第一帧速率到第二帧速率的帧速率变化(例如指示新的帧速率的报头)。在一些其他实施方式中,图像传感器302可以向isp 300提供单独的信令以指示帧速率变化或新的帧速率。
73.ife 326可以被配置为从csid 324接收已处理图像帧,并输出用于预览流和视频流的已处理图像帧。在一些实施方式中,ife 326可以包括两个队列或缓冲器:一个针对用于预览流的已处理图像帧,一个针对用于视频流的已处理图像帧。ife 326可以将每个已处理图像帧的实例存储在视频流的队列中,并且ife 326可以按规定间隔将已处理图像帧的实例存储在用于预览流的队列中的已处理图像帧的流中。配置isp 300可以包括配置ife 326以调整将已处理图像帧排对用于预览流时采用的间隔。ife 326还可被配置为将每个已处理图像帧输出到存储器中的规定位置(例如用于开始存储已处理图像帧的规定扇区)。例
如,ife 326可以将用于预览流的已处理图像帧输出到存储器的第一部分,并且将用于视频流的已处理图像帧输出到存储器的第二部分。
74.在一些其他实施方式中,csid 324为预览流提供第一组已处理图像帧,为视频流提供第二组已处理图像帧。ife 326可以被配置为将已处理图像帧输出到存储器中的适当位置。在一些其他实施方式中,ife 326可以将已处理图像帧提供给另一合适的组件(例如,用于视频流的处理器304或用于预览流的图形处理器)。在一些实施方式中,ife 326还被配置为处理从csid 324接收的一个或多个图像帧。例如,ife 326可以包括一个或多个滤波器310a-310k。
75.在一些实施方式中,csid 324和ife 326被包括在单个isp中。在一些其他实施方式中,isp 300可以包括多个isp,其中csid 324在一个isp中,而ife在另一个isp中。以这种方式,isp 300可以是单个芯片、多个芯片,单个片上系统(soc)、多个soc、或用于图像帧处理的其他合适配置。
76.在一些实施方式中,isp 300被配置为执行批处理。isp 300可以不与处理器304对每个图像帧进行通信。批处理可以是指处理在与处理器304通信的实例之间的多个图像帧。批可以是指在与处理器304通信的实例之间处理的图像帧组。批大小可以是指该批中图像帧的数量。csid 324(例如控制器306)还可基于批大小来配置何时与处理器304进行通信。例如,当帧速率是30fps时,isp 300和处理器304可以每一个帧进行一次通信。当帧速率是60fps时,isp 300和处理器304可以每隔一个帧进行一次通信。当帧速率为120fps时,isp 300和处理器304可以每第四个帧进行一次通信。当帧速率是240fps时,isp 300和处理器304可以每第八帧进行一次通信。当帧速率是480fps时,isp 300和处理器304可以每第十六帧进行一次通信。当帧速率是960fps时,isp 300和处理器304可以每第三十二帧进行一次通信。以这种方式,当图像传感器302的帧速率改变时,isp 300和处理器304进行通信时所在的时间段可以保持相对静态。例如,如果在帧速率为30fps时对每一个图像帧都发生通信,则通信之间的间隔可能约为16.66ms。当图像传感器302的帧速率改变时,调整批大小可以允许间隔保持在大约16.66ms。在一些实施方式中,lut 308将帧速率映射到批大小。以这种方式,csid 324可以基于从lut 308获得的批大小来配置与处理器304进行通信的isp 300。例如,控制器306可以配置其何时与处理器304进行通信。
77.用于处理或排队用于预览流的图像帧的间隔或比率可以基于批大小。例如,与处理器304对每一个帧进行通信可以基于30fps的帧速率,并且预览可以是30fps。以这种方式,lut 308中的间隔或比率可以是批大小。在一些其他示例中,与isp 300和处理器304之间的通信速率相比,预览的帧速率(可以以帧数来测量)可以是分数或倍数(例如1/4、1/2、2、4等等)。以这种方式,csid 324可以基于从lut 308获得的批大小来确定间隔。
78.isp 300还可被配置为给图像传感器302指示一个或多个捕获特性。例如,isp 300可以向图像传感器302指示由处理器304发起的已请求帧速率变化。在一些实施方式中,处理器304可以向控制器306指示帧变化(和isp配置)。在一些实施方式中,isp配置可以基于由处理器304指示的帧速率使用lut 308来确定。控制器306可以向图像传感器302指示帧速率变化,并且配置isp 300的一个或多个滤波器用于处理来自图像传感器302的图像帧。如上所述,配置isp 300的一个或多个滤波器可以包括配置一个或多个滤波器310a-310k,配置ife 326以提供用于预览流的已处理图像帧的子集,配置csid 324(例如控制器306)以按
规定间隔与处理器304通信,或配置isp300的其他组件。图3a描述isp 300的简化框图以描述本公开的各个方面。isp 300中可以包括其他组件或组件的不同配置以用于执行本公开的各个方面,并且isp 300和本公开不限于图3a中的示例描述。在一个示例中,虽然lut 308被描述为包括在isp 300中,但是lut可以被存储在isp 300之外并耦合到isp 300。在另一个示例中,虽然描述了一个csid和一个ife,但是isp 300可以包括多个csid和/或多个ife。在图3b中描述了包括多个csid和ife的示例isp。
79.图3b是用于处理以不同帧速率捕获的帧的示例性isp 350的框图。isp 350可以类似于isp 300,除了isp 350可以包括第一csid 374a和第一ife 376a以及第二csid 374b和第二ife 376b。图像传感器352可以类似于图3a中的图像传感器302并且可以是图2的图像传感器202的示例性实施方式。处理器354可以类似于图3a中的处理器304。并且可以是图2中的处理器204的示例性实施方式。
80.随着帧速率的增加,单个csid(或ife)可能没有足够的图像帧处理速率。例如,图像传感器352可以以480fps(或更高)被配置到已捕获的图像帧。480fps的帧速率对应于帧之间约2.1ms。但是,csid和ife可能需要超过2.1ms来处理图像帧。在一些实施方式中,isp 350包括多个csid和ife(例如csid 374a和ife 376a以及csid 374b和ife 376b)。csid 374a和ife 376a可以处理来自图像传感器352的第一部分图像帧,而csid 374b和ife 376b可以处理来自图像传感器352的第二部分图像帧。例如,第一csid 374a可以每隔一个图像帧进行处理(例如通过应用一个或多个滤波器360a-360k),第二csid 374b可以处理剩余的图像帧(例如,通过应用一个或多个滤波器360p-360z)。ife 376a为预览流提供第一部分已处理图像帧的至少一些,为视频流提供所有第一部分已处理图像帧。ife 376b为预览流提供第二部分已处理图像帧的至少一些,为视频流提供所有第二部分已处理图像帧。例如,每个ife 376a和376b可以被配置为寻址存储器的特定扇区,以确保为预览流和视频流两者存储已处理的帧。以这种方式,可以同时处理图像帧以提高isp 350处理图像帧时可采用的速率。
81.在一些实施方式中,isp 350可以包括用于临时保存来自图像传感器352的图像帧的缓冲器364或其他合适的组件。然后控制器356a和356b的每一个可以获取要由相应的csid 374a或csid 374b处理的合适图像帧。存储在lut 358中的isp配置可以指示如何分割帧用于由多个组件进行处理。以这种方式,控制器356a(或控制器356b)可以配置缓冲器364或其他组件,用于将图像帧路由到csid 374a和374b以进行处理。
82.csid 374a和374b以及ife 376a和376b可以以任何合适的方式使用用来以不同的帧速率处理图像帧。例如,当帧速率低于480fps(例如30fps、60fps、120fps、或240fps)时,csid 374a和ife 376a可能能够处理所有图像帧。但是,当帧速率为480fps或更高时,csid 374a和ife 376a可能难以处理所有图像帧。在一些实施方式中,当帧速率低于阈值帧速率(诸如低于480fps)时,isp 350可以仅使用一个csid和一个ife(例如csid 374a和ife 376a)。以这种方式,配置isp 350可以还包括基于帧速率来激活或停用csid 374b和ife 376b。例如,控制器356a可以指示控制器356b准备csid 374b和ife 376b以处理图像帧。在另一个示例中,单个控制器356a可以用于控制和配置两个csid和两个ife。在一些其他实施方式中,csid 374a和374b可以与帧速率无关地交替图像帧以进行处理。以这种方式,csid和ife对于所有帧速率都可以是活动的。
83.isp 350还可被配置为给图像传感器352指示一个或多个捕获特性。例如,isp 350可以向图像传感器352指示由处理器354发起的请求的帧速率变化。在一些实施方式中,处理器354可以向isp 350指示帧变化(和isp配置)。在一些实施方式中,isp配置可以基于由处理器354指示的帧速率使用lut 358来确定。尽管图3b描述了处理器354与控制器356b进行通信,但是处理器354可以向任何合适的组件(例如控制器356a)提供指令。同样,虽然图3b描述了图像传感器352从控制器356b接收指令,但是图像传感器352可以从任何合适的组件(例如控制器356a)接收指令。
84.如在图3a和图3b中的isp的示例描述中所示,图2b中的isp 212可以包括不同的配置以处理来自图像传感器202的图像帧并与处理器204通信。虽然参考图3a中的isp 300描述了下述示例来描述本公开的各个方面,但是可以使用isp的任何合适配置(包括图3b中的isp 350的示例配置)。
85.如上所述,可以在图像帧报头或其他合适的元数据中指示帧速率变化或新的帧速率。在一些实施方式中,当图像帧流具有改变的帧速率时,以新的帧速率捕获的图像帧可以与不同于之前以旧的帧速率捕获的图像帧的不同流或会话标识(id)(在本文中称为流id)相关联。以这种方式,isp 300可以将以第一帧速率捕获的第一图像帧序列与第一流id相关联,并且将以第二帧速率捕获的第二图像帧序列与第二流id相关联。以这种方式,isp 300可以在图像帧流中发生帧速率变化时进行管理和准确描述。
86.图4是由图像传感器提供给isp的图像帧400的示例内容的描述。图像帧400以帧起始(sof)402开始。sof 402的至少一部分可以包括数据id字段424、字计数(wc)字段426(包括第一部分wc 1 426a和第二部分wc 1 426b)、和错误校正码(ecc)428。数据id字段424可以包括指示图像帧400的开始的位序列或代码。在一些实施方式中,wc 1 426a包括用于图像帧400的帧计数。wc 2 426b可以包括零填充或其他未使用的值。在一些其他实施方式中,wc 2 426b可以还包括帧计数(例如,帧计数的第二实例或与wc 1 426a组合用于单个帧计数)。在一些实施方式中,wc字段426包括16个位(其中子字段wc 1 426a包括位0-7,而wc 2 426b包括位8-15)。位0-7可以包括帧计数。位8-15可以包含固定值(例如零或已知的位模式)。ecc 428可以包括用于确定接收到的图像帧400中是否存在任何错误的错误校正码。在一些实施方式中,sof 402可以包括其他字段,并且在图4中可以仅示出sof 402的一部分。
87.图像帧可以还包括分组报头。在所描述的图像帧400中,分组报头可以包括视频编码(vc)字段404和去量化(或解码)表(dt)406(例如,包括dt 406a、dt 406b、dt 406c、和dt 406d)。vc字段404可以指示图像传感器在其中将图像帧提供给isp的格式。dt 406a可使用于解码包括图像传感器像素信息410的图像帧部分的边界(ebd 408)。dt 406b可使用于解码图像传感器像素信息410。dt 406c可使用于解码陀螺仪(或其他传感器)数据412。dt 406d可使用来解码自动提示标记数据414。
88.对于图像帧400的包括非零信息的部分(例如字段404-414),这些部分可以包括附加在其末端的分组页脚(pf)416(例如pf 416a、pf 416b、pf416c、和pf 416d)。例如,ebd 408可以包括pf 416a,图像传感器像素信息410可以包括pf 416b,陀螺仪数据412可以包括pf 416c,并且自动提示标志数据414可以包括pf 416d。pf 416可以指示该字段的行的结束或来自图像帧400剩余部分的字段的其他详细描述。图像帧400在sof 402和帧结束(eof)418之间的剩余部分(字段404-416的外部)可以包括行消隐420。行消隐420可以是零填充或
其他数据以填充图像帧400的未使用部分。如图所示,在图像帧400和流中的下一个图像帧之间可以有间隔422。
89.在一些实施方式中,图像传感器将流id分配给图像帧流。为了指示帧速率变化,图像传感器可以向以新的帧速率捕获的图像帧分配不同的流id。例如,流可以包括以第一帧速率捕获的第一图像帧序列和以第二帧速率捕获的第二图像帧序列。第一图像帧序列可以与第一流id相关联,并且第二图像帧序列可以与第二流id相关联。流id(例如值或格式)可以对应于帧速率。例如,流id的一部分可以包括指示帧速率的多个位。
90.在一些实施方式中,与图像帧400相关联的流id被包括在报头、ebd 408或图像帧400的另一合适部分中。例如,流id可以被包括在ebd 408中。ebd 408中的流id的格式(例如长度、位的顺序、流id中指示的信息等)可以是可编程的。附加地或替代地,流id在ebd 408中的位置可以是可编程的。图像传感器和isp可以被配置为针对图像传感器使用任何合适的格式流id和流id的位置,以向isp指示帧速率。
91.在可编程流id的一些实施方式中,isp可以包括要被使用来确定图像帧400中的流id的位置和流id的格式的多个可编程寄存器。一个寄存器可以是一个流id长度寄存器。在一些实施方式中,流id长度寄存器是2位,并且指示流id中的字节数。以这种方式,流id长度寄存器可以指示多达四个不同的字节长度。例如,00可以指示ebd 408中不包含流id(长度为0个字节),01可以指示流id长度为1个字节,10可以指示流id长度为2个字节,并且11可以指示流id长度为3个字节。在一些实施方式中,11可以被保留以指示除字节长度之外的东西(例如流id除了在在ebd中之外的第二位置)。
92.其他寄存器可以包括流id x偏移寄存器或流id y偏移寄存器,以指示流id在ebd 408中的位置。ebd 408包括一个或多个行,该行包含多个位。如图所示,每行的位数可以与图像传感器像素信息410的每行的位数相同。但是,每行的位数可以是任何合适的数量。流id x偏移寄存器可以指示流id从ebd 408中的行的开始起的偏移。该偏移可以以字节为单位来测量。在一些实施方式中,流id x偏移寄存器是16位,并且指示流id从ebd 408中的行的开始起偏移的字节数。ebd 408可以是两个或更多个行。流id y偏移寄存器可以指示流id从ebd 408中的第一行起的偏移。该偏移可以按行为单位来测量。在一些实施方式中,流id y偏移寄存器是6位,并且指示流id从ebd 408中的第一行起偏移的行数。尽管流id x偏移和y偏移寄存器被描述为指示流id在ebd 408中的位置,但在某些实施方式中,流id x偏移和y偏移寄存器可使用来指示流id在图像传感器像素信息410中的位置。例如,图像传感器可以将流id放置在图像传感器像素信息410中的位置中,并且isp可以使用寄存器来确定流id的位置。在一些其他实施方式中,寄存器可使用来指示流id在图像帧400的其他部分中的位置。
93.流id可以与包括在vc字段404中的vc id相关联。vc id可以由图像传感器基于所使用的视频编码或图像帧捕获的其他特征(例如时间、会话数、帧速率等)来分配。回到图3a,isp 300可以解码输入图像帧400以识别vc id(在vc字段404中)和流id(例如基于指示流id的位置和长度的寄存器的数量)。lut 308可以将vc id和/或流id的至少一部分映射到isp配置和批大小。csid 324可以使用vc id和/或流id来在lut 308中查找isp配置。例如,如果vc id或流id改变,csid 324可以从lut 308获得新的isp配置,并基于新的isp配置来配置isp 300。
94.在一些其他实施方式中,vc id可以使用来确定流id。例如,图像传感器可以基于帧速率变化来改变vc id。以这种方式,vc id值可以与帧速率相关联。可以基于帧速率预定对vc id的改变,使得可以从vc id确定流id。在一些实施方式中,lut 308可以包括vc id到流id(或帧速率)的映射,以供isp 300从vc id确定流id或帧速率。
95.在一些实施方式中,图像处理管线(包括isp 300)可以处理来自多个图像传感器的图像帧。来自不同图像传感器的输入图像帧因此可以包括不同的vc id。isp 300可以在处理之后使用vc id来管理图像帧并且将图像帧分离到各个流(例如将已处理图像帧存储在存储器用于不同流的各个区域中)。例如,isp 300可以接收具有两个不同vc id的两个流,并且图像处理管线可以支持处理具有两个不同vc id的不同图像帧。例如,可以交错处理来自两个流的图像帧。ife 326可以包括与两个不同vc id相关联的两个缓冲器或队列,已处理图像帧可以被放置在相应缓冲器中。然后ife 326可以将来自与流相关联的缓冲器的已缓冲图像帧输出到存储器中的相应位置。
96.回到参考图2,isp 212可以不与处理器204对每个图像帧进行通信。例如,如果帧速率是30fps的倍数,则在与处理器204的通信之间要由isp 212处理的该批图像帧可以采用30fps的相似倍数。响应于当通信发生时,处理器204可以指示isp配置,以指示帧速率变化。已经使用存储的isp配置(例如从图3a中的lut 308获得)来配置isp 212。但是,来自处理器204的isp配置可能与存储的isp配置不同。例如,如果设备200处于省电模式中,则处理器204可以指示视频将采用比图像传感器202用来捕获图像帧时采用的帧速率更低的帧速率。在另一个示例中,处理器204可以向图像处理管线中的一个或多个滤波器指示差异。在一些实施方式中,isp 212将接收到的isp配置与所存储的isp配置进行比较以识别任何差异。如果识别出一个或多个差异,则isp 212可以基于识别出的差异来调整一个或多个滤波器。可以在继续处理图像帧的同时执行该比较。以这种方式,isp 212不需要暂停处理,并且不中断最终的视频或预览。
97.如本文所述,isp可以被配置为基于来自图像传感器的所指示帧速率变化来管理其资源(例如其滤波器、一个或多个csid、一个或多个ife、等等)。虽然描述了图像帧格式、isp配置和设备配置的一些示例,但是可以使用任何合适的设备或组件配置和信息格式来执行本公开的各个方面。在描述对于isp管理其资源的以下示例性方法中参考了图2中描述的示例设备200和图3a描述的示例性isp 300。图2和图3a使用来教导本公开的各个方面,但是以下方法的操作不限于由设备200或isp 300的特定配置来执行。
98.图5是描述用于视频的图像帧处理的示例操作500的说明性流程图。图像传感器202被配置为在没有来自isp 212或处理器204的干预的情况下调整其帧速率。isp 212被配置为在没有来自处理器204的干预的情况下基于帧速率变化调整对来自图像传感器202的图像帧的处理。
99.在502处,isp 212从图像传感器202接收第一图像帧序列。以第一帧速率捕获第一图像帧序列。在504处,isp 212以第一帧速率处理第一图像帧序列的每个图像帧。在一些实施方式中,isp 212已经被配置为处理以第一帧速率捕获的图像帧。例如,可以基于之前由处理器204指示或之前由图像传感器202指示的帧速率来预先配置isp 212。以这种方式,isp 212可以处理第一图像帧序列(504)中的每个图像帧。在一些实施方式中,isp 212处理第一图像帧序列的每个图像帧用于生成视频流。isp 212可以还处理第一图像帧序列的至
少一个子集用于生成预览流。
100.在506处,isp 212从图像传感器202接收图像传感器202从第一帧速率到第二帧速率的帧速率变化的指示。可以在图像帧的元数据(例如报头或ebd)中指示帧速率。在一些实施方式中,以第二帧速率捕获的一个或多个图像帧可以包括帧速率变化为第二帧速率的指示。例如,图像帧中的流id或vc id可以使用来指示捕获图像帧时采用的帧速率。isp 212可以识别图像帧中的流id或vc id,并且流id或vc id可以使用来获得isp配置。例如,csid 324或控制器306(图3a)可以标识流id或vc id,并使用流id或vc id来从lut 308获得isp配置。isp配置可以指示帧速率或以其他方式允许isp 212以新的帧速率处理图像帧。在一些其他实施方式中,图像传感器202可以经由图像帧外部的信令向isp 212指示帧速率。
101.在508处,响应于从图像传感器202接收到帧速率变化的指示,isp 212将isp 212的一个或多个滤波器配置为处理来自图像传感器202的图像帧。在一些实施方式中,isp 212可以基于isp配置来配置isp 212的一个或多个滤波器。例如,isp 300(例如csid 324或控制器306)可以配置一个或多个滤波器310a-310k。isp还可以为isp与处理器进行通信时(例如isp与处理器对每批图像帧进行一次通信)配置批大小。isp可以进一步配置用于处理用于预览流的图像帧的间隔。isp还可以配置其他组件,包括csid、ife、输出模块等。例如,如果isp包括第二csid和第二ife,则isp可以基于已接收图像帧的帧速率来激活或停用第二csid和第二ife。
102.在510处,isp 212以第二帧速率从图像传感器202接收第二图像帧序列。在一些实施方式中,在步骤506中接收的指示被包括在第二图像帧序列中包括的一个或多个图像帧中,并且isp 212处理第二图像帧序列(包括可以从其确定帧速率的一个或多个图像帧)(512)。例如,isp 212在步骤508中被配置为以第二帧速率处理图像帧。可以处理第二图像帧序列的所有图像帧用于生成视频流,并且可以处理第二图像帧序列的图像帧的至少子集用于生成预览流。
103.尽管未示出,但是可以对视频流的已处理图像帧进行编码来生成视频。在一些实施方式中,可以在isp 212处对图像帧进行编码。在一些其他实施方式中,图像帧可以由isp 212提供给处理器204(例如经由isp 212和处理器204两者都访问的存储器)以由编码器210进行编码。视频可以包括采用不同帧速率的不同部分。可以将预览流的已处理图像帧提供给显示器214、处理器204、图形处理器或其他合适的组件(例如,经由isp 212和合适的组件两者都访问的存储器),用于给设备用户显示预览。预览可以采用静态帧速率(具有用于处理基于帧速率变化调整的图像帧的间隔)。
104.如上所述,isp 212可以不与处理器204对每一个图像帧进行通信。例如,当帧速率大于30fps时,isp 212可以在处理一批图像帧(批大小大于一个)期间与处理器204通信一次。以这种方式,isp 212可以在将新的帧速率传送到处理器204之前以新的帧速率处理一个或多个图像帧。
105.图6是描述用于基于批大小来配置图像信号处理器212与处理器204之间的通信的示例操作600的说明性流程图。在602处,isp 212基于来自图像传感器的帧速率变化的指示来确定批大小。图像帧可以包括新帧速率的指示,并且isp 212可以使用该指示来确定批的大小。例如,isp 300(例如csid 324或控制器306)可以根据来自lut 308的isp配置或者基于由isp配置指示的新的帧速率来确定批大小。在一些实施方式中,isp 212可以基于从图
像传感器202接收的图像帧中的vc id或流id来识别批大小(604)。例如,isp 300可从图像帧中识别vc id或流id,并基于vc id或流id从从lut 308获得的isp配置中确定批大小。
106.在606处,isp 212基于帧速率变化来配置一个或多个滤波器。该步骤可以类似于图5中的步骤508。例如,isp 300可以从lut 308获得isp配置。isp配置可以包括批大小。然后isp 300可以使用isp配置(包括批大小)来配置一个或多个滤波器(例如一个或多个滤波器310a-310k或其他合适的滤波器或组件)。在配置一个或多个滤波器时,isp 212可以将其自身配置为在批大小的一批图像帧期间与处理器204通信一次(608)。例如,与处理器204通信来指示帧速率、被缓冲用于输出的帧、任何错误、或其他信息可以为至少为16.66ms(例如对应于30fps帧速率)的间隔或其他合适的间隔。当帧速率增加使得帧之间的时间小于间隔时,所确定的批大小(例如来自图3a中的lut 308)可以指示要由每次与处理器204通信的isp 212处理的图像帧的数量大于1。例如,60fps可能对应于2的批大小,120fps可能对应于4的批大小,等等。以这种方式,isp 212与处理器204通信时采用的速率可以保持一致。在一些实施方式中,间隔可以对应于与处理器204通信所需的最小时间(例如,基于软件或硬件延迟)。批大小可以确保通信之间的时间大于该最小时间。
107.在610处,isp 212在每批图像帧期间与处理器204通信一次。在一些实施方式中,在配置isp 212的一个或多个滤波器之后,isp 212可以将帧速率变化传送给处理器204。在一些实施方式中,该通信可以是中断请求(irq)。然而,通信可以是用于isp 212的任何合适的格式,以向处理器204指示帧速率和其他信息。处理器可以利用isp配置信息或对该请求的另一合适确认来响应irq。
108.如上所述,isp 212可以被配置为生成预览流和视频流。在一些实施方式中,视频流可以包括由图像传感器202捕获并由isp 212处理的所有图像帧。预览流可以包括由图像传感器202捕获并由isp 212处理的图像帧的子集。例如,预览流可能采用比图像传感器的帧速率低的帧速率。为了从以较高帧速率捕获的图像帧序列生成预览流,isp 212可以仅处理该序列中的图像帧的子集(并针对预览流丢弃其他图像帧)。在一些实施方式中,isp 212处理图像帧的间隔(例如每隔一个图像帧、每第四个图像帧、等等)以用所需的帧速率生成预览流。来自图像传感器202的图像帧流可以包括以第一帧速率捕获的第一图像帧序列和以第二帧速率捕获的第二图像帧序列(其中图像传感器202指示帧速率变化)。isp 212可以为每个序列配置要处理的图像帧的子集。以这种方式,isp 212可以在以不同帧速率捕获的多个序列上保持预览流的帧速率一致。
109.图7是描述用于生成预览流的示例操作700的说明性流程图。图像传感器202将图像帧流提供给isp 212,其中在捕获图像帧流期间帧速率改变。以这种方式,图像传感器202提供以第一帧速率捕获的第一图像帧序列和以第二帧速率捕获的第二图像帧序列。
110.在702处,isp 212确定要以一帧速率处理用于预览流的所捕获图像帧序列的子集。例如,isp 212可以预先被配置为针对以第一帧速率捕获的第一图像帧序列处理图像帧的第一子集。然后isp 212开始接收以第二帧速率捕获的第二图像帧序列(其中图像传感器202指示从第一帧速率到第二帧速率的帧速率变化)。isp 212因此可以响应于帧速率变化而针对第二图像帧序列调整要处理的图像帧的子集。例如,isp 212可以调整要处理的子集以在以不同帧速率捕获的图像帧序列上保持预览流的一致帧速率。
111.在一些实施方式中,isp 212可以基于图像帧序列的帧速率来确定用于处理用于
预览流的图像帧的间隔(704)。例如,如果图像帧序列的帧速率是240fps并且预览流的帧速率是30fps,则isp 212可以将用于处理的间隔确定为每第八图像帧(30/240)。在一些实施方式中,isp 300(图3a)从序列中的一个或多个图像帧确定vc id或流id,并基于lut 308使用映射到该间隔的vc id或流id来确定该间隔。
112.在一些实施方式中,isp 212可以基于批大小确定该间隔(706)。该间隔可以对应于帧速率的批大小。例如,预览流的帧速率和用于与处理器204通信的间隔可以相对于彼此是静态的。以这种方式,isp 212可以基于使用来确定何时与处理器204通信的批大小确定处理序列中的哪些图像帧用于预览流。图3a中的lut 308可以包括帧速率指示(例如vc id或流id)到批大小的映射,并且批大小可以被映射或以其他方式对应于特定间隔。例如,如果与处理器204通信是约每16.66ms(对应于30fps帧速率)并且预览流的帧速率为30fps,则批大小与间隔相同。例如,如果图像传感器以120fps捕获图像帧,则批大小可以为四帧,并且用于处理用于预览流的图像帧的间隔可以为每第四个帧。
113.响应于确定要处理的图像帧序列的子集,isp 212被配置为处理用于预览流的图像帧的子集(708)。在一些实施方式中,isp 212被配置为处理用于预览流的图像帧的间隔(710)。在一些示例中,isp 212可以处理用于视频流的所有图像帧。然后isp 212可以以该间隔输出每个已处理图像帧的实例以生成预览流。例如,如果来自图像传感器202的输入帧的帧速率是60fps,并且预览的帧速率是30fps,则isp 212可以针对每个已接收图像帧生成包括已处理图像帧的视频流。isp 212还可以生成包括第一已处理图像帧、第三已处理图像帧等的实例,跳过每隔一个图像帧以补偿在来自图像传感器202的输入图像帧与预览之间的帧速率差的预览流。以这种方式,可以存在第一图像帧的两个实例(一个用于视频流,一个用于预览流),可以存在第二图像帧的一个实例(一个仅用于视频流),可以存在第三个图像帧的两个实例,等等。
114.在一些实施方式中,由isp 300配置ife 326来为适当的流生成已处理图像帧的多个实例。例如,ife 326可以从csid 324接收已处理图像帧,并且将每个已处理图像帧的实例存储在用于视频流的缓冲器中。ife 326还可以将已处理图像帧的子集的实例存储在预览流的缓冲器中。isp 300可以基于来自isp配置的已确定间隔或已确定批大小来配置要为预览流生成或存储哪些实例。ife 326可以还包括要应用的一个或多个滤波器。例如,ife 326可以包括要应用到用于视频流的图像帧的一个或多个滤波器以提高图像质量。然而,为了改善预览的延迟,ife 326可以不将一个或多个滤波器应用到用于预览流的图像帧。以这种方式,ife 326可以被配置为在输出用于视频流的对应已处理图像帧之前,输出用于预览流的已处理图像帧。
115.在isp 212配置其自身以处理图像帧序列中的子集之后,isp 212处理用于预览流的图像帧的子集(712)。在一些实施方式中,isp 212可以处理用于预览流的图像帧的间隔(714)。例如,ife 326可以生成用于预览流的已处理图像帧的实例,以输出预览流和视频流。可以将包括已处理图像帧的预览流提供给显示器214、处理器204、图形处理器、或其他合适的组件(例如,经由isp 212和该组件两者均可访问的存储器),以将预览显示给用户。
116.描述了用于isp基于由图像传感器指示的帧速率变化来管理其资源的各种技术。如前所述,isp不需要来自应用处理器的干预来基于帧速率变化管理其资源。除非具体描述为以具体方式实施,否则本文中所描述的技术可实施于硬件、软件、固件或其任何组合中。
被描述为模块或组件的任何特征还可一起被实施在集成逻辑设备中或分开来实施为离散但可互操作的逻辑设备。如果实施于软件中,那么技术可至少部分地由包括指令208的非暂时性处理器可读存储媒体(例如图2的示例设备200中的存储器206)实现,所述指令208在由isp 212、处理器104、或任何其他合适组件执行时使得设备200执行上文所描述的一或多个方法。非暂时性处理器可读数据存储媒体可形成计算机程序产品的一部分,所述计算机程序产品可包含封装材料。
117.非暂时性处理器可读存储媒体可包括随机存取存储器(ram),例如同步动态随机存取存储器(sdram)、只读存储器(rom)、非易失性随机存取存储器(nvram)、电可擦除可编程只读存储器(eeprom)、闪存存储器、其它已知存储媒体等。另外或替代地,所述技术可至少部分地通过承载或传送呈指令或数据结构形式并且可被计算机或其它处理器存取、读取和/或执行的代码的处理器可读通信媒体实现。
118.结合本文中所公开的实施例描述的各种说明性逻辑块、模块、电路和指令可由例如图2的示例设备200中的处理器204或isp 212的一或多个处理器执行。这类处理器可包含但不限于一或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、专用指令集处理器(asip)、现场可编程门阵列(fpga)或其它等效集成式或离散逻辑电路。如本文中所使用的术语“处理器”可指代上述结构或适用于实施本文中所描述的技术的任何其它结构中的任一个。此外,在一些方面中,本文中所描述的功能性可在如本文中所描述而配置的专用软件模块或硬件模块内提供。而且,所述技术可完全实施于一或多个电路或逻辑元件中。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器也可实施为计算设备的组合,例如dsp和微处理器的组合、多个微处理器、与dsp核心结合的一或多个微处理器,或任何其它此类配置。
119.如上所述,虽然本公开示出说明性方面,但应注意,在不脱离随附权利要求书的范围的情况下,可在本文中进行各种改变和修改。例如,在上述示例中,如何配置滤波器以及确定图像帧的批大小被描述为是基于访问lut308或lut 358(图3a和图3b)的。然而,在一些其他实施方式中,isp可以基于方程式和帧速率来确定批大小或配置滤波器。可以使用任何其他合适的部件来确定批大小或如何配置滤波器。同样,isp不限于使用lut。另外,除非另外明确陈述,否则根据本文中描述的各个方面的方法权利要求的功能、步骤或动作不必以任何特定次序来执行。此外,虽然可以单数形式描述或主张元件,但除非明确地陈述对单数形式的限制,否则涵盖复数形式。因此,本公开不限于所说明的示例且在本公开的各个方面中包含用于执行本文中所描述的功能性的任何部件。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1