CN1289090A - 资源总线接口 - Google Patents

资源总线接口 Download PDF

Info

Publication number
CN1289090A
CN1289090A CN00109798A CN00109798A CN1289090A CN 1289090 A CN1289090 A CN 1289090A CN 00109798 A CN00109798 A CN 00109798A CN 00109798 A CN00109798 A CN 00109798A CN 1289090 A CN1289090 A CN 1289090A
Authority
CN
China
Prior art keywords
data
bus
resource
video
parts
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.)
Granted
Application number
CN00109798A
Other languages
English (en)
Other versions
CN1142498C (zh
Inventor
塞尔焦·马吉
米切尔·诺克罗斯
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.)
Logitech Europe SA
Original Assignee
Logitech Inc
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 Logitech Inc filed Critical Logitech Inc
Publication of CN1289090A publication Critical patent/CN1289090A/zh
Application granted granted Critical
Publication of CN1142498C publication Critical patent/CN1142498C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Processing (AREA)

Abstract

提供在数据总线上传送数据的新的改进方法和装置。本发明提供包括外部共用总线、外部总线接口和资源总线的总线系统。可以构成外部总线接口,以在外部共用总线和资源总线之间传送数据。总线系统还可以包括与资源总线耦接的数据处理流水线。数据处理流水线可以包括处理数据的多个部件。一些数据处理部件可以与资源总线耦接。

Description

资源总线接口
本申请与本申请同日申请的申请号为No.----,题目为“HeaderEncoding Method and Apparatus for Packet-Based Bus”,(代理文件编号No.9623-019100)和申请号为No.----,题目为“ImageSensor Based Vignetting Correction”,(代理文件编号No.9623-019000)的这两个申请有关,这两个申请在此引证供参考。
本发明涉及任何总线结构,例如通用的串行总线(USB),特别涉及在与这种总线直接和间接耦接的器件间的通信。
计算机变得越来越普遍。随着计算机的作用变得更强,其应用也不断增长。事实上,计算机迅速地取代了诸如电话、电视、摄象机之类的其它设备的功能作用。图象数据的操纵是消费者和公司等相当热衷的新领域中的一个领域。可与任何计算机连接的相对便宜的摄象机的出现推动了这种发展。Logitech,Inc.,of FremontCalifornia,即本申请的受让人处于该技术的前列,给计算机用户提供了许多解决方法。
将图象捕获装置连接到计算机上的一个简单方法是通过USB接口。一般USB提供插头并支持多于100个的外围设备而无明显用户交互作用。在本申请中引证供参考的USB规格说明:修订版1.1(1998年9月23日发布)中可找到有关USB的详细信息。
一种对USB提供附加端口的方法是使用USB网络集线器(hub)。可是,这些网络集线器只提供利用USB接口与计算机的附加物理连接。因此,USB网络集线器不能提供对USB互连附加额外功能性所需要的智能或灵活性。
由于图象数据的使用变得越来越普遍,因而在电子系统内有更多功能性和灵活性的要求增加。附加功能性和灵活性可包括更多的图象处理路由或与新的附加接口的连通性。此外,由于引入了不同的图象处理标准和通信接口,因而要求容易适当实现的需要增加。
因此,期望一种技术,可按各种模式操作数据处理装置,并且能够更快更有效和更容易地用于许多现在和将来的数据处理标准和通信协议。
本发明提供一种在数据总线上传送数据的新的改进方法和装置。本发明在一个实施例中提供包括外部共用总线、外部总线接口和资源总线的总线系统。配置外部总线接口,以便在外部共用总线与资源总线之间可传送数据。该总线系统还可包括与资源总线耦接的数据处理流水线。该数据处理流水线可包括处理数据的多个部件。一些数据处理部件可与资源总线耦接。
在另一个实施例中,总线系统可包括数据采集模块。配置数据采集模块,以便从与资源总线耦接的器件采集信息。
在又一个实施例中,本发明提供自动调整数据流水线以避免将非法数据(artifact)引入正在被数据处理流水线处理的数据中。该方法包括从数据处理流水线内的一部件采集信息。然后处理所采集的信息以确定是否调整数据处理流水线。如果确定要对数据处理流水线进行调整,那么在进行调整之前确定触发事件。然后在进行调整之前该方法等待所确定的触发事件。
在再一个实施例中,本发明提供同步总线系统中操作的方法。该方法接收数据,将接收的数据装入遮蔽存储器中,并确定是否用遮蔽存储器中的装入数据更新有源存储器。如果确定不进行用遮蔽存储器中的装入数据更新有源存储器,那么该方法等待下一个确定步骤。一旦确定要用遮蔽存储器中的装入数据更新有源存储器,那么该方法从遮蔽存储器将装入的数据传送给有源存储器。以这种方式,由等待步骤而提供的延迟可避免将非法数据引入正在处理的数据中。
本发明的一个优点是,允许数据处理流水线快速、有效和容易地适用于各种方法。例如,外部总线接口可被修改以适应与资源总线连接的模块的变化,例如在数据处理流水线中的那些变化。同样地,对于外部共用总线的不同类型,也可以只对外部总线接口进行改变。
本发明的另外的优点包括提供对数据处理流水线的所选部件的自动调整,由此可避免将非法数据引入正被数据处理流水线处理的数据中。这些调整可基于从数据处理流水线的所选部件所采集的数据。此外,在任何数据操纵之前可在数据捕获端进行上述调整。例如,如果使用有损耗的(lossy)压缩方法压缩数据,那么这将允许更精确的校正。此外,在数据捕获端进行调整可减少将数据传送到处理主机所需要的带宽。
为了更好地理解本发明的特征和优点,参考结合附图进行的下列描述。
图1展示用于执行本发明实施例方法的计算机系统的实例;
图2展示用于执行本发明实施例方法的典型计算机系统100的简略系统方框图;
图3展示本发明实施例的系统300的简略方框图;
图4展示本发明实施例的视频流水线400的简略方框图,表示图3的视频流水线块306的进一步细节;
图5展示本发明实施例的计算机接口系统500的简略方框图,表示图3的计算机接口308的进一步细节;
图6展示本发明实施例的示例性同步方法600;和
图7A和7B展示本发明实施例的示例性定时图700和750。
图1展示用于执行本发明软件的计算机系统的实例。图1表示包括监视器104、屏幕102、机柜108、键盘214(见图2)和鼠标器110的计算机系统100。鼠标器110可具有一个或多个如鼠标器按钮112等的按钮。机柜108可装入用于存储和恢复包括本发明的软件程序的CD-ROM驱动器106和硬盘驱动器(未示出)。尽管CD-ROM106作为可移动介质示出,但也可使用包括软盘、磁带驱动器、ZIP_驱动器和闪烁存储器等的其它有形介质。机柜108还装有如处理器、存储器等的为人熟知的计算机部件(未示出)。
图2展示用于执行本发明实施例软件的典型计算机系统100的简略系统方框图。如图1所示,计算机系统100包括监视器104。计算机系统100还可包括如I/O控制器204、系统存储器206、中央处理器208、扬声器210、可移动磁盘212、键盘214、固定磁盘216和网络接口218之类的子系统。适用于本发明的其它计算机系统可包括另外的或更少的子系统。例如,另一计算机系统可包括多于一个的处理器208(即,多处理器系统)或高速缓冲存储器。用例如220的箭头表示计算机系统100的系统总线结构。可是,这些箭头220表示用于链接子系统的任何互连图形。
例如,可以使用局部总线以连接中央处理器208与系统存储器206。再有,图象捕获装置(例如电荷耦合器件(CCD)摄象机)可以与计算机系统100连接,用于捕获图象数据。图象捕获装置可以通过相同或另一总线结构例如USB、增强并行端口(EPP)、扩大容量端口(ECP)、IEEE 1394(火线)等与计算机系统100连接。利用与装置驱动器的数据库匹配的标识号,USB可以提供插头和支持多于100的连接的外围设备。在一些实施例中,USB提供12Mb/sec带宽。
USB还可以通过I/O控制器204或网络接口218与计算机系统100连接。此外,可以构成计算机系统100来通过例如I/O控制器204或网络接口218与因特网通信。因此,利用各种装置,例如因特网上的装置,数据可以被往复传送给计算机系统100。图2所示的计算机系统100仅是适合本发明使用的计算机系统的一个实例。对于本领域技术人员来说,很容易找到适合本发明使用的子系统的其它结构。
图3表示本发明实施例的系统300的简略方框图。图象传感器302捕获图象数据。图象传感器302可以从捕获图象的许多装置中选择,包括CCD、互补金属氧化物半导体(CMOS)等。在一些实施例中,图象传感器302可以包括将模拟数据转换成数字数据的电路。图象传感器302还可以是某用途特定的集成电路(ASIC)。来自图象传感器302的捕获图象数据被提供给传感器接口304。可以构成传感器接口304把来自图象传感器302的串行发送数据转换成数据包。例如,传感器接口304可以把来自不同类型传感器的数据格式化成视频流水线块306使用的格式。数据的格式包括可以被视频流水线块306内的部件共用的信息。共用信息可以包括视频帧开始、视频帧结束、有效视频行、有效象素等。数据帧可以是任意尺寸,但最好为352×288象素。帧也可以是320×240象素块、176×144象素块或160×120象素块。在一些实施例中,数据帧可以是640×480象素块。
视频流水线块306根据选定的规则处理图象数据。例如,图象数据可以被压缩、编码、校正颜色、校正灰度(gamma)等。利用霍夫曼、差分析(parse)码调制(DPCM)、其它类型的熵编码等可以进行解压。
系统300还可以包括音频流水线块307。音频流水线块307可以接收来自例如麦克风传感器等音频传感器(未示出)的音频信息。音频流水线块307根据选择的标准处理音频数据。例如,音频数据可以被压缩、编码、转换等。音频流水线还可以包括音量调节、音频采样等的部件。音频流水线还可以具有带存储器的缓冲管理器。根据任何已知的音频数据格式化标准,例如运动图象专家组音频等级7(MP3),音频流水线可以处理音频数据。
接着,处理过的图象和音频数据可以提供给计算机接口308。计算机接口308提供接口,用于在视频流水线块306、音频流水线块307和计算机310之间的通信。计算机310可以是例如图1和图2的系统100这样一个系统。例如,计算机接口308可以把来自视频流水线块306的图象数据提供给计算机310。同样,计算机接口308可以提供接口,用于把来自计算机310的命令、指令、设置和其它类型的数据传送给视频流水线块306。
资源总线312使计算机接口308与视频流水线块306和音频流水线块307耦接。资源总线312可以从本领域技术人员所熟知的各种选项中选择,最好是双向的,并有共用总线结构。例如,资源总线312可以是单主机多从属总线接口。从属部件(slave)可以是视频流水线块306内形成的部件或功能元件。在一些实施例中,主机可以与例如计算机310等主机接口连接。
如图3所示,计算机接口308可以直接与图象传感器302通信。通信例如可以包括图象传感器302设置的改变。另一方面,计算机接口308通过资源总线312可以与图象传感器302通信。
外部共用总线314耦接计算机310和计算机接口308。外部共用总线314可以是双向的,并从本领域技术人员所熟知的许多类型的连接器或总线结构中选择。例如,外部共用总线314可以是USB连接。由于该连接是目前可提供达到500mA和5V的有源总线,所以一些实施例优选USB连接。USB提供的电源可以用于运行与总线耦接的装置,例如图象传感器302、传感器接口304、视频流水线块306(和/或其部件)和计算机接口308。此外,USB可以低成本地实现。在一些实施例中,USB不能提供与例如火线等其它快速总线结构相同的带宽。因此,当例如在USB上的传送之前数据首先在视频流水线块306内压缩的情况下,可以使用USB。
再有,计算机310可以是任何输出装置,包括打印机、显示器、例如Palm Computing_装置等的便携式装置、任何电子或光学输出装置等。系统300还包括存储器316,该存储器可以为计算机接口308提供存储。存储器316最好是非易失性存储装置,例如硬盘或可移动介质。但是,存储器316可以是任何类型的存储器,例如动态随机存取存储器(DRAM)、扩展输出DRAM(EDO DRAM)、同步DRAM(SDRAM)、视频RAM(VRAM)、静态RAM(SRAM)、只读存储器(ROM)、可删除编程的ROM(EPROM)、可电删除编程的ROM(EEPROM)、闪烁存储器等。存储器316还可以对系统300的其它部件例如视频流水线块306和音频流水线块307提供存储。另一方面,系统300的部件可以有它自己的局部存储器,当需要时使用存储器316进行其存储。系统300的部件还可以包括缓冲器,用于正被各部件处理的数据的存储。此外,系统300的各部件可以包括存储器,用于存储设置和其它与结构有关的信息。
图4表示视频流水线400的简略方框图。视频流水线400表示本发明实施例的图3所示的视频流水线块306的细节。图4中出现的上述图中具有的部分用最初使用的相同参考标号来表示。图象传感器302捕获图象数据,并把捕获的图象数据提供给传感器接口304。传感器接口304可以把接口提供给市场上可得到的图象传感器。传感器接口304可以把来自图象传感器302的图象数据处理成合适的格式,以便在视频流水线400内使用或被其它装置使用。例如,来自图象传感器302的原始的捕获数据可以是8比特字格式、10比特格式、4+4比特格式等。
在一些实施例中,传感器接口304把捕获的原始数据格式化成10比特格式并将其传给透镜校正块406。传感器接口304还可以把选通脉冲信号提供给透镜校正块406,以指示具有要由透镜校正块406处理的新数据。这种选通脉冲信号例如可以指示图象数据新帧的开始。透镜校正块406可以对捕获的原始数据进行数据校正处理。例如,对于晕光(vignetting)问题的校正来说,远离图象中心的象素可以被校正,而图象中心周围的象素可以不进行校正。这一特性在使用廉价透镜或具有不同光剖面的多个透镜捕获图象的情况下特别有用。与晕光问题校正有关的进一步信息可以在相关的共同拥有的申请号为No.----题目为“Image Sensor Based VignettingCorrection”(代理编号No.9623-019100)中找到,该申请与本申请同日申请,并在此参考供引证。
在这方面,原始数据的各象素可以包括有关单色例如红色、绿色或蓝色的信息。因此,视频流水线400还可以包括其它块(未示出),以评价各象素的其他两颜色。例如,如果一个象素仅包括红色信息,那么也可以计算该象素的绿色和蓝色信息。
在透镜校正块406处理数据后,数据可以传送到色分离块408。色分离块408根据指定的标准计算颜色。例如,色分离块408可以抽取红-绿-蓝(RGB)数据等。接着,色分离数据可以传送到用于灰度校正的灰度校正块410。灰度校正块410可以存取灰度存储器412,该存储器可以从许多存储装置中选择,例如上述关于存储器316所述的那些存储器。在该阶段,灰度校正数据可以被转换成YUV格式,其中,Y是亮度,U是红色色度,V是蓝色色度。数据也可以被删剪,以便与指定的标准一致,例如共用交换格式(CIF)、四分之一CIF(QCIF)等。例如,当YUV数据在范围外时就可以这样作。
接着,数据被提供给可以对正在处理的数据进行调整的用户调整块414。这些调整可以包括增益、偏置、颜色调整等。增益和偏置的值可以由外部源来提供,例如计算机用户、驱动软件、因特网命令等。随后,用户调整的数据被提供给压缩块416。可以构成压缩块416用于利用本领域技术人员所熟知的损耗技术或无损耗技术来压缩来自用户调整块414的数据。例如,压缩块416可以进行离散余弦变换、子波变换、矢量量化、霍夫曼编码、可变长度编码(VLC)、其它类型的熵编码、算术编码等。
压缩块416还可以访问用于存储用途的压缩存储器418。压缩存储器418可以是任何类型的存储器,例如上述关于存储器316所述的那些存储器。接着,将压缩数据提供给视频多路复用器(multiplexer))420。视频多路复用器420还可以接收输入节点422上的数据。输入节点422可以提供例如来自传感器接口304的数据、其它原始数据或部分处理过的数据等。接着,从视频多路复用器420选择的输入数据可以提供给视频流水线管理器424。视频流水线管理器424可以访问可以是任何类型存储器的视频存储器426,包括有关存储器316所述的那些存储器。
视频流水线400的所有或选择的部件可以通过连接器428与资源总线312耦接。连接器428可以是任何适当的连接器。在一些实施例中,对于与资源总线312耦接的不同部件来说,可以使用不同类型的连接器428。另一方面,连接器428可以是资源总线312本身的一部分。资源总线312可以从本领域技术人员所熟知的各种选项中选择,例如单主机多从属总线。由于资源总线312上数据流的速率可以与流水线开始的速率不同,流水线例如从图象传感器302开始直至视频多路复用器420,所以在把数据提供给资源总线312之前视频流水线管理器424可以临时存储捕获的数据和处理过的数据。
例如,在资源总线312按可和USB标准适配的速度运行的实施例中,视频存储器426可以有大约2k字节的大小。这种结构将提供当前USB标准所需要的2毫秒延迟。显然,视频存储器426的大小将取决于预定的实施。视频流水线管理器424还可以把选择信号(未示出)提供给视频多路复用器420,以便指示应该选择到视频多路复用器420的多个输入中的一个。
视频流水线400还可以包括其它类型的模块,例如数据采集模块432。数据采集模块可以有取决于预定实施的不同设计。因此,在视频流水线400内可以使用不同类型的数据采集模块。在一些实施例中,可以构成这些附加模块,以与其它部件并行工作。这可以确保附加模块不附加与视频流水线400正在处理的数据有关的任何延迟。这些数据采集模块可以采集通过连接器434由图象传感器302捕获的每帧数据的某些统计量。连接器434可以是任何适当的连接器。在一些实施例中,对于与不同部件耦接的数据采集模块来说,可以使用不同类型的连接器434。另一方面,数据采集模块432可以按其它时间间隔采集数据。在视频流水线400内各种位置上可以使用这些模块。
因此,数据采集模块的位置和数量不限于图4所示的情况。例如,可以采集模拟信号统计量,以确保视频流水线400不使模拟信号饱和。采集统计量的其它类型可以是白平衡统计量,以运行白平衡算法,确保捕获的图象不过亮地出现。另一数据采集模块可以采集与自动增益控制有关的统计信息,以确保数据保持在标准的预定范围内。
接着,通过例如视频多路复用器420的输入节点422将采集数据提供给视频流水线管理器424。另一方面,数据采集模块432通过连接器436可以把采集的数据提供给与资源总线312耦接的任何装置,包括视频流水线管理器424。连接器436可以是任何适当的连接器。在一些实施例中,对于与资源总线312耦接的不同模块来说,可以采用不同类型的连接器436。在一些实施例中,连接器436可以与连接器428相同。因此,视频流水线管理器424在资源总线312上可以提供不同类型的数据,包括视频数据、统计数据、数据帧的开始和结束等。然后,利用采集的数据调整视频流水线400内的设置。调整例如可以包括相对调整块414说明的那些调整。
再有,调整可以在任何数据被处理前在数据捕获端进行。例如,数据可以在用户进行控制之前和数据被压缩及在主机上解压之前采集。这可以确保更多的精确数据被用于校正,例如,如果数据用损耗压缩进行压缩。此外,在数据捕获结束时进行调整可以降低将数据传送至处理主机所需要的带宽。
图5表示本发明实施例的计算机接口系统500的简略方框图。接口系统500还表示本发明实施例的图3所示的计算机接口308的细节。图5中出现的上述图中引入的部分用最初使用的相同参考标号来表示。收发器和时钟管理器502通过连接器506与外部共用总线314连接。外部共用总线314可以从各种总线结构例如EPP、ECP、火线等中选择,但最好是USB接口。收发器和时钟管理器502可以与外部总线接口510耦接。构成收发器和时钟管理器502,以在外部共用总线314和外部总线接口510之间传递数据。收发器和时钟管理器502也可以负责从数据中抽取时钟信号。另一方面,收发器和时钟管理器502可以对计算机接口系统500的不同部件提供不同的时钟信号。收发器和时钟管理器502还可以在输入节点507上从外部源接收其自身的时钟。对于目前的USB标准来说,时钟最好是48MHz或为乘以4的12MHz。时钟乘法可以由锁相环(PLO)来完成,在一些实施例中,该锁相环可以在收发器和时钟管理器502的内部。
外部总线接口510可以根据外部共用总线314规定的标准检查接收的数据。例如,外部总线接口510可以解码从外部共用总线314接收的命令。如图5所示到块502和块510的连接可以是双向的。外部总线接口510可以与资源总线312连接。外部总线接口510可以起到资源总线312的主机(master)的作用。因此,外部总线接口510可以提供通信装置,用于在外部共用总线314和资源总线312之间传递数据。
外部总线接口510可以起到主机的作用,用于与资源总线312耦接的从属装置。总线可以按不同的技术来实现,包括三态缓冲器结构,其中,所有功能可以共用单一的功能总线。如果不采用三态缓冲器结构,那么各功能元件通过它自己的总线可以与主机通信。主机-从属装置通信可以用由主机启动的总线传送来实现。总线传送可以包括一个或多个总线周期。在一个总线周期中,主机可以指定一个资源(或功能元件),例如寄存器、存储器、超高速缓冲存储器或其它从属装置。周期的目的可以不限于数据传送。例如,地址写入可以取决于在该地址上保存的资源类型。因此,特定的地址写入可以是复位命令。总线结构的示例性实施例的其它细节可以在下面的题目为“总线物理层”和“总线逻辑层”的文件中发现。
利用资源总线312可以采用各种编码技术。在一些实施例中,对于在资源总线312上传送的信息包来说,可以采用编码的标题(header)。对于音频和视频信息可以采用分开的标题。再有,可以构成有效线路,以便在任何基于信息包的总线上更有效、迅速和精确地传递数据。与标题编码有关的其它实例可以在相关的共同拥有的申请号为No.----题为“Header Encoding Method and Apparatusfor Packet-Based Bus”(代理编号No.9623-019100)中找到,该申请是本申请的同日申请并在此参考供引证。
计算机接口系统500还可以包括存储装置(未示出),该装置可以存储来自通过连接器506与外部共用总线314耦接的装置的由外部共用总线314使用的设置和结构信息。例如,对于USB实现来说,存储装置可以包括USB描述符。该存储器可以是任何类型的存储器,例如是有关存储器316所述的那些存储器,但最好是只读存储器(ROM)装置。存储装置也可以包括与指定实施例使用的USB通信的细节有关的信息。另一方面,ROM应该与非易失性存储器耦接,以提供有效和容易的方式改变ROM中存储的某些信息。
资源总线312也可以与例如数据处理流水线或在这些流水线内的所选部件等其它部件连接。例如,流水线可以包括音频流水线,例如图3的音频流水线块307。各个流水线的管理器可以安置在资源总线312上。另一方面,这些流水线管理器可以在一块中实现,使它们可以共用资源。
通用的异步接收器-发送器(UART)514与资源总线312耦接,并构成为可对其它装置例如资源总线312上或其它地方的装置提供低成本的通信装置。也可以采用并行总线来提供这种通信信道,但并行总线一般来说在其实现上更昂贵。UART 514可以有存储器516,该存储器最好为非易失性存储器。存储器516也可以是任何类型的存储器,例如相对存储器316所述的那些存储器。在一些实施例中,非易失性存储器可以是图3的存储器316。
存储器516可以包括有关与计算机接口系统500耦接的装置的设置和结构的信息。存储器516还可以包括与计算机接口系统500上的各装置有关的寄存器。资源总线312上的其它装置,例如外部总线接口510可以装入UART 514的装置的地址和要传送的数据。然后,UART可以通过其寄存器,把地址和数据传送至其它装置,例如图象传感器302。
中断和同步块518与资源总线312耦接。中断和同步块518可以对来自源例如外部共用总线502的中断提供支持。在一些实施例中,中断可以来自USB接口。由于收发器和时钟管理器502未直接连接在资源总线312上,所以中断和同步块518可以提供有关时钟延迟、加电延迟和其它功率有关问题等的信息。这种信息可以取决于采用的传感器和装置。再有,传送到外部共用总线314的信息可以被首先采集到中断和同步块518中。在音频流水线的实施例中,音频流水线也可以通过资源总线312与其它装置例如计算机系统100通信。
图6表示本发明实施例的示例性同步方法600。由于本发明可以用于非静态装置,所以同步方法600可以确保改变周围环境或其它设置及结构对指定系统的操作无负面影响。例如,在处理视频数据的实现中,周围环境上的改变,例如亮度上的改变可能不利地影响正由视频流水线处理的数据。较高的亮度可能导致捕获的视频数据偏离范围,从而通过饱和而损失信息。因此,算法可以不断运行或周期性地运行。该算法可以根据周围环境参数的改变辅助地调整。这种算法可以如软件那样运行,或者用硬件来实现。
在其它实施例中,在视频流水线的各种位置上采集的统计信息可以用来调整视频流水线的参数。如参照图4所讨论的,在数据由传感器接口304输出后,在数据由色分离块408输出后,以及在流水线的其它位置时,可以采集统计数据。感兴趣的改变可能包括例如增益、曝光、色矩阵计算、和在整个视频流水线上分布的其它变量,以及在一些情况下为流水线外部的变量等参数。外部参数可以是所用传感器的那些参数。其它内部变量例如可以在色分离块408内。
因此,当对系统进行改变时,由于数据通过指定的数据处理流水线传播需要花费一定时间量,所以对整个系统均匀地施加需要的调整可能产生问题。时间量可能依赖于许多因素,例如捕获图象所用的传感器。例如,当要求改变图象传感器302的设置时,可能需要多个视频帧来使变化传播到整个视频流水线400。
本发明提供该问题的解决方案。在实施例中,当新数据出现在流水线中时,同步方法600同步化给定的数据处理流水线中某一项目的改变。在步骤602中,接收数据。数据可以是任何数据处理流水线例如图4的视频流水线400内的元件的任何类型的数据,例如设置、命令、结构信息等。在图4的实例中,数据可以是图象传感器例如图象传感器302的设置。在实施例中,可以用外部总线接口510接收数据。数据可以来源于计算机接口系统500内或通过例如外部共用总线314来源于外部。这些命令可以最终来源于例如计算机用户、有关计算机上存储的设置、计算机应用的确定、因特网上的源等的源。
在步骤604中,接收的数据被转换。一般地,由于在系统内采用不同的消息内容,所以接收的数据需要转换。例如,转换可以包括检查接收的数据,以便与给定标准一致。转换也可以包括接收数据的解码和解析。例如,外部总线接口510可以转换图5的UART 514的接收数据。在步骤606中,转换过的数据可以装入遮蔽存储器。遮蔽存储器可以是任何类型的存储器,例如相对图3的存储器316所述的那些存储器。例如,转换过的数据可以装入UART 514的存储器516。当正在进行流水线的改变且新的数据不被装入有源存储器时,遮蔽存储器可以存储转换数据。
在步骤608中,确定何时更新转换(translated)的数据。例如,步骤608可以确定UART 514应该何时将存储的数据传送至图象传感器302。在实施例中,步骤608可以利用具有一个视频帧开始信号来实现。接着,UART 514在把信息传送至图象传感器302之前可以等待视频帧开始信号。如果确定转换的数据将不被更新,那么同步步骤610等待适当的触发事件。触发事件可以有任何值,但对于市场上可得到的大部分类型的传感器来说,触发事件最好为大约一帧、大约两帧或大约三帧。同步步骤610可以重复,直至它确定已经获得对于给定部件的适当触发事件。适当的触发事件可以由内部或外部源来确定。外部源可以包括用户指令、计算机上存储的设置、计算机应用的确定、因特网上的源等。内部源可以包括例如上述相对数据采集模块所述的那些模块,以提供自动调节。一旦步骤608确定转换的数据要被更新,那么在步骤612中,通过将信息装入有源存储器把信息提供给流水线的所选部件。有源存储器可以是任何类型的存储器,例如相对图3的存储器316所述的那些存储器。有源存储器也可以是在流水线的选择部件内的存储器或可存取流水线的选择部件的存储器。
因此,在指定的位置和适当的时间时可以对流水线进行自动调节,以确保没有非法数据出现在正被处理的数据中。例如,如果图象传感器302上的增益减小,那么同步方法600在合适的时间可以增加视频流水线400中的增益。因此,同步方法600可以用于所有类型的设置和与任何数据采集及处理流水线有关的结构。再有,如有关中断和同步块518的说明,中断可以按与参照图6所述的同步相同的方式来处理。此外,为了同步音频数据和视频数据,可以附加块,以便当两种类型的数据被任何装置接收时,音频数据和视频数据同步。
总线物理层
下面详细说明总线物理层的一些示例性实施例,该物理层可以用来实现本发明的实施例,例如相对资源总线312所述的那些物理层。
总线线路
在一些实现中,总线可以包括单向线路,因而没有总线既被主机又被从属装置使用。从属装置也可以被称为功能元件。一些线路可以由主机来控制,这些线路被表示为“rb”线路,而一些线路可以由从属装置来控制。如果主机可以确定所要选择的特定功能元件,那么主机就可以根据地址来实现。
总线物理描述可以包括称为rbClock的线路。在单一时钟同步实现中,所有总线实体可以使用rbClock的上升边缘(或下降边缘)来评价总线线路。该总线也可以用异步的实施例(其中,总线实体作用在总线线路信号的边缘上)或多时钟实施例(其中,实体有不同频率的内部时钟)来实现。因此,可以用在不同时钟下或无时钟运行的主机和功能元件来实现这种总线。此外,这些选择可以混合。
表1表示可以由主机控制的总线线路的示例性表。
Figure 00109798002121
      表1:主机控制的总线线路
表2表示可以由功能元件控制的总线线路的示例性表。
                    表2:功能元件控制的总线线路
如上所述,其它总线线路可以包括尺寸为1的rbClock。该总线线路可以定义在本说明中所用的术语“时钟周期”。即一个总线周期应该等于一个rbClock周期。
总线传送和总线周期
图7A表示在两个周期写入传送后跟随三个周期读出传送的示例性时序图700。时序图700表示的信号特性由上述表1和表2来定义。对于rbAddress来说,X表示无效(或未留意)地址值,N表示写入传送地址,而M1-M2表示读出传送地址。主机在每个周期可以改变地址。传送可以是单向的总线周期序列。如图所示,rbAS选通脉冲可以发出传送开始信号。rbDS的上升初始化一个总线周期。
写入传送的事件顺序可以如下:
1a.主机在总线上放置资源地址;
1b.主机设定rbRwL低,发出写入传送信号;
2.主机在一个或更多个时钟周期选通rbAS线路;
3.主机可以在rbData总线上放置数据(对于资源的命令可以不需要数据);和
4.主机设定rbDS,请求功能元件的应答和等待fnctDataAck。
对于写入传送周期的成功完成来说,事件的其他顺序可以如下:
5.功能元件消耗数据和设置fnctDataAck;
6.主机检测fnctDataAck和降低rbDS(这样释放它,以便对于下一个总线周期改变地址和数据);和
7.功能元件降低fnctDataAck。
在步骤7后,写入周期完成,总线返回步骤3等待一个新的总线周期3。
但是,对于不成功的写入周期来说,在步骤5时,主机可以等待一个暂停周期,然后复位rbDS。写入周期的暂停周期最好为约四个时钟周期,但也可以是取决于实现的任何其它值。主机可以异常中断传送的其他时间。
读出传送的事件顺序可以如下:
1-2.与上述写入传送步骤1-2类似;和
3.主机设置rbDS,请求功能元件的应答和等待fnctDataAck。
对于读出传送周期的成功完成来说,事件的其他顺序可以如下:
4.功能元件放置请求的数据到有关fnctData和设置fnctDataAck;
5.主机降低rbDS,表示主机已经获得数据;和
6.功能元件降低fnctDataAck。
在步骤6后,读出周期完成,总线可以返回步骤3等待一新总线周期。
对于步骤3时不成功的读出周期来说,主机可以等待一暂停周期,最好为四个时钟周期。但是,本领域的技术人员明白,总线周期的预定暂停将取决于实现。如果在等待读出暂停周期后未检测出fnctDataAck,那么主机可以降低rbDS。主机可以异常中止其余的传送。
图7B表示两周期读出传送的另一示例性时序图750。在表1和表2中定义了时序图750中表示的信号特性。同样地,X表示无效(或未留意)的地址值,N和N+1表示来自主机的有效地址数据,而D1-D2表示来自功能元件的有效地址数据。主机可以在每个总线周期改变地址。如示出的,rbAS选通脉冲可以发出传送开始信号。rbDS的上升可以启动一个总线周期,后面跟随fnctDataAck的上升。
总线逻辑层
下面更详细地说明可以采用的总线逻辑层的一些示例性实施例,以实施本发明的实施例,例如相对资源总线312说明的那些总线逻辑层。
总线从属装置的类型
对于本发明的实施例来说,可以选择从属装置的许多不同类型。从属装置类型可以按它们用于响应主机的反馈线路来分类。
例如,表3表示不同的从属装置类型如何被分成三组。标题fnctSelected和fnctBufOk可以是信号,例如表2中定义的那些信号。
类型 FnctSelected FnctBufOk 注释
0 没有 没有 最小从属装置。暗示主机觉察其存在。它主要可以用于在主机内部实现的总线资源。
1 没有 总是准备接受传送。
2 可以使用fnctBufOk线路,以便连续周期内对其能力向主机尽早提供报警。
                  表3:总线从属装置的类型
总线从属装置的行为规则
在一些实施例中,从属装置(或功能元件)可以实现以下规则。如果该功能元件在该地址上有资源,那么功能元件可以异步地解码rbAddress和驱动它的(或共用)fnctSelected到高值。
带有fnctBufOk线路的功能元件可以根据其能力驱动其fnctBufOk线路。功能元件也可以不接受传送。在大多数情况下,这意味着没有可获得的数据。但是,如果功能元件接收rbDS,同时其fnctBufOk低,那么功能元件应该不响应。
对于功能元件来说,在没有fnctBufOk线路的情况下,如果数据有效,那么功能元件可以等待rbDS和用数据来响应。
块命令
一般地,主机可以利用传送实现由另一主机启动的命令,例如操作系统、应用程序、用户等。主机(host)/主机(master)可以使用写入传送周期,将数值存储在寄存器中并实现命令。例如,许多命令可以用一个或多个传送组合的总线周期的单一顺序来实现。这些命令可以包括UART寄存器数据库中的数据装入、规定如何实现连续传送的一些细节的控制寄存器的设定和要实现的命令。
由于资源(例如数据寄存器、控制寄存器、命令等)位于不同的地址,所以主机可以改变各周期的rbAddress。但是,更方便的是以顺序的地址定位可能共同修改的资源以便使主机有简单的机制(例如地址按1增加)来使每次传送装载更多的寄存器。
因此,块命令可以用增加各周期的rbAddress为特征的一系列总线周期(一个或多个连续传送)来实现。
块命令指令集
多地址资源的多地址能力允许在定位资源的所有块命令中寻址资源。因此,可以使用与硬件无关的命令指令集。这是因为对于主机来说不需要知道指定的资源地址。硬件实现可以激活至少和使用该资源的命令一样多的地址的资源。块命令的第一地址可以方便地识别命令。
例如,命令“更新白平衡寄存器”可以使用地址15-33,而另一个命令“更新模拟电平”可以使用地址64-83。如果控制绿色信道增益的寄存器在两个命令中被需要,那么可以构成该寄存器,以响应于两个命令范围所选择的两个地址。在这种实现中,命令可以有地址并利用命令开始地址来识别。
如本领域技术人员将理解的那样,在不脱离本发明的精神或基本特征的情况下,本发明可以按其它特定形式实施。本发明的技术可以在计算机系统中实现和/或利用专用集成电路(ASIC)来实现。例如,视频流水线400和计算机接口系统500可以利用外围部件互连(PCI)卡来实现。PCI卡可以安装在个人计算机的PCI总线上。再有,也可以采用其它总线技术,例如NUBUS、ISA、EISA和加速图形端口(AGP)。此外,本发明的技术可以利用通用的例行程序和功能部件来实现,例如由Intel_ Corporation’s MMXTM technology,Advance Micro Device,_ Inc.,s 3DNow!TM technology提供的超高速缓冲存储、新指令集和单指令多数据(SIMD)工具,以及其等价物。因此,为了理解本发明的范围,基准应该由所附权利要求书来限定。

Claims (27)

1.一种总线系统,包括:
外部共用总线;
与外部共用总线耦接的外部总线接口,
与外部总线接口耦接的资源总线,配置外部总线接口以在外部共用总线和资源总线之间传送数据;
与资源总线耦接的视频流水线,视频流水线包括处理视频数据的多个部件,多个视频处理部件中的所选部件与资源总线耦接。
2.如权利要求1的总线系统,其中,外部总线接口构成为资源总线的主机。
3.如权利要求1的总线系统,其中,视频流水线构成为资源总线的从属装置。
4.如权利要求1的总线系统,其中,视频流水线包括捕获视频数据的传感器。
5.如权利要求4的总线系统,其中,传感器选自由CCD和CMOS传感器组成的组中。
6.如权利要求4的总线系统,还包括传感器接口,配置传感器接口以格式化捕获的视频流水线的视频数据。
7.如权利要求1的总线系统,还包括视频流水线管理器,配置视频流水线管理器以允许多个视频流水线部件中的所选部件通过外部总线接口与外部共用总线通信。
8.如权利要求1的总线系统,还包括UART,配置UART以把通信信道提供给包括多个视频流水线部件的装置。
9.如权利要求1的总线系统,还包括同步模块,同步模块确定何时允许修改多个视频流水线部件。
10.如权利要求1的总线系统,还包括与资源总线耦接的数据采集模块,配置该数据采集模块以便从与资源总线耦接的装置中采集信息。
11.如权利要求1的总线系统,其中,数据采集模块包括多个模块。
12.如权利要求1的总线系统,其中,视频流水线部件包括图象传感器、色分离模块和压缩模块。
13.如权利要求1的总线系统,还包括音频流水线,音频流水线包括处理音频数据的多个部件,多个音频处理部件中所选的那些部件与资源总线耦接。
14.如权利要求13的总线系统,其中,多个音频流水线部件包括麦克风传感器接口、音量调节器、音频采样器。
15.如权利要求1的总线系统,其中,外部共用总线从USB、EPP、ECP、火线、NUBUS、ISA、EISA和AGP组成的组中选择。
16.一种计算机程序产品,包括:
计算机可使用的介质,在该介质中存有引起数据处理的计算机可读码,该计算机码包括用于以下功能的指令:
从数据处理流水线内的一部件采集信息;
处理采集的信息,以确定是否对数据处理部件进行调整;及
如果确定对数据处理部件进行调整,那么在进行调整前,确定触发事件和等待触发事件。
17.一种对数据处理流水线提供自动调节,以避免非法数据混入正被数据处理流水线处理的数据中的方法,该方法包括:
从数据处理流水线内的一部件采集信息;
处理采集的信息,以确定是否对数据处理流水线进行调整;和
如果确定对数据处理流水线进行调整,那么在进行调整前,确定触发事件和等待触发事件。
18.如权利要求17的方法,其中,数据处理流水线处理视频数据。
19.如权利要求18的方法,其中,所确定的触发事件从视频数据的大约一帧、大约两帧和大约三帧组成的组中选择。
20.如权利要求17的方法,其中,该部件包括在数据处理流水线内的多个部件。
21.一种同步总线系统中的操作的方法,包括以下步骤:
接收数据;
将接收的数据装入遮蔽存储器;
确定是否用装入遮蔽存储器的数据更新有源存储器;
如果确定有源存储器将不被装入遮蔽存储器的数据更新,那么等待下一个确定步骤;和
一旦确定有源存储器要被装入遮蔽存储器的数据更新,那么将装入的数据从遮蔽存储器传送至有源存储器,
其中,等待步骤避免非法数据混入正被处理的数据中。
22.如权利要求21的方法,还包括转换接收的数据。
23.如权利要求21的方法,其中,根据从总线系统内的部件中采集的信息来判别确定动作。
24.如权利要求21的方法,其中,由外部资源来判别确定动作。
25.如权利要求24的方法,其中,外部资源从包括用户指令、存储的设置、应用的确定和因特网上的资源的组中选择。
26.如权利要求21的方法,其中,遮蔽存储器从DRAM、EDO DRAM、SDRAM、VRAM、SRAM和闪烁存储器组成的组中选择。
27.如权利要求21的方法,其中,有源存储器从DRAM、EDO DRAM、SDRAM、VRAM、SRAM和闪烁存储器组成的组中选择。
CNB001097989A 1999-06-30 2000-06-30 资源总线接口 Expired - Fee Related CN1142498C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/343935 1999-06-30
US09/343,935 US6446155B1 (en) 1999-06-30 1999-06-30 Resource bus interface

Publications (2)

Publication Number Publication Date
CN1289090A true CN1289090A (zh) 2001-03-28
CN1142498C CN1142498C (zh) 2004-03-17

Family

ID=23348309

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB001097989A Expired - Fee Related CN1142498C (zh) 1999-06-30 2000-06-30 资源总线接口

Country Status (2)

Country Link
US (1) US6446155B1 (zh)
CN (1) CN1142498C (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295379B1 (en) * 1997-09-29 2001-09-25 Intel Corporation DPCM image compression with plural quantization table levels
US6704310B1 (en) * 1999-06-30 2004-03-09 Logitech Europe, S.A. Header encoding method and apparatus for packet-based bus
US6995794B2 (en) * 1999-06-30 2006-02-07 Logitech Europe S.A. Video camera with major functions implemented in host software
JP3526019B2 (ja) * 1999-11-30 2004-05-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 画像表示システム、画像表示装置、および画像表示方法
KR100397904B1 (ko) * 2000-03-10 2003-09-13 마츠시타 덴끼 산교 가부시키가이샤 계조 보정 회로 및 γ보정 장치
JP2002077211A (ja) * 2000-08-29 2002-03-15 Canon Inc 情報処理装置およびその方法、並びに、記録媒体
US20030226119A1 (en) * 2002-05-28 2003-12-04 Chi-Tung Chang Integrated circuit design of a standard access interface for playing compressed music
US7391437B2 (en) 2002-12-18 2008-06-24 Marvell International Ltd. Image sensor interface
US6993620B2 (en) * 2003-06-13 2006-01-31 Hewlett-Packard Development Company, L.P. User resource sharing through the USB interface
US7389006B2 (en) * 2004-05-14 2008-06-17 Nvidia Corporation Auto software configurable register address space for low power programmable processor
US7250953B2 (en) * 2004-05-14 2007-07-31 Nvidia Corporation Statistics instrumentation for low power programmable processor
US7091982B2 (en) * 2004-05-14 2006-08-15 Nvidia Corporation Low power programmable processor
US20060036785A1 (en) * 2004-08-10 2006-02-16 Ming-Hui Tseng Media broadcasting device having USB slot
US20060179191A1 (en) * 2005-02-10 2006-08-10 Young David W Covert channel firewall
US9363481B2 (en) * 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US8238415B2 (en) * 2006-02-14 2012-08-07 Broadcom Corporation Method and system for programmable breakpoints in an integrated embedded image and video accelerator
US20090185559A1 (en) * 2008-01-18 2009-07-23 Evan Chen Integration module for universal serial bus

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6188381B1 (en) * 1997-09-08 2001-02-13 Sarnoff Corporation Modular parallel-pipelined vision system for real-time video processing
US6329996B1 (en) * 1999-01-08 2001-12-11 Silicon Graphics, Inc. Method and apparatus for synchronizing graphics pipelines

Also Published As

Publication number Publication date
US6446155B1 (en) 2002-09-03
CN1142498C (zh) 2004-03-17

Similar Documents

Publication Publication Date Title
CN1142498C (zh) 资源总线接口
CN104702851B (zh) 使用嵌入式数据的强大自动曝光控制
US10812768B2 (en) Electronic device for recording image by using multiple cameras and operating method thereof
KR20210073568A (ko) 이미지 처리 방법 및 장치, 및 디바이스
CN1655593A (zh) 用直接存储器访问翻转或旋转数字图像的相机接口和方法
TW201602866A (zh) 用於周邊介面資料傳遞的高效無失真壓縮
WO2019067732A1 (en) SYSTEM AND METHOD FOR PROCESSING EVENT CAMERA DATA
US11816871B2 (en) Real-time low latency computer vision/machine learning compute accelerator with smart convolutional neural network scheduler
CN113473214B (zh) 一种屏幕录制方法、装置、计算设备及可读存储介质
US10867372B2 (en) Electronic device and method for correcting images based on image feature information and image correction scheme
US20190251670A1 (en) Electronic device and method for correcting images using external electronic device
US20220301278A1 (en) Image processing method and apparatus, storage medium, and electronic device
US9508109B2 (en) Graphics processing
US7835596B2 (en) Componentized application sharing
US11425300B2 (en) Electronic device and method for processing image by electronic device
US10009545B2 (en) Image processing apparatus and method of operating the same
CN111428560B (zh) 视频图像处理方法、装置、电子设备及存储介质
US11501135B2 (en) Smart engine with dynamic profiles
WO2022179600A1 (zh) 视频编码方法、视频解码方法、装置及电子设备
CN202004899U (zh) 高清cmos监控设备
WO2022170866A1 (zh) 数据传输方法、装置及存储介质
CN115984083B (zh) 电子装置和电子装置的图像处理方法
CN117014720A (zh) 图像拍摄方法、装置、终端、存储介质及产品
KR102499286B1 (ko) 이미지가 분할된 복수의 블록들의 압축과 관련된 압축 손실 데이터에 기반하여 이미지를 압축하는 전자 장치 및 그 동작 방법
CN113902608A (zh) 图像处理架构、方法、存储介质及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: LOGITECH EUROPE S.A.

Free format text: FORMER OWNER: LOGITECH ELECTRONICS CO., LTD.

Effective date: 20031208

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20031208

Address after: Morges Switzerland

Patentee after: Logitech Europe S. A.

Address before: American California

Patentee before: Logitech Inc.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1076723

Country of ref document: HK

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20040317

Termination date: 20100630