数码相机的缩放设置调整的制作方法

专利2024-10-18  46


数码相机的缩放设置调整
1.基于35 u.s.c.
§
119要求优先权
2.本技术要求享受2020年3月16日提交的标题为“zoom setting adjustment for digital cameras”的非临时申请no.16/820,251的优先权,该申请已经转让给本技术的受让人,故以引用方式将该申请明确地并入本文。
技术领域
3.本公开内容涉及图像捕获和处理。


背景技术:

4.图像捕捉设备通常并入到各种各样的设备中。在本公开内容中,图像捕捉设备是指可以捕捉一个或多个数字图像的任何设备,其包括可以捕捉静止图像的设备和可以捕捉图像序列以记录视频的设备。例如,图像捕捉设备可以包括独立的数码相机或数码摄像机、配备相机的无线通信设备手持设备,例如具有一个或多个相机的移动电话、蜂窝或卫星无线电话、配备相机的个人数字助理(pda)、面板或平板设备、游戏设备、包括相机的计算机设备(例如,所谓的“网络摄像头”)、或者具有数字成像或视频功能的任何设备。
5.某些数码相机具有捕捉潜在视场(fov)的指定部分的能力,例如具有放大、缩小、全景、望远镜、超广角、远摄或潜望镜特征。如本文所使用的,潜在fov或全fov通常是指特定图像传感器被配置为用于感测场景或图像序列的全部像素。这样的相机特征允许数码相机使用图像传感器和相机处理器来增强或以其它方式改变场景(或图像序列,在视频的情况下)的捕获。这种增强或改变可能取决于缩放设置(例如,缩放命令、捏拉缩放命令、纵横比设置等)。在视频的情况下,相机处理器可以将缩放设置应用于多帧图像数据。
6.在一些示例中,相机处理器可以执行数字缩放和/或光学缩放以实现目标缩放水平(例如,用户期望的缩放水平)。例如,相机处理器可以使用某些数字缩放技术来裁剪和/或缩放与潜在fov对应的像素,以便实现目标缩放水平。此外,用户或相机处理器可以采用有效地改变图像捕捉设备的焦距以实现目标缩放水平的光学缩放技术(例如,激活移动棱镜、镜头致动、执行镜头转换等)。
7.在一些示例中,某些图像捕捉设备可以包括多个图像传感器和/或可以彼此结合使用的多个镜头。例如,可以致动或移动镜头以允许以不同焦距捕获图像数据。示例镜头类型包括广角镜头、超广角镜头、远摄镜头、望远镜镜头、潜望式变焦镜头、鱼眼镜头、微距镜头、定焦镜头或其各种组合。在一个示例中,双相机配置可以包括广角镜头和远摄镜头。类似地,三相机配置可以包括超广角镜头、广角镜头和远摄镜头。通过使用多个镜头和/或图像传感器,图像捕捉设备能够捕获具有不同fov和/或缩放水平的图像。


技术实现要素:

8.通常,本公开内容描述了涉及具有图像传感器、相机处理器和变焦能力的数码相机的相机处理技术。图像传感器可以被配置为通过数码相机的一个或多个镜头来捕捉图像
数据帧。例如,图像传感器可以捕获图像数据的单个帧(例如,静止图像拍摄)和/或多个帧(例如,视频数据)。图像传感器可以将捕获的帧传送到一个或多个相机处理器以进行进一步处理。相机处理器可以使用接收的帧来执行各种处理技术,例如帧的实时处理、离线处理和/或后处理。在一个示例中,相机处理器可以对帧应用缩放设置并执行自动图像捕捉调整技术,例如自动对焦、自动曝光和/或自动白平衡技术(“3a”技术)。相机处理器可以基于用户命令、机器学习(ml)模型、人工智能(ai)算法、预编程相机设置等等,执行这些处理技术。
9.在一些示例中,相机处理器可以处理从图像传感器接收的帧,使得这些帧可以显示在显示设备(例如,移动设备屏幕、平板屏幕、计算机监视器等)上。在用户缩放命令、自动缩放命令或其它缩放设置的情况下,相机处理器或中央处理单元(cpu)可以使显示设备将第一组帧显示为预览帧。可以根据缩放设置来显示第一组帧。在一些示例中,第一组帧可以表示表示缩放设置的缩放水平转变(例如,第一组缩放帧)。在这样的示例中,第一组预览帧在显示设备上提供根据缩放设置的场景的视觉表示(例如,预览场景)。预览场景可以包括数码相机要捕捉的场景或数码相机正在记录的场景。在这样的示例中,相机处理器可以对这些帧进行处理以通过显示接口进行显示。除了将第一组帧存储到诸如系统存储器之类的存储设备之外,或者代替将第一组帧存储到存储设备,相机处理器可以这样做。
10.在一些示例中,相机处理器可以将缩放设置(例如,缩放水平、缩放水平转换等)应用到图像数据的多个传入帧。数码相机可以接收标识特定缩放设置的用户输入。在一些示例中,数码相机可以通过数码相机的用户接口(ui)或者在一些情况下通过另一设备的ui,从用户接收缩放设置。在一些示例中,通过手势(例如,捏拉缩放手势、手势、凝视手势、头部手势等)、滑动条操作、可选缩放图标(例如,2.0x缩放图标)、手动或自动镜头驱动、预编程缩放设置等等,来导出或确定缩放设置。
11.在一些示例中,ui或相机处理器可以包括特定的缩放敏感度,其实质上就经由显示设备显示的预览帧而言,提供对用户缩放命令的瞬时响应。然而,在某些情况下,用户可能会发现难以准确地控制相机处理器,以相对于帧的特定区域来生成一组平滑的缩放帧。这是因为用户输入可能导致相机处理器执行非预期的缩放转换,例如相对于用户最初可能打算在其中进行缩放而不进行最终无关缩放转换的帧区域的过度缩放、缩放不足等。当录制视频时,相机处理器可以存储表示缩放转换的缩放帧,其中缩放转换在回放时可能显得夸张或随意。类似地,当通过显示设备提供帧的预览时,相机处理器可以提供具有不规则缩放转换、用户缩放校正等的预览帧,用户可能希望消除或以其它方式平滑(与预览帧相比,至少关于帧的最终存储版本而言)。
12.根据本公开内容的技术,相对于存储在存储器中以供长期访问和/或后处理的帧,一个或多个相机处理器可以区分预览帧的处理。例如,本公开内容的技术允许相机处理器在多个帧的捕捉期间接收缩放设置,例如粗略捏拉缩放输入。相机处理器可以基于多个捕获的帧,根据缩放设置来确定和/或生成第一组帧(例如,第一组缩放帧)。相机处理器可以输出第一组帧作为预览帧组。
13.此外,相机处理器可以确定和/或生成与第一组帧不同的第二组帧。在一些示例中,相机处理器可以基于多个捕获的帧或在一些实例中基于第一组帧的至少一个子集,来确定和/或生成第二组帧。也就是说,相机处理器可以在确定和/或生成第二组帧时,重新使用或重新利用第一组帧中的一个或多个帧。在一些示例中,相机处理器可以根据多个捕获
帧的至少一个子集,确定和/或生成第二组帧。在任何情况下,相机处理器可以确定和/或生成第二组帧,以便不同于第一组帧。在一个示例中,相机处理器可以从第二组帧中确定和/或生成特定帧,以便与应用于来自第一组的对应帧的缩放设置相比,将不同的缩放设置应用于该帧。在一些示例中,不同的一组帧可以表示至少一个缩放转换,该缩放转换不同于由第一组帧表示的对应转换。在任何情况下,相机处理器可以确定和/或生成用于至少两组帧的帧,使得这两组帧表示彼此不同的缩放设置。在一些示例中,第二组帧可以表示一组细化的缩放转换。也就是说,相机处理器14可以基于缩放设置(例如,缩放命令、手势、相机移动等)和/或在ai算法或ml模型的帮助下,细化第一组缩放转换,如本文所描述的。
14.如本文所使用的,“缩放”帧通常是指具有应用于至少一些帧的缩放设置的帧。在一些示例中,相机处理器可以将一个或多个缩放设置应用于帧,使得帧动态地放大或缩小正在捕捉的场景。此外,相机处理器可以应用缩放设置以实现静态放大或缩小视图。静态缩放可以相对于先前应用的缩放水平或缺省缩放水平。在一些示例中,缺省缩放水平为1.0倍(例如,不应用缩放)。
15.在一个示例中,可以使用光学缩放技术(例如,移动棱镜、移动镜头、致动镜头、移动相机或计算设备等)、数字缩放技术(例如,数字裁剪、数字缩放、像素分箱适应等)或其组合。在一些示例中,计算设备可以具有连续的光学缩放能力,该能力可以跟踪通过诸如用户定义的缩放设置等等之类的缩放设置识别的目标缩放水平。在任何情况下,缩放设置可以包括使相机处理器实现某些光学缩放技术、数字缩放技术或其组合的设置。在一些示例中,相机处理器可以使用光学缩放技术来确定和/或生成第二组帧的至少第一帧子集,其中缩放设置表示特定类型的缩放转换(例如,放大转换)。在一些示例中,当确定第二组帧时,相机处理器可以使用数字缩放技术生成第二组帧。在这样的示例中,第二组帧可以表示不同类型的缩放转换。在任何情况下,第二组帧可以表示不同于第一组帧表示的第一组缩放转换的第二组缩放转换。此外,数码相机可以确定和/或生成表示相对于第一组预览帧的至少一个不同缩放设置的第二组帧,其中数码相机可以使用各种不同的变焦技术(例如,数字缩放技术和/或光学缩放技术)来实现第二组帧的这种缩放设置。
16.在一个示例中,本公开内容的技术针对于一种被配置用于相机处理的装置,该装置包括:被配置为存储图像数据的存储器,以及与所述存储器通信的一个或多个处理器,所述一个或多个处理器被配置为接收所述图像数据的多个帧;经由用户接口接收针对所述多个帧中的每一个帧的缩放设置;根据所述缩放设置来生成第一组帧;基于所述缩放设置来确定第二组帧,所述第二组帧不同于所述第一组帧;并输出所述第二组帧以供进一步处理。
17.在另一个示例中,本公开内容的技术针对于一种用于相机处理的方法,该方法包括:接收图像数据的多个帧;经由用户接口接收针对所述多个帧中的每一个帧的缩放设置;根据所述缩放设置来生成第一组帧;基于所述缩放设置来确定第二组帧,所述第二组帧不同于所述第一组帧;并输出所述第二组帧以供进一步处理。
18.在另一个示例中,本公开内容的技术针对于一种被配置用于相机处理的装置,该装置包括:用于接收图像数据的多个帧的单元;用于经由用户接口接收针对所述多个帧中的每一个帧的缩放设置的单元;用于根据所述缩放设置来生成第一组帧的单元;用于基于所述缩放设置来确定第二组帧的单元,所述第二组帧和所述第一组帧彼此不同;用于输出所述第二组帧以供进一步处理的单元。
19.在另一个示例中,本公开内容的技术针对于一种其上存储有指令的非暂时性计算机可读存储介质,所述指令在被执行时使一个或多个处理器执行以下操作:接收图像数据的多个帧;经由用户接口接收针对所述多个帧中的每一个帧的缩放设置;根据所述缩放设置来确定第一组帧;基于所述缩放设置来确定第二组帧,所述第二组帧不同于所述第一组帧;并输出所述第二组帧。
20.在附图和下面的说明书中阐述了一个或多个示例的细节。根据说明书、附图以及权利要求书,其它特征、对象和优点将变得显而易见。
附图说明
21.图1是被配置为执行本公开内容中描述的示例技术中的一个或多个技术的设备的框图。
22.图2是示出根据本公开内容中描述的技术的各个方面的示例相机的示例组件的框图。
23.图3是示出图1或图2中所示的相机处理器的示例处理技术的框图。
24.图4是示出根据本公开内容中描述的技术的各个方面的图1中所示的示例相机处理器的示例操作的流程图。
25.图5是示出根据本公开内容中描述的技术的各个方面的用于从缩放设置中识别目标缩放水平的示例方法和技术的流程图。
26.图6是根据本公开内容中描述的技术的各个方面的由包括多个缩放水平的示例第一组预览帧表示的示例图像捕捉序列的说明。
27.图7是根据本公开内容中描述的技术的各个方面的来自多个捕获帧的示例捕获帧和来自示例性第一组预览帧的示例预览帧的说明。
28.图8是根据本公开内容中描述的技术的各个方面的具有经调整的缩放设置的示例第二组帧的说明。
具体实施方式
29.通常,本公开内容描述了用于平滑图像和/或视频数据的帧的缩放转换的技术。还公开了包括有被配置为执行这些技术的相机处理器的相机。相机处理器可以接收图像/视频数据的多个帧(例如,来自一个或多个图像传感器)。相机处理器还可以经由用户接口接收针对多个帧中的每一个帧的缩放设置(例如,1.0x缩放、2.0x缩放等)。也就是说,当从图像传感器接收到多个帧时,用户可以提供相机处理器能够应用于第一组帧(例如,第一组预览帧)的各种缩放命令。照此,相机处理器可以根据缩放设置来确定和/或生成被配置用于显示(例如,预览显示)和/或用于存储的第一组帧。在一些示例中,第一组帧表示第一组缩放设置(例如,第一组缩放转换)。
30.因为用户在录制视频时常常难以仔细、精细或平滑地放大和缩小以捕捉场景的期望部分,所以被配置用于预览显示的帧可能包括无意的缩放设置(例如,过度缩放、缩放不足等),这在视频播放过程中可能会显得夸张。在一些示例中,缩放设置可以包括场景的平移或相机平移场景的命令。在这样的示例中,用户可以平移场景以便捕捉具有特定图像质量的场景,在一些实例中,该特定图像质量补充特定的缩放转换。在另一个示例中,相机处
理器可能应用由于被配置为检测用户输入(例如,触摸屏、凝视跟踪器等)的某些用户接口(ui)机制而显得跳跃的缩放转换。
31.在一个说明性示例中,当用户在提供缩放命令输入的同时,可能期望场景中的某些对象在缩放帧中居中或通常在缩放帧中居中。然而,用户可能平移场景和/或以相机处理器不再输出通常居中的帧的方式进行缩放,如用户可能期望的那样。在这种情况下,用户可能随后调整缩放设置,例如通过调整缩放命令、不同地平移(例如,更慢、更快、校正、过度校正等)、调整相机的指向方向等。在这种情况下,一个或多个处理器可以检测缩放命令输入,并且依次调整缩放设置。一个或多个处理器可以基于缩放设置或基于一组调整的缩放设置来确定第二组帧,其中第二组帧不同于第一组帧(例如,第一组预览帧)。在一些示例中,一个或多个处理器可以调整缩放设置以便调整缩放转换、缩放水平、帧的数字裁剪区域等等。
32.根据本公开内容的技术,相机处理器可以有利地将第一组预览帧与第二组帧区分开来,其中可以记录第二组帧以用于长期存储和/或后处理(比如,视频编码)。在这样的示例中,可以将第二组帧存储为视频文件。第二组帧可以不同于第一组预览帧。例如,第一组帧的帧n可以包括第一缩放设置,以及第二组帧的对应帧n可以包括不同于第一缩放设置的第二缩放设置。也就是说,在一些示例中,相机处理器可以确定要应用于所述多个帧中的帧n的经调整的缩放设置,以便确定第二组帧的对应帧n,该对应帧n然后不同于第一组帧的对应帧n。同样,第一组帧的帧n+1和第二组帧的对应帧n+1可以表示彼此不同的缩放设置。在任何情况下,可以至少部分地基于从图像传感器12接收的所述多个帧中的帧来生成两组帧。
33.在一些示例中,相机处理器可以根据经由ui接收到的缩放设置导出平滑缩放率,作为第二组缩放设置。在一个说明性示例中,用户可能正试图将对象从1.0x缩放到10.0x。然而,由于某些ui机制,相机处理器可能替代地从用户接收到突然的缩放转换,例如从1.0x到12.0x到8.0x到11.0x,并且最终到用户最终瞄准的10.0x缩放水平。在该示例中,相机处理器可以根据缩放设置导出平滑缩放率,以应用于单独记录的帧集合(例如,第二组帧)。照此,经调整的缩放设置可以包括平滑缩放率。在一个说明性示例中,平滑缩放率可以包括逐渐或连续的缩放率,例如每单位时间2.5x缩放水平增量,这导致相机处理器将缩放增加缩放水平量,直到达到目标缩放水平为止,在该示例中,目标缩放水平为10.0x。在这样的实例中,与用于应用表示突然或原始缩放转换的缩放设置的处理资源相比,当将这样的缩放设置应用到第二组帧时,相机处理器可能能够进一步节省处理资源。因此,与使用一组缩放设置的显示和记录缩放操作的操作相比,本公开内容的示例技术(例如,包括缩放率的上述示例)为相机处理提供了各种优势。
34.此外,平滑的缩放转换可以在视频译码中提供技术优势,这是因为突然和急促的缩放转换可能会给视频译码器带来精确压缩或解压缩视频帧的困难。也就是说,本公开内容的技术可以向视频译码器提供视频译码准确度的增加和/或处理资源的减少,例如当对包含缩放设置的帧进行译码时,这些缩放设置经过特别调整,以平滑用户最初定义的某些“原始”缩放设置(例如,由于突然或不稳定的缩放输入)。此外,当缩放设置被特别调整为与用户最初定义的缩放设置不同时,视频编码器可能倾向于更准确地执行时间预测技术(例如,压缩或解压缩视频译码标准中的p帧和b帧)。
35.在一些示例中,相机处理器可以基于从图像传感器接收到的多个帧来确定第二组
帧。第二组帧可以不同于第一组帧。第二组帧可以表示第二组缩放转换(例如,平滑的缩放转换)。在这种情况下,第二组缩放转换不同于由第一组帧表示的第一组缩放转换。在任何情况下,为了进一步处理,相机处理器可以输出第二组帧,或者在一些情况下,可以输出第二组缩放转换。在一些示例中,输出可以包括:应用各种缩放设置(例如,调整的缩放设置)以便生成第二组帧的指令。此外,相机处理器可以将第二组帧或第二组缩放转换输出到视频译码器、存储设备和/或显示设备。无论如何,相机处理器可以输出第二组帧以便存储为视频文件。在一个示例中,存储器控制器可以根据相机处理器的输出来确定第二组帧,并且通过将第二组帧存储为视频文件来生成第二组帧。在另一个示例中,视频译码器可以根据相机处理器输出来确定第二组帧并且经由对第二组帧的编码来生成第二组帧。在这样的示例中,视频译码器可以对第二组帧进行编码,以便相对于与第一组预览帧相对应的第一组缩放设置来表示经调整的一组缩放设置。
36.图1是被配置为执行本公开内容中描述的示例技术中的一个或多个技术的计算设备10的框图。计算设备10的示例包括计算机(例如,个人计算机、台式计算机或膝上型计算机)、诸如平板计算机的移动设备、无线通信设备(诸如例如,移动电话、蜂窝电话、卫星电话和/或移动电话手机)、互联网电话、数码相机、数码摄像机、手持设备,例如便携式视频游戏设备或个人数字助理(pda)、无人机设备、或可能包括一个或多个摄像头的任何设备。在一些示例中,计算设备10可以包括中央处理单元(cpu)16、视频编码器/解码器17、图形处理单元(gpu)18、gpu 18的本地存储器20、用户接口22、提供访问系统存储器30的存储器控制器24、以及输出使图形数据显示在显示器28上的信号的显示界面26。
37.如图1的示例中所示,计算设备10包括一个或多个图像传感器12a-n。图像传感器12a-n在本文中的一些实例中可以简称为“传感器12”,而在其它实例中可以称为多个“传感器12”(根据需要)。计算设备10进一步包括一个或多个镜头13a-n和相机处理器14。类似地,镜头13a-n在本文中的一些情况下可以简称为“镜头13”,而在其它情况下可以称为多个“镜头13”(根据需要)。在一些示例中,传感器12表示一个或多个图像传感器12,其可以包括处理电路、用于捕捉对光的表示的像素传感器(例如,像素)阵列、存储器、可调节镜头和用于调整一个或多个镜头13的致动器。
38.如图1中所示,相机15可以指代包括一个或多个图像传感器12、一个或多个镜头13和一个或多个相机处理器14的集合设备。在一些示例中,多个相机15可以包括在单个计算设备10(例如,具有一个或多个前置摄像头和一个或多个后置摄像头的移动电话)中。在一些示例中,一个计算设备10可以包括具有一个或多个图像传感器12和一个或多个镜头13的第一相机15,以及具有一个或多个图像传感器12和一个或多个镜头13的第二相机15等等。应当注意,虽然可以参考从单个相机(例如,从单个图像传感器)接收的帧来讨论本文中的一些示例技术,但是本公开内容的技术不限于此,并且本领域技术人员应当了解的是,本公开内容的技术可以针对计算设备10所包括的任何类型的相机15及相机15的组合来实施。例如,可以根据从多个照相机接收的帧或从对应于不同焦距的帧来创建图像数据的合成帧。因此,相机处理器可以将缩放设置应用于合成帧。
39.尽管本文针对单个传感器12描述了一些示例技术,但是示例技术不限于此,并且可以适用于用于捕捉图像/视频的各种相机类型,其包括多个图像传感器和/或多种镜头类型。例如,计算设备10可以包括双镜头设备、三镜头设备、360度相机镜头设备等等。照此,每
个镜头13和图像传感器12的组合可以提供各种缩放水平、视角(aov)、焦距、fov等等。在一些示例中,可以为每个镜头13分配特定的图像传感器12,反之亦然。例如,可以将多个图像传感器12各自分配给不同的镜头类型(例如,广角镜头、超广角镜头、远摄镜头和/或潜望镜镜头等)。
40.在包括多个镜头13的示例中,cpu 16和/或相机处理器14可以响应于接收到用户输入(例如,经由用户接口22),激活特定镜头13或镜头13的组合。例如,cpu 16和/或相机处理器14可以通过用户接口22接收用户输入,用户接口22包括缩放设置23(例如,特定镜头13(如,鱼眼镜头相机)的用户选择、缩放命令等等)。在另一个示例中,相机处理器14可以接收缩放设置23而不管用户接口22,例如从系统存储器30或cpu 16接收。在一个示例中,相机处理器14可以经由用户接口22接收缩放设置23,并且还可以从系统存储器30中检索预编程的缩放设置。在这样的示例中,相机处理器14可以单独使用缩放设置,或者在某些情况下,可以组合从不同源接收的缩放设置。相机处理器14可以利用缩放设置(例如,组合或以其它方式)以便生成预览帧组以供显示。相机处理器14还可以使用缩放设置来导出第二组缩放设置以便确定第二组帧,其中可以根据导出的第二组缩放设置来生成第二组帧。
41.在一些示例中,cpu 16可以自动确定要激活哪个镜头13,并且选择要激活的初始镜头13或从一个镜头13转换到另一个镜头13。例如,cpu 16和/或相机处理器14可以在检测到满足特定镜头选择标准的操作条件(例如,满足预定相机转换阈值的缩放水平、照明条件的变化、来自用户要求特定镜头13的输入等)时,确定激活哪个镜头13。在一些示例中,可以将多个相机相互结合使用,以捕获一张合成图像(例如,全景图像),使得相机处理器14或cpu 16可以基于从传感器12捕获的图像来处理一张合成图像。全景图像可以标识相对于非全景图像的不同缩放设置。
42.在一些示例中,相机处理器14可以引起对一个或多个镜头13和一个或多个图像传感器12的有效焦距的调整。例如,相机处理器14可以启动镜头致动器,将镜头移向或移离相应的图像传感器12。在另一个示例中,相机处理器14可以启动从第一镜头13a到第二镜头13b的镜头转换。在任何情况下,相机处理器14都可以调整经由镜头13和图像传感器12捕获图像数据帧的焦距。相机处理器14可以响应于缩放设置(例如,缩放命令、自动缩放编程、缩放水平输入、缩放转换等)来执行这种调整。在一些示例中,相机处理器可以在执行各种自动对焦技术(例如,以不同的对焦水平捕捉多个帧、通过将多个帧融合在一起来创建合成帧等)的同时,执行这样的调整。
43.在一些示例中,相机处理器14可以包括多个相机处理器,其串联地或彼此并行地执行各种处理操作。相机处理器14可以包括两个或更多个相机处理器14,例如双动态相机处理器14。在一个说明性示例中,第一相机处理器14可以向显示界面26提供第一组视频帧数据以生成预览帧。也就是说,第一相机处理器14可以确定第一组预览帧,将第一组预览帧输出到存储器,并且使显示器28生成第一组预览帧以供显示。显示界面26可以使预览帧在视频记录过程期间或在其它预览会话期间经由显示器28进行显示。
44.第二相机处理器14可以确定要存储为视频数据的第二组帧,第二组帧不同于第一组帧。在任何情况下,这两组帧都可以对应于由图像传感器12捕获的多个帧。第二相机处理器14还可以将第二组帧例如输出到视频编码器/解码器17以用于视频译码。此外,第一相机处理器14可以用于确定用于预览显示的图像数据帧,例如在开始视频记录过程之前显示捕
获的场景的预览或在视频记录过程期间显示捕获的场景的。也就是说,用于预览显示的帧可以在显示器28上显示为预览帧,而不管用户和/或ai输入,例如开始记录视频或拍照的输入。
45.在一些示例中,第一相机处理器14可以与显示界面26相连接,以及将第一组帧输出到显示界面26以用于预览显示。第二相机处理器14可以与视频编码器/解码器17相连接,或者在一些情况下,与系统存储器30或本地存储器20进行接口。应当注意的是,第二组帧可以包括来自第一组帧的一个帧子集,但是在任何情况下,第一组帧和第二组帧可能在每组帧表示的缩放设置(例如,缩放转换、缩放水平)、每组帧表示的3a参数等方面有所不同。
46.在一些示例中,单个图像传感器12可以对应于多个镜头13。在这样的示例中,可以使用光导将入射在镜头13上的光引导到相应的图像传感器12。示例光导可以包括棱镜、移动棱镜、反射镜等。以这种方式,从单个镜头接收的光可以重定向到特定传感器12,例如远离一个传感器12并且朝向另一个传感器12。例如,相机处理器14可以使棱镜移动,并且对入射在镜头13之一上的光进行重定向,以便有效地改变焦距。
47.尽管在图1中将计算设备10的各种结构示出为单独的,但是本公开内容的技术不限于此,并且在一些示例中,可以对这些结构进行组合以形成片上系统(soc)。举一个示例,可以在公共集成电路(ic)芯片上形成相机处理器14、cpu 16、gpu 18和显示界面26。在一些示例中,可以在单独的ic芯片上形成相机处理器14、cpu 16、gpu 18和显示界面26中的一者或多者。各种其它排列和组合也是可能的,并且本公开内容的技术不应被认为限于图1所示的示例。
48.图1中所示的各种结构可以被配置为使用总线32相互通信。总线32可以是各种总线结构中的任何一种,例如第三代总线(例如,hypertransport总线或infiniband总线)、第二代总线(例如,高级图形端口总线、外围组件互连(pci)express总线或高级可扩展接口(axi)总线)或其它类型的总线或设备互连。应当注意的是,图1所示的不同结构之间的总线和通信接口的具体配置仅仅是示例性的,并且也可以使用具有相同或不同结构的计算设备和/或其它图像处理系统的其它配置来实现本公开内容的技术。
49.此外,可以将图1中所示的各种组件(无论形成在一个设备上还是形成在不同的设备上)(其包括传感器12和相机处理器14)形成为固定功能或可编程电路或两者的组合中的至少一种,例如形成在一个或多个微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)或其它等效的集成电路或分立逻辑电路中。此外,本地存储器20的示例包括一个或多个易失性或非易失性存储器或存储设备,例如随机存取存储器(ram)、静态ram(sram)、动态ram(dram)、可擦除可编程rom(eprom)、电可擦除可编程只读存储器(eeprom)、闪存、磁数据介质或光存储介质。
50.在一些示例中,存储器控制器24可以有助于数据进入和离开系统存储器30的传输。例如,存储器控制器24可以接收存储器读取和写入命令,并且为存储器30服务这些命令以便为计算设备10的各种组件提供存储器服务。在这样的示例中,存储器控制器24可以通信地耦合到系统存储器30。尽管在图1的计算设备10的示例中将存储器控制器24示出为与cpu 16和系统存储器30分离的处理电路,但是在一些示例中,存储器控制器24的一些或全部功能可以在cpu 16、系统存储器30、相机处理器14、视频编码器/解码器17、和/或gpu 18中的一者或多者上实现。
51.系统存储器30可以存储可由相机处理器14、cpu 16和/或gpu 18访问的程序模块和/或指令和/或数据。例如,系统存储器30可以存储用户应用程序(例如、用于相机应用的指令)、来自相机处理器14的结果图像等。系统存储器30可以另外存储用于由计算设备10的其它组件使用和/或由其生成的信息。例如,系统存储器30可以充当针对相机处理器14的设备存储器。系统存储器30可以包括一个或多个易失性或非易失性存储器或存储设备,例如ram、sram、dram、rom、eprom、eeprom、闪存、磁数据介质或光存储介质。此外,系统存储器30可以存储图像数据(例如,视频数据帧、经编码的视频数据、缩放设置、3a参数等)。在一些示例中,系统存储器30或本地存储器20可以将图像数据存储到片上存储器,例如存储在系统存储器30或本地存储器20的存储器缓冲器中。在另一个示例中,系统存储器30或本地存储器20可以输出图像数据以便从芯片或缓冲器的存储器外部存储,例如存储到相机设备的安全数字(sd
tm
)卡,或者在某些情况下,存储到相机设备的另一个内部存储器。在一个说明性示例中,系统存储器30或本地存储器20可以体现为相机处理器14芯片、gpu 18芯片或两者上的缓冲存储器,其中单个芯片包括两个处理电路。
52.在一些示例中,系统存储器30可以包括使相机处理器14、cpu 16、gpu 18和/或显示界面26执行归属于本公开内容中的这些组件的功能的指令。因此,系统存储器30可以是其上存储有指令的计算机可读存储介质,这些指令在被执行时,使一个或多个处理器(例如,相机处理器14、cpu 16、gpu 18和显示界面26)执行本公开内容的各种技术。
53.在一些示例中,系统存储器30是非暂时性存储介质。术语“非暂时性”表示存储介质不包含在载波或传播信号中。然而,术语“非暂时性”不应被解释为意味着系统存储器30是不可移动的或其内容是静态的。举一个示例,系统存储器30可以从计算设备10中移除,并且移动到另一个设备中。再举一个示例,可以将与系统存储器30基本相似的存储器插入到计算设备10中。在某些示例中,非暂时性存储介质可以存储随着时间改变的数据(例如,在ram中存储)。
54.此外,相机处理器14、cpu 16和gpu 18可以将图像数据、用户接口数据等存储在分配在系统存储器30内的相应缓冲区中。显示界面26可以从系统存储器30和配置显示器28中检索数据,以显示由图像数据表示的图像(例如,经由用户接口22屏幕进行显示)。在一些示例中,显示界面26可以包括数模转换器(dac),其被配置为将从系统存储器30检索的数字值转换为显示器28可消耗的模拟信号。在其它示例中,显示界面26可以将数字值直接传递到显示器28进行处理。
55.在一些示例中,相机处理器14可以包括图像信号处理器(isp)。例如,相机处理器14可以包括在传感器12和相机处理器14之间连接的相机接口。相机处理器14可以包括用于处理图像内容的其它电路。相机处理器14可以被配置为对传感器12捕获的图像数据执行各种操作,其包括自动白平衡、颜色校正或其它后处理操作。在一些示例中,相机处理器14可以执行“3a”算法。这样的算法可以包括自动对焦(af)、自动曝光控制(aec)和自动白平衡(awb)技术。在这样的示例中,3a可以表示统计算法处理引擎的功能,其中相机处理器14之一可以实现和操作这样的处理引擎。
56.在一些示例中,相机处理器14被配置为从传感器12接收图像帧(例如,像素数据),并且处理图像帧以生成图像和/或视频内容。例如,图像传感器12可以被配置为捕捉单独的帧、帧突发、用于生成视频内容的帧序列、在记录视频时捕捉的静态照片、预览帧、或来自静
态照片捕捉之前和/或之后的运动照片。cpu 16、gpu 18、相机处理器14或一些其它电路可以被配置为将由传感器12捕获的图像和/或视频内容处理成用于在显示器28上显示的图像或视频。图像帧通常可以指代静止图像的数据帧或视频数据帧或其组合,例如运动照片。相机处理器14可以接收任何格式的图像帧的像素数据。例如,该像素数据可以包括不同的颜色格式,例如rgb、ycbcr、yuv等。在任何情况下,相机处理器14可以从图像传感器12接收多个图像数据帧。
57.此外,相机处理器14可以被配置为分析像素数据,和/或经由存储器控制器24将得到的图像(例如,每个图像像素的像素值)输出到系统存储器30。可以进一步处理图像中的每一个图像,以生成用于显示的最终图像。例如,gpu 18或一些其它处理单元(包括相机处理器14)可以执行缩放操作以生成缩放帧,执行颜色校正、白平衡、混合、合成、旋转或其它操作,以生成用于显示和/或存储的最终图像内容。
58.在一些示例中,显示器28可以将第一组帧显示为预览帧组。在这样的示例中,第一组帧不一定表示存储到系统存储器30的帧。在任何情况下,显示器28显示预览帧,其向用户指示图像传感器12在任何给定时刻正在捕捉什么像素信息,无论是在主动录制内容时,还是在录制任何内容之前简单地将相机对准场景时。在一些示例中,可以在将预览帧显示给用户之前进行数字地改变,例如通过数字地裁剪和/或缩放。在一些示例中,相机处理器14可以确定第一组帧(例如,第一组预览帧),并且第一组帧中的每个帧应用缩放设置。在一些示例中,相机处理器14可以输出和生成具有第一组缩放设置的第一组帧以供显示。在一些示例中,第一组帧表示第一组缩放水平转换。从用户的角度来看,第一组帧对应于例如当相机应用在计算设备10的前台运行时,用户在显示器28上看到的内容。如本文所讨论的,显示器28还可以显示由图像传感器12捕获的图像数据的多个帧,其中图像数据的所述多个帧包括与第一组预览帧不同的缩放设置。
59.在一些示例中,显示器28可以在单个显示器中一起显示所述多个帧和第一组预览帧。照此,相机处理器14可以根据第一组缩放设置来生成第一组帧,并且基于该组缩放设置来确定经调整的一组缩放设置。此外,显示器28可以被配置为显示第二组帧,第二组帧是基于经调整的缩放设置来生成的。在这种情况下,由于经调整的缩放设置,第二组帧可能不同于第一组帧。
60.在一个说明性示例中,相机处理器14或cpu 16可以使用户接口22提供多个捕获的帧和/或第一组帧的不同版本的预览显示,第一组帧包括与多个捕获的帧不同的缩放设置。例如,用户接口22可以提供多组帧的同步和/或同时显示(例如,“画中画”显示)。例如,无论任何请求的缩放设置23如何,用户接口22都可以经由显示器28提供一组显示全fov的帧。用户接口22可以另外地经由显示器28提供第二组帧以及第一组帧。第二组帧可以在时间上对应于第一组帧(例如,相同的场景但不同的视角或fov)。当相机处理器14将调整的缩放设置23应用到第二组帧时,第二组帧可以实时或接近实时地提供缩放改变帧(例如,缩放帧)的预览显示。在一些示例中,“接近实时”可以意味着在数据传输允许的情况下尽可能接近实时,例如将像素从图像传感器12传输到相机处理器14以及将帧数据传输到显示界面26。
61.计算设备10可以包括视频编码器和/或视频解码器17,可以将它们中的任一者集成为组合的视频编码器/解码器(codec)(例如,视频译码器)的一部分。视频编码器/解码器17可以包括对一个或多个相机15捕获的视频进行编码的视频译码器或可以对经压缩或经
编码的视频数据进行解码的解码器。在一些情况下,cpu 16和/或相机处理器14可以被配置为对视频数据进行编码和/或解码,在这种情况下,cpu 16和/或相机处理器14可以包括视频编码器/解码器17。在任何情况下,视频编码器/解码器17可以被配置为对从图像传感器12接收的图像数据的全部或至少部分的全部潜在fov帧(例如,多个捕获的帧)进行压缩或解压缩。类似地,视频编码器/解码器17可以被配置为对表示经调整的一组缩放设置的第二组帧进行压缩或解压缩。在一些示例中,视频编码器/解码器17可以进一步被配置为:对表示缩放设置(例如,根据第一组缩放设置生成的第一组缩放帧)、缩放设置信息等的预览帧进行压缩或解压缩。
62.cpu 16可以包括控制计算设备10的操作的通用或专用处理器。用户可以向计算设备10提供输入以使cpu 16执行一个或多个软件应用程序。在cpu 16上执行的软件应用程序可以包括例如相机应用程序、图形编辑应用程序、媒体播放器应用程序、视频游戏应用程序、图形用户接口应用程序或其它程序。一种示例软件应用程序是相机应用程序。cpu 16执行相机应用程序,并且作为响应,相机应用程序使cpu 16生成显示器28输出的内容。例如,显示器28可以输出诸如光强度、是否启用闪光灯以及其它此类信息的信息。相机应用程序还可以使cpu 16指示相机处理器14以用户定义的方式来处理传感器12所捕获的图像。计算设备10的用户可以与显示器28进行接口(例如,经由用户接口22),以配置生成图像的方式(例如,应用缩放设置23,使用或不使用闪光灯、焦点设置、曝光设置、视频或静止图像和其它参数)。
63.在一些示例中,相机应用程序可以允许用户控制相机15的各种设置。为了控制各种设置,用户可以通过诸如键盘、鼠标、麦克风、手持控制器、遥控器、凝视跟踪器、触摸板、或经由用户接口22耦合到计算设备10的另一输入设备之类的一个或多个输入设备(没有示出),向计算设备10提供输入。例如,用户接口22可以接收来自用户的输入以调整目标缩放设置,其中目标缩放设置可以根据缩放设置23中导出,或者可以之前已经根据缩放设置23中导出。在一些示例中,cpu 16可以存储缩放设置23或者其至少一部分。在这样的示例中,缩放设置23的某些部分可以表示用于相机处理器14、cpu 16、gpu 18、显示界面26或视频编码器/解码器17的指令,以确定不同于第一组帧的第二组帧。在一个说明性示例中,缩放设置23可以表示计算机可读指令(例如,非暂时性计算机可读指令),其指示相机处理器14将哪个调整的缩放设置应用于第二组帧中的哪个帧或哪些帧。照此,缩放设置23可以允许计算设备10的各种结构生成表示特定缩放设置23的第二组帧。
64.在一些示例中,cpu 16可以启动和/或操作相机应用。如上面所描述的,相机应用程序可以包括用于用户与用户接口22交互的各种选项。在这样的示例中,当cpu 16正在操作相机应用程序时,cpu 16可以经由用户接口22接收来自用户的输入以改变图像数据帧的纵宽比、录制视频、在录制视频时拍摄快照、将滤镜应用于图像捕获、选择感兴趣区域以进行自动对焦操作、录制慢动作视频或超慢动作视频、应用夜间拍摄设置、捕获全景图像数据等等。cpu 16还可以经由用户接口22接收针对从图像传感器12接收的多个帧中的每一个帧的缩放设置。
65.在一些示例中,用户接口22可以提供各种可选模式,例如启用或禁用本文公开的缩放模式的可选模式。在一些示例中,cpu 16可以接收对各种相机模式的选择,其包括启动本公开内容的缩放设置调整的相机模式。当启用可选模式时,相机处理器14可以将提供给
显示界面26的图像数据帧与记录到系统存储器30的图像数据帧区分开来。也就是说,当启用可选模式时,相机处理器14可以执行图像数据的全fov帧的存储,以及向显示界面26提供缩放帧以供显示(例如,预览显示)。在该可选模式中,相机处理器14可以继续检索完整的fov帧,并将缩放设置应用于这些帧以生成包括不同于第一组帧的缩放转换的第二组帧。然而,在一些实例中,相机处理器可以执行本公开内容的此类技术而无需启用任何可选模式(例如,缺省情况下)。在任何情况下,相机处理器14可以生成表示第一组缩放转换的第一组帧,确定不同于第一组缩放转换的第二组缩放转换,并确定不同于第一组帧的第二组帧。第二组帧可以表示第二组缩放转换。仅在一些示例中,相机处理器14可以利用与相机处理器14的存储器分离的存储器设备来执行这样的技术,如本文所公开的。
66.在一些示例中,cpu 16可以接收指示特定缩放水平包括目标缩放水平的用户输入。该目标缩放水平可以表示用户最初期望用于视频捕捉的缩放水平,但是用户在执行各种缩放操作时可能无法迅速实现该缩放水平(例如,在执行粗略捏拉缩放操作时)。虽然参考cpu 16描述为接收用户输入,但是这些输入也可以由计算设备10的其它结构(包括相机处理器14)进行接收,例如在这些结构没有进行集成或组合以形成公共芯片的情况下。计算设备10的各种结构可以例如从cpu 16、系统存储器30或用户接口22接收用户输入。
67.在一些示例中,相机处理器14或cpu 16可以经由用户接口22接收对期望缩放水平的指示。例如,用户可以利用用户接口22的机制来确定特定的缩放水平。一旦用户确定了特定缩放水平,用户就可以选择指示用户对特定缩放水平的满意度的命令。相机处理器14或cpu 16可以经由用户接口22接收该命令作为缩放设置23的一部分。相机处理器14可以根据缩放设置23中导出第二组缩放设置,以便根据第二组缩放设置来确定第二组帧。在这种情况下,相机处理器14可以输出第二组帧,第二组帧反映捕捉用户的目标缩放水平的一个或多个缩放转换。在一个说明性示例中,相机处理器14可以在试用期期间接收一组缩放设置23,试用期是用户试图找到以用户期望的方式最好地捕捉场景的期望缩放水平的时间。相机处理器14可以在后台存储完整的fov帧,使得相机处理器14可以随后基于试用期和/或期望的缩放水平来改变那些帧。
68.在一些示例中,对应于第一相机的第一图像传感器12可以是对应于第二相机的相同图像传感器12。也就是说,对应于第二相机的图像传感器12可以是对应于第一相机的相同的第一图像传感器。第一相机和第二相机可以提供不同的有效焦距(例如,由于使用不同的镜头、移动棱镜的激活等)。在一些示例中,相机处理器14可以根据自动对焦过程和/或响应缩放设置23或根据缩放设置23导出的第二缩放设置,来移动镜头13a或镜头13b。在执行自动聚焦过程或应用各种缩放设置时,相机处理器14可以使镜头13a移动以达到特定的焦距。自动对焦过程可以包括对焦和随后的散焦,反之亦然。
69.显示器28可以包括监视器、电视机、投影设备、液晶显示器(lcd)、等离子显示面板、发光二极管(led)阵列、有机led(oled)、电子纸、表面传导电子发射显示器(sed)、激光电视显示器、纳米晶体显示器或其它类型的显示单元。显示器28可以集成在计算设备10内。例如,显示器28可以是移动电话手机、平板计算机或膝上型计算机的屏幕。或者,显示器28可以是经由有线或无线通信链路耦合到计算设备10的独立设备。例如,显示器28可以是通过电缆或无线链路连接到个人计算机的计算机监视器或平板显示器。显示器28可以提供预览帧,用户可以查看预览帧以查看正在存储的内容或如果照相机15要实际拍摄照片或开始
记录视频,图片可能是什么样子。
70.在一些示例中,相机处理器14可以接收图像数据(例如,视频数据)的多个帧。例如,相机处理器14可以从一个或多个图像传感器12接收图像数据的多个帧。相机处理器14可以从图像传感器12接收这些帧作为像素数据。在一个说明性示例中,48兆像素(mp)图像传感器12可以在全fov潜力下,将4800万像素传输到相机处理器14。在一些情况下,图像传感器12可以相对于可能从特定图像传感器12获得的像素数量传输减少的像素数量(例如,从48mp图像传感器12到相机处理器14的减少的12mp输出)。例如,在图像传感器参与各种像素分箱技术时和/或当相机处理器14指示图像传感器12仅传输图像传感器12的像素阵列的特定部分时(例如,对应于图像传感器12的像素阵列的中心四分之一的像素),图像传感器12可以输出更少的像素实例。在任何情况下,相机处理器14可以从图像传感器12接收图像数据的帧。例如,相机处理器14可以从图像传感器12接收图像数据的多个帧,这些帧可以共同表示视频的视频数据记录。
71.在一些情况下,相机处理器14可以响应于经由用户接口22命令视频记录的用户输入,来启动视频记录。在另一个示例中,相机处理器14可以自动记录视频,例如当相机处理器14检测到触发相机处理器14启动视频记录的特定记录触发时。
72.此外,相机处理器14可以接收与所述多个帧相对应的缩放设置23。在一些示例中,相机处理器14可以经由用户接口22接收由图像传感器12接收的多个帧中的每个帧的缩放设置。在一些示例中,相机处理器14可以接收放大到特定缩放水平的请求。相机处理器14还可以接收缩小到其它缩放水平的请求。在一些情况下,相机处理器14可以响应于过度缩放而接收缩小的请求,例如当第一缩放请求表示超过阈值缩放的缩放时。例如,用户可能意识到缩放已经超过了特定的不希望的阈值,并且可以启动缩小过程以便校正过度缩放。在任何情况下,相机处理器14可以在用户正在记录视频或准备记录视频时实时接收缩放设置23,并且照此缩放设置23对应于相机处理器14接收到的帧。也就是说,缩放随时间的变化对应于随时间接收的帧。
73.根据缩放设置23,相机处理器14可以生成用于预览的第一组帧(例如,预览帧、缩放帧、主动缩放帧等)。根据缩放设置23,第一组帧可以表示第一组缩放转换。在说明性和非限制性示例中,第一缩放转换可以包括从1.0x到5.0x缩放的转换,随后的缩放转换可以包括从5.0x到11.0x的转换,下一个缩放转换可以包括从11.0x到9.0x的转换,以及最终的缩放转换可以包括从9.0x到10.0x缩放的转换。在这种情况下,相机处理器14可以生成反映或表示各种缩放转换的第一组帧。缩放水平可能是突然的、逐渐的,或对用户接口输入定义的不同控制或移动敏感。此外,可以针对不同的时间段应用不同的缩放水平。在一个说明性示例中,基于经由用户接口22接收的输入,为了生成第一组帧,相机处理器14可以在第一缩放转换之前应用5.0x缩放0.5秒,并且在另一个缩放转换之前应用11.0x缩放不同的持续时间。在任何情况下,第一组帧可以根据第一组缩放转换反映经由用户接口22接收的输入。
74.在一个说明性示例中,相机处理器14可以通过从图像传感器12接收图像数据的多个fov帧(例如,多个传入帧),确定和/或生成第一组预览帧。相机处理器14可以从图像传感器12接收图像数据的全部潜在fov帧(例如,视频数据和/或预览数据的帧)。在一些情况下,在相机处理器14导致图像传感器12输出减少数量的像素(例如,帧的中心25%)的情况下,相机处理器14可能接收不到全部潜在fov帧。在一些示例中,相机处理器14或图像传感器12
可以将多个传入帧存储到存储器,其中在相机处理器14将任何缩放设置应用于传入帧之前存储多个传入帧。在这样的示例中,相机处理器可以将多个捕获的帧存储为具有从给定图像传感器12接收到的全部数量的像素(例如,全部fov帧)。
75.在一些示例中,为了实现缩放设置23,相机处理器14可以对接收的帧执行光学缩放技术和/或数字缩放技术(例如,数字裁剪、缩放、采样等),以生成第一组帧以用于预览显示和/或存储。相机处理器14可以被配置为将第一组帧输出到显示界面26或其它显示设备。在任何情况下,第一组帧可以表示基于从用户接收和/或由ai算法或ml模型提供的缩放设置(例如,缩放命令)的第一组缩放转换。
76.此外,相机处理器14可以确定和/或生成第二组帧。相机处理器14可以根据从图像传感器12接收的多个帧的至少一个子集(例如,用于生成第一组帧的多个帧)来生成第二组帧。第二组帧可以不同于第一组帧。在一个示例中,第二组帧与第一组帧的不同之处在于,来自第二组帧的至少一个帧与来自第一组帧的对应帧相比具有不同的缩放设置。
77.根据不同的缩放设置,相机处理器14可以使用诸如自动镜头致动之类的光学缩放技术和/或数字缩放技术来确定和/或生成第二组帧。在一些示例中,相机处理器14可以数字地改变从图像传感器12接收到的帧,以便确定和/或生成第二组帧。在这样的示例中,相机处理器14可以通过数字地裁剪和/或缩放帧的像素来数字地改变这些帧。在另一个示例中,通过调整图像传感器12在将图像数据帧输出到相机处理器14时可以应用的像素分箱级别,相机处理器14可以对帧进行数字地改变。
78.在一些情况下,相机处理器14可以仅基于从图像传感器12接收到的帧的一个子集来确定第二组帧。例如,相机处理器14可以通过利用来自第一组帧的一个或多个对应帧,来生成第二组帧的一个子集。也就是说,在确定第二组帧中的帧时,相机处理器14可以数字地改变来自第一组帧的一个或多个对应帧,以便确定第二组帧的特定帧。在使用适应增加或减少缩放水平的像素分箱技术的情况下,相机处理器14可以利用这种技术。通常,图像传感器12通过将图像传感器12的多个像素组合成更少的像素以输出到相机处理器来执行像素分箱(例如,4x4分箱、3x3分箱、2x2分箱、水平分箱、垂直分箱等等)。分箱技术通过允许图像传感器12或在某些情况下相机处理器14通过各种组合方案将像素组合在一起来提高信噪比(snr),其包括:对于每个输出像素,将多个像素在一起平均或求和。根据这样的技术,图像传感器12可以在分箱级别转变和/或镜头转变期间输出更少的像素。在这样的示例中,相机处理器14可以利用从图像传感器12接收到的来自第一组帧的帧,以便补充第二组帧的至少一个子集。在这样的示例中,相机处理器14可以根据第一组帧的至少一个子集来确定第二组帧,其中第二组帧不同于第一组帧,并且表示一个或多个平滑的缩放转换。
79.在涉及确定第二组缩放转换的示例中,第二组缩放转换(例如,平滑的缩放转换)可以在持续时间、缩放率、缩放水平等方面不同于第一组缩放转换。例如,为了与用于生成第一组帧的上述说明性示例保持一致,一组平滑的缩放转换可以包括从1.0x到10.0x的平滑转换,而没有在5.0x处的短暂停止并且没有无关的缩放,最终达到10.0倍的绽放。在一些情况下,ai算法和/或ml模型可以定义第一组缩放转换和第二组缩放转换之间的差异。在另一个示例中,用户输入可以定义该差异,例如指示10.0x实际上一直是期望缩放水平的用户输入(例如,目标缩放水平)。在这种情况下,相机处理器14和/或cpu 16可以通过执行某些ai算法和/或ml模型(例如,被配置为识别帧中的对象(例如,面部检测、人员检测、建筑物检
测等)的ai算法或ml模型)来增强用户输入。可以训练ai算法和/或ml模型以确定帧的焦点。也就是说,用户可能希望特定对象成为整个缩放体验的实际焦点,在这种情况下,ai算法和/或ml模型可以基于对多个输入帧中的对象的检测来识别缩放体验的焦点。照此,相机处理器14可以在缩放设置23中包括关于所识别的帧的焦点的信息。在这样的示例中,相机处理器14可以基于这样的缩放设置23来确定第二组帧,以便以表示跟踪到所识别的帧的焦点的第二组缩放转换。在一些情况下,相机处理器14可以执行选择性数字裁剪,例如通过调整或剪裁相对于帧的数字裁剪区域(例如,进行裁剪以从帧的非中心部分捕获像素)。以这种方式,相机处理器14可以在确定第二组帧时,更好地跟踪和更准确地实现缩放设置(例如,缩放命令、平移、缩放时平移等等)。
80.在一些示例中,相机处理器14可以输出第二组帧(例如,第二组缩放帧),其中第二组帧不同于第一组帧。例如,相机处理器14可以将第二组帧输出到系统存储器30进行存储,输出到视频编码器/解码器17进行视频编码,输出到显示界面26或显示器28进行显示,输出到本地存储器20或gpu 18进行图形处理等等。在一些示例中,相机处理器14可以输出第二组帧以用于进一步的内部处理。
81.在一些示例中,相机处理器14可以将第二组帧输出到存储器控制器24,以便将第二组帧存储为视频文件。在一些示例中,cpu 16、视频编码器/解码器17和/或相机处理器14可以输出第二组帧以便存储为视频文件。在一些示例中,存储器控制器24可以以任何合适的视频文件格式生成和/或存储第二组帧。在一些示例中,视频编码器/解码器17可以在cpu 16、视频编码器/解码器17和/或相机处理器14之前对第二组帧进行编码,从而使第二组帧存储为经编码的视频。编码器/解码器17可以使用各种编码技术对图像数据的帧进行编码,其包括由mpeg 2、mpeg-4、itu-t h.263、itu-t h.264/mpeg-4、第10部分、高级视频编码(avc)、itu-t h.265/高效视频编码(hevc)、多功能视频编码(vcc)等定义的标准及其扩展中描述的那些技术。在非限制性示例中,cpu 16、视频编码器/解码器17和/或相机处理器14可以使用运动图像专家组(mpeg)视频文件格式来存储第二组帧。
82.图2是示出根据本公开内容中描述的技术的各个方面的来计算设备10的示例组件的框图,其包括相机处理器14、用户接口22和cpu 16。如图2中所示,用户接口22可以包括缩放输入检测器33。缩放输入检测器33可以检测用户输入,例如触摸输入(例如,轻拍、捏拉、滑动等)、手势(例如,语音手势、手势、头部手势、凝视手势等)、驱动其中一个镜头13等等。缩放输入检测器33可以将缩放输入传送到cpu 16或相机处理器14。cpu 16或相机处理器14可以根据检测到的缩放输入来确定缩放设置23。
83.在一些示例中,cpu 16可以包括帧区域(aof)识别系统34和/或aof跟踪系统36。在一些示例中,相机处理器14可以包括aof识别系统34和/或aof跟踪系统36。在任何情况下,aof识别系统34可以识别帧的特定区域,例如包括对象、人、脸、部位等等的区域。在非限制性示例中,aof识别系统34可以包括面部检测系统。在一些示例中,aof识别系统34可以经由用户接口22来接收用户输入,其帮助aof识别系统34来识别帧的特定区域。例如,用户可以在触摸屏上提供触摸输入,其指示帧或帧的其它区域中的人。在任何情况下,aof识别系统34可以利用ai算法和/或ml模型来识别帧的各个区域(例如,与人、建筑物等相对应的区域),以及帮助跟踪帧的这些区域。
84.aof跟踪系统36可以跟踪从第一帧到后续帧的帧的识别区域,例如在视频捕获期
间跟踪对象、人或脸。aof识别系统34和/或aof跟踪系统36可以生成aof信息,其包括:包含对象的帧的各个区域的位置、对象的运动预测等等。在一些示例中,相机处理器14或cpu 16可以利用aof信息来确定第二组帧。也就是说,相机处理器14或cpu 16可以利用aof信息来导出第二组缩放设置,以及根据第二组缩放设置来确定第二组帧。在一个示例中,缩放设置调节器46可以基于aof信息来导出第二组缩放设置。
85.在说明性和非限制性示例中,面部检测技术可以指示用户正试图放大人(例如,缩放的焦点)。在这样的示例中,第二组帧可以表示被配置为聚焦于帧中的人的缩放设置,例如用于动态缩放帧或用于静态缩放帧。在一个示例中,第二组帧可以表示被配置为聚焦于帧中的人的第二组缩放转换。在这样的示例中,第二组缩放转换可以不同于由一组对应的预览帧表示的第一组缩放转换。
86.此外,在一些示例中,相机处理器14可以包括3a处理引擎52。例如,相机处理器14可以被配置为经由处理引擎52,对图像数据的帧执行各种3a算法。在一些示例中,相机处理器14可以经由3a处理引擎52来确定用于图像捕捉的一组自动参数。例如,相机处理器14可以基于图像捕获的条件(例如,照明条件、帧中触发自动对焦的某些区域的存在等等)来确定一组自动调整参数。自动调整参数可以包括3a参数或设置,例如自动对焦、自动曝光和/或自动白平衡参数或设置。在任何情况下,3a处理引擎52可以生成该组自动调整参数(例如,3a设置)并输出该组自动调整参数以供进一步处理。例如,3a处理引擎52可以将自动调整参数组输出到相机处理器14或cpu 16。相机处理器14或者在一些情况下cpu 16可以将自动调整参数组应用于图像数据的特定帧。
87.在一些示例中,相机处理器14可以将第一组自动调整参数应用于从图像传感器12中的一者或多者接收的多个帧(例如,多个捕获的帧)。自动调整参数可以包括3a参数。相机处理器14可以在输出多个帧之前,将第一组自动调整参数应用于多个帧。在一些示例中,相机处理器14可以将图像数据的多个帧输出到显示界面26、系统存储器30、相机处理器14中的第二相机处理器等等。
88.此外,相机处理器14可以从多个帧中确定第一组帧。照此,相机处理器14可以将第二组自动调整参数应用于第一组帧。在一些示例中,第二组自动调整参数与第一组自动调整参数相同。在一个说明性示例中,相机处理器14的3a引擎52可以将3a设置应用于从图像传感器12接收的多个全潜在fov帧,并且可以将相同的3a设置应用于预定用于预览显示的第一组帧。在这种情况下,预览中的第一组显示帧可能不包括基于由第一组预览帧表示的fov的3a设置,而是可以包括基于由图像传感器12的所有可用像素(例如,所有像素或者在某些情况下减少数量的像素)捕获的完整场景的3a设置。在一些示例中,所述多个帧可以不包括与图像传感器12所捕获的全fov场景相对应的3a设置,而是可以替代地包括基于第一组预览帧表示的fov的3a设置。
89.在一些示例中,相机处理器14可以确定第二组自动调整参数,以不同于第一组自动调整参数。例如,相机处理器14可以包括模拟一组自动调整参数的3a模拟器54。可以专门针对第一组帧(例如,预览帧)来模拟自动调整参数模拟集,使得当在显示器28上预览时,预览帧可以表示基于第一组缩放帧的不同视野的模拟3a设置集合。也就是说,来自3a模拟器54的模拟3a设置可以实时或接近实时地响应改变的缩放水平,而来自3a引擎52的应用于多个接收帧的3a设置可以不基于缩放设置,这是因为多个接收帧的至少一个子集表示静态
fov。在一些实例中,多个接收帧的静态fov可以调整到第二fov,例如当缩放水平超过像素分箱转换阈值和/或镜头转换阈值时。
90.相机处理器14可以基于第一组帧的条件来确定第二组自动调整参数,例如第一组帧是否表示放大或缩小场景的区域。在一个说明性示例中,场景的放大区域可能具有减弱的照明条件、用于自动对焦的帧中的对象等等。第一帧生成器42可以被配置为利用来自3a模拟器54的3a信息来生成第一组帧,例如用于预览显示。也就是说,相机处理器14可以输出第一组帧作为预览帧组以供显示,这些预览帧表示模拟的自动调整参数集。在一些示例中,相机处理器14可以使显示界面26将第一组帧显示为预览帧。如本文所述,相机处理器14可以针对单个显示器输出表示第一组自动调整参数的多个接收帧和表示第二组自动调整参数的第一组帧(例如,画中画、并排等)。在一些示例中,相机处理器14可以使显示界面26在单个显示器中同步多个接收到的帧和第一组帧,其中所述多个接收到的帧和第一组帧彼此不同。
91.在一些示例中,第二帧确定器44可以利用来自3a 52和/或来自3a模拟器54的3a信息来确定第二组帧。在这样的示例中,缩放设置调整器46可以被配置为基于从cpu 16和/或缩放输入检测器33接收的输入来调整缩放设置23。缩放设置调整器46可以被配置为调整、修改、优化或以其它方式调整缩放设置,以由第二帧确定器44使用(例如,生成第二组帧)。此外,缩放设置调整器46可以被配置为基于缩放设置23来计算缩放转换。
92.此外,第二帧确定器44和3a 52可以针对第二组帧确定第三组3a参数。也就是说,当生成第二组帧时,3a模拟器54可以基于用于生成第一组帧的第二组自动调整参数以及针对从图像传感器12接收的多个全fov帧确定的第一组自动调整参数,来确定自动调整参数。第二帧确定器44可以基于各个缩放设置之间的相对差异来组合3a参数(例如,平均值)。在一个示例中,第二帧确定器44可以计算由第一组帧表示的第一组缩放转换与第二组帧表示的第二组缩放转换之间的差。在另一个示例中,第二帧确定器44可以计算相对于第一组帧表示的第一组缩放设置和第二组帧表示的第二组缩放设置的一组差异。在任何情况下,第二帧确定器44可以确定和/或生成第二组帧,以具有与缩放设置调整器46平滑的缩放转换相对应的自动调整参数。在一些示例中,缩放设置调整器46可以至少部分地基于第一组缩放设置,来确定表示从第一组缩放设置调整的第二组缩放设置。照此,第二帧确定器44可以确定和/或生成第二组帧,以表示与第二组缩放设置相对应的自动调整参数。在一个示例中,当生成第二组帧时,相机处理器14可以将自动调整参数应用到确定的第二组帧,以生成用于显示、编码和/或存储的第二组帧。
93.在一些示例中,当确定第二组帧时,相机处理器14可以有利地重新利用用于第一组帧的3a设置,反之亦然。在一些示例中,相机处理器14可以被配置为将双3a设置应用于不同的帧集合。这可以在平滑缩放帧(例如,第二组帧)的生成中提供处理优势,因为可以将3a设置平滑且均匀地应用于平滑缩放帧。也就是说,在用于第二组帧的相同3a设置用于第一组预览帧的示例中,相机处理器14可以避免确定相机处理器14在快速读取像素数据、确定照明条件等等时可能遇到的快速变化的3a设置的负担。也就是说,相机处理器14可以尝试响应用户定义的粗略或突然的缩放转换,同时并动态地尝试将3a设置应用于第一组预览帧。然而,根据本公开内容的技术,相机处理器14可有利地基于第二组帧表示的缩放设置来确定或甚至预测用于第二组帧中的每个帧的第三组3a设置(例如,缩放设置统计、缩放转换
统计、缩放率等等)。
94.图3是示出根据本公开内容中描述的技术的各个方面的相机处理器14的示例处理的框图。如图所示,相机处理器14可以经由用户接口22接收用户输入。在一些示例中,第一帧生成器42可以接收用户输入。此外,第二帧确定器44可以经由用户接口22或第一帧生成器42来确定用户输入。如本文所述,相机处理器14可以确定基于用户输入的缩放设置23。在确定缩放设置23时,在一些示例中,相机处理器14可以从系统存储器30中检索缩放设置23。在这样的示例中,用户或ai可能已经将缩放设置23先前存储到系统存储器30中。在一个示例中,ai可能已经以预测缩放程序的形式存储了缩放设置23。在这样的情况下,缩放设置调整器46可以例如基于用户输入,动态地调整这样的缩放设置23。以类似的方式,相机处理器14可以部署ai引擎和/或ml模型以确定为特定用户定制的缩放设置23。可以针对各种输入(例如,用户的缩放命令历史、用户偏好、用户的对象识别倾向等)来训练ai或ml引擎。
95.如图所示,图像传感器12可以将图像数据的多个帧传送到相机处理器14。第一帧生成器42可以从图像传感器12接收图像数据的多个帧。第一帧生成器42可以将缩放设置23(例如,模拟的3a设置等)应用于所述多个帧,以便确定和/或生成第一组预览帧。第一帧生成器42可以将第一组帧输出到显示界面26以用于经由显示器28进行显示。在一些示例中,第一帧生成器42可以将第一组帧输出到系统存储器30和/或本地存储器20以用于存储。在任何情况下,第一帧生成器42可以输出第一组帧以用于预览显示。在这样的示例中,可以在确定和/或生成第二组帧期间或之后系统地丢弃预览帧,如本文所述。
96.此外,相机处理器14可以将所述多个帧存储为从图像传感器12接收的全fov帧。相机处理器14可以使所述多个帧存储到系统存储器30,包括全潜在fov。通常,全潜在fov可以对应于被配置为捕捉多个帧的特定图像传感器12。在一些情况下,全潜在fov可以对应于fov的减小部分,例如在相机处理器14指示图像传感器12输出减小的fov或减少数量的像素的情况下。在一些情况下,相机处理器14可以在将帧传送到系统存储器30之前,对帧执行一些处理。例如,相机处理器14可以在将存储在系统存储器30中之前,将自动调整参数(例如,3a设置)应用于该帧。照此,第二帧确定器44可以接收缩放设置23,并且从系统存储器30接收全fov帧。第二帧确定器44可以生成不同于第一帧生成器42所生成的预览显示帧的第二组帧。第二帧确定器44可以将第二组帧输出到系统存储器30,或者在一些情况下,直接输出到视频编码器/解码器17。在一些示例中,第二帧确定器44可以将第二组帧输出到本地存储器20和/或显示界面26。
97.相机处理器14可以有利地将预定用于显示的帧与预定用于存储或编码的帧解耦。这为相机处理器14提供了增强的图像和视频捕获选项,而不会增加图像传感器12的负担(例如,通过维持处理和/或带宽消耗)。也就是说,图像传感器12仍然可以将一组帧传送到相机处理器14(即,多个捕获的帧)。相机处理器14然后可以最佳地利用一组帧来最终生成最终的视频帧组(例如,第二组帧),其中最终的组不同于预览帧和从图像传感器12接收的多个帧。这种配置(尤其是本文公开的其它配置)为相机处理器14提供了优于其它处理器的相机处理优势,其它处理器倾向于将显示给用户的预览帧与在视频记录或视频译码过程期间存储的帧耦合。此外,相机处理器14被配置为将彼此不同的缩放设置应用于图像数据的对应帧集合,以便确定平滑缩放的第二帧集合。
98.参考图2和图3,应当注意的是,虽然第一帧生成器42和第二帧确定器44示出为两
个单独的对象,但是这主要是为了说明目的,并且在一些情况下,相同的相机处理器14可以将第一帧生成器42和第二帧确定器44作为单个处理单元使用。应当理解的是,将第一帧生成器42示出为说明对第一组帧的确定和/或生成,并且将第二帧确定器44示出为说明对第二组帧的确定和/或生成。在一些情况下,这两组帧可以由相机处理器14的相同生成和/或确定过程来处理。同样,相机处理器14也可以实现缩放设置调整器46的功能,以便确定不同于第一组帧的第二组帧。
99.在一些示例中,相机处理器14可以包括专用相机处理器存储器,例如相机处理芯片上的存储器或缓冲存储器。也就是说,可以在涉及或不涉及诸如系统存储器30的单独存储器设备的情况下执行本公开内容的技术。
100.参考图3,相机处理器14可以包括第一相机处理器14和第二相机处理器14。在这样的示例中,相机处理器14仍然可以由单个相机处理芯片实现。在任何情况下,在一些示例中,第一相机处理器14和/或第二相机处理器14可以包括片上存储器。第一相机处理器14或第二相机处理器14可以从图像传感器12接收多个帧。在另一个示例中,第一相机处理器14可以从图像传感器12接收多个帧,以及第二相机处理器14可以从第一相机处理器14接收多个帧。在这样的示例中,相机处理器14可以在将多个帧传送到第二相机处理器14之前执行或不执行多个帧的预处理。
101.在一些示例中,第一相机处理器14可以包括第一帧生成器42。此外,第二相机处理器14可以包括第二帧确定器44。类似于第一帧生成器42和第二帧确定器44由相机处理器14在单个单元内实现的示例,第二相机处理器14的第二帧确定器44可以被配置为基于缩放设置23来确定不同于第一组帧的第二组帧。在一些示例中,第二相机处理器14的第二帧确定器44可以进一步被配置为基于缩放设置23来识别一个或多个目标缩放水平,并且至少部分地基于该一个或多个目标缩放水平,来确定与第一组帧不同的第二组帧。在一些示例中,第二相机处理器14的第二帧确定器44确定至少部分地基于一个或多个目标缩放水平的第二组缩放转换。如本文所述,相机处理器14(例如,第二相机处理器14)可以确定第二组缩放转换,使得第二组缩放转换不同于第一组缩放转换,如目标缩放水平所通知的。
102.图4是示出根据本公开内容中描述的技术的各个方面的相机处理器14的示例操作的示例流程图。在一些示例中,图1的流程图可以由与系统存储器30通信的相机处理器14来执行。在这样的示例中,相机处理器14可以使系统存储器30存储视频数据或其它图像数据。
103.在一些示例中,相机处理器14可以接收图像数据的多个帧(402)。例如,图像传感器12可以捕获图像数据的帧,并将图像数据的帧传输到相机处理器14(例如,传输到第一帧生成器42和第二帧确定器44两者)。在一些示例中,相机处理器14可以使系统存储器30将图像数据的帧存储到存储器(例如,参见图3中从图像传感器12到系统存储器30的直线虚线)。在这种情况下,被存储的多个帧可以具有与被配置为捕获多个帧的图像传感器12中的一者或多者相对应的全fov。例如,第一图像传感器可以是48mp图像传感器,在这种情况下,第一图像传感器被配置为将4800万像素传输到相机处理器14,假设不使用像素分箱。在这种情况下,全fov对应于相应图像传感器12的全部4800万像素。另外,相机处理器14可以向视频编码器/解码器17输出多个帧。在这种情况下,可以对所述多个帧进行编码,以具有与被配置为捕获多个帧的一个或多个图像传感器12相对应的全fov。视频编码器/解码器17可以将编码帧输出到系统存储器30、显示器28或另一个单独的计算设备。
104.在一些示例中,系统存储器30可以以统一的缩放水平来存储多个接收到的帧。例如,可以针对每个帧以1.0x缩放存储多个接收到的帧,而不管主动命令缩放设置23的任何用户输入。
105.在一些示例中,相机处理器14可以经由用户接口22接收与多个接收的帧相对应的缩放设置23。也就是说,相机处理器14可以接收针对所述多个帧中的每一个帧的缩放设置(404)。缩放设置23可以包括数字缩放设置、光学缩放设置、光学和数字缩放设置的组合等。在一些示例中,缩放设置23可以对应于镜头致动命令、姿势、凝视跟踪命令等。在另一个示例中,缩放设置23可以包括缩放水平输入、缩放转换输入等。在任何情况下,缩放设置23可以应用于由相机15实现的数字缩放和/或光学缩放。
106.此外,相机处理器14可以根据缩放设置23确定或生成第一组帧(406)。在一些示例中,第一组帧表示第一组缩放转换。例如,第一缩放转换可以是从1.0x到5.0x。在一些示例中,相机15可以被配置为以特定缩放阈值来执行镜头转换。例如,相机15可以被配置为以5.0x缩放阈值执行镜头转换。此外,在一些情况下,用户接口命令可以导致从一个缩放水平到另一个缩放水平的即时缩放转换。在一个说明性示例中,软键图标的启动可以导致从1.0x到5.0x的即时缩放。也就是说,相机处理器可以在接收到与用户通过用户接口22选择5.0x缩放图标相对应的命令时,执行这样的转变。在这种情况下,相机处理器14可以在不执行数字裁剪、缩放等的情况下执行单个缩放改变(例如,从镜头13a转换到13b),以便实现缩放设置。也就是说,在该示例中,缩放设置表示5.0倍缩放的命令缩放。当确定如本文所述的第二组帧时,相机处理器14可以被配置为平滑从1.0x到5.0x的缩放转换,使得该转换是渐进的而不是瞬时的。相机处理器14可以通过采用光学缩放技术和数字缩放技术的组合来做到这一点。在另一个示例中,这样的缩放设置可以表示多个缩放转换。在一些示例中,第一组帧可以包括表示第一组缩放转换的经数字修改的一组帧、表示第一组缩放转换的一组非数字修改的帧、或其组合。在一些示例中,相机处理器14可以在生成第一组帧时确定第一组帧,使得第一组帧由第一组缩放设置(例如,第一组缩放转换)来表示。
107.在涉及一个缩放转换的示例中,一个缩放转换可以是从缺省/初始缩放水平(例如,1.0x)到第二缩放水平(例如,5.0x),其中用户选择用户接口22上的5.0x缩放图标。在某些情况下,用户可能需要移动相机15以在突然缩放到5.0x之后重新居中图像。在任何情况下,用户可能希望具有从1.0x到5.0x的稳定缩放的结束视频,其朝着用户感兴趣的对象稳定地放大。缩放的速率可以由用户预定义,或者可以包括随着最终缩放水平(例如,5.0x缩放水平)实现的可变或非均匀速率。也就是说,ai算法和/或ml模型可以确定调整后的缩放设置以包括特定的缩放率。在一个示例中,该缩放率可以基于用户偏好、场景捕捉的上下文或过去的缩放历史。在一些示例中,可以根据用户偏好、场景捕获的上下文、过去的缩放历史等,对特定的ai算法和/或ml模型进行训练。
108.在一些示例中,相机处理器14可以确定第二组帧(408)。在这样的示例中,第二组帧不同于第一组帧。相机处理器14可以基于缩放设置23来确定第二组帧。如本文所述,相机处理器14可以基于第二组调整后的缩放设置来确定第二组帧。此外,第二组帧可以表示第二组缩放转换。在这样的示例中,第二组缩放转换不同于由第一组帧(例如,第一组预览帧)表示的第一组缩放转换。在一些示例中,相机处理器14可以确定用于生成第二组帧的规范。该规范可以包括经调整的缩放设置、来自多个帧的对应帧的标识符、来自第一组帧的对应
帧的标识符、来自一个或多个对应帧的对应帧数据等等。在一些示例中,相机处理器14可以根据该规范来确定和生成第二组帧。在一些示例中,相机处理器14可以从多个捕获的帧的至少一个子集生成第二组帧。因此,相机处理器14可以在确定第二组帧时生成第二组帧。
109.在一些示例中,第二组帧可以包括静态缩放、动态缩放、或静态和动态缩放的组合,如本文所描述的。在一个说明性示例中,第二组帧可以包括细化缩放转换,其自动地导致第一缩放水平应用于视频数据的初始帧,并且在第二组帧的多个帧上保持第一缩放水平。第一缩放水平可以不同于缺省缩放水平并且不同于由第一组缩放转换表示的初始缩放水平。此外,第一缩放水平可以基于从缩放设置中识别的目标缩放水平,或者另外由一个或多个缩放命令来定义。在一些示例中,第二组帧可以包括以目标缩放水平开始并将相同缩放水平应用于从帧n开始的多个帧的静态缩放,其中帧n可以包括视频数据的初始帧。第二组帧还可以包括在静态缩放之后或者在静态缩放之前的动态缩放帧。本领域普通技术人员应当理解的是,在符合本公开内容的精神的情况下可能存在其它排列,并且为了简洁起见,此处不描述每一个示例。
110.在一些示例中,第二组缩放转换可以包括在缩放水平之间的平滑缩放转换,或者以其它方式改变的缩放转换,并且在一些情况下,可以包括改变的缩放转换,这些改变的缩放转换完全去除了包含在第一组帧中的某些缩放转换。在一些示例中,相机处理器可以使用数字缩放技术和/或光学缩放技术来确定不同于第一组帧的第二组帧。
111.在一些示例中,相机处理器14可以检测应用到特定数量的帧的特定缩放水平超过阈值或者超过相对于与先前中间缩放水平相对应的帧数量的量。缩放水平的这种延长应用指示缩放水平最终是用户想要的。在这种情况下,相机处理器14可以将特定缩放水平输入识别为目标缩放水平。在一些示例中,相机处理器14可以基于缩放命令来识别多个目标缩放水平。例如,第一期望缩放水平可以是相机处理器14针对特定数量的帧或者特定持续时间维持的50.0x,并且第二期望缩放水平可以是100.0x。在这种情况下,相机处理器14可以保持第一期望缩放水平,并且可以在特定数量的帧或特定的持续时间之后自动切换到第二期望缩放水平。在一些示例中,相机处理器14可以从第一期望缩放水平逐渐过渡到第二期望缩放水平。在任何情况下,相机处理器14可以将缩放帧的焦点保持在感兴趣对象或者由用户识别的特定感兴趣帧、检测ai算法、ml模型等等上。在一些情况下,目标或期望的缩放水平可以表示ai确定的或ai期望的缩放水平。
112.在一些示例中,相机处理器14可以至少部分地基于一个或多个目标缩放水平来确定不同于第一组缩放转换的第二组缩放转换。在一个说明性示例中,缩放设置23可以包括缩放率(例如,慢速缩放、快速缩放)、数字裁剪量、对数字裁剪部分的坐标的调整(例如,当用户移动相机15或平移场景以重新将检测到的对象位于帧的中间时)。在这样的示例中,用户可能尝试放大场景中的对象,但可能过度缩放,并且需要同时缩小并移动相机15以指向对象处的不同方向。在这种情况下,缩放设置调整器46可以基于缩放输入和对象相对于由aof跟踪系统36检测到的帧的移动来调整缩放设置23。在一些示例中,第二组缩放转换可以包括至少一个光学缩放转换。光学缩放转换可以包括通过光学缩放,从识别的目标缩放水平放大到目标缩放水平。在任何情况下,相机处理器14可以直接从图像传感器12的输入中检索来自所述多个帧的帧。
113.在一些示例中,相机处理器14可以从所述多个帧的子集中生成第二组缩放帧。例
如,相机处理器14可以根据从图像传感器12接收的多个帧来生成第二组帧的第一子集,并且根据第一组帧中的帧来生成第二组帧的第二子集。在另一个示例中,相机处理器14可以完全根据从图像传感器12接收的多个帧来生成第二组帧。在任何情况下,相机处理器14可以通过执行光学缩放技术和/或数字缩放技术,来生成第二组帧。在一些示例中,相机处理器14可以通过对从图像传感器12接收的一个或多个帧进行数字裁剪、缩放、或数字裁剪和缩放,来生成第二组帧。例如,相机处理器14可以基于缩放设置(例如,目标缩放水平)来裁剪帧,以便为第二组帧生成相应的帧。在一些示例中,相机处理器14可以基于由于调整像素分箱级别而被先前改变的数字改变的帧,来生成第二组帧,如图像传感器12所实现的。在另一个示例中,相机处理器14可以通过基于一个或多个目标缩放水平(例如,期望的缩放水平)引起光学缩放水平调整,来生成第二组帧。在一些示例中,相机处理器14可以经由用户接口22接收光学缩放命令。相机处理器14可以将光学缩放命令定义的一个或多个光学缩放水平识别为包括一个或多个目标缩放水平。相机处理器14可以基于一个或多个目标缩放水平来生成第二组帧。在这样的示例中,相机处理器14可以进一步通过数字地改变从图像传感器12接收的多个帧的至少一个子集或者通过数字地改变从第一帧生成器42输出的第一组帧的至少一个子集来生成第二组帧。
114.在一个说明性示例中,相机处理器14可以至少部分地基于第一组帧的一个子集来生成第二组帧。在一些示例中,第二组帧可以表示数字改变的帧。当重新创建具有第二组缩放转换(例如,修改的缩放转换)的视频帧时,相机处理器14可以重用来自预定用于预览显示的第一组帧的一些帧。相机处理器14可以在帧和缩放水平之间存在重叠的情况下执行该操作,使得相机处理器14确定:代替按照特定的缩放水平重新创建其它缩放帧,而是相机处理器14可以有利地在生成第二组帧时,重新使用或重新利用先前针对第一组帧生成的帧。也就是说,相机处理器14可以有利地重用来自第一组帧的特定帧以便生成第二组帧。然而,相机处理器14可以不改变来自第一组帧的任何帧的用途,并且仍然确定或生成第二组帧。
115.如本文所描述的,当确定和/或生成第二组帧时,相机处理器14可以执行帧的区域(例如,对象、区域等)的检测。例如,aof识别系统34可以检测帧的作为自动对焦技术候选的特定区域。在这样的示例中,至少部分地基于检测来生成第二组缩放帧。例如,可以执行数字裁剪和/或平滑缩放,使得所识别的区域保持作为第二组帧的焦点。例如,所识别的区域可以保持在或接近第二组帧的中心区域。
116.在一些示例中,相机处理器14可以输出第二组帧(410)。在这样的示例中,相机处理器14可以输出第二组帧(例如,平滑缩放帧),以用于进一步的内部处理。在一些示例中,相机处理器14可以输出第二组帧以用于相对于相机处理器14的外部处理,或者输出到显示界面26以用于显示。在一个示例中,相机处理器14可以将第二组帧输出到视频编码器/解码器17、系统存储器30和/或显示界面26。也就是说,当输出第二组帧时,相机处理器14可以被配置为将第二组帧输出到视频编码器/解码器17、系统存储器30和/或显示界面26(例如,显示器28)中的至少一者。在一些情况下,第二组帧的输出可以包括用于生成第二组帧的指令。这些指令可以包括缩放设置、3a设置等等。在任何情况下,这些指令可以表示来自第二组帧的至少一个帧包括与来自第一组帧的对应帧不同的缩放设置。在另一个示例中,第二组帧的输出可以包括第二组生成的帧,其中相机处理器14基于经调整的缩放设置来生成第二组帧。在一些示例中,视频编码器/解码器17可以生成第二组帧。
117.在一些示例中,为了确定第二组帧,相机处理器14可以继续根据从图像传感器12接收的多个帧的至少一个子集生成第二组帧。在另一个示例中,相机处理器14可以确定第二组帧,并且将第二组帧输出到例如视频编码器/解码器17。在这样的示例中,视频编码器/解码器17可以生成第二组帧。在任何情况下,来自第二组帧的至少一个帧可以具有与用于第一组帧的对应缩放设置不同的缩放设置。
118.在一些示例中,相机处理器14可以输出第二组缩放转换以供进一步处理。在一些示例中,缩放设置调整器46可以确定第二组转换。照此,缩放设置调整器46可以将第二组缩放转换输出到第二帧确定器44。第二帧确定器44可以确定第二组帧,使得第二组帧表示第二组缩放转换。可以将缩放转换输出为:定义第二组帧应当如何放大或缩小场景的一组缩放设置。在一些示例中,相机处理器14可以将第二组缩放转换输出到系统存储器30,例如输出到相机处理器14或其它片上存储器之一的存储器缓冲器。在另一个示例中,相机处理器14可以将第二组缩放转换输出到视频编码器/解码器17。
119.在一些示例中,相机处理器14可以使存储设备(例如,系统存储器30)发起第二组帧的存储。在这样的示例中,在开始存储第二组帧之后,相机处理器可以使系统存储器开始修改多个接收的帧(在此类示例中,其存储在存储设备中)。例如,相机处理器14可以在修改多个全fov帧时实时存储第二组帧。在一些示例中,相机处理器14可以生成第二组帧中的第一帧,并且随后从存储器中删除所述多个帧中的对应帧。
120.在一些示例中,修改来自存储器设备的图像数据的多个帧包括:从存储器设备中移除所述多个帧。例如,相机处理器14可以使系统存储器30从存储器中删除多个帧。在另一个示例中,相机处理器14可以使系统存储器30将多个帧重新定位到单独的文件目录。例如,相机处理器14可以使系统存储器30将多个帧重新定位到文件目录,该文件目录被配置为在图像数据的帧已经在该文件目录中达到预定义的时间量(例如,1小时、1天、30天等)之后删除一些数据项或文件目录的全部内容。
121.在一些示例中,相机处理器14可以被配置为经由用户接口22接收特定相机模式的选择(例如,可选择的缩放模式)。也就是说,相机处理器14可以被配置为根据启用的相机模式进行操作。在一些示例中,用户可以选择或启用触发计算设备10执行本公开内容的各种技术的选项或模式。在这种情况下,相机处理器14可以接收指示特定相机模式的用户输入。在一些示例中,用户接口22可以为用户提供手动调整缩放设置(例如,缩放率)的选项。在另一个示例中,用户接口22可以向用户提供将调整后的缩放设置应用于第二组帧中的至少一个帧的选项。在非限制性和说明性示例中,相机处理器14可以经由用户接口22接收请求,以基于缓慢启动放大过程然后继续加速直到达到目标缩放水平的算法,来平滑缩放转换,反之亦然。在任何情况下,相机处理器14可以响应于用户输入,根据特定的相机模式来确定第二组帧。在非限制性示例中,相机模式可以包括用户可以经由用户接口22选择的平滑缩放模式。照此,相机处理器可以生成第二组帧作为相机模式,响应于用户输入而启用相机模式。
122.在一些示例中,计算设备10可以包括多个相机处理器14,所述相机处理器被配置为执行本公开内容的技术。在这样的示例中,第一相机处理器14和第二相机处理器14可以并行或串联地执行本公开内容的技术。在一个说明性示例中,第一相机处理器14可以将所述多个捕获的帧传输到一个或多个其它相机处理器14。此外,第一相机处理器14可以生成
第一组帧和/或关于第一组缩放转换的信息,并且传输给一个或多个其它相机处理器14。所述一个或多个其它相机处理器随后可以改变所述多个帧的至少一个子集,以表示不同于第一组缩放转换的第二组缩放转换。
123.在一个说明性示例中,相机处理器14中的第一相机处理器可以确定第一组帧,以及相机处理器14中的第二相机处理器可以根据相机模式确定第二组帧。第二相机处理器14可以根据选定的相机模式(例如,平滑缩放相机模式)来确定和/或生成第二组帧。
124.此外,第一相机处理器14可以输出第一组帧以用于显示,例如用于预览显示。第二相机处理器14可以输出第二组帧,例如输出到视频编码器/解码器17。在这种情况下,视频编码器/解码器17可以通过对第二相机处理器14确定的第二组帧进行编码来生成第二组帧。视频编码器/解码器17可以基于调整的缩放设置、3a参数等等,对第二组帧进行编码。在这种情况下,第一组帧中的第一帧包括第一缩放设置。因此,第二组帧中的第一帧可以具有与应用于第一组帧中的第一帧的第一缩放设置不同的第二缩放设置。
125.在另一个示例中,相机处理器14可以经由用户接口22接收对一个或多个目标缩放水平的指示。例如,当视频同时在记录时,用户可以实验特定的缩放特性(例如,改变缩放水平)。在实验之后,用户可以确定对特定缩放设置的满意度。在这种情况下,用户可以提供肯定的指示,例如通过经由用户接口22启动软键按钮,表明用户希望特定的缩放设置(例如,特定的缩放水平)。在另一个示例中,相机处理器14可以使用一个或多个算法来确定该指示,所述一个或多个算法可以确定缩放水平已经应用了特定的时间量或特定的帧数量。在这样的示例中,ai算法或ml模型可以确定用于时间量或帧数量的各种阈值。在任何情况下,相机处理器14可以以这种方式识别一个或多个目标缩放水平,而不经由用户接口22接收关于用户所需缩放水平的任何明确或肯定指示(例如,经由用户接口22按下肯定键)。
126.在非限制性和说明性示例中,相机处理器14可以基于一个或多个目标缩放水平来确定第二组缩放转换。第二组缩放转换可以包括立即切换到目标缩放水平(例如,期望的缩放水平),使得当查看表示第二组缩放转换的第二组帧(例如,作为视频播放)时,用户不会感知到目标缩放水平的转换。也就是说,目标缩放水平将应用于第二组帧的初始帧,其中后续缩放转换可以在初始帧或后续帧之后。在另一个示例中,第二组缩放转换可以包括:从表示第一缩放水平的第一帧到后续帧的逐渐变换,以实现目标缩放水平。
127.在一些示例中,相机处理器14可以使显示设备在单个显示器28中同步图像/视频数据的多个帧和第一组帧。在一个示例中,相机处理器14可以使显示界面26同步所述多个帧和第一组帧的显示。也就是说,相机处理器14可以使显示界面26在单个显示器中同步多个帧和第一组帧。在一个示例中,相机处理器14可以使显示界面26在并排视图中显示第一组主动缩放帧,与多个相应的但非缩放的帧并排显示。在另一个示例中,相机处理器14可以使显示设备28提供画中画显示。这可以使得用户可以可视化图像传感器12在全fov下捕获的内容,即使第一组预览帧可以根据各种缩放设置从视图中裁剪一些像素。
128.在一些示例中,缩放设置调节器46可以利用ai和/或ml模型来确定第一组调整后的缩放设置,第一帧生成器42在生成第一组帧(例如,第一组预览帧)时可以应用第一组调整后的缩放设置。可以关于ui缩放机制的缩放灵敏度、用户缩放历史和统计、用户相对于ui缩放灵敏度的响应时间等等方面,对ai和/或ml模型进行训练。在这种情况下,可以在帧预览期间调整第一组帧的缩放设置,以使缩放设置不同于用户命令。也就是说,如果用户由于
ui 22的特殊性而有意地过度缩放或欠缩放,则缩放设置调节器46可以在用户提供缩放命令时,实时补偿用户的不敏感缩放动作。从用户的角度来看,第一组预览帧可以表示滞后于或超前于用户的缩放命令的缩放转换。基于持续的ai或ml训练,这种补偿可能随着时间的推移而变化。在任何情况下,包括第二组经调整的缩放设置的第二组帧可能不同于包括第一组经调整的缩放设置的第一组帧。也就是说,尽管第一组调整后的缩放设置表示调整后的缩放设置,但可能需要进一步调整,使得第二组调整后的缩放设置不同于第一组调整后的缩放设置。
129.图5是示出根据本公开内容中描述的技术的各个方面的图1中所示的相机处理器14的示例操作的示例流程图。在一些示例中,缩放设置包括多个缩放水平输入(例如,捏拉缩放命令输入、凝视输入等)。照此,相机处理器14可以确定一个或多个缩放水平输入已应用于预定义数量的帧或者特定数量的帧,应用了预定义的持续时间或特定的持续时间,和/或以指示第二组帧的焦点的方式进行应用(502)。在说明性和非限制性示例中,相机处理器14可以接收缩放设置23,其包括每次持续不到0.1秒的缩放水平转换,直到达到特定缩放水平为止,此时可以检测到大于阈值时间量(例如,特定持续时间)的缩放水平(例如,目标缩放水平)。在非限制性示例中,该阈值时间量仍然可以是相对较短的时间段(例如,1.0秒或1.5秒)。在任何情况下,阈值时间量可能随时间以及阈值帧数量而变化。在一些示例中,相机处理器14可以采用ai或ml技术,来基于用户行为定制各种阈值。例如,相机处理器14可以部署根据用户的缩放行为、趋势和/或偏好训练的ai引擎和/或ml模型,使得相机处理器14可以经由ai引擎和/或ml模型来确定一个或多个缩放水平输入是否包括目标缩放水平、多个目标缩放水平,或者有利的意外缩放。
130.在一些示例中,相机处理器14可以确定一个或多个缩放水平输入已被指示为包括目标缩放水平。也就是说,相机处理器14或cpu 16可以经由用户接口22接收应用的缩放水平表示期望的缩放水平的显式指示。在一些示例中,用户接口22可以包括用于用户接受或以其它方式指示为可接受的特定缩放水平输入的选项。在一个说明性示例中,相机处理器14可以接收用户输入,该用户输入使得第一组帧表示从第一缩放水平到第二缩放水平以及从第二缩放水平到第三缩放水平的缩放转换。相机处理器14可以经由用户接口22接收第三缩放水平是目标缩放水平的指示。例如,一旦处于第三缩放水平,用户可以选择继续第三缩放水平作为最终所需缩放水平的选项。在该示例中,相机处理器14可以至少部分地基于图像传感器12接收的多个帧或者第一组帧的至少一个子集,来确定第二组帧。第二组帧可以包括第三缩放水平的单个缩放水平。在另一个示例中,第二组帧可以包括多个缩放水平。在一个示例中,第二组帧可以包括多个缩放水平,而不是第二缩放水平或第一缩放水平,以支持第二组帧包括由目标缩放水平表示的更多数量的帧。在任何情况下,在一些实例中,第二组帧可以更接近地描述用户最初预期的缩放。
131.类似地,相机处理器14可以检测应用于特定数量帧的特定缩放水平,该特定数量的帧超过阈值或超过相对于与先前中间缩放水平相对应的帧数的数量。一个或多个缩放水平的这种长时间应用指示所述一个或多个缩放水平最终是用户想要的(例如,目标缩放水平)。在这种情况下,相机处理器14可以将所述一个或多个特定缩放水平输入识别为包括一个或多个目标缩放水平(504)。也就是说,相机处理器14可以将特定的缩放水平输入识别为对应于目标缩放水平(例如,用户最终需要的缩放水平)。
132.在一些示例中,相机处理器14可以至少部分地基于一个或多个目标缩放水平来确定第二组帧(506)。在另一个示例中,相机处理器14可以至少部分地基于一个或多个缩放水平输入来确定第二组帧。在这种情况下,相机处理器14将缩放水平输入识别为包括目标缩放水平。在一些示例中,相机处理器14可以确定一个或多个缩放参数,这些缩放参数定义了第二组的一个或多个缩放转换。例如,所述一个或多个缩放参数可以包括缩放率(例如,慢缩放、快速缩放)、数字裁剪量、对数字裁剪部分的坐标的调整(例如,当用户移动相机15或平移场景以重新将特定对象位于场景的中间时)。在一个示例中,用户可能尝试放大场景中的对象,但可能过度缩放,需要同时缩小并移动相机15以指向该对象的不同方向。在这种情况下,相机处理器14可以基于对象的缩放输入和移动来确定缩放参数。aof跟踪系统36可以检测对象相对于图像帧的移动。也就是说,当场景中的对象可能是静止的时,镜头13可以相对于三维物理或虚拟空间进行移动。例如,镜头13可以在三维空间中移动,例如横向移动、朝向对象、远离对象等等。在任何情况下,帧可以随相机15移动,在这种情况下,aof跟踪系统36可以参考帧来检测其它静止对象的移动。在一些示例中,aof跟踪系统36可以检测包括一个或多个感兴趣的检测对象的一个或多个aof中的变化。
133.在一些示例中,第一组缩放转换可以包括从第一缩放水平到第二缩放水平的第一缩放转换。在这样的示例中,第二组的一个或多个缩放转换可以包括第一平滑缩放转换,其表示从第一缩放水平到目标缩放水平的缩放转换。目标缩放水平可以包括从多个目标缩放水平识别的第一目标缩放水平。在任何情况下,目标缩放水平可以不同于第二缩放水平。例如,第二缩放水平可以是11.0x,并且期望的缩放水平可以是10.5x。在这种情况下,由第二组缩放转换定义的调整后的缩放转换可以是从1.0x到10.5x(而不是从1.0x到11.0x到10.5x)。
134.图6是包括多个缩放设置的示例图像捕获序列的示例说明。如图所示,第一组预览帧602、612、622表示多个缩放设置。
135.在图6的示例中,可以使用相机650捕捉和存储第一缩放帧602。相机650是相机15或计算设备10的示例。相机处理器14可以接收缩放设置610,其导致从帧602到具有不同预览缩放水平的帧612的缩放转换。相机650可以检测到帧中的人604。在用户花费一些时间尝试获得正确的缩放水平后,缩放帧622可以表示用于记录人604的理想缩放。在这样的示例中,第一组缩放帧包括被配置用于预览显示的预览帧。也就是说,相机处理器14可以输出第一组帧602、612、622(例如,第一组缩放帧)以用于预览显示。
136.图7是根据本公开内容中描述的技术的各个方面,相对于捕获帧的某个区域的放大显示视图的捕获帧的示例说明。例如,帧702可以表示从多个帧捕获的全fov帧。用于缩放的数字裁剪部分706可以提供作为图6中的第二缩放帧的缩放帧612。相机处理器14可以执行缩放技术710以提供放大视图(例如,图6和图8所示的视图),但图8表示第二组帧的示例,其表示平滑的缩放转换(例如,第二组缩放转换)。也就是说,相对于图6中所示的缩放转换,对缩放转换进行了平滑。
137.图8是根据本公开内容中描述的技术的各个方面的具有平滑缩放转换的示例性第二组帧(例如,第二组缩放转换)的示例性说明。第二组帧不同于第一组帧602、612、622。相机处理器14可以基于对应的帧(例如,图7中的帧702,其对应于帧602和802)生成第二组帧802、812和822。在说明性示例中,帧812在时间上对应于帧612,使得应用于生成预览帧612
的缩放设置不同于应用于生成相应帧812的缩放设置。
138.在一些示例中,为了识别一个或多个期望的缩放水平和/或生成或确定第二组帧802,相机处理器14可以检测所述多个帧(例如,帧702)中的至少一个对象或区域。在这些示例中,相机处理器14可以确定第二组帧802、812和822至少部分地基于对至少一个对象或区域的检测。第二组帧802、812和822可以包括经调整的缩放转换810和820。相机处理器14可以基于在生成或确定第一组帧时接收的缩放设置,来调整平滑的缩放转换810和820。在一些示例中,经调整的缩放转换可以包括优化的缩放转换、平滑的缩放转换或调整的缩放设置。
139.在一些示例中,当识别一个或多个期望的缩放水平和/或确定第二组帧(例如,第二组缩放帧)时,相机处理器14可以接收缩放命令作为缩放设置之一。例如,缩放命令可以是从1.0x缩放到8.0x的命令。此外,相机处理器14可以检测帧相对于对象或区域的后续移动。例如,人604相对于帧702偏离中心。在这种情况下,用户可以移动相机(例如,移动帧)以使人604在帧702中居中。在这种情况下,相机处理器14可以识别一个或多个目标缩放水平,或者至少部分基于对后续移动的检测来确定第二组帧。这是因为,在该示例中,即使预览显示帧612可能没有完整显示检测到的人604,也在全fov帧中完全捕捉到该人。类似地,相机处理器14可以至少部分地基于相对于捕捉场景(例如,在相机15的fov中)的对象或感兴趣区域的aof检测,来识别一个或多个目标缩放水平或确定第二组帧。在另一个示例中,用户可以放大感兴趣的对象,但随后需要在帧中重新居中,因为他们的缩放输入不准确地放大背景对象,而不是用户感兴趣的对象。
140.本公开内容的说明性示例包括:
141.示例1:一种用于相机处理的方法,所述方法包括:接收图像数据的多个帧;经由用户接口接收针对所述多个帧中的每一个帧的缩放设置;根据所述缩放设置来生成第一组帧;基于所述缩放设置来确定第二组帧,所述第二组帧不同于所述第一组帧;以及输出所述第二组帧以供进一步处理。
142.示例2:根据示例1所述的方法,其中,确定所述第二组帧包括:从所述多个帧的至少一个子集,生成所述第二组帧,其中来自所述第二组帧的至少一个帧包括与用于所述第一组帧的对应缩放设置不同的缩放设置。
143.示例3:根据示例1或2中的任何一项所述的方法,其中,所述第一组帧表示从第一缩放水平到第二缩放水平的转换,并且其中,所述第二组帧表示从所述第一缩放水平到目标缩放水平的转换,其中所述目标缩放水平不同于所述第二缩放水平。
144.示例4:根据示例1至3中的任何一项所述的方法,其中,所述缩放设置包括多个缩放水平输入,并且其中,确定所述第二组帧包括:确定特定的缩放水平输入将进行以下操作:应用于预定义数量的帧,或适用于预定义的持续时间;将所述特定的缩放水平输入识别为包括目标缩放水平;并基于所述目标缩放水平,来确定所述第二组帧。
145.示例5:根据示例1至4中的任何一项所述的方法,还包括:将所述图像数据的所述多个帧输出到存储器设备或视频编码器,所述多个帧包括与被配置为捕获所述多个帧的一个或多个图像传感器相对应的全视场(fov)。
146.示例6:根据示例1至5中的任何一项所述的方法,其中,所述第二组帧表示所述多个接收的帧中由于调整像素分箱级别而被数字裁剪、缩放、数字裁剪并缩放、或数字改变的
帧。
147.示例7:根据示例1至6中的任何一项所述的方法,其中,所述第二组帧表示以下各项中的一项或多项:光学缩放转换或数字缩放转换。
148.示例8:根据示例1至7中的任何一项所述的方法,还包括:输出所述第一组帧作为预览帧组以供显示。
149.示例9:根据示例1至8中的任何一项所述的方法,还包括:接收指示特定相机模式的用户输入;并响应于所述用户输入,根据所述相机模式来生成所述第二组帧。
150.示例10:根据示例1至9中的任何一项所述的方法,其中,确定所述第二组帧包括:执行对所述多个帧中的对象或区域里的至少一者的检测;并基于所述检测来确定所述第二组帧。
151.示例11:根据示例1至10中的任何一项所述的方法,还包括:将第一组自动调整参数应用于所述多个帧;并将第二组自动调整参数应用于所述第一组帧。
152.示例12:根据示例11所述的方法,其中,所述第二组自动调整参数不同于所述第一组自动调整参数。
153.示例13:根据示例1至12中的任何一项所述的方法,其中,输出所述第二组帧包括:输出所述第二组帧以存储为视频文件。
154.示例14:一种用于相机处理的装置,所述装置包括用于执行根据示例1至13中的任何一项所述的方法的一个或多个单元。例如,根据示例所述的装置可以包括:存储器,其被配置为存储图像数据;以及与所述存储器通信的一个或多个处理器,所述一个或多个处理器被配置为:接收所述图像数据的多个帧;经由用户接口接收针对所述多个帧中的每一个帧的缩放设置;基于所述缩放设置来生成所述第一组帧;基于所述缩放设置来确定第二组帧,所述第二组帧不同于所述第一组帧;并输出所述第二组帧以供进一步处理。
155.示例15:根据示例14所述的装置,其中,所述第一组帧表示第一组缩放转换,并且其中,所述第二组帧表示第二组缩放转换,其中所述第一组缩放转换和所述第二组缩放转换彼此不同。
156.示例16:根据示例15所述的装置,其中,所述第一组缩放转换包括从第一缩放水平到第二缩放水平的转换,并且其中,所述第二组缩放转换包括从所述第一缩放水平到目标缩放水平的转换,所述目标缩放水平不同于所述第二缩放水平。
157.示例17:根据示例14至16中的任何一项所述的装置,其中,所述缩放设置包括多个缩放水平输入,并且其中,为了确定所述第二组帧,所述一个或多个处理器被配置为:确定一个或多个缩放水平输入将进行以下操作:应用于特定数量的帧,或适用于特定的持续时间;将所述一个或多个缩放水平输入识别为包括一个或多个目标缩放水平;并基于包括所述一个或多个目标缩放水平的所述一个或多个缩放水平输入,来确定所述第二组帧。
158.示例18:根据示例14至17中的任何一项所述的装置,其中,所述一个或多个处理器进一步被配置为:将所述图像数据的所述多个帧输出到存储器设备或视频编码器,所述多个帧包括与被配置为捕获所述多个帧的一个或多个图像传感器相对应的全视场(fov)。
159.示例19:根据示例14至18中的任何一项所述的装置,其中,所述第二组帧包括所述多个接收的帧中由于调整像素分箱级别而被数字裁剪、缩放、数字裁剪并缩放、或数字改变的帧。
160.示例20:根据示例14至19中的任何一项所述的装置,其中,所述第二组帧表示以下中的一项或多项:光学缩放转换或数字缩放转换。
161.示例21:根据示例14至20中的任何一项所述的装置,其中,所述一个或多个处理器进一步被配置为:输出所述第一组帧作为预览帧组以供显示,其中来自所述第一组帧的至少一个帧包括与来自所述第二组帧的对应帧不同的缩放设置。
162.示例22:根据示例14至21中的任何一项所述的装置,其中,为了确定所述第二组帧,所述一个或多个处理器被配置为:接收指示特定相机模式的用户输入;并响应于所述用户输入,根据所述特定相机模式来生成所述第二组帧。
163.示例23:根据示例22所述的装置,其中,所述一个或多个处理器包括第一相机处理器和第二相机处理器,其中,所述第一相机处理器被配置为:输出所述第一组帧以供显示,并且其中,所述第二相机处理器被配置为:根据所述特定的相机模式来确定所述第二组帧;并输出所述第二组帧。
164.示例24:根据示例14至23中的任何一项所述的装置,其中,为了确定所述第二组帧,所述一个或多个处理器被配置为:执行对所述多个帧中的对象或区域里的至少一者的检测;并基于所述检测来确定所述第二组帧。
165.示例25:根据示例14至24中的任何一项所述的装置,其中,所述一个或多个处理器进一步被配置为:将第一组自动调整参数应用于所述多个接收的帧;并将第二组自动调整参数应用于所述第一组帧。
166.示例26:根据示例24所述的装置,其中,所述第二组自动调整参数不同于所述第一组自动调整参数。
167.示例27:根据示例14至26中的任何一项所述的装置,其中,为了输出所述第二组帧,所述一个或多个处理器被配置为:输出所述第二组帧以存储为视频文件。
168.在一些实现中,可以使用存储指令的计算机可读存储介质来实现上述的示例1-13和/或14-27,当这些指令被执行时,使得设备的一个或多个处理器执行一些或所有的各种操作。例如,可以提供存储指令的计算机可读存储介质,当这些指令被执行时,使用于相机处理的装置的一个或多个处理器执行以下操作:接收图像数据的多个帧;经由用户接口接收针对所述多个帧中的每一个帧的缩放设置;根据所述缩放设置来生成第一组帧;基于所述缩放设置来确定第二组帧,所述第二组帧不同于所述第一组帧;并输出所述第二组帧。
169.在一些实现中,可以使用包括有用于执行一些或所有的各种操作的单元的装置,来实现上述的示例1-13和/或14-27。例如,一种用于相机处理的装置包括:用于接收图像数据的多个帧的单元;用于经由用户接口接收针对所述多个帧中的每一个帧的缩放设置的单元;用于根据所述缩放设置来生成第一组帧的单元;用于基于所述缩放设置来确定第二组帧的单元,所述第二组帧和所述第一组帧彼此不同;用于输出所述第二组帧以进一步处理的单元。
170.应当认识到,根据示例,本文所描述的任何技术的某些动作或事件可以以不同的顺序执行、可以进行添加、分箱或者完全省略(例如,并非所有描述的动作或事件都是实施该技术所必需的)。此外,在某些示例中,可以例如通过多线程处理、中断处理或多个处理器并发地而不是顺序地执行动作或事件。
171.在一个或多个示例中,所描述的功能可以利用硬件、软件、固件或者其任意组合来
实现。当利用软件实现时,可以将这些功能存储在计算机可读介质上,或者作为计算机可读介质上的一个或多个指令或代码进行传输,并由基于硬件的处理单元来执行。计算机可读介质可以包括计算机可读存储介质,计算机可读存储介质对应于诸如数据存储介质之类的有形介质。用此方式,计算机可读介质通常可以对应于非暂时性的有形计算机可读存储介质。数据存储介质可以是一个或多个计算机或者一个或多个处理器能够进行访问以获取用于实现本公开内容中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
172.举例而言,但非做出限制,这种计算机可读存储介质可以包括ram、rom、eeprom、cd-rom或者其它光盘存储器、磁盘存储器或其它磁存储设备、闪存、高速缓冲存储器、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。应当理解的是,计算机可读存储介质和数据存储介质并不包括载波波形、信号或者其它临时介质,而是针对于非临时的有形存储介质。如本文所使用的,磁盘和光盘包括压缩光盘(cd)、激光光盘、光盘、数字通用光盘(dvd)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上述的组合也应当包括在计算机可读介质的保护范围之内。
173.指令可以由诸如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)之类的一个或多个处理器或者其它等同的集成或分立逻辑电路来执行。因此,如本文所使用的,术语“处理器”可以指代前述的结构或者适合于实现本文所描述的技术的任何其它结构中的任何一种。此外,这些技术可以在一个或多个电路或逻辑元件中完全实现。
174.本公开内容的技术可以使用多种多样的设备或装置来实现,其包括使用无线手持装置、集成电路(ic)或者一组ic(例如,芯片集)。本公开内容中描述了各种组件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但不一定需要由不同的硬件单元来实现。
175.描述了各个示例。这些和其它示例落入所附权利要求的保护范围之内。

技术特征:
1.一种被配置用于相机处理的装置,所述装置包括:存储器,其被配置为存储图像数据;以及与所述存储器相通信的一个或多个处理器,所述一个或多个处理器被配置为:接收所述图像数据的多个帧;经由用户接口接收针对所述多个帧中的每一个帧的缩放设置;根据所述缩放设置来生成第一组帧;基于所述缩放设置来确定第二组帧,所述第二组帧不同于所述第一组帧;以及输出所述第二组帧以供进一步处理。2.根据权利要求1所述的装置,其中,所述第一组帧表示第一组缩放转换,并且其中,所述第二组帧表示第二组缩放转换,其中,所述第一组缩放转换和所述第二组缩放转换彼此不同。3.根据权利要求2所述的装置,其中,所述第一组缩放转换包括从第一缩放水平到第二缩放水平的转换,并且其中,所述第二组缩放转换包括从所述第一缩放水平到目标缩放水平的转换,所述目标缩放水平不同于所述第二缩放水平。4.根据权利要求1所述的装置,其中,所述缩放设置包括多个缩放水平输入,并且其中,为了确定所述第二组帧,所述一个或多个处理器被配置为:确定所述缩放水平输入中的一个或多个缩放水平输入已进行以下操作:应用于特定数量的帧,或适用于特定的持续时间;将所述一个或多个缩放水平输入识别为包括一个或多个目标缩放水平;以及基于包括所述一个或多个目标缩放水平的所述一个或多个缩放水平输入,来确定所述第二组帧。5.根据权利要求1所述的装置,其中,所述一个或多个处理器还被配置为:将所述图像数据的所述多个帧输出到存储器设备或视频编码器,所述多个帧包括与被配置为捕捉所述多个帧的一个或多个图像传感器相对应的全视场(fov)。6.根据权利要求5所述的装置,其中,所述第二组帧包括所述多个接收的帧中由于调整像素分箱级别而被数字裁剪、缩放、数字裁剪并缩放、或数字改变的帧。7.根据权利要求1所述的装置,其中,所述第二组帧表示以下各项中的一项或多项:光学缩放转换或数字缩放转换。8.根据权利要求1所述的装置,其中,所述一个或多个处理器还被配置为:输出所述第一组帧作为预览帧组以供显示,其中,来自所述第一组帧的至少一个帧包括与来自所述第二组帧的对应帧不同的缩放设置。9.根据权利要求1所述的装置,其中,为了确定所述第二组帧,所述一个或多个处理器被配置为:接收指示特定相机模式的用户输入;以及响应于所述用户输入,根据所述特定相机模式来生成所述第二组帧。10.根据权利要求9所述的装置,其中,所述一个或多个处理器包括第一相机处理器和
第二相机处理器,其中,所述第一相机处理器被配置为:输出所述第一组帧以供显示,并且其中,所述第二相机处理器被配置为:根据所述特定的相机模式来确定所述第二组帧;以及输出所述第二组帧。11.根据权利要求1所述的装置,其中,为了确定所述第二组帧,所述一个或多个处理器被配置为:执行对所述多个帧中的对象或区域中的至少一者的检测;以及基于所述检测来确定所述第二组帧。12.根据权利要求1所述的装置,其中,所述一个或多个处理器还被配置为:将第一组自动调整参数应用于所述多个接收的帧;以及将第二组自动调整参数应用于所述第一组帧。13.根据权利要求12所述的装置,其中,所述第二组自动调整参数不同于所述第一组自动调整参数。14.根据权利要求1所述的装置,其中,为了输出所述第二组帧,所述一个或多个处理器被配置为:输出所述第二组帧以存储为视频文件。15.一种用于相机处理的方法,所述方法包括:接收图像数据的多个帧;经由用户接口接收针对所述多个帧中的每一个帧的缩放设置;根据所述缩放设置来生成第一组帧;基于所述缩放设置来确定不同于所述第一组帧的第二组帧;以及输出所述第二组帧以供进一步处理。16.根据权利要求15所述的方法,其中,确定所述第二组帧包括:从所述多个帧的至少一个子集,生成所述第二组帧,其中,来自所述第二组帧的至少一个帧包括与用于所述第一组帧的对应缩放设置不同的缩放设置。17.根据权利要求15所述的方法,其中,所述第一组帧表示从第一缩放水平到第二缩放水平的转换,并且其中,所述第二组帧表示从所述第一缩放水平到目标缩放水平的转换,其中,所述目标缩放水平不同于所述第二缩放水平。18.根据权利要求15所述的方法,其中,所述缩放设置包括多个缩放水平输入,并且其中,确定所述第二组帧包括:确定特定的缩放水平输入已进行以下操作:应用于预定义数量的帧,或适用于预定义的持续时间;将所述特定的缩放水平输入识别为包括目标缩放水平;以及基于所述目标缩放水平,来确定所述第二组帧。19.根据权利要求15所述的方法,还包括:
将所述图像数据的所述多个帧输出到存储器设备或视频编码器,所述多个帧被存储或编码为包括与被配置为捕捉所述多个帧的一个或多个图像传感器相对应的全视场(fov)。20.根据权利要求15所述的方法,其中,所述第二组帧表示所述多个接收的帧中由于调整像素分箱级别而被数字裁剪、缩放、数字裁剪并缩放、或数字改变的帧。21.根据权利要求15所述的方法,其中,所述第二组帧表示以下各项中的一项或多项:光学缩放转换或数字缩放转换。22.根据权利要求15所述的方法,还包括:输出所述第一组帧作为预览帧组以供显示。23.根据权利要求15所述的方法,还包括:接收指示特定相机模式的用户输入;以及响应于所述用户输入,根据所述相机模式来生成所述第二组帧。24.根据权利要求15所述的方法,其中,确定所述第二组帧包括:执行对所述多个帧中的对象或区域中的至少一者的检测;以及基于所述检测来确定所述第二组帧。25.根据权利要求15所述的方法,还包括:将第一组自动调整参数应用于所述多个帧;以及将第二组自动调整参数应用于所述第一组帧。26.根据权利要求25所述的方法,其中,所述第二组自动调整参数不同于所述第一组自动调整参数。27.根据权利要求15所述的方法,其中,输出所述第二组帧包括:输出所述第二组帧以存储为视频文件。28.一种具有存储在其上的指令的非暂时性计算机可读存储介质,所述指令在被执行时,使得一个或多个处理器进行以下操作:接收图像数据的多个帧;经由用户接口接收针对所述多个帧中的每一个帧的缩放设置;根据所述缩放设置来确定第一组帧;基于所述缩放设置来确定第二组帧,所述第二组帧不同于所述第一组帧;以及输出所述第二组帧。29.根据权利要求28所述的非暂时性计算机可读存储介质,其中,还使得所述一个或多个处理器进行以下操作:至少部分地基于所述多个帧来生成所述第二组帧,其中,来自所述第二组帧的至少一个帧具有与来自所述第一组帧的对应帧不同的缩放设置。30.根据权利要求28所述的非暂时性计算机可读存储介质,其中,所述缩放设置包括多个缩放水平输入,并且其中,还使得所述一个或多个处理器进行以下操作:确定一个或多个特定的缩放水平输入将进行以下操作:指示为包括目标缩放水平,应用于预定义数量的帧,或适用于预定义的持续时间;以及基于所述一个或多个缩放水平输入来生成所述第二组帧。

技术总结
通常,描述了关于基于缩放设置来生成图像数据(例如,视频数据)的各种帧集合的技术。还公开了包括有被配置为执行这些技术的一个或多个相机处理器的相机。相机处理器接收图像数据的多个帧。相机处理器经由用户接口接收针对所述多个帧中的每个帧的缩放设置。相机处理器可以根据该缩放设置来生成第一组帧。相机处理器确定第二组帧,其中第二组帧不同于第一组帧。第二组帧可以包括与应用于第一组帧的第一缩放不同的第二缩放。缩放不同的第二缩放。缩放不同的第二缩放。


技术研发人员:Y
受保护的技术使用者:高通股份有限公司
技术研发日:2021.03.10
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-10064.html

最新回复(0)