《用于捕获图像的故事板.pdf》由会员分享,可在线阅读,更多相关《用于捕获图像的故事板.pdf(29页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201380040853.1(22)申请日 2013.05.2113/487031 2012.06.01 USH04N 5/232(2006.01)(71)申请人 微软公司地址 美国华盛顿州(72)发明人 C. 哈万德 R. 米劳斯尼奇J. 穆恩 D. 德曼多尔克斯S. 格伦纳(74)专利代理机构 中国专利代理(香港)有限公司 72001代理人 李舒 景军平(54) 发明名称用于捕获图像的故事板(57) 摘要这里所公开的是用于在控制用以捕获图像、照片或者视频的相机中使用故事板的工具和技术的代表性实施例。按照一种示范性技术,存储至少两个故事。
2、板(200)。附加地,从相机应用中接收至少一个故事板标识符。而且使用故事板标识符来检索所存储的至少两个故事板中的某个故事板(200)。所检索的故事板包括用于控制相机的控制帧(250)序列。附加地,至少通过使用所检索的故事板控制相机而捕获图像帧的序列。(30)优先权数据(85)PCT国际申请进入国家阶段日2015.01.30(86)PCT国际申请的申请数据PCT/US2013/041917 2013.05.21(87)PCT国际申请的公布数据WO2013/181014 EN 2013.12.05(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书1。
3、7页 附图10页(10)申请公布号 CN 104509092 A(43)申请公布日 2015.04.08CN 104509092 A1/1 页21.一种控制相机的方法,包括 :存储(110)至少两个故事板 ;从相机应用中接收(120)至少一个故事板标识符 ;使用(130)故事板标识符来检索所存储的至少两个故事板中的故事板,所述故事板包括用于控制相机的控制帧序列 ;并且至少通过使用所检索的故事板控制相机而捕获(140)图像序列。2.如权利要求 1 的方法,其中所检索的故事板进一步包括至少一个用于修改控制帧序列中的控制帧被执行的次序的指令。3.如权利要求 1 的方法,其中至少两个故事板的存储和故事。
4、板的检索由设备驱动器来执行。4.如权利要求 1 的方法,其中所述故事板包括至少一个用于设定相机设置或者使得执行相机的操作的相机指令。5.如权利要求 2 的方法,其中所述至少一个指令使所检索的故事板的执行从控制帧序列中的一个控制帧到另一个控制帧循环,直到条件得以满足为止。6.如权利要求 1 的方法,其中所检索的故事板进一步包括至少一个用于延迟控制帧序列中的控制帧的执行的指令。7.如权利要求 1 的方法,其中所检索的故事板是第一故事板,并且使用所述检索的故事板包括基于第一故事板中的指令来执行所述至少两个故事板中的第二故事板。8.一种计算设备,其包括处理器和计算机可读介质,所述计算机可读介质存储用于。
5、使得该计算设备执行一种方法的计算机可执行指令,所述方法包括 :使用设备驱动器来检索包括多个控制帧的故事板(310),所述多个控制帧包括一个或者多个控制指令和一个或者多个用于控制相机的相机指令 ;并且捕获图像序列(350),所述捕获图像序列包括执行来自故事板的至少一个控制指令,以控制当捕获图像序列时执行所述多个控制帧中的至少一个控制帧的时序或者次序。9.如权利要求 8 的计算设备,进一步包括将故事板从相机应用发送给设备驱动器。10.一种或者多种存储计算机可执行指令的计算机可读存储介质,所述计算机可执行指令用于使得计算设备执行一种方法,所述方法包括 :将至少一个故事板从应用(505)发送给设备驱动。
6、器 ;使用设备驱动器来高速缓存所述至少一个故事板(510),所述至少一个故事板包括用于控制相机的控制帧序列 ;在设备驱动器(515)上接收来自该应用的对于执行所述至少一个故事板的请求 ;并且使用设备驱动器来至少通过执行所述至少一个故事板的至少一个控制帧(512)而捕获多个图像帧,所述至少一个控制帧包括一个或者多个控制指令和一个或者多个相机指令。权 利 要 求 书CN 104509092 A1/17 页3用于捕获图像的故事板背景技术0001 由于现今世界中数字摄影的普及度已经增长,各种设备被适配成并入用于捕获数字照片的数字相机。一些传统的数字摄影解决方案允许用户通过按下快门按钮来向相机发出捕获照。
7、片的信号以捕获静止的照片。而且,一些解决方案通过允许用户重复按下快门按钮来捕获照片,而允许连续照片的捕获。在这些传统的解决方案中,对数字摄影中的较快和较复杂功能性的允许受到限制,这部分地是由于对把用于拍摄照片的信息发送给相机的速度要求而导致。发明内容0002 除了本文所描述的别的创新之外,本公开内容尤其提出了用于在控制用以捕获图像、照片或者视频的相机中使用故事板(storyboard)的工具和技术的各种代表实施例。0003 在一个实施例中,应用可以组成一组故事板控制帧,其可以在接收命令来执行故事板之前、在初始化时段期间被相机驱动器传递并存储。利用该结构,应用可以构建对于将要被相机驱动器自动捕获。
8、的多重快照(multishot)或者图像流的全面成像控制。可以使用故事板标识符来标识故事板。对于拍摄多重快照而言,应用可以将故事板标识符传递给驱动器,驱动器然后可以使用该标识符来访问故事板并且启动与故事板相关联的多重快照。故事板可以包括自适应控制,其可以动态地修改图像序列怎样被捕获。例如,循环、有条件的延迟和定制的净荷是可以实现的动态控制的示例。0004 按照另一个示范性技术,存储至少两个故事板。附加地,接收来自相机应用的至少一个故事板标识符。而且使用故事板标识符来检索所存储的至少两个故事板中的某个故事板。所检索的故事板包括用于控制相机的控制帧序列。附加地,可以至少通过使用所检索的故事板控制相。
9、机而捕获图像帧序列。例如,故事板可以由设备驱动器执行来至少控制相机去捕获图像序列。0005 在本文描述的另一个示范性技术中,将至少一个故事板从应用发送到设备驱动器。附加地,使用设备驱动器来将所述至少一个故事板高速缓存。而且,在设备驱动器上接收来自应用的对于执行至少一个故事板的请求。附加地,使用设备驱动器来至少通过执行至少一个故事板的至少一个控制帧而捕获多个图像帧。0006 本概要被提供来以简化的形式介绍概念的选择,这些概念还将在下面被进一步描述。本概要既不打算标识所要求保护的主题的关键特征或者必要特征,也不打算用来限制所要求保护的主题的范围。从下文参考附图进行的详细描述中,这些技术的前述的和其。
10、它的目的、特征和优点将变得更加明显。附图说明0007 图 1 是控制相机来捕获一个或者多个图像的示范性方法的流程图。0008 图 2 是示范性故事板的示意图。0009 图 3 是用于捕获一个或者多个图像的示范性计算设备的示意图。说 明 书CN 104509092 A2/17 页40010 图 4 是使用故事板的至少一个控制帧来捕获图像帧的示范性方法的流程图。0011 图 5 是用于使用故事板来捕获图像的示范性计算设备的示意图。0012 图 6 是图示故事板的执行的示范性实现的图。0013 图 7 是故事板净荷(payload)的示范性实现。0014 图 8 是图示可以用来实现任何所公开的实施例。
11、的示范性移动设备的示意图。0015 图 9 是图示用于任何所公开的实施例的适当实现环境的一般化示例的示意图。0016 图 10 是图示用于任何所公开的实施例的适当计算环境的一般化示例的示意图。具体实施方式0017 控制相机来捕获图像序列的示范性方法图 1 是控制相机来按顺序捕获一个或者多个图像的示范性方法 100 的流程图。在图 1中,在110,存储至少两个故事板。例如,从一个或者多个应用中发送的两个或者更多个故事板可以由设备驱动器接收,并且故事板可以由设备驱动器高速缓存或者以其它方式存储在存储器中供以后使用。也就是说,在初始化阶段期间,应用可以向设备驱动器发送故事板,其包括用来在设备驱动器开。
12、始使用故事板捕获图像之前控制相机的指令。在初始化阶段完成后,在捕获阶段,在 120,接收来自应用的至少一个故事板标识符。例如,在设备上运行的应用可以发送诸如 GUID 的标识符,或者标识由设备驱动器存储的故事板的其它标识符,且该标识符可以由设备上的设备驱动器接收。在130,使用故事板标识符来检索所存储的至少两个故事板中的某个故事板。例如,通过使用故事板标识符,设备驱动器可以检索、选择或者执行在设备驱动器的高速缓存器中存储的故事板。在140,通过使用所检索的故事板来控制相机而捕获图像的序列。例如,设备驱动器可以至少执行在所检索的故事板中的指令,从而控制相机按顺序捕获一个或者多个图像(例如,图像序。
13、列)。在一些实现中,通过执行故事板,设备驱动器可以使一个或者多个图像帧的捕获与故事板的一个或者多个控制帧中的一个或者多个指令的自动施加同步。而且,图像数据可以由执行故事板的设备驱动器所捕获,并且可以由设备驱动器在一个或者多个故事板净荷中将所述图像数据提供给应用。0018 故事板的示范性实现图 2 是示范性故事板 200 的示意图。诸如故事板 200 那样的故事板可以由计算设备的应用生成或者使用来指导(instruct)设备驱动器去自动设定用于图像捕获的相机设置或者控制,诸如用于单个图像快照、多个图像快照、或者可以由相机捕获的图像的流。例如,可以由故事板或者计算设备的应用使用一个或者多个指令、命。
14、令或者请求来指导在计算设备中运行的设备驱动器,所述指令、命令或者请求使用一个或者多个应用编程接口实现。故事板可以实现各种图像捕获模式。在一些实现中,应用或者计算设备的静止捕获、预览和 / 或视频模式可以使用故事板来实现。在一些实现中,相机应用可以生成具有控制帧的故事板,当控制帧被执行时,其控制相机捕获图像从而实现图像捕获模式。例如,图像捕获模式可以包括高动态范围(HDR)模式、突发(burst)模式、时移模式、零快门滞后(ZSL)模式和 / 或用于捕获图像的其它模式。在一个实现中,实现突发模式可以使得相机捕获连续静止图像帧的突发。例如,突发模式可以捕获一连串图像帧,其中在每个图像帧捕获时间的相。
15、机设置或者控制通过由设备驱动器执行的故事板来驱动,以捕获连续静止图像帧。0019 故事板 200 可以包括一个或者多个控制帧,诸如控制帧 210。例如,故事板 200 可说 明 书CN 104509092 A3/17 页5以是多组指令的阵列,其中相应组的指令被包括在相应的控制帧中。在一些实现中,故事板的控制帧可以按顺序排序。控制帧 210 可以包括要按次序执行的一组指令。被包括在控制帧 210 中的指令可以包括一个或者多个用于控制故事板的执行的控制指令和一个或者多个相机指令,所述控制指令是诸如控制指令 220,所述相机指令是诸如用于控制相机的一个或者多个设置、控制、参数、操作或者功能性的相机指。
16、令230。控制指令220可以使得设备驱动器修改用以执行控制帧的次序或者时序。而且,在一些实现中,故事板中的控制指令可以使得不同的故事板得以执行。在控制帧执行的一些实现中,在控制帧中的指令的施加的优先权可以基于指令被包括进控制帧中的次序。例如,在一些实现中,按指令次序被设备驱动器最后执行和/或解析的指令可以优先于(take precedence over)较早被执行或者解析的指令。在一些实现中,一个指令可以优先于另一个指令,以使得取得优先权的指令被施加来控制相机或者故事板的执行,而不管由在先执行的指令所设定的一个或者多个控制、设置、参数或者功能性。例如,控制帧可以包括按这样的次序的指令,即 :使。
17、得所设定的帧速率由帧速率指令来维护,帧速率优先于由该控制帧的较早执行的指令所设定的快门速度。而且,例如,控制帧可以包括按这样的次序的指令,即 :使得所设定的快门速度由快门速度指令来维护,快门速度优先于由控制帧的较早执行的指令所设定的帧速率。在一些实现中,故事板可以在每图像帧(per-image-frame)的基础上,将相应的控制帧的指令施加到相机。例如,通过由设备驱动器把相应的控制帧的指令自动地施加到相机用于相应的图像捕获,可以为相应的图像捕获而自动地修改或者控制该相机的设置或者控制。而且,例如在一些实现中,对于由相机捕获的个别图像,相机可以由设备驱动器施加故事板的个别控制帧的指令来控制。在一。
18、些实现中,一个控制帧的指令的施加可以持续,并且在随后的控制帧的执行期间被施加或者持续下去。0020 参考图 2,故事板 200 可以由独特的标识符来标识和 / 或与之相关联,独特的标识符是诸如故事板标识符 240。故事板标识符 240 可以是诸如 GUID、UUID 的独特的标识符,或者其它独特的标识符。故事板标识符 240 被包括在故事板 200 中。在一些实现中,当应用创建故事板时,由应用生成故事板标识符并且将其包括在故事板中。之后,故事板标识符可以被应用使用来标识故事板。例如,应用可以发送用于由设备驱动器所存储的故事板的故事板标识符,从而请求该故事板的执行。0021 故事板 200 可以。
19、包括作为头控制帧(诸如头控制帧 250)的控制帧。头控制帧可以是故事板的控制帧序列中的第一个控制帧。头控制帧 250 包括独特地标识故事板的故事板标识符240。故事板标识符可以与故事板类型相关联或者被指派给某个故事板类型,故事板类型指示故事板被设计用来实现的图像捕获模式。头控制帧 250 可以包含头结构 260,其对被包括在故事板中的二进制数据进行映射。头控制帧 250 可以包括一个或者多个全局指令,诸如全局指令 270。0022 当故事板的一个或者多个控制帧由设备驱动器执行时,可以将全局指令 270 施加于所述一个或者多个控制帧。例如,当执行故事板中的每个控制帧时,可以将全局指令 270施加。
20、于所述每个控制帧。在一些实现中,全局指令可以包括图像统计指令,其包括标记以使得图像统计能够与所捕获的图像帧数据一同返回。附加地,在一些实现中,全局指令可以包括元数据图像格式指令,元数据图像格式指令可以由设备驱动器施加,使得对于所捕获的图像帧,随同由相机捕获的、采用一种或者多种其它格式的图像帧一起,设备驱动器接收采说 明 书CN 104509092 A4/17 页6用原始格式的图像帧的实例作为元数据。在一些实现中,全局指令被一致地施加于故事板的一个或者多个控制帧,并且可以影响设备驱动器的、对于故事板的一个或者多个控制帧的执行。例如,在图像统计指令值使能图像统计的情况下,可以对于使用故事板所捕获的。
21、每个图像帧返回图像统计,并且可以在故事板的执行之后将图像统计返回给应用。在一些实现中,全局指令可以包括在故事板执行期间使得该指令能由设备驱动器施加的值或者禁止该指令由设备驱动器施加的值。0023 在图 2 中,故事板 200 包括控制帧 280。诸如控制帧 280 这样的控制帧可以包括一组用于设备驱动器的指令,以施加于图像帧的捕获。控制帧 280 可以包括一个或者多个控制指令,诸如延迟指令 282、循环控制指令 284、循环条件指令 286 或者循环指令 288。控制指令可以用来引导由设备驱动器对一个或者多个故事板的执行。在一些实现中,在故事板的执行期间,设备驱动器可以施加连续的控制帧来控制相。
22、机以便捕获图像帧,而不需要来自提供故事板的应用的另外的命令。在一些实现中,可以由设备驱动器使用尽力(best effort)施加来施加控制帧 280 的指令,或者设备驱动器可以等待执行另外的指令或者控制帧,直到一个或者多个在前执行的指令被施加和完成为止。0024 故事板的控制指令可以包括开始条件指令。例如,开始条件指令可以指导设备驱动器延迟故事板的执行的开始,直到在前的相机控制、指令和 / 或操作的一些或者全部得以完成和 / 或施加为止。在一些实现中,被包括在故事板中的开始条件指令在故事板已经开始执行之后是不可施加的。0025 在执行故事板的一些实现中,当故事板正在执行时,可以暂停或者忽略来自。
23、一个或者多个应用的异步事件,特别是与 ISP 控制有关的事件。在一些实现中,在来自应用的对于执行新故事板的执行请求可被设备驱动器确认之前,设备驱动器可以取消或者停止故事板的执行。用户可以检查最终得到的由故事板返回的图像统计,从而确定对曾运行的每个控制帧实际上施加了什么。在执行的故事板的一些实现中,一般的故事板差错可以在故事板执行期间被发送。在一些实现中,在故事板正在执行时,故事板指令的一个或者多个不能被改变和 / 或故事板指令的一个或者多个可以被改变。0026 使用图 2 中所示出的指令,允许在没有来自应用的另外的输入的情况下,按照故事板由设备驱动器进行对图像的序列(或者其控制参数)的动态修改。
24、。0027 用于捕获图像的示范性系统图3是用于捕获一个或者多个图像的示范性计算设备300的示意图。在图3中,计算设备 300 包括设备驱动器 310。设备驱动器可以存储并且可以执行一个或者多个故事板 330。例如,设备驱动器可以在设备驱动器的高速缓存器或者内存存储中存储一个或者多个故事板。在存储了一个或者多个故事板 330 之后,设备驱动器 310 可以检索该一个或者多个故事板 330 中的某个故事板以供执行。计算设备 300 可以包括一个或者多个应用 320。一个或者多个应用320可以生成和/或提供一个或者多个故事板以便实现一个或者多个图像捕获模式或者以便通过控制相机而捕获图像。例如,在图像。
25、捕获期间,可以用设备驱动器来控制相机,设备驱动器可以自动执行来自故事板的指令,而不需要使用从应用发送的另外的指令或者控制。一个或者多个应用可以将一个或者多个故事板 330 中的一个或者多个发送到设备驱动器 310,设备驱动器 310 可以接收和存储该一个或者多个故事板 330。0028 一个或者多个故事板 330 可以包括一个或者多个控制帧 340。一个或者多个控制说 明 书CN 104509092 A5/17 页7帧 340 可以包括一个或者多个指令,诸如控制指令 342 和 / 或相机指令 348。相机指令 348可以由设备驱动器 310 施加来设定一个或者多个参数或者设置,或者执行一个或。
26、者多个相机360的一个或者多个功能性或者操作。例如,可以执行相机指令348并施加其来设定一个或者多个设置和 / 或使得执行相机或者被包括在相机中的设备的一个或者多个功能性。通过将指令包括在故事板的控制帧中,应用或者用户可以可选地设定、使用、使能、禁止或者锁定相机的一个或者多个设置、功能性或者操作。例如,被包括在故事板的控制帧中的指令可以使能、禁止或者锁定相机的各种自动的功能性或者操作,诸如曝光、白平衡操作、对焦、缩放等等。一个或者多个相机 360 可以诸如通过捕获一个或者多个图像序列 350 而生成图像数据。例如,一个或者多个图像序列 350 可以包括由相机捕获的图像帧的序列。在一些实现中,图。
27、像数据可以包括图像统计和 / 或相关联的上下文信息以及相应的所捕获的图像帧,诸如照片。例如,设备驱动器 310 可以使照片的捕获与来自包括该设备驱动器的计算设备的一个或者多个其它设备或者组件的附加上下文信息同步。在一些实现中,计算设备的设备驱动器可以与图像的捕获同时地收集上下文信息,诸如全球定位系统(GPS)数据、来自加速计的加速信息和从计算设备可得到的其它信息。上下文信息可以与图像相关联,并且可以作为元数据而被包括在与由设备驱动器生成并返回的图像的图像帧相关联的净荷中。上下文信息可被一个或者多个图像处理器或者一个或者多个应用用来在图像数据被设备驱动器返回后对其进行处理。在一些实现中,当统计信。
28、息和 / 或上下文信息被应用或者设备驱动器接收到时,它们可以被使用来更改故事板的指令或者指令值或者故事板的执行。0029 在图3中,一个或者多个相机360可以发送图像数据,图像数据可以被设备驱动器310 接收。例如,在故事板的执行期间,一个或者多个相机 360 可以将一个或者多个图像序列中的一个或者多个图像发送到设备驱动器 310。一个或者多个相机 360 中的某个相机可以捕获图像、图像数据和 / 或图像帧。例如,图像帧可以是由相机捕获的数字照片或者图像数据。而且,一个或者多个相机 360 可以将图像随同用于相应图像的相关联的图像统计一起发送。一个或者多个相机 360 中的某个相机可以包括一个。
29、或者多个相机设备,诸如传感器、图像信号处理器(ISP)、闪光灯、镜头或者在捕获图像时使用的其它相机设备。附加地,如在图 3 中所示出的,计算设备 300 包括一个或者多个处理器 370 和计算机可读介质 380。本文描述的循环和其它指令可以响应于由相机 360 提供的参数而动态地修改指令序列或者执行。0030 至少使用控制帧捕获图像帧的示范性方法图 4 是至少通过使用至少一个故事板的至少一个控制帧而捕获图像帧的示范性方法400 的流程图。在图 4 中,在 410,把至少一个故事板从应用发送到设备驱动器。在 420,使用设备驱动器来高速缓存至少一个故事板。例如,至少一个故事板可以包括用于控制相机。
30、的控制帧序列。例如,控制帧可以包括一个或者多个控制指令和 / 或一个或者多个相机指令,其可以由设备驱动器执行来控制相机。在 430,在设备驱动器处接收来自应用的对于执行至少一个故事板的请求。在 440,使用设备驱动器,至少通过执行至少一个故事板的至少一个控制帧而捕获多个图像帧。0031 用于使用故事板捕获图像的示范性系统图5是用于使用故事板捕获图像的示范性计算设备500。如在图5中所示出的,计算设备500包括一个或者多个应用,诸如应用505。应用505可以是程序、软件、移动应用或者其说 明 书CN 104509092 A6/17 页8它可以在计算设备 500 中运行的应用。例如,应用 505 。
31、可以是相机应用,其允许由计算设备500 的相机 540 所捕获的照片、图像或者视频的观看、捕获、处理或者显示。应用 505 可以在计算设备 500 的操作系统中运行。如图 5 中所示出的,应用 505 包括一个或者多个故事板,诸如故事板510。应用505包括故事板生成模块508,其可以被使用来生成或者修改故事板。例如,应用 505 的应用生成模块 508 可以由用户通过用户界面访问,并且用户可以使用用户界面来构建或者生成故事板,诸如实现图像捕获模式的故事板。在一些实现中,用户界面可以为用户提供一个或者多个可用的相机参数、设置、功能性、操作或者其组合,以用于在生成定制的故事板时针对一个或者多个控。
32、制帧设定。而且,故事板生成模块 508 可以允许全局指令的设置和控制指令的使用,从而构建可以实现各种图像捕获模式的各种类型的故事板或者定制的故事板。在一些实现中,一个或者多个故事板可以被包括在应用中,以使得它们被预先配置,以便故事板可以被用来实现可为应用选定的可用的图像捕获模式。同样,通过提供或者生成故事板,应用可以规定一连串的控制帧,以用于施加不同的相机控制和 / 或相机配置来捕获相应的图像帧或者视频和相关联的数据。0032 参考图 5,应用 505 将故事板 510 发送给设备驱动器 515,如在 520 所示出的。设备驱动器 515 将故事板 510 存储在设备驱动器 515 的内存存储。
33、(诸如内部高速缓存器 525)中。高速缓存器 525 可以存储一个或者多个故事板,诸如故事板 510 和故事板 530。在一些实现中,存储在高速缓存器 525 中的故事板可以由设备驱动器 515 读取和施加来实现一种或者多种相机模式,包括预览模式、静止模式、视频模式或者其它相机模式。例如,静止模式可以捕获静止图像,而视频模式可以捕获用于视频的图像。当设备驱动器存储故事板时,服务层或者应用可以向设备驱动器查询所存储的故事板的资源估计。在一个实现中,设备驱动器可以至少部分地通过解析故事板的头和 / 或帧而生成资源估计。在一个实现中,资源估计可以以若干字节进行表达。0033 附加地,应用 505 可。
34、以发送对于执行故事板 510 的执行请求 535,故事板 510 可以由设备驱动器 515 接收。在一些实现中,在对于执行故事板的请求被发送之前、随同其的发送一起、或在其被发送之后,存储器资源(例如,驱动器捕获缓冲器)可以被发送给设备驱动器以用来存储在故事板的执行期间所捕获的数据,诸如图像数据和相关联的元数据或者图像统计。在一些实现中,应用可以通过使用设定现行(active)请求而将所标识的故事板设定为现行的故事板,所述设定现行请求包括标识要被设定为现行的故事板的故事板标识符。当接收到执行请求时,可以执行作为现行故事板的故事板。如在 570 所示出的,当对于执行故事板的执行请求 535 被发送。
35、给设备驱动器时,可以设立一个或者多个图像处理器以用来处理图像数据,图像数据可以在执行请求中所标识的故事板的执行之后被返回。0034 在一些实现中,执行请求可以是触发请求。例如,触发请求可以包括开始值,其触发设备驱动器中故事板的开始。触发请求可以从应用发送给设备驱动器。在一些实现中,触发请求可以包括可使故事板的执行开始、停止或者被取消的值。而且,触发请求可以包括停止循环值,其可以使故事板的控制帧序列执行的循环停止继续进行。当接收到包括取消值的触发请求时,设备驱动器可以停止故事板的执行,并且可以返回到预先确定的或者默认的状态,诸如设备驱动器在所取消的故事板的开始执行之前所处的状态。在一些实现中,当。
36、通过触发请求而取消故事板的执行时,在故事板执行期间所捕获的图像数据或者故事板净荷在取消故事板执行之后并不通过设备驱动器而返回给应用。当接收到包括停止循环值说 明 书CN 104509092 A7/17 页9的触发请求时,设备驱动器可以取消循环执行,结束当前执行的控制帧的执行,然后从包括发起该循环的循环指令的那个控制帧之后的控制帧继续执行故事板。当设备驱动器接收到包括停止循环值的触发请求时,如果在包括发起该循环的循环指令的那个控制帧之后没有控制帧,那么设备驱动器可以终止故事板的执行。当设备驱动器接收到包括停止值的触发请求时,设备驱动器可以终止当前执行的帧,并且返回使用该故事板而生成的故事板净荷。。
37、附加地,当接收到包括开始值的触发请求时,设备驱动器可以开始执行由故事板标识符所标识的故事板。例如,可以起动应用并且该应用可以将所标识的故事板发送给设备驱动器,并且当按下设备的快门按钮时,可以将触发请求发送给设备驱动器以开始所标识的故事板的执行。0035 参考图 5,响应于执行请求 535,设备驱动器 515 执行故事板 510。例如,当设备驱动器接收到执行请求时,设备驱动器开始故事板的执行。在一些实现中,可以预先选择故事板 510 并准备好用于执行。在其它的实现中,故事板 510 可以通过被包括在执行请求中的故事板标识符来标识,并且故事板可以基于故事板标识符来选择和检索。在故事板 510 的执。
38、行中,设备驱动器 515 可以执行被包括在故事板 510 中的控制帧 512 的一个或者多个。在故事板 510 的执行期间,设备驱动器可以控制一个或者多个相机,诸如相机 540。控制相机 540 可以包括设定相机 540 的一个或者多个相机设备的一个或者多个参数或者设置,和/ 或使得相机 540 的一个或者多个功能性得以执行。相机 540 可以捕获诸如一个或者多个图像的图像数据,并且可以将图像数据发送给设备驱动器515,如在548所示出的。而且,在故事板 510 的执行期间,故事板 510 的一个或者多个控制指令可以控制控制帧 512 中的一个或者多个控制帧的执行的时序和 / 或次序。可以执行。
39、控制帧 512 中的相应控制帧从而捕获相应的图像帧,所述图像帧可以由设备驱动器 515 接收并存储在内存存储中。例如,在故事板 510 正执行时,设备驱动器 515 自动使图像帧捕获与对设定相机设置的控制帧的指令的施加同步。在故事板 510 的执行期间,设备驱动器 515 所进行的同步可以不需要来自应用 505 的另外的用于控制相机 540 的指令、信息或者命令而进行。设备驱动器 515 可以存储所接收的图像数据,诸如图像数据 552 和 554。在一些实现中,如果故事板指导设备驱动器将图像统计与图像帧一起返回,则设备驱动器可以添加接收自相机的、用于在故事板执行期间所捕获的一个或者多个图像帧的。
40、图像统计。如在图 5 中所示出的,使用所接收的图像数据,设备驱动器 515 可以生成一个或者多个故事板净荷,诸如故事板净荷 550。0036 故事板净荷 550 包括图像数据,诸如图像数据 552 和图像数据 554。在故事板 510已经完成执行后,设备驱动器 515 可以将用于故事板的数据返回,所述数据诸如是存储在预先分配的存储器中的图像帧。也就是说,设备驱动器 515 可以将所捕获的图像数据和相关联的元数据和 / 或图像统计发送给应用 505,如在 556 所示出的。例如,设备驱动器 515可以将故事板净荷550发送给应用505。如在558所示出的,设备驱动器可以将所捕获的图像数据和相关联。
41、的元数据和 / 或图像统计发送给图像处理模块 560,其可以使用一个或者多个图像处理器(诸如图像处理器 565)处理图像数据。例如,设备驱动器可以将故事板净荷 550 发送给图像处理模块 560,其可以使用图像处理器 565 来过滤故事板净荷的图像数据。在一些实现中,被包括在故事板净荷中的、对于图像帧的图像统计可以由图像处理器或者过滤器使用来增强图像处理或者过滤。如在 570 所示出的,应用 505 可以将信息发送给图像处理模块 560,从而对一个或者多个图像处理器进行组织或者配置来处理为了所标识说 明 书CN 104509092 A8/17 页10的故事板而捕获的图像数据。在图像数据由图像处。
42、理模块处理之后,图像处理模块 560 可以将诸如故事板净荷 550 那样的图像数据发送到应用 505,如在 575 所示出的。0037 故事板执行的示范性实现图 6 是图示通过设备驱动器 605 执行故事板 600 和故事板 680 的示范性实现。在图 6中,设备驱动器 605 通过读取和施加头控制帧 610 的指令而开始故事板 600 的执行。头控制帧 610 包括故事板标识符 615、图像统计指令 620 和元数据图像格式指令 625。故事板标识符 615 独特地标识故事板 600。设备驱动器 605 可以包括故事板标识符 615 及所捕获的数据,从而将所捕获的数据与故事板 600 相关联。
43、。0038 控制帧 610 包括图像统计指令 620。图像统计指令 620 可以包括标识一组图像统计的一个或者多个值,图像统计由设备驱动器为在执行故事板的同时所捕获的相应图像帧而捕获。在一些实现中,图像统计包括直方图、ISP控制、曝光数据、传感器增益信息、或者从相机中可得到的其它图像统计。在一些实现中,可以通过设定图像统计指令的一个或者多个值而选择要由设备驱动器收集和返回的一组用于故事板的图像统计。图像统计指令 620可以是全局指令,并且可以施加到为故事板 600 的每个控制帧所捕获的数据。在其它实现中,图像统计指令可以施加到故事板的一个或者多个控制帧。在一些实现中,用于图像统计指令的值可以包。
44、括图像数据值、相机元数据值、相机应用的参数值、相机所有参数值、用于可交换图像文件格式(Exif)数据的值、和 / 或其它值。图像数据值可以指示 :来自设备驱动器的故事板净荷包含图像缓冲物。相机元数据值可以指导设备驱动器把 ISP 元数据与利用故事板所捕获的图像帧一起返回。例如,ISP 元数据可以包括指示照片像素强度分布的直方图,并且直方图可以随照片数据一起被包括在故事板净荷中。相机应用的参数值可以指导设备驱动器返回相机设置和 / 或参数的值,其通过执行用于捕获相关联的图像帧的控制帧而被施加到相机。相机所有参数值可以指导设备驱动器返回用于捕获图像帧的相机设置和/或参数的一些或者所有值。Exif数。
45、据值可以指导设备驱动器在返回图像帧时把用于所捕获图像帧的可交换图像文件格式(Exif)数据与所述图像帧一起包括进来。例如,用于图像帧的 Exif 数据可以在具有图像帧的故事板净荷中被返回到应用。0039 故事板600包括元数据图像格式指令625。在一些实现中,通过使用故事板中的元数据图像格式指令,应用可以选择或者可选地请求采用来自以不同处理级别生成的一种或者多种格式中的某种格式的图像帧(例如,来自 ISP 的图像帧输出)。在一些实现中,元数据图像格式指令包括指示一种或者多种图像格式的一个或者多个值,图像帧将以所述图像格式被包括在由设备驱动器针对所执行的故事板返回的元数据中。例如,按照元数据图像。
46、格式指令而格式化的图像帧可以在故事板净荷中与以预定或者协商的图像数据类型或者格式(例如,NV12 或者其它格式)进行格式化的图像帧一起被返回。在一些实现中,元数据图像格式指令的值可以指示预先去马赛克的(demosaiced)原始格式、理想化的预先去马赛克的原始格式、去马赛克格式或者其它格式。经预先去马赛克的原始格式化的图像帧包括采用原始拜尔(Bayer)格式或者相机传感器的本机格式的图像帧。经理想化的预先去马赛克的原始格式化的图像帧包括已经由相机的 ISP 处理但是采用预先去马赛克格式的图像帧。在一些实现中,作为元数据而被包括的原始格式化的图像帧的格式和内容可以按由相机的能力所提供的那样被格式化。0040 在图 6 中,在执行头控制帧 610 后,设备驱动器 605 通过读取和施加控制帧 630 的说 明 书CN 104509092 A。