CN104798376B - 摄像机命令集主机命令转换 - Google Patents

摄像机命令集主机命令转换 Download PDF

Info

Publication number
CN104798376B
CN104798376B CN201380061759.4A CN201380061759A CN104798376B CN 104798376 B CN104798376 B CN 104798376B CN 201380061759 A CN201380061759 A CN 201380061759A CN 104798376 B CN104798376 B CN 104798376B
Authority
CN
China
Prior art keywords
imaging device
order
transform engine
converted
metadata
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
Application number
CN201380061759.4A
Other languages
English (en)
Other versions
CN104798376A (zh
Inventor
B.D.查特兰德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to CN201510782224.7A priority Critical patent/CN105282372B/zh
Publication of CN104798376A publication Critical patent/CN104798376A/zh
Application granted granted Critical
Publication of CN104798376B publication Critical patent/CN104798376B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00973Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/617Upgrading or updating of programs or applications for camera control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0074Arrangements for the control of a still picture apparatus by the connected apparatus
    • H04N2201/0075Arrangements for the control of a still picture apparatus by the connected apparatus by a user operated remote control device, e.g. receiving instructions from a user via a computer terminal or mobile telephone handset
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0084Digital still camera

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Studio Devices (AREA)
  • Stored Programmes (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开提供用于将输入摄像机命令转换成设备特定的命令的技术。摄像机命令可由位于远离摄像机的转换引擎转换,并且然后被传递到摄像机。经转换的命令可能不如输入命令复杂。通过对命令进行转换,较旧的摄像机可能能够支持不被原生支持的较新的命令。

Description

摄像机命令集主机命令转换
技术领域
本技术一般涉及一种摄像机命令集。
背景技术
图像设备包括诸如被配置用于图像捕获的传感器和模块的组件。每个图像设备内的传感器和模块的配置可能变化。无论配置如何,每个图像设备将与主机(host)处理器对接。因此,主机处理器可与各种不同配置的摄像机对接。
附图说明
在以下的详细描述中并且参考附图描述某些示例性实施例,其中:
图1是根据实施例的可被使用的主机设备的框图;
图2是根据实施例的摄像机的框图;
图3是根据实施例的用于转换摄像机命令的系统的框图;
图4是图示根据实施例的初始化摄像机子系统的方法的过程流程图;
图5是根据实施例的转换摄像机命令的方法的过程流程图;
图6是根据实施例的基于获得(Get)和设置(Set)架构而使得传输机构能够执行CCS命令的方法的过程流程图;
图7是根据实施例的实现存储并获取传感器和模块特定的元数据的元数据储存子系统的框图;
图8是根据实施例的实现元数据储存子系统的方法的过程流程图;
图9是根据实施例的示出存储用于转换摄像机命令的代码的有形的非暂时性计算机可读介质的框图;
图10是根据实施例的用于转换摄像机命令的示例性系统的框图;以及
图11是根据实施例的可能在其中体现图10的系统的小形状因子设备的示意图。
具体实施方式
本文公开的实施例提供用于各种图像设备配置的支持和验证的技术。虽然使用摄像机描述本技术,但是可使用任何图像设备。此外,如本文所使用,图像设备可能是静止拍摄摄像机、视频摄像机、立体摄像机、红外传感器等或其任何组合。
在实施例中,摄像机命令集(CCS)提供发现和控制摄像机组件的普通机构,包括但不限于摄像机传感器和模块。所述命令使得主机处理器能够与任何摄像机配置对接、支持和验证任何摄像机配置。可使用转换设施实现较旧摄像机与较新命令集和软件的向前兼容性。转换设施可使得复杂的CCS命令能够被转换成摄像机可执行的命令或CSI-3属性获得/设置请求。CSI-3属性是可用于控制摄像机或主机设备的操作的信息的原子单元。传输机构可用于执行已被转换成CSI-3属性获得/设置请求的命令,而传感器和模块元数据可被存储并从元数据子系统中被获取。摄像机元数据包括但不限于关于摄像机传感器、模块和使用摄像机捕获的图像的信息。此外,元数据储存系统还可能是用于CSI-3的数据区块(block)储存装置。
在以下的描述和权利要求中,可使用术语“耦合”和“连接”连同其派生词。应当理解的是:这些术语并不旨在作为对于彼此的同义词。而是,在特定实施例中,“连接”可用于指示两个或更多个元件彼此直接地物理或电接触。“耦合”可意味着两个或更多个元件直接地物理或电接触。然而,“耦合”还可意味着两个或更多个元件不是彼此直接接触,但是仍然彼此协作或交互。
可在硬件、固件和软件之一或组合中实现一些实施例。一些实施例还可被实现为在机器可读介质上存储的指令,该指令可由计算平台读取和执行以执行本文所述的操作。机器可读介质可包括用于以由例如计算机的机器可读的形式存储或发送信息的任何机构。例如,除了其它以外,机器可读介质尤其可包括只读存储器(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内的任何数量的图形操作。例如,GPU108可被配置成再现或操纵将被显示给主机设备100的用户的图形图像、图形帧、视频等。在一些实施例中,GPU 108包括许多图形引擎(未示出),其中每个图形引擎被配置成执行特定的图形任务或执行特定类型的工作负载。
存储器设备104可包括随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器或任何其它合适的存储器系统。例如,存储器设备104可包括动态随机存取存储器(DRAM)。CPU102可通过总线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内或以其它方式与其相关联的单独的处理器上运行的代码而发生。
图像设备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包括用于传感器、模块和图像处理器的必需及可选的命令。转换摄像机命令使得通用驱动器能够为各种摄像机配置提供支持,即使那些摄像机不原生(natively)支持CCS。通用驱动器的使用可降低与不同摄像机配置相关联的实现方式成本。传输机构用于执行摄像机串行接口3(CSI-3)属性获得/设置架构内的命令。可在传感器外部执行一些命令,以便降低传感器的成本和复杂性。此外,基于传统(legacy)传感器,诸如摄像机串行接口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、光圈(aperture)212、照明214和元数据储存装置216的附加子系统的支持是可选的。
透镜子系统210被建模为具有指示的视野的透镜分组,该透镜分组可能可选地支持光学变焦能力。光圈子系统212被建模为具有指示的F数的可变光圈(iris),具有可选的支持以将光圈改变为最小或最大的F数。F数是透镜的焦距与物理孔径光阑的光学图像的直径之比,如通过透镜系统的前面所查看的。
在实施例中,传感器子系统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),其可假设地配置传感器用于1920×1080分辨率的每秒30帧的操作。CSI-3获得CSI3_YSIZE属性可能然后返回1080。如果然后发出属性设置以将CSI3_YSIZE改变为2000,Get_StandardConfig() CCS命令可能仍然返回“1”,虽然当前的配置(具有2000的YSIZE)与先前设置的CCS状态不一致。
传感器子系统208和图像源子系统206子系统可使用任何数量的配置来实现。因此,对于主机软件而言适当地配置传感器子系统208可能是具有挑战性的。CCS可使用传感器模式来帮助适当地配置传感器子系统208。传感器模式是由传感器供应商定义的操作配置的集,软件可从该传感器供应商中选择。一般地,将有表示摄像机将支持的期望的用途的将为给定的摄像机呈现的配置的有限集。例如,摄像机可指示对800万像素的RAW 10静止优化的模式、1080p/30视频优化的MJPEG模式以及QVGA YUV预览模式的支持。
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))命令,并作为响应而返回状态代码以将传感器配置成期望的模式。可使用获得传感器标准配置命令(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。这样,保护主机设备的内核(kernel)免于可从转换引擎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)联盟的规范开发的接口而与主机设备的处理器对接。例如,摄像机串行接口可以是MIPICSI-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标准定义的用于摄像机的配置协议(CPC)定义的CSI-3 GET(获得)、SET(设置)、RESPONSE(响应)和NOTIFY(通知)事务行为。CCS命令的Get_和Set_变型对应于CSI-3 GET和SET事务。此外,命令的Info_变型被实现为Get_变型的较长版本,典型地具有不同的命令标识(ID)。与Get_变型典型地返回的动态控制信息相比,命令的Info_变型返回的信息可能显著地更大,并且是典型地静态的信息。
Get_或Set_变型的命令ID以下面的方式映射到CSI-3属性ID:
CSI-3_Attribute=0x01000000+(CMD_ID*0x1000)
注意:对于许多命令,伪代码抽象是围绕基本上只是属性获得/设置过程的瘦包装器。
例如,具有0x010的ID的获得命令状态(Get_CommandStatus())命令将被表示为到(0x01000000+(0x010*0x1000)=0x01010000)的事务。该地址将是分组数据单元(PDU)的AttributeID字段。另外,PDU将具有表示4字节传递的0的XFSIZE,以及指示GET的2的PDU类型。该PDU随后将被封装在CSI-3属性分组中并被发送到摄像机。随后,状态值将在响应PDU中被返回到主机,完成该命令。
图6是根据实施例的使得传输机构能够基于获得和设置架构执行CCS命令的方法600的过程流程图。在块602处,可提取命令的属性标识(ID)。
在块604处,可基于属性标识从主机设备向成像设备发送获得协议数据单元(PDU),以便从成像设备内的图像源得到属性值。可在CSI-3属性分组中密封获得PDU,并且然后发送到成像设备。在实施例中,成像设备的传感器可在从主机设备向成像设备发送获得PDU时执行命令。另外,在实施例中,成像设备的传感器在从主机设备向成像设备发送获得PDU时执行命令而没有阻塞。阻塞指的是当传感器忙时命令的延迟的执行。例如,一些命令可能花长时间来完成,并且在执行时间期间摄像机可能不可用来处理命令。然而,摄像机模块必须以如接收获得PDU一样的次序返回响应PDU。摄像机可使用由CPC C-端口提供的L4流程控制来停止主机并防止命令缓冲溢出。
例如,命令的Set_变型可能花长时间来执行并引起阻塞。这些命令不返回响应。因此,主机可使用获得命令状态(GetCommandStatus())命令来确定何时已经完成长命令的执行。推荐的是,获得命令状态(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())命令变型返回目录的大小,然后可使用获得元数据目录(GetMetadataDirectory())命令变型取出目录的大小。
为了取出单独的块,由主机使用两步骤过程。首先,设置元数据(Set_Metadata())命令用于指示所述传递的起始地址,然后获得元数据(Get_Metadata())命令传递元数据块的段。由于单独的CSI-3 PDU限于一次传递多达4096字节,多个Set_/Get_序列对于取出长于4KB限制的元数据块可能是必要的。
除了是适合CSI-3属性映射的4的倍数以外,块的起始地址无需遵循任何特定模式。虽然使用附接的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执行本文所述方法的代码。
本文讨论的各种软件组件可被存储在如图9中所指示的有形的非暂时性计算机可读介质900上。储存模块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可提供在CPU102、存储器设备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。例如,接口可以是高清晰度多媒体接口、DisplayPort、无线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并从网络134通信(例如发送和/或接收)媒体信息。一个或多个内容递送设备1008还可耦合到平台1002和/或耦合到显示器1004。
一个或多个内容服务设备1006可包括有线电视盒、个人计算机、网络、电话或能够递送数字信息的启用因特网的设备。另外,一个或多个内容服务设备1006可包括能够经由网络134或直接地在内容提供商和平台1002或显示器1004之间单向或双向地传送内容的任何其它类似的设备。将领会的是:可经由网络134而单向地和/或双向地向系统1000中的组件和内容提供商中的任何一个并从系统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)、背板、交换结构、半导体材料、双绞线、同轴电缆、光纤等。
平台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以完成命令的执行。
可在CSI-3属性分组中封装获得PDU,并且然后发送到成像设备。响应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 (23)

1.一种用于转换成像设备命令的装置,所述成像设备命令包括摄像机命令集,所述装置包括:
从代码存储区获取转换代码以形成转换引擎的逻辑;
在所述转换引擎中接收成像设备命令的逻辑;
使用所述转换引擎来转换所述成像设备命令的逻辑,其中所述转换引擎将所述成像设备命令转换成CSI-3属性获得/设置命令;以及
向成像设备传递经转换的成像设备命令以引起由经转换的成像设备命令请求的行为的逻辑。
2.根据权利要求1所述的装置,进一步包括确定接收的命令是否由所述成像设备原生支持的逻辑,其中所述转换引擎转换不由所述成像设备原生支持的命令。
3.根据权利要求1所述的装置,其中执行所述转换代码,以便转换所述成像设备命令。
4.根据权利要求1所述的装置,其中所述代码存储区位于所述成像设备内。
5.根据权利要求1所述的装置,其中所述代码存储区位于耦合到主机设备的平台储存装置内。
6.根据权利要求1所述的装置,其中所述转换引擎远离所述成像设备。
7.根据权利要求1所述的装置,其中所述转换引擎位于内插器设备上,而所述代码存储区位于主机设备、传感器、所述内插器设备或其任何组合中的至少一个上。
8.根据权利要求1所述的装置,其中所述转换引擎将所述成像设备命令转换成CSI-2寄存器读/写命令。
9.一种用于转换成像设备命令的系统,所述成像设备命令包括摄像机命令集,所述系统包括:
主机设备;
耦合到主机设备的成像设备;以及
转换引擎,其中使用从代码存储区得到的代码创建转换引擎,并且所述转换引擎被配置成将成像设备命令转换成CSI-3属性获得/设置命令。
10.根据权利要求9所述的系统,其中所述主机设备是膝上型计算机、台式计算机、平板计算机、移动设备或服务器或其任何组合。
11.根据权利要求9所述的系统,其中所述成像设备内的嵌入式处理器或程序装置用于转换所述成像设备命令。
12.根据权利要求9所述的系统,其中所述代码存储区位于所述主机设备内。
13.根据权利要求9所述的系统,其中所述代码存储区位于所述成像设备内。
14.根据权利要求9所述的系统,其中所述代码存储区位于耦合到所述主机设备的平台储存设备内。
15.根据权利要求9所述的系统,其中所述转换引擎远离所述成像设备。
16.根据权利要求9所述的系统,其中所述转换引擎被配置成向所述成像设备发送经转换的命令,以引起由经转换的成像设备命令请求的行为。
17.根据权利要求9所述的系统,其中所述转换引擎被配置成转换不由所述成像设备原生支持的命令。
18.根据权利要求9所述的系统,其中在运行时间解释语言沙箱内执行转换代码。
19.根据权利要求9所述的系统,其中所述转换引擎位于所述主机设备上。
20.一种用于转换成像设备命令的方法,所述成像设备命令包括摄像机命令集,所述方法包括:
从代码存储区获取转换代码以形成转换引擎;
在所述转换引擎中接收成像设备命令;
使用所述转换引擎来转换所述成像设备命令,其中所述转换引擎将所述成像设备命令转换成CSI-3属性获得/设置命令;以及
向成像设备传递经转换的成像设备命令以引起由经转换的成像设备命令请求的行为。
21.根据权利要求20所述的方法,进一步包括确定接收的命令是否由所述成像设备原生支持,其中转换不由所述成像设备原生支持的命令。
22.根据权利要求20所述的方法,其中所述转换引擎位于主机设备上。
23.一种计算机可读介质,具有存储于其上的指令,所述指令在被执行时促使计算设备执行根据权利要求20-22中任一项所述的方法。
CN201380061759.4A 2012-12-27 2013-06-13 摄像机命令集主机命令转换 Active CN104798376B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510782224.7A CN105282372B (zh) 2012-12-27 2013-06-13 摄像机命令集主机命令转换

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/728921 2012-12-27
US13/728,921 US9235260B2 (en) 2012-12-27 2012-12-27 Camera command set host command translation
PCT/US2013/045660 WO2014105120A2 (en) 2012-12-27 2013-06-13 Camera command set host command translation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201510782224.7A Division CN105282372B (zh) 2012-12-27 2013-06-13 摄像机命令集主机命令转换

Publications (2)

Publication Number Publication Date
CN104798376A CN104798376A (zh) 2015-07-22
CN104798376B true CN104798376B (zh) 2019-06-14

Family

ID=51016785

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380061759.4A Active CN104798376B (zh) 2012-12-27 2013-06-13 摄像机命令集主机命令转换
CN201510782224.7A Active CN105282372B (zh) 2012-12-27 2013-06-13 摄像机命令集主机命令转换

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201510782224.7A Active CN105282372B (zh) 2012-12-27 2013-06-13 摄像机命令集主机命令转换

Country Status (6)

Country Link
US (3) US9235260B2 (zh)
EP (2) EP3037963A1 (zh)
JP (2) JP2016507920A (zh)
KR (2) KR101645242B1 (zh)
CN (2) CN104798376B (zh)
WO (1) WO2014105120A2 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9986279B2 (en) 2008-11-26 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services
US10631068B2 (en) 2008-11-26 2020-04-21 Free Stream Media Corp. Content exposure attribution based on renderings of related content across multiple devices
US10334324B2 (en) 2008-11-26 2019-06-25 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US9026668B2 (en) 2012-05-26 2015-05-05 Free Stream Media Corp. Real-time and retargeted advertising on multiple screens of a user watching television
US10977693B2 (en) 2008-11-26 2021-04-13 Free Stream Media Corp. Association of content identifier of audio-visual data with additional data through capture infrastructure
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US10880340B2 (en) 2008-11-26 2020-12-29 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US10567823B2 (en) 2008-11-26 2020-02-18 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US9386356B2 (en) 2008-11-26 2016-07-05 Free Stream Media Corp. Targeting with television audience data across multiple screens
US9519772B2 (en) 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US8180891B1 (en) 2008-11-26 2012-05-15 Free Stream Media Corp. Discovery, access control, and communication with networked services from within a security sandbox
US9154942B2 (en) 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
US10419541B2 (en) 2008-11-26 2019-09-17 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US9235260B2 (en) 2012-12-27 2016-01-12 Intel Corporation Camera command set host command translation
US9244694B2 (en) 2012-12-27 2016-01-26 Intel Corporation Executing a command within a transport mechanism based on a get and set architecture
US20150049101A1 (en) * 2013-08-16 2015-02-19 Nobuyuki Suzuki Display adaptation system for mipi display serial interface applications
KR101798947B1 (ko) * 2016-06-01 2017-11-20 주식회사 리딩유아이 터치 감지 장치
TWI645297B (zh) * 2017-05-26 2018-12-21 聚晶半導體股份有限公司 資料傳輸系統
JP7241551B2 (ja) * 2019-01-22 2023-03-17 富士通株式会社 伝送装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523193A (zh) * 2010-10-01 2012-06-27 微软公司 遥控命令翻译

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0556484A (ja) * 1991-08-22 1993-03-05 Fujitsu General Ltd マルチリモコンシステム
JPH10174118A (ja) * 1996-12-10 1998-06-26 Canon Inc 撮像システム
JP3656438B2 (ja) 1998-11-02 2005-06-08 松下電器産業株式会社 高速画像入力変換装置
US6154210A (en) * 1998-11-25 2000-11-28 Flashpoint Technology, Inc. Method and system for implementing button interface compatibility in touch-screen equipped digital imaging device
US20020170039A1 (en) 2001-02-22 2002-11-14 Kovacevic Branko D. System for operating system and platform independent digital stream handling and method thereof
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
JP2003228968A (ja) * 2002-01-30 2003-08-15 Matsushita Electric Ind Co Ltd 機器制御システム、被制御機器、被制御機器動作モード変更方法、プログラム、および媒体
US7491367B2 (en) 2002-06-04 2009-02-17 Applera Corporation System and method for providing a standardized state interface for instrumentation
US7130424B2 (en) * 2002-12-19 2006-10-31 Qualcomm, Inc. Systems and methods for utilizing an application from a native portable device within a non-native communications network
JP4127053B2 (ja) * 2003-01-10 2008-07-30 ソニー株式会社 電子機器制御システム及び電子機器制御方法
JP2004333665A (ja) * 2003-05-02 2004-11-25 Sanyo Electric Co Ltd 遠隔操作可能な電子機器
JP2005260648A (ja) 2004-03-12 2005-09-22 Matsushita Electric Ind Co Ltd 記録再生装置、およびその制御システム
KR100736930B1 (ko) * 2005-02-07 2007-07-10 삼성전자주식회사 홈서버, 상기 홈서버를 포함하는 컨텐츠 전송 시스템, 통합미디어 재생 프로그램을 이용한 컨텐츠 재생방법, 미디어포맷 변환 기능을 이용한 컨텐츠 전송방법 그리고 컨텐츠전송 여부 판별방법
JP2006222622A (ja) * 2005-02-09 2006-08-24 Ntt Comware Corp 入力制御システムおよび制御装置、制御プログラム
JP5313430B2 (ja) 2005-08-17 2013-10-09 日本電気株式会社 変換サーバ、携帯端末装置、データ変換システム、データ変換方法およびプログラム
JP5170961B2 (ja) * 2006-02-01 2013-03-27 ソニー株式会社 画像処理システム、画像処理装置および方法、プログラム、並びに記録媒体
JP4187037B2 (ja) * 2006-10-12 2008-11-26 船井電機株式会社 遠隔操作システム
EP1981245A1 (en) * 2007-04-13 2008-10-15 Liconic Ag Method and product for controlling laboratory equipment
JP2008306253A (ja) * 2007-06-05 2008-12-18 Panasonic Corp 携帯受信端末及び機器制御システム
US20120075469A1 (en) * 2007-07-25 2012-03-29 Neo It Solutions Ltd. Internet visual surveillance and management technology for telecommunications, internet, cellular and other communications companies
US9052934B2 (en) * 2008-06-30 2015-06-09 Fluke Corporation Remote command interpreter
US8180891B1 (en) * 2008-11-26 2012-05-15 Free Stream Media Corp. Discovery, access control, and communication with networked services from within a security sandbox
JP5132600B2 (ja) * 2009-01-14 2013-01-30 ヤフー株式会社 番組関連情報活用システムおよび番組関連情報活用方法
US8386649B2 (en) 2009-09-16 2013-02-26 EchoStar Technologies, L.L.C. User input command relaying
US20110225606A1 (en) * 2010-03-09 2011-09-15 Microsoft Corporation Television Content Metadata
US8477204B2 (en) 2010-03-16 2013-07-02 Sony Corporation Camera image editing using a television
JP5016710B2 (ja) * 2010-08-19 2012-09-05 シャープ株式会社 無線伝送システム
US8988536B2 (en) * 2010-12-23 2015-03-24 Samsung Electronics Co., Ltd. Image processing circuit, method of operation thereof, and digital camera including same
US8659667B2 (en) * 2011-08-29 2014-02-25 Panasonic Corporation Recipe based real-time assistance for digital image capture and other consumer electronics devices
US8780219B2 (en) * 2012-07-23 2014-07-15 Wooblue, Inc. Wireless viewing and control interface for imaging devices
US9235260B2 (en) 2012-12-27 2016-01-12 Intel Corporation Camera command set host command translation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523193A (zh) * 2010-10-01 2012-06-27 微软公司 遥控命令翻译

Also Published As

Publication number Publication date
US9235260B2 (en) 2016-01-12
EP3037963A1 (en) 2016-06-29
CN105282372A (zh) 2016-01-27
JP2016507920A (ja) 2016-03-10
US20140184842A1 (en) 2014-07-03
EP2939433A4 (en) 2016-06-29
JP2016040728A (ja) 2016-03-24
WO2014105120A3 (en) 2014-12-18
KR20150079884A (ko) 2015-07-08
US20160088220A1 (en) 2016-03-24
KR101702801B1 (ko) 2017-02-22
US9906713B2 (en) 2018-02-27
US20140184827A1 (en) 2014-07-03
EP2939433A2 (en) 2015-11-04
KR101645242B1 (ko) 2016-08-03
US9201492B2 (en) 2015-12-01
KR20150129049A (ko) 2015-11-18
WO2014105120A2 (en) 2014-07-03
CN104798376A (zh) 2015-07-22
CN105282372B (zh) 2019-10-18

Similar Documents

Publication Publication Date Title
CN104798376B (zh) 摄像机命令集主机命令转换
US10633296B2 (en) Electronic device and method for generating thumbnails based on captured images
CN105227850B (zh) 使能元数据存储子系统
US10348971B2 (en) Electronic device and method for generating thumbnails based on captured images
US9244694B2 (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
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant