CN105227850B - 使能元数据存储子系统 - Google Patents
使能元数据存储子系统 Download PDFInfo
- Publication number
- CN105227850B CN105227850B CN201510743258.5A CN201510743258A CN105227850B CN 105227850 B CN105227850 B CN 105227850B CN 201510743258 A CN201510743258 A CN 201510743258A CN 105227850 B CN105227850 B CN 105227850B
- Authority
- CN
- China
- Prior art keywords
- metadata
- imaging device
- order
- camera
- host
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
- G06F9/4413—Plug-and-play [PnP]
- G06F9/4415—Self describing peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/002—Specific input/output arrangements not covered by G06F3/01 - G06F3/16
- G06F3/005—Input arrangements through a video camera
Abstract
本公开提供用于使能元数据存储子系统的技术。创建可用的元数据的目录,并在各种系统数据存储装置中存储元数据。在由主机设备请求时检索元数据,并将元数据传递到主机设备。另外,执行元数据。
Description
本申请是申请日为2013年6月19日、申请号为201380061785.7、发明名称为“使能元数据存储子系统”的发明专利申请的分案申请。
技术领域
本技术一般涉及相机命令集。
背景技术
图像设备包括组件,诸如被配置用于图像捕获的传感器和模块。每个图像设备内的传感器和模块的配置可以变化。不管配置,每个图像设备将与主机处理器对接。因此,主机处理器可以与各种不同配置的相机对接。
发明内容
按照本发明的第一方面的一种用于使能元数据存储子系统的装置,包括:
主机控制器,其用于标识在组织成像设备元数据的二进制大对象中所包括的可用的二进制大对象,用于响应于所标识的二进制大对象而取出在组织成像设备元数据的二进制大对象中所包括的单独的二进制大对象,其中通过用于指示传递的起始地址的设置元数据命令和用于传递所述单独的二进制大对象的分段的获得元数据命令来取出所述单独的二进制大对象,并且用于执行所取出的单独的二进制大对象。
按照本发明的第二方面的一种用于使能元数据存储子系统的装置,包括:
主机控制器,其用于标识成像设备元数据,用于取出所标识的成像设备元数据,其中通过用于指示传递的起始地址的设置元数据命令和用于传递所述成像设备元数据的分段的获得元数据命令来取出所述标识的成像设备元数据,并且用于执行所取出的成像设备元数据。
附图说明
在以下的详细描述中并且参考附图来描述某些示例性实施例,其中:
图1是根据实施例的可以被使用的主机设备的框图;
图2是根据实施例的相机的框图;
图3是根据实施例的用于转化相机命令的系统的框图;
图4是根据实施例的图示了初始化相机子系统的方法的过程流程图;
图5是根据实施例的转化相机命令的方法的过程流程图;
图6是根据实施例的基于获得和设置架构而使得输送机制能够执行CCS命令的方法的过程流程图;
图7是根据实施例的使能存储和检索传感器和模块特定的元数据的元数据存储子系统的框图;
图8是根据实施例的使能元数据存储子系统的方法的过程流程图;
图9是根据实施例的示出了有形、非暂时性计算机可读介质的框图,所述介质存储用于转化相机命令的代码;
图10是根据实施例的用于转化相机命令的示例性系统的框图;以及
图11是根据实施例的可以在其中体现图10的系统的小形状因数设备的示意图。
具体实施方式
本文公开的实施例提供用于各种图像设备配置的支持和验证的技术。虽然使用相机描述本技术,但是可以使用任何图像设备。此外,如本文所使用,图像设备可以是静止拍摄相机、视频相机、立体相机、红外传感器等或其任何组合。
在实施例中,相机命令集(CCS)提供发现和控制相机组件的共同机制,所述相机组件包括但不限于相机传感器和模块。命令使得主机处理器能够与任何相机配置对接、支持和验证任何相机配置。可以使用转化设施实现较旧相机与较新命令集和软件的前向兼容性。转化设施可以使得复杂的CCS命令能够被转化成相机可以执行的命令或CSI-3属性获得/设置请求。CSI-3属性是可以用于控制相机或主机设备的操作的信息的原子单位。输送机制可以用于执行已被转化成CSI-3属性获得/设置请求的命令,而传感器和模块元数据可以被存储并从元数据子系统中被检索。相机元数据包括但不限于关于相机传感器、模块和使用相机捕获的图像的信息。此外,元数据存储系统还可以是用于CSI-3的数据块存储。
在以下的描述和权利要求中,可以使用术语“耦合的”和“连接的”连同其派生词。应当理解的是:这些术语并不旨在作为彼此的同义词。相反,在特定的实施例中,“连接的”可以用于指示两个或更多个元件彼此直接物理或电接触。“耦合的”可以意指两个或更多个元件直接物理或电接触。然而,“耦合的”还可以意指两个或更多个元件不是彼此直接接触,但是还仍然彼此协作或交互。
可以在硬件、固件和软件之一或组合中实现一些实施例。一些实施例还可以被实现为在机器可读介质上存储的指令,所述指令可以由计算平台读取和执行以执行本文所述的操作。机器可读介质可以包括用于以由例如计算机的机器可读的形式存储或传输信息的任何机制。例如,除了其它以外,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光学存储介质;闪速存储器设备;或者电学、光学、声学或其它形式的传播信号,例如载波、红外信号、数字信号或发射和/或接收信号的接口。
实施例是实现方式或示例。在说明书中对“实施例”、“一个实施例”、“一些实施例”、“各种实施例”或“其它实施例”的提及意味着结合实施例所述的特定特征、结构或特性被包括在发明的至少一些实施例中,但不一定是所有实施例。“实施例”、“一个实施例”或“一些实施例”的各种出现不一定全部是指相同的实施例。来自实施例的元件或方面可以与另一个实施例的元件或方面组合。
并非本文所述和图示的所有组件、特征、结构、特性等需要被包括在一个或多个特定实施例中。如果说明书陈述了例如“可以”、“可能”、“能够”或“可能会”包括组件、特征、结构或特性,则不要求包括该特定的组件、特征、结构或特性。如果说明书或权利要求提及“一”或“一个”元件,那并不意味着只有一个元件。如果说明书或权利要求提及“附加”元件,那并不排除有多于一个的附加元件。
要注意的是:虽然已经参考特定实现方式描述一些实施例,但是根据一些实施例,其它实现方式是可能的。另外,不需要以图示和描述的特定方式布置在附图中图示的和/或本文中描述的电路元件或其它特征的布置和/或次序。根据一些实施例,许多其它布置是可能的。
在图中所示的每个系统中,在一些情况下的元件可以各自具有相同的参考标号或不同的参考标号以暗示所表示的元件可以不同和/或类似。然而,元件可以足够灵活以具有不同的实现方式,并与本文所示或所述的系统中的一些或全部一起工作。图中所示的各种元件可以相同或不同。哪一个被称为第一元件并且哪个被称为第二元件是任意的。
图1是根据实施例的可以使用的主机设备100的框图。除了其它以外,主机设备100例如可以是膝上型计算机、台式计算机、平板计算机、移动设备或服务器。此外,主机设备100可以是如本文所述的主机设备。主机设备100可以包括:被配置成执行所存储的指令的中央处理单元(CPU)102,以及存储由CPU 102可执行的指令的存储器设备104。CPU可以通过总线106耦合到存储器设备104。另外,CPU 102可以是单核处理器、多核处理器、计算集群或任何数量的其它配置。此外,主机设备100可以包括多于一个的CPU 102。
主机设备100还可以包括图形处理单元(GPU)108。正如所示,CPU 102可以通过总线106耦合到GPU 108。GPU 108可以被配置成执行主机设备100内的任何数量的图形操作。例如,GPU 108可以被配置成渲染或操纵图形图像、图形帧、视频等,以显示给主机设备100的用户。在一些实施例中,GPU 108包括多个图形引擎(未示出),其中每个图形引擎被配置成执行特定的图形任务或执行特定类型的工作负载。
存储器设备104可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器或任何其它合适的存储器系统。例如,存储器设备104可以包括动态随机存取存储器(DRAM)。CPU 102可以通过总线106链接到显示接口110,显示接口110被配置成将主机设备100连接到显示设备112。显示设备112可以包括是主机设备100的内置组件的显示屏。除了其它以外,显示设备112还可以包括外部连接到主机设备100的计算机监视器、电视或投影仪。
CPU 102还可以通过总线106连接到输入/输出(I/O)设备接口114,输入/输出(I/O)设备接口114被配置成将主机设备100连接到一个或多个I/O设备116。I/O设备116例如可以包括键盘和定点设备,其中定点设备除了其它以外可以包括触摸板或触摸屏。I/O设备116可以是主机设备100的内置组件,或者可以是外部连接到主机设备100的设备。
CPU 102还可以通过总线106连接到图像捕获接口118。图像设备接口118被配置成将主机设备100连接到一个或多个图像设备120。图像设备120可以是静止拍摄相机、视频相机或组合了静止拍摄相机和视频相机的相机。此外,图像设备120可以是立体相机、红外传感器、SOC相机、图像信号处理器(ISP)、桥式设备等。在实施例中,图像设备120是主机设备100的内置组件。另外,在实施例中,图像设备120是外部连接到主机设备100的设备。
在实施例中,嵌入式处理器或定序器(sequencer)可以存在于图像捕获接口118中。图像捕获接口118内的嵌入式处理器或定序器可以用于提供主机命令转化。在实施例中,转化使用在ISP上或在分离的处理器上运行的代码而发生,所述分离的处理器被包含在图像捕获接口118内或以其它方式与图像捕获接口118相关联。
图像设备120用于捕获图像,并且包括一个或多个传感器122。在示例中,传感器122可以是深度传感器,其用于捕获与图像纹理信息相关联的深度信息。传感器122还可以是用于捕获图像纹理信息的图像传感器。此外,图像传感器可以是电荷耦合器件(CCD)图像传感器、互补金属氧化物半导体(CMOS)图像传感器、芯片上系统(SOC)图像传感器、具有光敏薄膜晶体管的图像传感器或其任何组合。图像设备120还包括一个或多个模块124。模块124可以用于操作图像设备的各种组件。例如,相机可以包括缓冲器、透镜和自动聚焦,其中的每一个可以由模块124使能。
存储器设备104包括设备驱动器126。设备驱动器126可以由CPU 102或GPU 108执行,使得主机设备100可以与图像设备120对接、支持和验证图像设备120。设备驱动器126可以是如本文所述的主机软件。此外,设备驱动器126可以访问相机元数据。元数据可以存储在存储器设备104、图像设备120、存储设备128或任何其它数据存储位置中。
存储设备128是物理存储器,诸如硬驱动装置、光学驱动装置、拇指驱动装置、驱动装置的阵列或其任何组合。存储设备128还可以包括远程存储驱动装置。存储设备128包括被配置成在主机设备100上运行的任何数量的应用130。主机设备100还可以包括网络接口控制器(NIC)132,网络接口控制器(NIC)132被配置成通过总线106而将主机设备100连接到网络134。除了其它以外,网络134可以是广域网(WAN)、局域网(LAN)或因特网。
在实施例中,由CPU 102执行的指令可以用于使能主机命令转化。另外,在实施例中,由GPU 108执行的指令可以用于使能主机命令转化。因此,CPU 102或GPU 108可以是主机处理器,该主机处理器用于与图像设备120对接、支持或验证图像设备120。此外,设备驱动器126或应用130可以包括如本文所述的主机软件。在实施例中,CPU 102或GPU 108可以用于执行如本文所述的输送机制内的命令。此外,在实施例中,CPU 102或GPU 108可以使能元数据存储子系统。
图1的框图并不旨在指示主机设备100将包括图1中所示的所有组件。此外,主机设备100可以包括未在图1中所示的任何数量的附加组件,这取决于特定实现方式的细节。
通过使用CCS,与各种相机配置的支持相关联的软件和集成成本可以通过提供用于发现和控制相机传感器和模块的共同机制而降低,然而不约束传感器或模块的实现方式。相反,提供描述任意传感器和相机配置的标准化技术。CCS包括用于传感器、模块和图像处理器的所需和可选的命令二者。转化相机命令使得通用驱动器能够为各种相机配置提供支持,即使那些相机不原生地支持CCS。通用驱动器的使用可以降低与不同相机配置相关联的实现成本。输送机制用于执行相机串行接口3(CSI-3)属性获得/设置架构内的命令。一些命令可以在传感器外部执行,以便降低传感器的成本和复杂性。此外,在传感器外部执行命令为基于遗留的传感器(诸如相机串行接口2(CSI-2)型传感器)的相机提供支持。在实施例中,提供用于存储和检索传感器和模块特定的元数据(包括调谐参数)的技术。
CSI-2和CSI-3标准由移动产业处理器接口(MIPI)联盟开发。CSI-2和CSI-3标准提供标准接口,以将诸如图像设备之类的相机子系统附连到诸如应用处理器之类的主机设备。本文所述的技术可以用根据任何MIPI相机串行接口(CSI)标准开发的相机子系统实现。此外,在实施例中,根据MIPI相机并行接口(CPI)开发的相机子系统也可以用在本技术中。
图2是根据实施例的相机200的框图。如上所讨论的,相机200可以是图像设备,诸如图像设备120(图1)。相机200附连到CSI-3链路202。CSI-3链路202使能用于相机200与诸如CPU 102或GPU 108(图1)之类的主机处理器的集成的高速串行接口协议。在实施例中,主机处理器可以是在移动终端应用中的应用处理器。
相机200可以包括如由图像源206表示的CSI-3虚拟通道204“以上”的任何处理能力。图像源可以是图像传感器、芯片上系统(SOC)成像设备、多芯片成像设备模块或图像信号处理器(ISP)。相应地,相机可以包括存在于主机设备上的附加处理能力。然而,这些潜在的处理能力不被要求用于CCS操作。
为了CCS的目的,相机被假设为类似于图3中那些的构造的组件。然而,不要求图示的每个组件。特别地,CCS可以使用传感器208和一个或多个图像源206。在实施例中,没有任何传感器208存在,并且可以使用其它图像源。例如,CCS可以应用到其中ISP是图像源的子系统。对包括透镜210、光圈212、照明214和元数据存储装置216的附加子系统的支持是可选的。
透镜子系统210被建模为具有指示的视野的透镜群组(grouping),所述透镜群组可以可选地支持光学变焦能力。光圈子系统212被建模为具有指示的F数(F-number)的可变光圈(iris),具有可选的支持以将光圈改变为最小或最大的F数。F数是透镜的焦距与正如通过透镜系统的前方所查看的物理孔径光阑(aperture stop)的光学图像的直径之比。
在实施例中,传感器子系统208为理想的传感器建模。理想的传感器被设计成线性的或对测量的一些简单数学函数是线性的。从而,对于特定的值,理想的传感器在每次测量值时产生相同的输出。影响由相机产生的任何图像的设置,包括定时、增益和其它捕获相关的参数,是传感器子系统208的部分。此外,RAW和SoC传感器也可以用在传感器子系统208中。另外,在实施例中,传感器子系统208还可以包括传感器行为,诸如HDR(高动态范围)和其它形式的计算成像(多焦平面成像等)。
图像源206取传感器子系统208的输出并将其封装,用于通过CSI-3虚拟通道204输送。该封装可以是简单的,如在其中数据可以被格式化并传递下去的RAW传感器的情况下,或者它可以是复杂的,包括处理功能,诸如产生YUV或JPEG输出。每个图像源206的输出可以被选为由CSI-3虚拟通道204的输入以提供图像数据到主机的输送。CSI-3虚拟通道204表示由相同数据源产生的属性和图像分组的序列。在实施例中,CCS图像源206可以产生一种类型的像素数据以及嵌入的属性。CSI-3虚拟通道204用于表示和管理图像数据的输送,而图像源206表示和管理图像数据的生成和处理。存在CSI-3虚拟通道204和图像源206之间的一对一关系。
照明子系统214提供对相机的照明控制(包括闪光灯、(一个或多个)视频灯、红眼减少灯和记录指示器灯)的控制。相机200可以可选地支持照明子系统214能力的任何组合。另外,元数据存储子系统提供共同机制以用于软件检索和可选地写到由相机子系统200存储的非易失性数据。元数据存储装置可以存储模块标识和图像调谐参数,以及存储任何解译的代码以使能超出由模块原生支持的内容的CCS功能性。此外,元数据存储系统还可以是用于CSI-3的数据块存储。
命令输送机制218使得原生支持的CCS命令能够被输送到合并了CSI-3接口的相机子系统200。诸如CSI-2之类的其它接口可以定义和实现用于命令集的可替代的输送。命令输送机制218可以访问用于相机的配置协议(CPC)220,用于相机的配置协议220可以向命令输送机制218传递用于配置和控制相机应用的所有命令和CSI-3属性222。此外,相机控制接口(CCI)224可以用于为支持CSI-2互连的CSI-2数据提供桥功能。
许多CCS命令可以引起影响CSI-3属性222的改变,具有CSI-3虚拟通道204和CCS图像源206之间的特殊重叠。例如,设置的传感器标准配置(Set_SensorStandardConfig())命令支持设置包括图像尺寸的传感器模式。诸如CSI3_XSIZE、CSI3_XLEN、CSI3_YSIZE,CSI3_YLEN和其它这样的CSI-3属性之类的虚拟通道属性如果被实现则应当返回准确地反映如由CCS命令所设置的当前相机配置的值。
因此,CSI-3虚拟通道属性用于控制用于从CSI-3依从设备向主机传递图像及相关数据的参数。这些属性包括对于图像尺寸、数据格式、定时和错误处置的控制,以及与每个帧一起被发送的嵌入的元数据。CCS命令还控制许多相同的图像品质,诸如尺寸、格式和定时。向传感器发出的CCS命令的效应可以包括:除了其它事项外,修改CCS虚拟通道属性。例如,CCS命令可以是对Set_StandardConfig(1),其可以假设地配置传感器以用于1920x1080的分辨率、30帧每秒的操作。对CSI3_YSIZE属性的CSI-3获得然后可以返回1080。如果然后发出属性设置以将CSI3_YSIZE改变为2000,则Get_StandardConfig()CCS命令可以仍返回“1”,虽然当前的配置(具有2000的YSIZE)与先前设置的CCS状态不一致。
传感器子系统208和图像源子系统206子系统可以使用任何数量的配置来实现。因此,对于主机软件恰当地配置传感器子系统208可能是具有挑战性的。CCS可以使用传感器模式来帮助恰当地配置传感器子系统208。传感器模式是由传感器供应商定义的操作配置的集,软件可以从中选择。一般地,将有将为给定的相机呈现的配置的有限集,表示相机将支持的预期的使用。例如,相机可以指示对8百万像素的RAW 10静止优化的模式、1080p/30视频优化的MJPEG模式和QVGAYUV预览模式的支持。
CCS可以包括传感器标准配置(SensorStandardConfig())命令,所述命令可以用于通过选择所期望配置的索引来设置所期望的操作模式。相机然后将自配置到适当的定时和相关联的设置。主机软件可以使用信息传感器标准配置命令(Info_SensorStandardConfig())命令,以检索详述由传感器子系统208支持的模式的表。传感器子系统208不限于在表中列出的模式中的操作。具有对相机子系统200的附加了解的主机软件可以使用附加命令,诸如设置传感器定时(Set_SensorTimings())命令以显式地设置定时,以便展露附加的传感器能力。
图3是根据实施例的用于转化相机命令的系统300的框图。CCS用于使得标准机制能够控制传感器。为CCS定义命令的共同集。CCS可以被划分为原生的、要求的和可选的命令。命令在诸如相机子系统200之类的定义的相机模型上操作。
原生的命令是可以直接由传感器子系统执行而没有任何主机转化支持被要求的命令。CCS中的任何命令可以是原生的命令,因为相机子系统可以指示:它可以原生地接受和处理命令。因此,要求CCS支持的相机子系统应提供对所有原生要求的命令的原生支持。
要求CCS支持的相机子系统还应当支持所要求的命令,但是可以使用本文所述的基于主机基于主机的转化设施来提供支持。相机子系统可以支持所有的可选命令。一般地,原生要求的命令是标识CCS能力所必要的简单命令,并且如果有必要,检索支持命令转化所必要的信息。一旦转化设施起动并运行,然后就可以通过该机制支持随后的命令。
因此,主机转化的命令给不原生地支持完整CCS命令集的相机提供仍然与写到CCS命令的主机软件一起工作的能力。可以通过转化来支持大多数命令,但是少数原生强制性命令必须由传感器支持,因为它们被要求使得转化起动和运行。转化设施包括但不限于具有执行沙箱、代码存储装置和编译代码的方法的转化引擎。在实施例中,在沙箱中运行的代码的输出是然后可以在传感器上执行的CSI-3属性获得/设置事务。
在实施例中,定义输送机制以控制在诸如传感器子系统208(图2)之类的传感器上的命令的执行。输送机制可以是如图2中所述的命令输送机制218。输送机制还可以提供一种机制,通过该机制,一些复杂的命令可以在主机设备上执行并被转化成较简单的命令集以降低传感器复杂性和成本。另外,在实施例中,可以从相机子系统检索元数据,以帮助软件和制造需要。
CCS的相机命令被提到使用伪代码表示,伪代码表示抽象化用其调用命令的方法。虽然可以使用CSI-3相机可以通过其提供支持的技术来描述命令,相同的命令可以被应用到其它相机子系统,诸如CSI-2,但是使用其它命令输送机制或软件转化支持。
每个命令具有可以或可以不被支持的若干变型。“Get_”变型不取任何参数,但是返回数据集,而“Set_”变型取参数集,并返回状态代码。“Info_”变型返回可以帮助软件理解特定的能力、范围和可用选项的静态数据块。
例如,上述的信息传感器标准配置命令(Info_SensorStandardConfig())命令返回数据表,所述数据表定义软件可以从中选择的由传感器支持的模式和配置。软件然后可以使用设置传感器标准配置命令(Set_SensorStandardConfig(Index))命令(其取单个参数Index(索引)作为输入并返回状态码作为响应)以将传感器配置成期望的模式。可以使用获得传感器标准配置命令(Get_SensorStandardConfig())命令(其不取任何输入参数,但是返回当前活动的索引作为响应)读取当前的操作模式。
Get_/Set_/Info_(获得_/设置_/信息_)结构配备在CSI-3属性获得/设置架构顶上。另外,它使能所支持的命令的细粒度的指示,以及对于以下的支持:具有例如由相机原生支持的Get_/Set_(获得_/设置_)变型,而仅通过命令转化来支持Info_(信息_)变型。
虽然CCS旨在提供用于相机的完整的控制集,但其它机制可以用于使能这样的控制:所述控制超出诸如供应商特定的命令和属性获得/设置机制之类的CCS所展露的控制。供应商特定的命令可以用于提供对CCS架构内定义的CCS命令进行扩展的功能性。这些供应商特定的命令使用命令输送架构。
除供应商特定的命令外,软件可以继续使用由CSI-3规范所定义的属性获得/设置机制,以使用本文档中定义的命令输送架构提供不能容易地表述或实现的功能性。如果使用供应商特定的或直接的属性获得/设置命令,则可能破坏由CCS返回的值。因此,当实现供应商特定的命令或属性获得/设置机制时,应当对与CCS的潜在交互进行应答。例如,如果供应商特定的命令用于指定不由标准命令集所支持的透镜阴影校正机制,则获得透镜阴影(GetLensShading())命令可以返回被破坏的数据或者由CCS预期外的数据。
系统300可以包括主机设备302。主机设备302可以是台式计算机、膝上型计算机、触摸板、个人计算机、移动电话设备等。此外,如上所述的主机设备100(图1)可以是主机设备302。主机设备302可以耦合到相机子系统304。相机子系统304可以是图像设备120(图1)或相机子系统200(图2)。如上所述,相机子系统304可以经由CSI-3链路耦合到主机设备302。相机子系统304可以还包括元数据存储装置306。元数据存储装置306可以提供共同机制,用于对由相机子系统304存储的数据的存储和从由相机子系统304存储的数据检索。元数据存储装置306可以存储用于转化相机命令的转化代码308。另外,元数据存储装置306还可以存储标识和图像调谐参数。相机子系统304可以还包括CSI-3属性。在实施例中,属性可以用于访问相机子系统的资源。另外,在实施例中,属性可以用于检测事件。CSI-3属性310从转化设施接收转化的命令。转化设施可以是转化引擎312。
转化引擎312可以位于自相机子系统304的外部。例如,转化引擎312可以位于主机设备302上。在另一示例中,转化引擎312可以在主机设备302和相机子系统304二者外部。另外,转化引擎312可以耦合到相机子系统304。
转化引擎312可以将传入的命令转化成特定于相机子系统304的配置的图像命令。特别地,转化引擎312可以将传入的命令转化成相机子系统304能够处置的访问。例如,转化引擎312可以将复杂输入命令转化成较简单的命令。在另一个示例中,转化引擎312可以将输入命令转化成CSI-3属性获得-设置请求。
为了转化命令,转化引擎312可以使用转化代码308。转化引擎使用从相机子系统304的元数据存储装置306检索的高级转化代码308。转化代码308还可以被存储在相机子系统304外部。特别地,转化代码308可以被存储在平台存储装置314内。在示例中,平台存储装置314可以被包括在主机设备302上。在另一个示例中,平台存储装置314可以在主机设备302和相机子系统304二者外部。平台存储装置314可以耦合到主机设备302。平台存储装置314可以是任何类型的存储介质。例如,平台存储装置314可以是RAM存储器、BIOS或盘驱动装置。可以以对主机熟悉的方式存储转化代码308,使得转化引擎可以定位和访问转化代码308。转化代码308也可以被存储在其它平台存储位置中或来自其它平台存储位置。在其中存储转化代码的位置已知为转化代码存储装置。取决于平台需要,主机软件将被设计成从适当的代码存储装置检索代码。转化引擎308执行代码以将所提供的CCS命令转化成相机子系统可以执行的访问,其可以是CSI-3属性获得/设置PDU分组。CSI-3属性获得/设置PDU分组可以被发送到相机子系统以引起由CCS命令请求的行为。
转化引擎312可以被适配成将转化的命令发送到相机子系统304。例如,转化引擎312可以将转化的命令发送到CSI-3属性310。转化引擎312可以被适配成只转化不由相机子系统304原生支持的命令。因此,不是用于相机的所有命令都需要转化。为了确定应当转化哪些命令,转化引擎308首先应当在相机子系统304上执行获得CCS支持(Get_CCSSupport())命令。在实施例中,如果重调谐有效的CCS支持表,则转化引擎308可以使用所提供的信息以直接将可以被原生处置的命令传递到相机子系统304。另外,在实施例中,如果可以原生地支持由主机所需的所有命令,则没有对于转化引擎或转化代码存储装置的需要。以这种方式,主机设备302可以评估相机子系统304,以在发起命令的转化之前确定相机子系统304是否可以处理命令。如果相机子系统304能够处理命令,则主机设备302可以将输入命令直接发送到相机子系统304。在示例中,命令可以被直接输入到转化引擎312。在另一示例中,命令可以被输入到主机设备302,并且然后传递到转化引擎312。
可以在诸如设备驱动器126(图1)之类的设备驱动器上实现的运行时解译的语言沙箱内实现转化引擎312。以此方式,主机设备的内核被保护免受可以从转化引擎312弹出的任意代码。
在实施例中,CCS内的一些命令是可选的或者不适用于特定的相机子系统或传感器子系统配置,诸如RAW传感器上的图像处理命令。为了为主机软件提供所支持的命令的可预测集,可以预定义许多简档以用于各种使用。为了实现简档,相机子系统提供对指示的命令的支持,通过原生的或者转化的支持,如以上所讨论。相机还可以提供对任何其它可选命令的支持。例如,标识为RAW相机的相机可以实现RAW相机CCS简档。类似地,标识为SoC相机的相机子系统可以实现SoC相机CCS简档。
图4是根据实施例的图示了初始化相机子系统的方法400的过程流程图。过程流程图可以由主机设备利用,诸如主机设备100(图1)或主机设备302(图3)。
在块402处,标识图像设备。在实施例中,为了标识相机,主机软件可以读取设备属性以标识设备类别、制造商、型号、序列号和其它信息。例如,在根据UniPro协议而互连主机设备和相机时,主机设备可以读取相机的统一协议(UniPro)设备描述符块(DDB)物理层(L1)属性。UniPro协议指定用于在系统内互连设备的标准。UniPro DDB包括可以用于标识设备的信息。此外,图像设备的UniPro DDB L1属性可以用于定义图像设备和主机设备之间的链路,诸如链路的带宽和功率能力。UniPro DDB L1属性包括设备类别、制造商标识和产品标识。在实施例中,可以读取CSI-3属性,以确定关于图像设备的信息,诸如设备子类。
在实施例中,相机使用接口而与主机设备的处理器对接,所述接口是根据通过移动产业处理器接口(MIPI)相机串行接口(CSI)联盟的规范而开发。例如,相机串行接口可以是MIPI CSI-3接口。在实施例中,CSI包括数据传输接口,所述接口是与数据和时钟信号的单向差分串行接口。主机设备可以使用CSI-3属性确定相机的子类。
在块404处,确定图像设备是否支持CCS。如果支持CCS,则过程流继续到块406。如果不支持CCS,则过程流继续到块408。为了确定这一点,主机可以尝试执行获得CCS支持(Get_CCSSupport())命令。获得CCS支持(Get_CCSSupport())命令可以由相机使用下述的输送机制来执行。如果从相机返回的值是“0”,则不支持CCS。
在实施例中,如果支持CCS,则主机设备可以确定相机是否原生支持CCS。例如,主机可以使用从CSI-3属性或UniPro DDB L1属性得到的数据,以确定是否支持信息元数据目录(Info_MetadataDirectory())命令。如果相机原生支持CCS,则相机可以使用CCS命令而开始。
如果相机不原生支持CCS,则主机可以确定转化代码blob(二进制大对象)是否可用。例如,主机可以确定转化代码二进制大对象在元数据中是否可用。
在块406处,确定元数据目录是否存在。如果元数据目录存在,则过程流继续到块410。如果元数据目录不存在,则过程流继续到块416。
在块408处,供应商特定的软件用于支持和验证相机。如果不支持CCS,则过程结束并且必须使用供应商特定的流。
在块410处,确定:通过使用元数据目录,转化代码是否可用。如果通过使用元数据目录而转化代码可用,则过程流继续到块414。如果通过使用元数据目录而转化代码不可用,则过程流继续到块412。
在块412处,确定转化代码是否在系统内的任何地方可用。在实施例中,确定转化代码是否在平台上的任何地方可用。如果转化代码在系统内不可用,则过程流返回到块408。如果转化代码在系统内可用,则过程流继续到块414。
在块414处,加载并执行转化代码。因此,在实施例中,如果转化代码二进制大对象可用,则主机可以加载二进制大对象并初始化转化引擎。当加载转化二进制大对象时,二进制大对象可以在运行时解译的语言沙箱中运行。转化引擎可以开始转化命令。如果转化代码二进制大对象不可用,则主机可以以平台特定的方式确定是否有转化代码存储在平台上的别的任何地方可用。如果有转化代码存储可用,则主机可以加载转化代码存储并初始化转化引擎。转化引擎然后可以开始将来自CCS的命令转化成相机可以执行的命令。在实施例中,所得到的转化的命令是CSI-3属性获得/设置PDU分组,其进而被发送到相机以引起由相机命令请求的行为。在块416处,CCS命令用于支持、控制和验证相机。
图5是根据实施例的转化相机命令的方法500的过程流程图。如上所讨论的,当通过在图4的块414处执行转化代码而生成转化引擎时,可以转化命令。
在块502处,从代码存储接收转化代码,以形成转化引擎。如上所讨论的,转化代码和转化引擎形成转化设施,所述转化设施使得复杂的CCS命令能够被转化成相机可以执行的命令或CSI-3属性获得/设置请求。可以使用如下讨论的元数据存储子系统来存储转化代码。在块504处,在转化引擎中接收成像设备命令。在实施例中,从设备驱动器126(图1)或应用130(图1)发送成像设备命令。
在块506处,可以使用转化引擎转化成像设备命令。以此方式,主机设备可以将CSS命令转变或转化成为成像设备可以处理的格式。
在实施例中,转化引擎可以将命令转化成CSI-3属性获得/设置请求。输送机制可以用于执行已被转化成CSI-3属性获得/设置请求的命令。在块508处,转化的成像设备命令被传递到成像设备,以引起由转化的成像设备命令所请求的行为。
可以在基于CSI-3的成像设备上实现CCS。如上所讨论的,成像设备包括相机和传感器。在实施例中,CSI-3成像设备可以原生地执行CCS的命令,从而减轻与主机设备的集成挑战,并且还降低软件和支持成本。此外,在实施例中,可以基于获得和设置架构,使用输送机制原生地执行CCS命令。
因此,对于将在基于CSI-3的相机上原生执行的命令的输送基于CSI-3 GET(获得)、SET(设置)、RESPONSE(响应)和NOTIFY(通知)事务行为,所述事务行为由如CSI-3标准定义的用于相机的配置协议(CPC)定义。CCS命令的Get_(获得_)和Set_(设置_)变型对应于CSI-3GET(获得)和SET(设置)事务。此外,命令的Info_(信息_)变型被实现为Get_(获得_)变型的较长版本,典型地具有不同的命令标识(ID)。与Get_(获得_)变型典型地返回的动态控制信息相比,命令的Info_(信息_)变型返回的信息可以显著地更大,并且典型地是静态的信息。
Get_(获得_)或Set_(设置_)变型的命令ID以下面的方式映射到CSI-3属性ID:CSI-3_属性=0x01000000+(CMD_ID*0x1000)
注意:对于许多命令,伪代码抽象是围绕根本上只是属性获得/设置过程的内容的薄封装器。
例如,具有0x010的ID的获得命令状态(Get_CommandStatus())命令将被表示为对(0x01000000+(0x010*0x1000)=0x01010000)的事务。该地址将是分组数据单元(PDU)的AttributeID(属性ID)字段。另外,PDU将具有0的XFSIZE(其表示4字节传递),以及2的PDU类型以指示GET(获得)。该PDU随后将被包封在CSI-3属性分组中并被发送到相机。随后,状态值将在响应PDU中被返回到主机,完成所述命令。
图6是根据实施例的使得输送机制能够基于获得和设置架构而执行CCS命令的方法600的过程流程图。在块602处,可以提取命令的属性标识(ID)。
在块604处,基于属性标识,可以从主机设备向成像设备发送获得协议数据单元(PDU),以便从成像设备内的图像源得到属性值。获得PDU可以被包封在CSI-3属性分组中并且然后发送到成像设备。在实施例中,在获得PDU从主机设备被发送到成像设备时,成像设备的传感器可以执行命令。另外,在实施例中,在获得PDU从主机设备被发送到成像设备而没有阻塞时,成像设备的传感器执行命令。阻塞指的是当传感器忙时命令的延迟的执行。例如,一些命令可能花长时间来完成,并且在执行时间期间相机可能不可用来处理命令。然而,相机模块必须以如获得PDU被接收的次序返回响应PDU。相机可以使用由CPC C-端口提供的L4流控制来停止主机并防止命令缓冲器溢出。
例如,命令的Set_(设置_)变型可能花长时间来执行并引起阻塞。这些命令不返回响应。因此,主机可以使用获得命令状态(Get_CommandStatus())命令来确定何时已经完成长命令的执行。推荐获得命令状态(Get_CommandStatus())命令总是由传感器处置而没有阻塞,使得对命令的响应可以由主机用于确定何时已经完成命令执行并且传感器准备就绪。
在块606处,响应PDU可以从成像设备被发送到主机设备以完成命令的执行。响应PDU可以包括从成像设备内的图像源得到的属性值。
在实施例中,CSI-3通知PDU可以从成像设备被发送到主机设备。通知PDU基于来自命令的属性标识而不包括属性值。另外,当设置PDU从主机设备被发送时,基于来自命令的属性标识,设置PDU可以将属性值写到成像设备。
相机子系统还可以包括元数据子系统,所述元数据子系统使能主机硬件和软件处理以标识相机细节,检索相机特定的校准和调谐信息,并管理固件或其它代码存储装置。因此,元数据包括转化代码、校准数据、调谐数据、成像设备固件或其任何组合中的至少一个。在许多实现方式中,各种元数据片段被存储在各种系统数据存储装置中,包括在模块自身上的非易失性存储装置、主机固件和主机OS主存储装置。在实施例中,数据还可以被存储在各种代码存储装置中。此外,在实施例中,代码存储装置和数据存储装置相同。这些各种存储装置的位置可以从系统到系统地变化,因为各种系统存储约束或成本权衡可以改变优选的位置。为了简化在管理元数据中进行定位中的较高级软件的作业,CCS提供可以用于管理元数据存储和检索的命令的可选集。虽然相机可以实现这些命令的原生版本以管理模块上的非易失性存储,但转化的命令也可以潜在地提供对其它系统存储装置的访问。
图7是根据实施例的使能存储和检索传感器和模块特定的元数据的元数据存储子系统700的框图。在实施例中,元数据存储系统是用于CSI-3的数据块存储。相机元数据通过二进制大对象组织,二进制大对象中的每一个可以单独可管理。二进制大对象是数据片段。二进制大对象的示例包括校准信息、传感器固件和支持CCS的代码。因此,上述的转化代码是二进制大对象。可以跨系统在各种地方存储这些二进制大对象;只要CCS转化代码可以访问每个二进制大对象,它就可以将这些各种元数据存储抽象成用于软件的一个协调的视图。
主机软件702通过读取元数据目录而标识可用的二进制大对象。元数据存储命令704提供对元数据目录的访问。主机软件702读取元数据目录,以确定存在的二进制大对象的类型、起始地址和长度以及访问属性。二进制大对象可以存在于相机存储装置706、平台固件708或平台主存储装置712或其任何组合中的任何一个上。
具体地,元数据目录(MetadataDirectory())命令提供对目录的访问。信息元数据(Info_MetadataDirectory())命令变型返回目录的大小,其然后可以使用获得元数据目录(Get_MetadataDirectory())命令变型来被取出。
为了取出单独的二进制大对象,由主机使用两个步骤过程。首先,设置元数据(Set_Metadata())命令用于指示传递的起始地址,然后获得元数据(Get_Metadata())命令传递元数据二进制大对象的分段。由于单独的CSI-3PDU限于一次传递多达4096字节,多个Set_/Get_(设置_/获得_)序列对于取出长于4KB限制的元数据二进制大对象可能是必要的。
除了是4的倍数以适合CSI-3属性映射以外,二进制大对象的起始地址无需遵循任何特定的型式。虽然使用附连的EEPROM原生地实现元数据存储命令的相机可以使用地址来表示存储设备内的文字地址,但转化的元数据命令可以使用顶部字节来表示应当从中检索元数据二进制大对象的数据存储。
图8是根据实施例的使能元数据存储子系统的方法800的过程流程图。在块802处,创建可用的元数据的目录,其中元数据被存储在各种系统数据存储装置中。在实施例中,元数据是相机命令集(CCS)转化代码块,并且主机设备加载和初始化CCS转化代码块。在块804处,在由主机设备请求时检索元数据。如上所讨论的,检索元数据可以包括执行命令,所述命令指示包括元数据的数据传递的起始地址。在实施例中,起始地址对应于CSI-3属性映射。此外,主机设备读取目录以确定在成像设备上的元数据的类型、元数据的起始地址和长度以及元数据的访问属性。在块806处,元数据被传递到主机设备。在块808处,执行元数据。
图4-6和8的过程流程图并不旨在指示:将以任何特定的次序执行方法400、500、600或800的步骤,或者将在每种情况下包括方法400、500、600或800的所有步骤。此外,可以在方法400、500、600或800或其任何组合内包括任何数量的附加步骤,这取决于特定的应用。
图9是根据实施例的示出有形的、非暂时性计算机可读介质900的框图,所述介质存储用于转化相机命令的代码。有形的、非暂时性机器可读介质可以包括用于以由例如计算机的机器可读的形式存储或传输信息的任何机制。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光学存储介质;以及闪速存储器设备。有形的、非暂时性计算机可读介质900可以由处理器902通过计算机总线904访问。此外,有形的、非暂时性计算机可读介质900可以包括被配置成指引处理器902执行本文所述方法的代码。
本文讨论的各种软件组件可以被存储在有形的、非暂时性计算机可读介质900上,如图9中所指示。存储模块906可以被配置成从代码存储装置接收转化代码以形成转化引擎。此外,转化模块908可以被配置成使用转化引擎来转化成像设备命令。传递模块910可以将转化的成像设备命令传递到成像设备,以引起由转化的成像设备命令所请求的行为。
图9的框图并不旨在指示有形的、非暂时性计算机可读介质900将包括图9中所示的所有组件。此外,有形的、非暂时性计算机可读介质900可以包括图9中未示出的任何数量的附加组件,这取决于特定实现方式的细节。
图10是根据实施例的用于转化相机命令的示例性系统1000的框图。同样编号的项如关于图1所述的那样。在一些实施例中,系统1000是媒体系统。另外,系统1000可以被合并到个人计算机(PC)、膝上型计算机、超膝上型计算机、平板计算机、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板或智能电视)、移动因特网设备(MID)、消息传递设备、数据通信设备等。
在各种实施例中,系统1000包括耦合到显示器1004的平台1002。平台1002可以从诸如(一个或多个)内容服务设备1006或(一个或多个)内容递送设备1008或其它类似的内容源之类的内容设备接收内容。包括一个或多个导航特征的导航控制器1010可以用于例如与平台1002和/或显示器1004交互。下面更详细地描述这些组件中的每一个。
平台1002可以包括芯片集1012、中央处理单元(CPU)102、存储器设备104、存储设备128、图形子系统1014、应用130以及无线电设备1016的任何组合。芯片集1012可以提供在CPU 102、存储器设备104、存储设备128、图形子系统1014、应用130和无线电设备1016之中的互通信。例如,芯片集1012可以包括能够提供与存储设备128的互通信的存储适配器(未示出)。
处理器102可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容的处理器、多核或任何其它微处理器或中央处理单元(CPU)。在一些实施例中,处理器102包括(一个或多个)双核处理器、(一个或多个)双核移动处理器等。
存储器设备104可以被实现为易失性存储器设备,诸如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。存储设备128可以被实现为非易失性存储设备,诸如但不限于磁盘驱动装置、光盘驱动装置、磁带驱动装置、内部存储设备、附连的存储设备、闪速存储器、电池备份的SDRAM(同步DRAM)和/或网络可访问的存储设备。在一些实施例中,存储设备128例如包括在包括多个硬驱动装置时为有价值的数字媒体增加存储性能增强的保护的技术。
图形子系统1014可以执行诸如静止或视频之类的图像的处理,以用于显示。例如,图形子系统1014可以包括诸如GPU 108之类的图形处理单元(GPU),或者视觉处理单元(VPU)。模拟或数字接口可以用于通信地耦合图形子系统1014和显示器1004。例如,接口可以是高清晰度多媒体接口、显示器端口、无线HDMI和/或无线HD依从的技术中的任何一个。图形子系统1014可以被集成到处理器或芯片集1012中。可替代地,图形子系统1014可以是通信地耦合到芯片集1012的独立卡。
可以在各种硬件架构中实现本文所述的图形和/或视频处理技术。例如,可以在芯片集1012内集成图形和/或视频功能性。可替代地,可以使用分立的图形和/或视频处理器。作为仍另一实施例,图形和/或视频功能可以由包括多核处理器的通用处理器实现。在另外的实施例中,可以在消费电子设备中实现功能。
无线电设备1016可以包括能够使用各种合适的无线通信技术来发射和接收信号的一个或多个无线电设备。这样的技术可以涉及跨一个或多个无线网络的通信。示例性无线网络包括无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络、卫星网络等。在跨这样的网络的通信中,无线电设备1016可以根据以任何版本的一个或多个适用的标准来操作。
显示器1004可以包括任何电视类型的监视器或显示器。例如,显示器1004可以包括计算机显示屏、触摸屏显示器、视频监视器、电视等。显示器1004可以是数字的和/或模拟的。在一些实施例中,显示器1004是全息显示器。而且,显示器1004可以是可以接收视觉投影的透明表面。这样的投影可以传达各种形式的信息、图像、对象等。例如,这样的投影可以是用于移动增强的现实(MAR)应用的视觉叠覆。在一个或多个应用130的控制下,平台1002可以在显示器1004上显示用户接口1018。
例如,(一个或多个)内容服务设备1006可以由任何国家的、国际的或独立的服务来托管,并且因此可以经由因特网而对平台1002可访问。(一个或多个)内容服务设备1006可以耦合到平台1002和/或耦合到显示器1004。平台1002和/或(一个或多个)内容服务设备1006可以耦合到网络134以向和自网络134传送(例如发送和/或接收)媒体信息。(一个或多个)内容递送设备1008还可以耦合到平台1002和/或耦合到显示器1004。
(一个或多个)内容服务设备1006可以包括有线电视盒、个人计算机、网络、电话、或能够递送数字信息的因特网使能的设备。另外,(一个或多个)内容服务设备1006可以包括能够经由网络134或直接地在内容提供商和平台1002或显示器1004之间单向或双向地传送内容的任何其它类似的设备。将领会的是:可以经由网络134而向和自内容提供商和系统1000中的组件的任何一个单向地和/或双向地传送内容。内容的示例可以包括任何媒体信息,例如包括视频、音乐、医学和游戏信息等等。
(一个或多个)内容服务设备1006可以接收内容,诸如有线电视节目编排,包括媒体信息、数字信息或其它内容。除了其它以外,内容提供商的示例可以包括任何有线或卫星电视或广播或因特网内容提供商。
在一些实施例中,平台1002从包括一个或多个导航特征的导航控制器1010接收控制信号。例如,导航控制器1010的导航特征可以用于与用户接口1018交互。导航控制器1010可以是定点设备,所述定点设备可以是允许用户将空间(例如连续的和多维)数据输入到计算机中的计算机硬件组件(特别地是人类接口设备)。诸如图形用户接口(GUI)以及电视和监视器之类的许多系统允许用户使用身体姿势来控制并将数据提供到计算机或电视。身体姿势包括但不限于面部表情、面部移动、各种肢体的移动、身体移动、身体语言或者其任何组合。这样的身体姿势可以被识别并转化成命令或指令。
导航控制器1010的导航特征的移动可以通过在显示器1004上显示的指针、光标、聚焦环或其它视觉指示符的移动而在显示器1004上传回。例如,在应用130的控制下,位于导航控制器1010上的导航特征可以被映射到在用户接口1018上显示的虚拟导航特征。在一些实施例中,导航控制器1010可以不是分离的组件,而是相反可以被集成到平台1002和/或显示器1004中。
系统1000可以包括驱动器(未示出),所述驱动器例如包括在被使能时使得用户能够在初始引导之后用按钮的触摸即时开启和关闭平台1002的技术。当平台“关闭”时,程序逻辑可以允许平台1002将内容流式传输到媒体适配器或(一个或多个)其它内容服务设备1006或(一个或多个)内容递送设备1008。此外,芯片集1012可以包括例如用于10.1环绕声音频和/或高清晰度7.1环绕声音频的硬件和/或软件支持。驱动器可以包括用于集成的图形平台的图形驱动器。在一些实施例中,图形驱动器包括高速外围组件互连(PCIe)图形卡。
在各种实施例中,可以集成系统1000中所示的组件中的任何一个或多个。例如,可以集成平台1002和(一个或多个)内容服务设备1006;可以集成平台1002与(一个或多个)内容递送设备1008;或者可以集成平台1002、(一个或多个)内容服务设备1006和(一个或多个)内容递送设备1008。在一些实施例中,平台1002和显示器1004是集成的单元。例如,可以集成显示器1004和(一个或多个)内容服务设备1006,或者可以集成显示器1004和(一个或多个)内容递送设备1008。
系统1000可以被实现为无线系统或有线系统。当被实现为无线系统时,系统1000可以包括适于通过无线共享的媒介而通信的组件和接口,诸如一个或多个天线、发射器、接收器、收发器、放大器、滤波器、控制逻辑等等。无线共享的媒介的示例可以包括诸如RF频谱之类的无线频谱的部分。当被实现为有线系统时,系统1000可以包括适于通过有线通信媒介而通信的组件和接口,诸如输入/输出(I/O)适配器、将I/O适配器与对应的有线通信介质连接的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等。有线通信媒介的示例可以包括导线、线缆、金属引线、印刷电路板(PCB)、背板、交换组构(fabric)、半导体材料、双绞线、同轴线缆、光纤等。
平台1002可以建立一个或多个逻辑或物理通道以传送信息。信息可以包括媒体信息和控制信息。媒体信息可以指的是表示意指用于用户的内容的任何数据。内容的示例例如可以包括来自语音会话、视频会议、流视频、电子邮件(email)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自语音会话的数据例如可以是话音信息、静默时段、背景噪声、舒适噪声、音调等。控制信息可以指的是表示意指用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于路由媒体信息通过系统,或者指令节点以预定方式处理媒体信息。然而,实施例并不限于图10中所示或所述的元件或上下文。
图11是根据实施例的可以在其中体现图10的系统1000的小形状因数的设备1100的示意图。同样编号的项如关于图10所述的那样。在一些实施例中,例如,设备1100被实现为具有无线能力的移动计算设备。例如,移动计算设备可以指的是具有处理系统和移动功率源或供应(诸如一个或多个电池)的任何设备。
如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超膝上型计算机、平板计算机、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板或智能电视)、移动因特网设备(MID)、消息传递设备、数据通信设备等。
移动计算设备的示例还可以包括被布置成由人佩戴的计算机,诸如腕式计算机、手指式计算机、戒指式计算机、眼镜式计算机、皮带夹式计算机、臂章式计算机、鞋式计算机、服装式计算机或任何其它合适类型的可佩戴计算机。例如,移动计算设备可以被实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。虽然作为示例可以用被实现为智能电话的移动计算设备描述一些实施例,但是可以领会的是:也可以使用其它无线移动计算设备实现其它实施例。
如图11中所示,设备1100可以包括外壳1102、显示器1104、输入/输出(I/O)设备1106以及天线1108。设备1100还可以包括导航特征1110。显示器1104可以包括用于显示对于移动计算设备适当的信息的任何合适的显示单元。I/O设备1106可以包括用于将信息录入到移动计算设备中的任何合适的I/O设备。例如,I/O设备1106可以包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、摇杆式开关、麦克风、扬声器、语音识别设备和软件等。还可以通过麦克风将信息录入到设备1100中。这样的信息可以由语音识别设备数字化。此外,设备1100还可以包括一个或多个相机。根据由移动产业处理器接口(MIPI)联盟开发的标准,相机可以与设备的处理器对接。
示例1
本文描述一种用于转化成像设备命令的装置。该装置包括:从代码存储装置检索转化代码以形成转化引擎的逻辑,以及在转化引擎中接收成像设备命令的逻辑。该装置还包括:使用转化引擎来转化成像设备命令的逻辑,以及将转化的成像设备命令传递到成像设备以引起由转化的成像设备命令所请求的行为的逻辑。
所述装置可以还包括:确定所接收的命令是否由成像设备原生支持的逻辑。可以执行转化代码,以便转化成像设备命令。代码存储装置可以位于成像设备内,或者代码存储装置可以位于耦合到主机设备的平台存储装置内。转化引擎可以位于远离成像设备处。此外,转化引擎可以位于内插器设备上,并且代码存储装置可以位于内插器设备、主机设备、传感器或其任何组合中的至少一个上。转化引擎可以将成像设备命令转化成CSI-3属性获得/设置命令。另外,转化引擎可以将成像设备命令转化成CSI-2寄存器读/写命令。转化引擎还可以转化不由成像设备原生支持的命令。
示例2
本文描述一种用于转化成像设备命令的系统。该系统包括:主机设备,耦合到主机设备的成像设备,以及转化引擎,其中使用从代码存储装置得到的代码创建转化引擎,并且转化引擎被配置成将成像设备命令转化成成像设备特定的命令。
主机设备可以是膝上型计算机、台式计算机、平板计算机、移动设备或服务器或其任何组合。此外,成像设备内的嵌入式处理器或定序器可以用于转化成像设备命令。代码存储装置可以位于主机设备内。另外,代码存储装置可以位于成像设备内。代码存储装置还可以位于耦合到主机设备的平台存储设备内。转化引擎可以位于远离成像设备处。转化引擎还可以将成像设备命令转化成CSI-3属性获得/设置命令。转化引擎可以被配置成将转化的命令发送到成像设备,以引起由转化的成像设备命令所请求的行为。此外,转化引擎可以被配置成转化不由成像设备原生支持的命令。可以在运行时解译的语言沙箱内执行转化代码。转化引擎还可以位于主机设备上。
示例3
本文描述一种有形的、非暂时性计算机可读存储介质,其具有用于转化成像设备命令的计算机可执行指令。所述指令使得计算机从代码存储装置检索转化代码以形成转化引擎并接收输入的成像设备命令。所述指令还可以使得计算机将输入的成像设备命令转化为成像设备特定的命令,并将成像设备特定的命令发送到被耦合到计算机的成像设备,其中输入的成像设备命令由转化装置转化。转化装置可以是转化引擎,并且转化装置可以位于远离成像设备处。
示例4
本文描述一种用于基于获得和设置架构在输送机制内执行命令的装置。该装置包括:提取命令的属性标识的逻辑,以及基于属性标识而从主机设备向成像设备发送获得协议数据单元(PDU)以便从成像设备内的图像源得到属性值的逻辑。该装置还包括从成像设备向主机设备发送响应PDU以完成命令的执行的逻辑。
在获得PDU从主机设备被发送到成像设备时,成像设备的传感器可以执行命令。另外,当获得PDU从主机设备被发送到成像设备而没有阻塞时,成像设备的传感器可以执行命令。获得PDU可以被包封在CSI-3属性分组中,并且然后被发送到成像设备。此外,响应PDU可以包括从成像设备内的图像源得到的属性值。图像源可以是图像传感器、芯片上系统(SOC)成像设备、多芯片成像设备模块或图像信号处理器(ISP)。所述装置还可以包括从成像设备向主机设备发送通知PDU的逻辑,其中通知PDU基于来自命令的属性标识而不包括属性值。另外,所述装置可以包括从主机设备发送设置PDU的逻辑,其中设置PDU基于来自命令的属性标识而将属性值写到成像设备。
示例5
本文描述一种用于基于获得和设置架构在输送机制内执行命令的系统。该系统包括主机设备和耦合到主机设备的成像设备,其中获得协议数据单元(PDU)从主机设备被发送到成像设备,并且获得PDU包括针对来自成像设备的图像源的属性值的请求,并且其中响应PDU从成像设备被发送到主机设备以完成命令的执行。
当获得PDU从主机设备被发送到成像设备时,主机设备的传感器可以执行命令。在获得PDU从主机设备被发送到成像设备而没有阻塞时,成像设备的传感器也可以执行命令。图像源可以是RAW成像设备传感器、芯片中系统成像设备、多芯片成像设备模块或图像信号处理器。通知PDU可以从成像设备被发送到主机设备,其中通知PDU基于来自命令的属性标识而不基于不包括属性值。设置PDU可以从成像设备被发送到主机设备,其中设置PDU基于来自命令的属性标识而向成像设备读取或写入属性值。
示例6
本文描述一种具有计算机可执行指令的有形的、非暂时性计算机可读存储介质,所述指令用于基于获得和设置架构在输送机制内执行命令。所述指令使得计算机提取命令的属性标识,并且基于属性标识而从主机设备向成像设备发送获得协议数据单元(PDU)以便从成像设备内的图像源得到属性值。所述指令还使得计算机从成像设备向主机设备发送响应PDU以完成命令的执行。
获得PDU可以被包封在CSI-3属性分组中,并且然后发送到成像设备。响应PDU可以包括从成像设备内的图像源得到的属性值。图像源可以是RAW成像设备传感器、芯片中系统成像设备、多芯片成像设备模块或图像信号处理器。此外,通知PDU可以从成像设备被发送到主机设备,其中通知PDU基于来自命令的属性标识而不基于不包括属性值。另外,设置PDU可以从成像设备被发送到主机设备,其中设置PDU基于来自命令的属性标识而向成像设备写入属性值。
示例7
本文描述一种用于使能元数据存储子系统的装置。该装置包括:创建可用的元数据的目录的逻辑,其中元数据被存储在各种系统数据存储装置中,以及在由主机设备请求时检索元数据的逻辑。该装置还包括将元数据传递到主机设备的逻辑,以及执行元数据的逻辑。
检索元数据的逻辑可以包括执行命令,所述命令指示包括元数据的数据传递的起始地址。主机设备可以读取目录以确定在成像设备上的元数据的类型、元数据的起始地址和长度以及元数据的访问属性。元数据可以包括转化代码、校准数据、调谐数据、成像设备固件或其任何组合中的至少一个。另外,检索元数据的逻辑可以包括执行命令,所述命令指示包括元数据的数据传递的起始地址,并且起始地址对应于CSI-3属性映射。此外,元数据可以是相机命令集(CCS)转化代码块,并且主机设备可以加载和初始化CCS转化代码块。
示例8
本文描述一种用于使能元数据存储子系统的系统。该系统包括:主机设备,耦合到主机设备的成像设备,以及元数据子系统。创建在元数据子系统中可用的元数据的目录,并且在由主机设备请求时检索元数据。还使用主机设备来传递和执行元数据。
检索元数据可以包括执行命令,所述命令指示包括元数据的数据传递的起始地址。主机设备可以读取目录以确定在成像设备上存储的元数据的类型、元数据的起始地址和长度以及元数据的访问属性。另外,元数据可以包括转化代码、校准数据、调谐数据、成像设备固件或其任何组合中的至少一个。检索元数据可以包括执行命令,所述命令指示包括元数据的数据传递的起始地址,并且起始地址对应于CSI-3属性映射。元数据可以是命令成像设备集(CCS)转化代码块,并且主机设备加载和初始化CCS转化代码块。
示例9
本文描述一种有形的、非暂时性计算机可读存储介质,其具有用于使能元数据存储子系统的计算机可执行指令。所述指令使得计算机创建可用的元数据的目录,其中元数据被存储在各种系统数据存储装置中。所述指令还使得计算机在由主机设备请求时检索元数据,将元数据传递到主机设备,并执行元数据。
检索元数据可以包括执行命令,所述命令指示包括元数据的数据传递的起始地址。主机设备可以读取目录以确定在成像设备上的元数据的类型、元数据的起始地址和长度以及元数据的访问属性。另外,元数据可以包括转化代码、校准数据、调谐数据、成像设备固件或其任何组合中的至少一个。检索元数据还可以包括执行命令,所述命令指示包括元数据的数据传递的起始地址,并且起始地址对应于CSI-3属性映射。此外,元数据可以是命令成像设备集(CCS)转化代码块,并且主机设备加载和初始化CCS转化代码块。
示例10
本文描述一种用于转化一个或多个成像设备命令的方法。所述方法包括检索转化代码并接收一个或多个成像设备命令。该方法还包括:执行转化代码以将一个或多个成像设备命令转化成为成像设备能够处置的一个或多个访问,并向成像设备发送一个或多个访问以引起由一个或多个成像设备命令所请求的行为。
成像设备可以包括相机,并且一个或多个成像设备命令可以包括一个或多个相机命令。此外,可以在主机设备中实现所述方法。另外,可以在主机软件中实现所述方法。转化代码可以是高级转化代码。还可以从位于成像设备中的存储装置检索转化代码。位于成像设备中的存储装置可以是元数据存储装置。可以从成像设备外部的存储装置检索转化代码。此外,成像设备外部的存储装置可以是平台存储装置。而且,成像设备外部的存储装置可以是元数据存储装置。
成像设备能够处置的一个或多个访问可以包括CSI-3属性获得/设置分组。此外,更复杂的命令可以被转化成较简单的命令。更复杂的命令还可以被转化成CSI-3属性获得/设置请求。所述方法还可以包括确定所接收的命令是否由成像设备原生地支持。转化代码可以被存储在内插器设备、主机设备、传感器或其任何组合中的至少一个上。一个或多个成像设备命令可以被转化成CSI-3属性获得/设置命令。另外,一个或多个成像设备命令可以被转化成CSI-2寄存器读/写命令。一个或多个转化的成像设备命令还可以是不由成像设备原生地支持的命令。
示例11
本文描述一种用于转化一个或多个成像设备命令的装置。该装置包括转化引擎,以检索转化代码,接收一个或多个成像设备命令,执行转化代码以将一个或多个成像设备命令转化成为成像设备能够处置的一个或多个访问,并向成像设备发送一个或多个访问以引起由一个或多个成像设备命令所请求的行为。
成像设备可以包括相机,并且一个或多个成像设备命令包括一个或多个相机命令。转化引擎可以被包括在主机设备中。另外,转化引擎可以包括主机软件。转化代码可以是高级转化代码。此外,转化引擎可以从位于成像设备中的存储装置检索转化代码。位于成像设备中的存储装置可以是元数据存储装置。另外,转化引擎将从成像设备外部的存储装置检索转化代码。成像设备外部的存储装置是平台存储装置。而且,成像设备外部的存储装置是元数据存储装置。
成像设备能够处置的一个或多个访问可以包括CSI-3属性获得/设置分组。此外,转化引擎可以将更复杂的命令转化成较简单的命令。转化引擎还可以将更复杂的命令转化成CSI-3属性获得/设置请求。转化引擎可以确定所接收的命令是否由成像设备原生地支持。转化代码可以被存储在内插器设备、主机设备、传感器或其任何组合中的至少一个上。转化引擎可以将一个或多个成像设备命令转化成CSI-3属性获得/设置命令。此外,转化引擎可以将一个或多个成像设备命令转化成CSI-2寄存器读/写命令。另外,一个或多个转化的成像设备命令可以是不由成像设备原生地支持的命令。而且,转化引擎可以被包括在主机中,并且所述装置还包括成像设备。所述装置还可以包括存储设备以存储转化代码。
示例12
本文描述一种装置。该装置包括成像设备,以接收成像设备能够处置的一个或多个访问,并执行由一个或多个成像设备命令所请求的行为,其中一个或多个访问对应于一个或多个成像设备命令的转化,使用转化代码实现所述转化。
成像设备可以包括相机,并且一个或多个成像设备命令包括一个或多个相机命令。转化引擎可以将一个或多个成像设备命令转化成一个或多个访问。转化引擎可以包括主机软件。另外,转化代码可以是高级转化代码。转化引擎可以从位于成像设备中的存储装置检索转化代码。成像设备可以还包括存储装置以存储转化代码。存储装置可以是元数据存储装置。转化引擎可以从成像设备外部的存储装置检索转化代码。另外,成像设备外部的存储装置可以是平台存储装置。此外,成像设备外部的存储装置可以是元数据存储装置。
成像设备能够处置的一个或多个访问可以包括CSI-3属性获得/设置分组。转化引擎可以将更复杂的命令转化成较简单的命令。此外,转化引擎可以将更复杂的命令转化成CSI-3属性获得/设置请求。转化引擎还可以确定所接收的命令是否由成像设备原生地支持。另外,转化代码被存储在内插器设备、主机设备、传感器或其任何组合中的至少一个上。转化引擎可以将一个或多个成像设备命令转化成CSI-3属性获得/设置命令。转化引擎还可以将一个或多个成像设备命令转化成CSI-2寄存器读/写命令。一个或多个转化的成像设备命令可以是不由成像设备原生地支持的命令。此外,所述装置可以包括存储设备以存储转化代码。
示例13
本文描述一种有形的、非暂时性计算机可读存储介质,其在其上具有计算机可执行指令。所述指令使得计算机检索转化代码并接收一个或多个成像设备命令。所述指令还使得计算机执行转化代码,以将一个或多个成像设备命令转化成为成像设备能够处置的一个或多个访问,并将一个或多个访问发送到成像设备以引起由一个或多个成像设备命令所请求的行为。
成像设备可以包括相机,并且一个或多个成像设备命令包括一个或多个相机命令。另外,转化代码可以是高级转化代码。成像设备能够处置的一个或多个访问可以包括CSI-3属性获得/设置分组。此外,更复杂的命令可以被转化成较简单的命令。此外,更复杂的命令可以被转化成CSI-3属性获得/设置请求。所述指令可以还使得计算机确定所接收的命令是否由成像设备原生地支持。所述指令可以还使得计算机将一个或多个成像设备命令转化成CSI-3属性获得/设置命令。另外,所述指令可以还使得计算机将一个或多个成像设备命令转化成CSI-2寄存器读/写命令。
一个或多个转化的成像设备命令可以是不由成像设备原生地支持的命令。所述指令可以使得计算机将一个或多个成像设备命令转化成为成像设备能够处置的一个或多个访问。成像设备可以包括相机,并且一个或多个成像设备命令包括一个或多个相机命令。此外,成像设备能够处置的一个或多个访问可以包括CSI-3属性获得/设置分组。所述指令可以还使得计算机将更复杂的命令转化成较简单的命令。所述指令可以还另外使得计算机将更复杂的命令转化成CSI-3属性获得/设置请求。此外,所述指令可以还使得计算机确定所接收的命令是否由成像设备原生地支持。而且,所述指令可以还使得计算机将一个或多个成像设备命令转化成CSI-3属性获得/设置命令。另外,所述指令可以还使得计算机将一个或多个成像设备命令转化成CSI-2寄存器读/写命令。
示例14
本文描述一种用于使用命令输送来执行命令的装置。该装置包括控制器以包封在属性分组中包封的命令的协议数据单元。控制器还可以向成像设备发送所包封的协议数据单元,并从成像设备接收响应协议数据单元中的状态值以完成命令。
成像设备可以包括相机,并且命令可以是相机命令。另外,命令可以对应于CSI-3属性。此外,协议数据单元可以是获得协议数据单元。所述装置可以包括主机设备。此外,控制器可以提取命令的属性标识,并且控制器可以基于属性标识而发送协议数据单元。在向成像设备发送协议数据单元时,成像设备的传感器可以执行命令。另外,在向成像设备发送协议数据单元而没有阻塞时,成像设备的传感器可以执行命令。控制器可以在CSI-3属性分组中包封协议数据单元,并且然后将其发送到成像设备。另外,响应协议数据单元可以包括从成像设备内的图像源得到的属性值。此外,控制器可以从成像设备的图像源得到属性值。图像源可以是图像传感器、芯片上系统(SOC)成像设备、多芯片成像设备模块或图像信号处理器(ISP)。控制器可以还从成像设备接收通知协议数据单元,其中通知协议数据单元基于来自命令的属性标识而不包括属性值。另外,控制器还可以向成像设备发送设置协议数据单元,其中设置协议数据单元将基于来自命令的属性标识而向成像设备写入属性值。
示例15
本文描述一种用于使用命令输送来执行命令的成像设备。成像设备包括控制器,以接收在属性分组中包封的命令的协议数据单元,并在响应协议数据单元中返回状态值以完成命令。
可以从主机设备接收协议数据单元,并且可以向主机设备发送响应协议数据单元。成像设备可以包括相机,并且命令可以是相机命令。另外,命令可以对应于CSI-3属性。接收的协议数据单元可以是获得协议数据单元。此外,接收的协议数据单元可以基于从命令提取的属性标识。成像设备还可以包括传感器,以在接收协议数据单元时执行命令。此外,成像设备还可以包括传感器,以在接收协议数据单元而没有阻塞时执行命令。另外,可以在CSI-3属性分组中包封所接收的协议数据单元。成像设备还可以包括图像源,其中响应协议数据单元包括从图像源得到的属性值。图像源可以是图像传感器、芯片上系统(SOC)成像设备、多芯片成像设备模块或图像信号处理器(ISP)。图像源还可以是RAW成像设备传感器、芯片上系统成像设备、多芯片成像设备模块或图像信号处理器。控制器可以还发送通知协议数据单元,其中通知协议数据单元基于来自命令的属性标识而不包括属性值。另外,控制器可以还接收设置协议数据单元,并基于来自命令的属性标识而写入属性值。
示例16
本文描述一种用于使用命令输送来执行命令的系统。该系统包括主机,所述主机具有控制器,以包封在属性分组中包封的命令的协议数据单元,发送所包封的协议数据单元,并从成像设备接收响应协议数据单元中的状态值以完成命令。该系统还包括成像设备,并且成像设备包括另一个控制器,以从主机接收所包封的协议数据单元,并且在响应协议数据单元中将状态值返回到主机以完成命令。
成像设备可以包括相机,并且命令可以是相机命令。所述命令可以对应于CSI-3属性。协议数据单元可以是获得协议数据单元。此外,主机控制器可以提取命令的属性标识,并基于属性标识而发送协议数据单元。成像设备可以还包括传感器,以在向成像设备发送协议数据单元时执行命令。而且,成像设备可以还包括传感器,以在向成像设备发送协议数据单元而没有阻塞时执行命令。主机控制器可以在CSI-3属性分组中包封协议数据单元,并且然后将其发送到成像设备。成像设备可以还包括图像源,其中响应协议数据单元包括从图像源得到的属性值。此外,成像设备可以还包括图像源,并且主机控制器可以从图像源得到属性值。图像源可以是图像传感器、芯片上系统(SOC)成像设备、多芯片成像设备模块或图像信号处理器(ISP)。图像源还可以是RAW成像设备传感器、芯片上系统成像设备、多芯片成像设备模块或图像信号处理器。成像设备控制器可以向主机发送通知协议数据单元,其中通知协议数据单元基于来自命令的属性标识而不包括属性值。另外,主机控制器可以向成像设备发送设置协议数据单元,其中设置协议数据单元将基于来自命令的属性标识而向成像设备写入属性值。
示例17
本文描述一种装置。该装置包括主机控制器,以标识在组织成像设备元数据的二进制大对象中包括的可用的二进制大对象,响应于所标识的二进制大对象而取出在组织成像设备元数据的二进制大对象中包括的单独的二进制大对象,并执行所取出的单独的二进制大对象。
成像设备元数据可以包括相机元数据。主机控制器还可以创建可用的元数据的目录,并且元数据可以被存储在各种系统数据存储装置中。主机控制器可以还检索成像设备元数据。另外,主机控制器可以还执行成像设备元数据。成像设备元数据的检索可以包括执行命令,所述命令指示包括成像设备元数据的数据传递的起始地址。此外,主机控制器可以读取目录以确定在成像设备上的元数据的类型、元数据的起始地址和长度以及元数据的访问属性。成像设备元数据可以包括转化代码、校准数据、调谐数据、成像设备固件或其任何组合的至少一个。此外,成像设备元数据的检索可以执行命令,所述命令指示包括元数据的数据传递的起始地址,并且起始地址可以对应于CSI-3属性映射。成像设备元数据可以包括相机命令集转化代码块,并且主机控制器可以加载和初始化相机命令集转化代码块。
示例18
本文描述一种装置。该装置包括主机控制器,以标识成像设备元数据,取出所标识的成像设备元数据,并且执行所取出的成像设备元数据。
成像设备元数据可以包括相机元数据。另外,主机控制器可以创建可用的元数据的目录,其中元数据被存储在各种系统数据存储装置中。主机控制器还可以通过执行命令而取出成像设备元数据,所述命令指示包括成像设备元数据的数据传递的起始地址。此外,主机控制器可以读取目录以确定在成像设备上的元数据的类型、元数据的起始地址和长度以及元数据的访问属性。成像设备元数据可以包括转化代码、校准数据、调谐数据、成像设备固件或其任何组合的至少一个。主机控制器可以通过执行命令而取出成像设备元数据,所述命令指示包括元数据的数据传递的起始地址,并且其中起始地址对应于CSI-3属性映射。成像设备元数据可以包括相机命令集转化代码块,并且其中主机控制器将加载和初始化相机命令集转化代码块。
虽然本技术可以容许各种修改和替代形式,但是已经仅仅作为示例示出以上讨论的示例性示例。要理解的是:技术并不旨在限于本文公开的特定示例。事实上,本技术包括落入所附权利要求的真实精神和范围内的所有替代方案、修改和等同物。此外,来自一个示例的元件或特征可以与任何数量的其它示例组合使用。
要理解的是:可以在一个或多个实施例中的任何地方使用前述示例中的细节。例如,还可以关于本文所述的方法或计算机可读介质中的任一个而实现上述计算设备、装置或系统的所有可选的特征。此外,虽然本文可能已经使用流程图和/或状态图来描述实施例,但发明并不限于本文的那些图解或对应的描述。例如,流不需要移动通过每个图示的框或状态或以如本文图示和描述的确切相同的次序。
发明并不限于本文所列的特定细节。事实上,受益于本公开的本领域技术人员将领会:可以在本发明的范围内做出来自前述的描述和附图的许多其它变型。因此,正是包括对其的任何修改的以下权利要求来限定发明的范围。
Claims (18)
1.一种用于使能元数据存储子系统的装置,包括:
主机控制器,其用于标识在组织成像设备元数据的二进制大对象中所包括的可用的二进制大对象,用于响应于所标识的二进制大对象而取出在组织成像设备元数据的二进制大对象中所包括的单独的二进制大对象,其中通过用于指示传递的起始地址的设置元数据命令和用于传递所述单独的二进制大对象的分段的获得元数据命令来取出所述单独的二进制大对象,并且用于执行所取出的单独的二进制大对象。
2.根据权利要求1所述的装置,其中所述成像设备元数据包括相机元数据。
3.根据权利要求1所述的装置,所述主机控制器还创建可用元数据的目录,其中元数据存储在各种系统数据存储装置中。
4.根据权利要求1所述的装置,所述主机控制器还检索成像设备元数据。
5.根据权利要求1所述的装置,所述主机控制器还执行成像设备元数据。
6.根据权利要求4所述的装置,其中检索成像设备元数据包括执行命令,所述命令指示包括成像设备元数据的数据传递的起始地址。
7.根据权利要求1所述的装置,所述主机控制器还读取目录来确定在成像设备上的元数据的类型、元数据的起始地址和长度、以及元数据的访问属性。
8.根据权利要求1所述的装置,其中所述成像设备元数据包括转化代码、校准数据、调谐数据、成像设备固件或其任何组合中的至少一个。
9.根据权利要求4所述的装置,其中检索成像设备元数据包括执行命令,所述命令指示包括所述成像设备元数据的数据传递的起始地址,并且其中所述起始地址对应于CSI-3属性映射。
10.根据权利要求1所述的装置,其中所述成像设备元数据包括相机命令集转化代码块,并且其中所述主机控制器将加载和初始化相机命令集转化代码块。
11.一种用于使能元数据存储子系统的装置,包括:
主机控制器,其用于标识成像设备元数据,用于取出所标识的成像设备元数据,其中通过用于指示传递的起始地址的设置元数据命令和用于传递所述成像设备元数据的分段的获得元数据命令来取出所述标识的成像设备元数据,并且用于执行所取出的成像设备元数据。
12.根据权利要求11所述的装置,其中所述成像设备元数据包括相机元数据。
13.根据权利要求11所述的装置,所述主机控制器还创建可用元数据的目录,其中元数据存储在各种系统数据存储装置中。
14.根据权利要求11所述的装置,所述主机控制器通过执行命令而取出成像设备元数据,所述命令指示包括成像设备元数据的数据传递的起始地址。
15.根据权利要求11所述的装置,所述主机控制器还读取目录来确定在成像设备上的元数据的类型、元数据的起始地址和长度以及元数据的访问属性。
16.根据权利要求11所述的装置,其中所述成像设备元数据包括转化代码、校准数据、调谐数据、成像设备固件或其任何组合中的至少一个。
17.根据权利要求11所述的装置,其中所述主机控制器将通过执行命令而取出成像设备元数据,所述命令指示包括所述成像设备元数据的数据传递的起始地址,并且其中所述起始地址对应于CSI-3属性映射。
18.根据权利要求11所述的装置,其中所述成像设备元数据包括相机命令集转化代码块,并且其中所述主机控制器将加载和初始化相机命令集转化代码块。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/728,924 US9686460B2 (en) | 2012-12-27 | 2012-12-27 | Enabling a metadata storage subsystem |
US13/728924 | 2012-12-27 | ||
CN201380061785.7A CN104798065A (zh) | 2012-12-27 | 2013-06-19 | 使能元数据存储子系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380061785.7A Division CN104798065A (zh) | 2012-12-27 | 2013-06-19 | 使能元数据存储子系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105227850A CN105227850A (zh) | 2016-01-06 |
CN105227850B true CN105227850B (zh) | 2019-04-19 |
Family
ID=51016777
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510743258.5A Active CN105227850B (zh) | 2012-12-27 | 2013-06-19 | 使能元数据存储子系统 |
CN201380061785.7A Pending CN104798065A (zh) | 2012-12-27 | 2013-06-19 | 使能元数据存储子系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380061785.7A Pending CN104798065A (zh) | 2012-12-27 | 2013-06-19 | 使能元数据存储子系统 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9686460B2 (zh) |
EP (2) | EP3086224A1 (zh) |
JP (2) | JP2016507796A (zh) |
KR (2) | KR101691760B1 (zh) |
CN (2) | CN105227850B (zh) |
WO (1) | WO2014105139A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9244694B2 (en) | 2012-12-27 | 2016-01-26 | Intel Corporation | Executing a command within a transport mechanism based on a get and set architecture |
US9686460B2 (en) | 2012-12-27 | 2017-06-20 | Intel Corporation | Enabling a metadata storage subsystem |
JP2015220693A (ja) * | 2014-05-20 | 2015-12-07 | キヤノン株式会社 | 撮像装置、撮像システム、及びそれらの制御方法、ならびにプログラム |
EP3236668A1 (en) * | 2016-04-18 | 2017-10-25 | ABB Schweiz AG | Method and system for reproducing an instrument`s calibration certificate |
US20180027174A1 (en) * | 2016-07-19 | 2018-01-25 | Qualcomm Incorporated | Signaling camera configuration changes using metadata defined for a camera command set |
EP3445045A1 (en) * | 2017-08-18 | 2019-02-20 | NXP USA, Inc. | Video device and method for embedded data capture on a virtual channel |
KR20190020552A (ko) | 2017-08-21 | 2019-03-04 | (주)원지리정보 | 고해상도 위성영상 메타데이터를 이용한 영상변환 일괄처리방법 |
KR102391480B1 (ko) * | 2017-11-06 | 2022-04-29 | 삼성디스플레이 주식회사 | 디스플레이 구동 집적 회로 및 이를 포함하는 디스플레이 장치 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003022427A (ja) * | 2001-07-09 | 2003-01-24 | Hitachi Ltd | アップロード機能付き記憶装置 |
CN101013432A (zh) * | 2006-02-01 | 2007-08-08 | 索尼株式会社 | 图像处理系统、装置、方法、程序及记录介质 |
CN101142804A (zh) * | 2004-01-13 | 2008-03-12 | 高通股份有限公司 | 自动化无线插入式设备识别和软件驱动程序下载 |
WO2012073126A1 (en) * | 2010-11-29 | 2012-06-07 | Mce-Sys Ltd | Host device coupled to a usb peripheral and method of operating the same |
CN102648454A (zh) * | 2009-11-19 | 2012-08-22 | 高通股份有限公司 | 虚拟外围集线器装置和系统 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3387466B2 (ja) | 1999-03-19 | 2003-03-17 | セイコーエプソン株式会社 | データ通信装置 |
WO2001052178A1 (en) | 2000-01-13 | 2001-07-19 | Digimarc Corporation | Authenticating metadata and embedding metadata in watermarks of media signals |
US6629104B1 (en) * | 2000-11-22 | 2003-09-30 | Eastman Kodak Company | Method for adding personalized metadata to a collection of digital images |
GB2378275B (en) * | 2001-07-31 | 2005-06-22 | Hewlett Packard Co | Distributed metadata processing system |
US7929808B2 (en) | 2001-10-30 | 2011-04-19 | Hewlett-Packard Development Company, L.P. | Systems and methods for generating digital images having image meta-data combined with the image data |
US7068306B2 (en) | 2002-01-02 | 2006-06-27 | Hewlett-Packard Development Company, L.P. | Proxy-based remote control method and system for a digital camera |
US7433546B2 (en) | 2004-10-25 | 2008-10-07 | Apple Inc. | Image scaling arrangement |
JP2005260648A (ja) * | 2004-03-12 | 2005-09-22 | Matsushita Electric Ind Co Ltd | 記録再生装置、およびその制御システム |
JP2006222530A (ja) | 2005-02-08 | 2006-08-24 | Canon Inc | デジタルカメラ |
JP2007208526A (ja) | 2006-01-31 | 2007-08-16 | Canon Inc | 画像処理装置及びその制御方法 |
WO2007131132A2 (en) * | 2006-05-03 | 2007-11-15 | Voxant, Inc. | System and method for collecting and distributing content |
JP5037862B2 (ja) | 2006-06-14 | 2012-10-03 | キヤノン株式会社 | 情報処理装置及び方法、並びにプログラム |
US20080033919A1 (en) * | 2006-08-04 | 2008-02-07 | Yan Arrouye | Methods and systems for managing data |
US8223796B2 (en) | 2008-06-18 | 2012-07-17 | Ati Technologies Ulc | Graphics multi-media IC and method of its operation |
US7990992B2 (en) | 2008-06-19 | 2011-08-02 | Nokia Corporation | Electronically configurable interface |
WO2010042703A2 (en) * | 2008-10-09 | 2010-04-15 | Hillcrest Laboratories, Inc. | Methods and systems for analyzing parts of an electronic file |
JP2011024097A (ja) * | 2009-07-17 | 2011-02-03 | Canon Inc | 撮像装置、撮影処理方法及びプログラム |
US8896668B2 (en) * | 2010-04-05 | 2014-11-25 | Qualcomm Incorporated | Combining data from multiple image sensors |
US20110242355A1 (en) * | 2010-04-05 | 2011-10-06 | Qualcomm Incorporated | Combining data from multiple image sensors |
US20110292221A1 (en) * | 2010-05-26 | 2011-12-01 | Micorsoft Corporation | Automatic camera |
US8823856B2 (en) * | 2010-10-12 | 2014-09-02 | Blackberry Limited | Convergence feedback indicator, provided when taking a picture in a camera application |
US20130179402A1 (en) * | 2012-01-09 | 2013-07-11 | International Business Machines Corporation | Defining and Detecting Bundle Information in Databases |
US20140119463A1 (en) * | 2012-10-29 | 2014-05-01 | Texas Instruments Incorporated | Scalable Multifunction Serial Link Interface |
US9686460B2 (en) | 2012-12-27 | 2017-06-20 | Intel Corporation | Enabling a metadata storage subsystem |
-
2012
- 2012-12-27 US US13/728,924 patent/US9686460B2/en active Active
- 2012-12-28 US US13/730,353 patent/US9667849B2/en active Active
-
2013
- 2013-06-19 KR KR1020157013927A patent/KR101691760B1/ko active IP Right Grant
- 2013-06-19 CN CN201510743258.5A patent/CN105227850B/zh active Active
- 2013-06-19 EP EP15196592.8A patent/EP3086224A1/en not_active Withdrawn
- 2013-06-19 WO PCT/US2013/046465 patent/WO2014105139A1/en active Application Filing
- 2013-06-19 CN CN201380061785.7A patent/CN104798065A/zh active Pending
- 2013-06-19 EP EP13868165.5A patent/EP2939140A4/en not_active Withdrawn
- 2013-06-19 JP JP2015544058A patent/JP2016507796A/ja active Pending
- 2013-06-19 KR KR1020157030697A patent/KR101654053B1/ko active IP Right Grant
-
2015
- 2015-10-20 JP JP2015206531A patent/JP2016029583A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003022427A (ja) * | 2001-07-09 | 2003-01-24 | Hitachi Ltd | アップロード機能付き記憶装置 |
CN101142804A (zh) * | 2004-01-13 | 2008-03-12 | 高通股份有限公司 | 自动化无线插入式设备识别和软件驱动程序下载 |
CN101013432A (zh) * | 2006-02-01 | 2007-08-08 | 索尼株式会社 | 图像处理系统、装置、方法、程序及记录介质 |
CN102648454A (zh) * | 2009-11-19 | 2012-08-22 | 高通股份有限公司 | 虚拟外围集线器装置和系统 |
WO2012073126A1 (en) * | 2010-11-29 | 2012-06-07 | Mce-Sys Ltd | Host device coupled to a usb peripheral and method of operating the same |
Also Published As
Publication number | Publication date |
---|---|
EP3086224A1 (en) | 2016-10-26 |
EP2939140A4 (en) | 2016-10-12 |
US20140184828A1 (en) | 2014-07-03 |
US20140184817A1 (en) | 2014-07-03 |
US9686460B2 (en) | 2017-06-20 |
KR20150079847A (ko) | 2015-07-08 |
WO2014105139A1 (en) | 2014-07-03 |
KR101691760B1 (ko) | 2016-12-30 |
JP2016029583A (ja) | 2016-03-03 |
KR101654053B1 (ko) | 2016-09-05 |
CN105227850A (zh) | 2016-01-06 |
US9667849B2 (en) | 2017-05-30 |
CN104798065A (zh) | 2015-07-22 |
EP2939140A1 (en) | 2015-11-04 |
KR20150123977A (ko) | 2015-11-04 |
JP2016507796A (ja) | 2016-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104798376B (zh) | 摄像机命令集主机命令转换 | |
CN105227850B (zh) | 使能元数据存储子系统 | |
US10633296B2 (en) | Electronic device and method for generating thumbnails based on captured images | |
US10348971B2 (en) | Electronic device and method for generating thumbnails based on captured images | |
US9600296B2 (en) | Executing a command within a transport mechanism based on a get and set architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |