CN101036393A - 信息处理系统、信息处理方法和计算机程序 - Google Patents

信息处理系统、信息处理方法和计算机程序 Download PDF

Info

Publication number
CN101036393A
CN101036393A CNA200580031284XA CN200580031284A CN101036393A CN 101036393 A CN101036393 A CN 101036393A CN A200580031284X A CNA200580031284X A CN A200580031284XA CN 200580031284 A CN200580031284 A CN 200580031284A CN 101036393 A CN101036393 A CN 101036393A
Authority
CN
China
Prior art keywords
processor
sub
data
information processing
information
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.)
Pending
Application number
CNA200580031284XA
Other languages
English (en)
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of CN101036393A publication Critical patent/CN101036393A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

每个子处理器执行由主处理器分配的处理,而不降低整个系统的性能。当将数据从主处理器传送到高速缓存,执行压缩图像的解码的子处理器根据表示图像特性的参数计算高速缓存区域,并且自适应地改变要被高速缓存的存储器区域,以便增加后续处理中的高速缓存的命中的几率。因此,可以改善子处理器中的图像信号处理的性能,降低用于存储器转移的系统总线的传输量,并且防止整个系统的性能的降低。

Description

信息处理系统、信息处理方法和计算机程序
技术领域
本发明涉及链接两个或多个装置的操作的信息处理系统、信息处理方法和计算机程序。具体地说,本发明涉及通过协同操作执行分布式处理来使多个装置作为虚拟单一装置操作的信息处理系统、信息处理方法和计算机程序。
更具体地,本发明涉及允许包含在具有多处理器配置的信息处理设备中的处理器更好地相互合作地操作的信息处理系统、信息处理方法和计算机程序,其中多处理器配置包括一个或多个子处理器和向每个子处理器提供用于执行程序的指令的主处理器。具体地说,本发明涉及以高性能并且不降低整个系统的性能地、使每个子处理器执行由主处理器分配的处理的信息处理系统、信息处理方法和计算机程序。
背景技术
众所周知,通过网络互连多个计算机实现信息资源的共享、硬件资源的共享和多用户之间的合作。存在用于连接计算机的各种媒体,诸如LAN(局域网)、WAN(广域网)和因特网。
特别在最近,用于计算机、网络等的技术深入到日常家庭中。通过家庭网络互连诸如室内个人计算机和PDA(个人数字助理)之类的信息装置和诸如电视接收机和视频回放设备之类的AV装置以及各种信息装置、CE(消费电器)等等。在许多情况下,通过路由器使用诸如因特网之类的外部广域网来互连这样的家庭网络。
如上所述,虽然通过家庭网络连接多个AV装置的应用是可能的,但是存在没有实现AV装置间的充分合作的问题。对于这样的问题,正在对通过装置的协同操作来实现高计算性能的网格计算进行开发和研究,以将装置链接到网络(如,参照专利文档1到5)。
根据网格计算技术,网络上的多个信息设备相互合作地操作来执行分布处理,使得用户可以将它们作为虚拟单一信息处理设备操作。
例如,当将具有视频记录功能的多个信息处理设备连接在网络上时,可以实现用于视频记录预约的协同操作。也就是,当多个信息处理设备在视频记录预约操作中通过家庭网络相互合作时,它们虚拟地作为家庭网络上的单一视频记录装置操作。通过使用任何装置的用户接口,用户可以使用连接到家庭网络的任意装置来进行视频记录预约。
此外,通过这样的视频记录预约功能的合作,可以同时做出其预约时间重叠的节目预约(所谓“在竞争时隙中的另一节目”)。类似地,可以链接用于回放所记录的内容的多个装置的操作以实现同时和同步内容回放。链接内容回放功能来同时和同步地回放由不同装置记录的内容允许将频道切换原理合并到内容回放中。
甚至当仅仅一个装置的硬件资源和处理能力不能满足用户的要求时,这样的虚拟单一装置可以通过利用网络上联合操作并相互合作的其它装置的冗余处理能力来满足用户的要求。此外,可以实现由普通单一装置不能实现的服务。
例如,将用于实现网格计算的每个信息处理设备配置为多处理器系统。在这种情况下,信息处理设备配备了每个都能执行加载到其自身的本地存储器上的程序的一个或多个子处理器和将用于执行程序的指令发送到子处理器的主处理器。
在这样的信息处理设备中,主处理器可以管理资源,诸如每个子处理器的冗余处理能力,并且可以同时执行多个功能。例如,可以通过使用子处理器以分布方式处理电视节目的视频记录预约;经视频记录的内容的回放;和诸如场景识别和重新记录/图像增强之类的用于经视频记录的内容的附加处理。
图24示意性显示用于实现网格计算的信息处理系统的配置的实例。
所图解的系统具有多处理器的配置,包括主处理器以及一个或多个子处理器,并且每个处理器可以执行被加载在其自身的本地存储器的程序。主处理器可以将要求处理的子处理器程序加载到子处理器的本地存储器上,并且可以将用于执行程序的指令发送到子处理器。
在所图解的系统中,提供经由系统总线由各个存储器共享的主存储器。该主处理器可以将加载到主存储器上的数据的处理分配到每个子处理器,以允许分布多处理操作并且同时执行它们。
例如,子处理器使用从主存储器转移到其自身的本地存储器的数据来执行计算。子处理器的内部计算单元在计算期间仅存取其自身的本地存储器,并且不直接存取主存储器。一旦计算完成,则将存储在本地存储器中的计算结果写回到主存储器。也就是,子处理器使用其自身的本地存储器作为所谓的“高速缓存”,而无需顺序存取主存储器。采用这样的操作过程解决下列问题。
(1)防止由于共享主存储器而造成的存取冲突,
(2)由于使用低速主存储器而造成的性能降低,和
(3)防止系统总线中的传输量增加。
然而,除非本地存储器中的高速缓存的命中率足够高,否则在数据处理期间存取主存储器的次数增加,因此,子处理器的数据处理性能降低。此外,由于每次存取主存储器时系统总线中的传输量增加,因此整个系统的性能也降低。
当具有上述多处理器配置的信息处理系统处理图像处理时,主处理器可以将压缩图像的解码处理分配到一个子处理器。在这种情况下,主处理器还可以向另一子处理器发送用于对经解码的图像数据执行其它处理的指令(诸如用于将图像数据编辑为用户喜好的质量的图像质量增强处理和用于将图像数据重新编码到另一编码系统的重新编码处理),以便作为整个系统实现协同操作。
在图像压缩处理中,通常将整个帧分为称作宏块的小区域以执行信号处理。例如,用于作为标准图像压缩标准的MPEG(运动图像专家组)的基本压缩算法如下。
(1)使用宏块作为编码单元执行基于时间屏幕相关的信息压缩。
(2)将宏块分段为子块,并且执行使用DCT的空间信息压缩。
(3)使用运动补偿帧内预测等执行可变长度编码
(4)采用使用DCT系数的量化尺度(scale)控制来控制所产生的代码总量。
此外,在图像压缩中,通常执行帧内编码来压缩要被压缩的帧与用作参考的帧之间的差异信息。例如,MPEG使用这样的“预测编码”,在该预测编码中,通过自另一时间的像素的信号值的差值表示像素的信号值。具体地说,这是通过在帧内执行预测的“帧内预测”、基于回放屏幕执行预测的“前向帧间预测”和使用之前回放屏幕和将来回放屏幕预测当前屏幕的“双向帧间预测”的组合而实现的。因此,作为由MPEG处理的图像类型,存在三种图像类型,即,仅由内编码(帧内预测)屏幕组成的I画面(内画面)、通过前向帧间预测产生的P画面(预测画面)和通过顺序帧间预测产生的B画面(双向预测画面)。
对于HD(高清)尺寸图像,帧存储器大小范围从大约3兆字节到大约6兆字节。因此,在处理涉及图像编码/解码的图像帧的系统中使用每比特成本低的DRAM。此外,由于DRAM具有较低的速度,因此典型的处理器经常采用具有高速缓存的系统。在典型的高速缓存操作中,在处理器存取的存储器地址上存储临时(contingent)区域的数据,存储器地址被包含在高速缓存中。
当具有上述多处理器配置的信息处理器系统被用于实现针对压缩图像的解码处理时,在由整个系统共享的主存储器中保留用于存储压缩图像数据和解码结果、用于需要诸如帧存储器之类的大容量存储器的数据的区域。因此,自处理器根据宏块解码处理仅需要将数据的必须部分转移到小尺寸的本地存储器,并且执行解码处理。
例如,当解码经历了帧内预测编码的压缩图像时,在主存储器和本地存储器之间的数据转移如下。
(1)转移经压缩的差信号(从主存储器到本地存储器)
(2)转移经预测的图像数据(从主存储器到本地存储器)
(3)转移解码结果(从本地存储器到主存储器)
例如,由于由多个模块共享连接主存储器和本地存储器的总线,并且经常使用低速DRAM作为主存储器,因此主存储器和本地存储器之间的数据转移变为降低整体系统性能的原因。
作为该问题的一个解决方案,可以实施高速缓存。实施高速缓存可以降低存取主存储器的次数,因此可以防止整个解码处理的性能的降低。如图24所示,在具有多处理器配置的系统中,每个子处理器利用其自身的本地存储器作为高速缓存。
在转移压缩信号的情况(1)下,沿时间轴顺序处理经压缩的流数据;因此,执行将临时区域的数据高速缓存在子处理器所存取的存储器地址的典型高速缓存操作可以有助于总是将有效数据存储在高速缓存中。
在将解码结果写回帧存储器的情况(3)下,不需要使用转移结果来执行下一处理;因此,由子处理器侧的转移完成等待引起的性能降低不会发生。
相反,在情况(2)中的经预测的图像数据根据图像的特征,即,帧之间的运动方向和图像速度而变化;因此,高速缓存未命中几率变化。也就是,在将临时区域的数据高速缓存在子处理器存取的存储器地址的典型高速缓存操作中,不能获得足够的高速缓存命中率。
作为高速缓存未命中的结果,数据转移等待发生,中断子处理器的解码处理,并且系统总线的传输量增加。因此,整体系统的性能降低。
[专利文档1]
日本未审察专利申请公开No.2002-342165
[专利文档2]
日本未审察专利申请公开No.2002-351850
[专利文档3]
日本未审察专利申请公开No.2002-358289
[专利文档4]
日本未审察专利中请公开No.2002-366533
[专利文档5]
日本未审察专利申请公开No.2002-366534
发明内容
本发明要解决的问题
本发明的目的是提供允许包含在具有多处理器配置的信息处理设备中的处理器更好地相互协作地操作的高级信息处理系统和信息处理方法以及计算机程序,其中该信息处理设备包括一个或多个子处理器和用于向每个子处理器提供用于执行程序的指令的主处理器。
本发明的另一目的是提供以高性能并且不降低整个系统性能地允许每个子处理器执行由主处理器分配的处理的高级信息处理系统和信息处理方法以及计算机程序。
本发明的又一目的提供允许由整个系统共享的存储器上的数据的处理被分配到每个子处理器,并且允许每个处理器执行所分配的处理而不降低整个系统的性能的高级信息处理系统和信息处理方法以及计算机程序。
本发明的又一目的是提供以高性能并且不降低整个系统性能地允许子处理器执行由整个系统共享的存储器上的压缩图像的解码处理的高级信息处理系统和信息处理方法以及计算机程序。
解决问题的手段
考虑到以上问题来做出本发明,并且本发明的第一方面提供信息处理系统。信息处理系统包括每个都能执行被加载在其自身的本地存储器上的程序的一个或多个子处理器、用于将用于执行程序的指令提供到子处理器的主处理器;和由处理器共享的主存储器。基于当前高速缓存在本地存储器上的数据的特征,分配了主处理器上的数据的处理的子处理器自适应地在主存储器上确定高速缓存区域,该高速缓存区域接下来被高速缓存在本地存储器上。
这里使用的“系统”指的是多个设备(或用于完成特定功能的功能模块)逻辑地集合起来的组合,并且不特定限制是否在单一住宅中提供设备或功能模块。
根据具有包括每个都能执行被加载在其本地存储器上的程序的一个或多个子处理器和用于将用于执行程序的指令提供到子处理器的处理器的多处理器配置的信息处理系统,可以通过子处理器的合作以分布方式处理对于一个处理器来说是高负载处理的处理,或者可以以同步和合作的方式执行两个或多个相关联的数据处理操作。因此,可以向用户提供高功能和高附加值的服务。
在主存储器上的数据的处理期间,每个子处理器可以通过使用其自身的本地存储器作为所谓“高速缓存”来防止存取主存储器的冲突和系统总线传输量的增加。然而,除非高速缓存命中率足够高,否则不能充分利用该优点。
相反,根据本发明,基于同时高速缓存的数据来自适应地确定下一高速缓存区域。因此,在后续数据处理期间命中本地存储器上的高速缓存的几率增加,并且子处理器本身的数据处理性能改善。此外,高速缓存命中可以降低在存取主存储器时系统总线中的传输量,这也可以改善整个系统的性能。
例如,当子处理器用于执行对整个系统共享的主存储器上的压缩图像数据的解码处理时,子处理器基于指示当前被高速缓存在本地存储器上的图像数据的特征的参数,自适应地在主存储器上确定高速缓存区域,该高速缓存区域接下来被高速缓存在本地存储器上。
通常,压缩图像数据经历这样的帧间编码处理,在该处理中,压缩要压缩的帧和用作参考的帧之间的差信息。因此,基于指示图像数据的特征的参数,子处理器能够确定用于产生差信息的参考位置,并且使用参考位置周围的图像数据作为高速缓存区域,其中参考位置位于参考帧中。正如在这里提及的,可以使用利用图像数据编码的图像块运动信息来作为指示图像数据的特征的参数。此外,可以通过基于经编码的图像块运动信息计算图像块的运动方向和速度来预测图像块的操作,以确定高速缓存区域。
在这种情况下,可以存储与数个之前图像块对应的运动信息,并且可以基于x和y坐标方向上的运动速度,通过外插法(extrapolation)确定关于下一图像块的运动信息。
此外,可以持续预测图像块的操作来以投机(speculative)方式执行高速缓存提前读取处理。
甚至当使用运动向量计算图像块的运动方向和速度以确定高速缓存区域时,也限制高速缓存区域。因此,在仅当在高速缓存未命中发生时执行运动预测和高速缓存区域确定时,在某点发生的未命中和转移等待所需的处理使处理性能降低。
因此,无论高速缓存未命中是否发生,都持续预测运动向量,来以投机方式执行高速缓存提前读取处理(read-ahead processing)。在这种情况下,每次都需要运动向量预测处理,但是只要在预测处理中所需的处理负载比在高速缓存未命中期间数据转移等待要小,就可以改善整个系统的性能。与针对每个宏块执行的图像解码处理相比,作为投机高速缓存处理的结果在主存储器和本地存储器之间执行的数据转移在更短的时段内结束。因此,可以有效地执行参考图像数据的高速缓存处理,而不降低解码系统的整体性能。
本发明的第二方面提供计算机程序,在其中以计算机可读格式写用于在包括每个都能执行被加载在其自身的本地存储器上的程序的一个或多个子处理器、用于将用于执行程序的指令提供到子处理器的主处理器和由处理器共享的主存储器的系统上,使主存储器上的数据分配到子处理器并进行执行的处理过程。该计算机程序使计算机系统执行:
将要处理的数据从主存储器转移到子处理器的本地存储器的过程;
使子处理器处理本地存储器上的数据的数据处理过程;
基于在本地存储器上处理的数据的特征自适应地在主存储器上确定高速缓存区域的高速缓存区域确定过程,其中该高速缓存区域接下来被高速缓存在本地存储器上;
确定是否已经在本地存储器上高速缓存了高速缓存区域的过程;和
当高速缓存未命中发生时,将所确定的高速缓存区域从主存储器转移到高速缓存区域的高速缓存数据转移过程。
根据本发明第二方面的计算机程序涉及以计算机可读格式写的计算机程序,使得实现在计算机系统上的预定处理。换句话说,将根据本发明第二方面的计算机程序安装到计算机系统,使其可以在计算机系统上实现合作效果,并且提供与根据本发明第一方面的信息处理系统的优点类似的优点。
本发明的优点
根据本发明,可以提供允许包含在具有多处理器配置的信息处理设备中的每个处理器执行由主处理器分配的处理而不降低整体系统性能的高级信息处理系统和信息处理方法以及计算机程序,其中该信息处理设备包括一个或多个子处理器和用于向每个子处理器提供用于执行程序的指令的主处理器。
此外,根据本发明,可以提供允许将由整个系统共享的存储器上的数据的处理分配到每个子处理器,并且允许每个处理器执行所分配的处理而不降低整体系统的性能的高级信息处理系统和信息处理方法以及计算机程序。
另外,根据本发明,可以提供允许使用子处理器执行由整体系统共享的存储器上的压缩图像的解码处理而不降低整个系统的性能的高级信息处理系统和信息处理方法以及计算机程序。
根据本发明,根据参考图像的特征使用运动向量的运动方向和运动速度来执行高速缓存控制。结果,在宏块解码处理期间参考图像数据的高速缓存命中率的增加降低了转移等待的几率,这可以改善解码系统的处理速度的性能。
此外,根据本发明,在高速缓存中存储可能被命中的数据。因此,当维持与常规系统的性能相同的性能时,可以减小高速缓存的大小。结果,可以降低存储器之间的传输量,使得功率效率改善。
根据本发明和附图,基于下面所述的实施例,本发明的进一步目的、特征和优点将在下面的详细描述中变得更加清楚。
附图说明
图1是显示根据本发明一个实施例的网络系统的配置的图示。
图2包括图解从子处理器23存取主存储器24的过程的图示。
图3是显示软件单元的配置的实例的图示。
图4是显示当DMA命令是状态返回命令时软件单元的数据区域的图示。
图5是显示多个信息处理设备作为虚拟单一信息处理设备操作的状态的图示。
图6是显示信息处理控制器的软件配置的实例的图示。
图7是显示四个信息处理设备作为虚拟单一信息处理设备操作的状态的图示。
图8是显示图7所示的系统中的分布处理的实例的图示。
图9是显示信息处理设备和系统的特定实例的图示。
图10是显示图9所示的硬盘记录器的硬件配置的图示。
图11是显示图9所示的硬盘记录器的软件配置的图示。
图12是显示图9所示的PDA的硬件配置的图示。
图13是显示图9所示的PDA的软件配置的图示。
图14是显示图9所示的便携CD式播放器的硬件配置的图示。
图15是显示图9所示的便携CD式播放器的软件配置的图示。
图16是示意性显示当一个子处理器执行图像解码处理时具有多处理器配置的系统的功能配置的图示。
图17是显示用于解码压缩图像信号的基本操作过程的流程图。
图18是显示用于在参考图像中获得用于预测的图像数据的位置(高速缓存区域)的处理过程的流程图。
图19是显示用于在参考图像中获得用于预测的图像数据的位置(高速缓存区域)的处理过程的流程图。
图20是图解基于当前宏块和周围运动向量预测将针对下一宏块解码的运动向量的处理过程的图示。
图21包括图解用于基于运动向量确定要高速缓存的帧区域的处理过程的图示。
图22是图解用于计算高速缓存区域的方法的图示。
图23是显示用于在参考帧中获得用于预测的图像数据的位置(高速缓存区域)的处理过程的流程图。
图24是示意性显示用于实现网格计算的信息处理系统的配置的实例的图示。
附图标记
10、11、12...信息处理设备
20...虚拟信息处理设备
30...本地网络
40...通信网络
50...服务器
60...功能信息数据库
61...软件数据库
71...信息处理设备功能数据库
72...功能数据库
73...合作功能数据库
具体实施方式
将在下面参照附图详细描述本发明的实施例
A.系统配置
根据本发明,两个或多个信息处理设备之间的操作最好通过家庭网络链接,以使得容易并有效地执行放置在不同位置处的装置的视频记录预约操作。利用通过装置的合作操作来实现高计算性能的网格计算技术以便链接网络上的装置。
图1示意性显示通过采用网格计算配置的网络系统的配置。
术语“网络”包括因特网和/或其他广域网,而术语“广域网”包括经由网关等连接的、诸如LAN(局域网)和/或家庭网络之类的专用网络。可以使用诸如10Base-T、100Base-TX或千兆以太网之类的标准网络接口实现家庭网络。还可以使用UPnP(universal plug and play,即插即用)作为用于检测家庭网络上的其它装置的方案。使用UPnP,多个联网的装置交换以XML(扩展标记语言)格式所写的定义文件,以通过寻址处理、发现处理和服务请求处理执行相互验证。作为选择,这还可以通过广播在其中写入同一段内的特定设备信息的分组来实现。
通过网络连接多个信息处理设备。该信息处理设备的实例包括具有存储介质和视频记录预约功能的AV装置,诸如DVD录像机和HD录像机;不具有记录功能的仅回放AV装置,诸如光盘;和其它信息处理设备。信息处理设备的其它实例包括计算机处理系统,诸如PDA和个人计算机。在图1所示的实例中,通过网络9连接多个信息处理设备1、2、3和4。
A-1.信息处理设备和信息处理控制器
例如,信息处理设备1、2、3和4是各种类型的AV(音频和视频)装置和便携装置(下面描述)。
如图所示,信息处理设备1具有作为计算机功能单元的信息处理控制器11。信息处理控制器11包括主处理器21-1、子处理器23-1、23-2和23-3、DMAC(直接存储器存取控制器)25-1和DC(盘控制器)27-1。最好信息处理器控制器11被配置为单芯片IC(集成电路)。
主处理器21-1执行由子处理器23-1、23-2和23-3执行的程序(数据处理)的调度管理以及信息处理控制器11(信息处理设备1)的整体管理。还可以配置成使得在主处理器21-1中运行除用于执行管理的程序之外的程序。在这种情况下,主处理器21-1还用作子处理器。主处理器21-1具有LS(本地存储器)22-1。
虽然包含在一个信息处理设备中的子处理器的数量可以是1,但是其最好是2或更多。所图解的实例对应于子处理器的数量是2或更多的情况。在主处理器21-1的控制下,子处理器23-1、23-2和23-3并行或独立地执行程序来处理数据。此外,在某些情况下,主处理器21-1的程序还可以与子处理器23-1、23-2和23-3中的程序合作地运行。子处理器23-1、23-2和23-3还分别具有LS(本地存储器)24-1、24-2和24-3。
DMAC(直接存储器存取控制器)25-1存取存储在主存储器26-1中的程序和数据,并且将其与信息处理控制器11连接,而不受任何处理器的干扰,其中例如,使用DRAM(动态RAM)实现主存储器26-1。DC(盘控制器)27-1控制存取连接到信息处理控制器11的外部存储器28-1和28-2的操作。
外部存储器28-1和28-2可以是固定盘(硬盘)或可拆卸盘。可以使用各种存储介质,诸如MO(磁盘)、诸如CD±RW和DVD±RW之类的光盘、存储器盘、SRAM(静态RAM)和ROM。虽然DC27-1指的是“盘控制器”,但其实质上是外部存储单元控制器。如图1所示,可以将信息处理控制器11配置成使得多个外部存储器单元28是可连接的。
主处理器21-1、子处理器23-1、23-2和23-3、DMAC 25-1和DC27-1经由总线29-1互连。
将允许合并信息处理控制器11的信息处理设备1在整个网络中被唯一标识的标识符分配给信息处理控制器11,来作为信息处理设备ID。类似地,将允许主处理器21-1和子处理器23-1、23-2和23-3被分别表示的标识符分配给它们,来作为主处理器ID和子处理器ID。
由于以相同的方式配置其它信息处理设备2、3和4,所以在这里省略其描述。这里,假设除非另外特地指出,具有相同父号的单元,即使其具有不同的分支号,也以相同的方式操作。还假设当在下面的描述中省略分支号时,分支号的差异不引起差异。
A.2从每个子处理器到主存储器的存取
如上所述,在一个信息处理控制器中的子处理器23相互独立地执行程序以处理数据。因此,当不同的子处理器同时执行从主存储器26的同一区域读取或向主存储器26的同一区域写入时,可能发生数据误匹配。因此,根据下面的过程执行从子处理器23到主存储器26的存取。
图2(A)显示主存储器26中的存储单元(location)。如图所示,主存储器26包括允许多个地址被指定的存储器单元(memory location)。将用于存储指示数据状态的信息的附加段分配给每个存储器单元。附加段包括F/E位、子处理器ID和LS地址(本地存储器地址)。还将在下面描述的存取密钥分配给每个存储器单元。F/E位定义为如下。
F/E位=0指示该数据是正在由子处理器23读取并处理的数据,或者该数据是由于空白状态(blank state)而不是最新数据的无效数据,因此指示禁止读取。F/E位=0还指示数据可以被写入对应的存储器单元,并且在写入之后将F/E位设置为1。
F/E位=1指示在对应存储器单元的数据还未被子处理器23读取,因此是未经处理的最新数据。在对应的存储器单元的数据是可读的,并且在由子处理器23读取之后将F/E位设置为0。F/E位=1还指示该数据不能写入到该对应存储器单元。
此外,在上述F/E位=0(读取禁止/写入使能)的状态下,可以关于对应存储器单元设置读取预约。当要对F/E位=0的存储器单元执行读取预约时,子处理器23向要执行读取预约的存储器单元的附加段写入子处理器23的子处理器ID和LS地址来作为读取预约信息。
其后,当数据写入侧的子处理器23将数据写入到执行了读取预约的存储器单元,并且将F/E位设置为1(读取使能/写入禁止)时,根据预先作为读取预约信息写入附加段的子处理器ID和LS地址来执行读取。
当需要由多个子处理器以多级(stage)方式处理数据时,如上所述,在每个存储器单元中控制数据读取/写入允许用于执行后续级处理的一个子处理器23在用于执行前一级处理的另一子处理器23将经处理的数据写入主存储器26的预定地址后,立即读取经预处理的数据。
图2(B)显示每个子处理器23的LS24中的存储器单元。如图所示,每个子处理器23中的LS24还包括允许多个地址被指定的存储器单元。类似地,将附加段分配给每个存储器单元。附加段包括占用位(busy bit)。
当子处理器23将主存储器26中的数据读取到其本身LS 24的存储器单元时,子处理器23将对应的占用位设置为1来作出预约。不能将其它数据存储在具有占用位1的存储器单元。在将数据读取到LS 24中的存储器单元后,占用位变为0,因此可以将该存储器单元用于任意目的。
如图2(A)所示,在连接到每个信息处理控制器的主存储器26中还包含在主存储器26中定义区域的多个沙盒(sandbox)。主存储器26包括多个存储器单元,并且沙盒是那些存储器单元的集合。针对每个子处理器23分配每个沙盒,并且每个沙盒可以由对应的子处理器排他地使用。也就是,每个子处理器23可用使用分配给它的沙盒,但是不能存取超出该区域的数据。
进一步使用图2(C)中所示的密钥管理表,以便实现主存储器的排他控制。在信息处理控制器中的、诸如SRAM之类的相对高速存储器中存储密钥管理表,并且将其与DMAC 25相关联。密钥管理表中的项目包括子处理器ID、子处理器密钥和密钥(掩码)。
子处理器23使用主存储器26的处理如下。首先,子处理器23向DMAC25输出读取命令或写入命令。该命令包含子处理器23的子处理器ID和作为使用请求目标的主存储器26的地址。
在执行该命令之前,DMAC 25参考密钥管理表来检查作为使用请求源的子处理器的子处理器密钥。接下来,DMAC 25将使用请求源的所检查的子处理器密钥与分配给作为使用请求目标的主存储器26的存储器单元的存取密钥相比较,存储器单元如图2(A)所示。只有当两个密钥相互匹配时,DMAC25才执行上述命令。
当图2(C)所示的密钥管理表上的密钥掩码的任意位变为1时,与密钥掩码相关联的子处理器密钥的对应位变为0或1。
例如,假设子处理器密钥为1010。通常,使用子处理器密钥(key),只能存取到具有存取密钥1010的沙盒。然而,当将与子处理器密钥相关联的密钥掩码设置为0001时,在子处理器密钥和存取密钥之间的匹配确定中,屏蔽密钥掩码(key mask)的位设置为1的数字。因此,使用处理器密钥1010,可以存取具有存取密钥为1010或1011的沙盒。
如上所述,实现主存储器26中的沙盒的排他性。也就是,当在一个信息处理控制器中提供的多个子处理器需要以多级方式处理数据时,只有用于执行之前级处理的子处理器和用于执行后续级处理的子处理器可以存取主存储器26中的预定地址,因此可以保护数据。
如下所述,例如,可以使用这样的排他性存储器控制。首先在信息处理设备刚启动之后,所有密钥掩码的值都为0。假设执行在主处理器中的程序,并且与子处理器中的程序合作地操作。当希望将从第一子处理器输出的处理结果数据临时存储在主存储器中,并且将处理结果输入到第二子处理器时,必须可以从这两个子处理器自然地存取对应的主存储器区域。在这种情况下,主处理器中的程序合适地改变密钥掩码的值来提供可以从多个子处理器存取主存储器,使得子处理器可以执行多级处理。
更具体地,当根据来自另一信息处理设备的数据→由第一子处理器处理→第一主存储器区域→由第二处理器处理→第二主存储器区域的过程执行多级处理时,使用下面的设置,第二处理器不能存取第一主存储器区域:
第一子处理器的子处理器密钥:0100,
第一主存储器的存取密钥:0100,
第二子处理器的子处理器密钥:0101,以及
第二主存储器的存取密钥:0101。
因此,将第二子处理器的密钥掩码设置为0001允许第二子处理器存取第一主存储器区域。
A.3软件单元的产生和配置
在图1所示的网络系统中,由于在信息处理设备1、2、3和4之间的分布处理,在信息处理设备1、2、3和4之间传送软件单元。也就是,包含在一个信息处理设备中的信息处理控制器中的主处理器21可以通过产生包含命令、程序和数据的软件单元,并通过网络9将该软件单元传送到另一信息处理设备来分布处理。
图3显示软件单元的结构的一个实例。所示的软件单元包括传输源ID、传输目的地ID、应答目的地ID、单元接口、DMA命令、程序和数据。
传输源ID包括用作软件单元的传输源的信息处理设备的网络地址、在信息处理设备中的信息处理控制器的信息处理设备ID和包含在信息处理设备中的信息处理控制器的主处理器21和子处理器23的标识符(主处理器ID和子处理器ID)。
传输目的地ID和应答目的地ID包含关于用作软件单元的传输目的地的信息处理设备和用作软件单元的执行结果的应答目的地的信息处理设备的相同信息。
单元接口是使用软件单元所需的信息,并且由全局ID、必要的子处理器信息、沙盒大小和之前软件单元ID组成。
全局ID允许软件单元在整个网络中被唯一标识,并且基于传输源ID和软件单元的创建或传输的数据/时间(时间和时间)创建。
作为必要的子处理器信息,设置用于执行软件单元所需的必要子处理器的数量。将用于执行软件单元所需的、在主存储器26和子处理器23中的LS24中的存储器量设置为沙盒大小。
之前软件单元ID是在请求顺序执行流数据等的一组软件单元中的之前软件单元的标识符。
软件单元的执行部分由DMA命令、程序和数据组成。DMA命令包含启动程序所需的一系列DMA命令,而程序包括子处理器23要执行的子处理器程序。在这种情况下,由包括子处理器程序的程序处理数据。
DMA命令还包括加载命令、踢出命令(kick command)、功能程序执行命令、状态请求命令和状态返回命令。
加载命令是用于将在存储器26中的信息加载到子处理器23的LS 24中的命令,并且除了加载命令之外还包括主存储器地址、子处理器ID和LS地址。主存储器地址表示作为信息加载源的主存储器26中的预定区域的地址。子处理器ID和LS地址分别指示作为信息加载目的地的子处理器23的标识符和LS 24的地址。
踢出命令是用于初始化程序执行的命令,并且除踢出命令本身还包括子处理器ID和程序计数器。子处理器ID标识要被踢出的子处理器23,并且程序计数器提供用于程序执行程序计数器的地址。
功能程序执行命令是一个信息处理设备通过其向另一信息处理设备提供用于执行功能程序的请求的命令(下面描述)。已经接收到功能程序执行命令的信息处理设备的信息处理控制器基于功能程序ID(下面描述)标识要启动功能程序。
状态请求命令是用于向由应答目的地ID指示的信息处理设备提供用于传送关于由传输目的地ID指示的信息处理设备的当前操作状态(状态)的设备信息的请求的命令。下面描述的功能程序是在信息处理控制器中的主存储器26中存储的软件配置中被分类为功能程序的程序,在图6的图示中显示了该配置。将该功能程序加载到主存储器26中,并且由主处理器21执行。
该状态返回命令是已经接收到状态请求命令的信息处理设备通过其向包含在状态请求命令中的应答目的地ID所指示的信息处理设备返回该设备自身的设备信息的命令。该状态返回命令在执行部分中的数据区域中存储该设备信息。
图4显示当DMA命令是状态返回命令时软件单元的数据区域的结构。
信息处理设备ID是用于标识具有信息处理控制器的信息处理设备的标识符,并且表示传送状态返回命令的信息处理设备的ID。当供电时,基于供电的数据/时间、信息处理设备的网络地址、包含在信息处理设备中的信息处理控制器中的子处理器23的数量等,由包含在信息处理设备中的信息处理控制器中的主处理器21产生该信息处理设备ID。
信息处理设备类型ID包含表示信息处理设备特征的特征的值。这里提及的信息处理设备特征包括硬盘录像机(下面描述)、PDA(个人数字助理)和便携CD(光盘)播放器。信息处理设备类型ID还可以指示信息处理设备的功能,诸如视频/音频功能或视频/音频回放功能。此外,预定表示特征和/或信息处理设备的功能的值。取回信息处理设备类型ID使得可以识别信息处理设备的特征和/或功能。
正如将在下面描述的那样,MS(主/从)状态指示信息处理设备操作为主设备还是从设备。当将MS状态设置为0时,其指示信息处理设备正在操作为主设备,而当将MS状态设置为1时,其指示信息处理设备正在操作为从设备。
主处理器操作频率指示信息处理控制器中的主处理器21的操作频率。主处理器使用率指示关于同时运行在主处理器21上的所有程序的主处理器21的使用率。主处理器使用率是指示使用中的处理能力与对应的主处理器的整体处理能力的比率的值。例如,以MIPS[每秒百万指令]确定主处理器使用率,该MIPS为评估处理器处理能力的单位,或者基于每单位时间的处理器使用时间来确定使用率。这还可以应用到下面描述的子处理器使用率。
子处理器的数量指示包含在信息处理控制器中的子处理器23的数量。子处理器ID是用于表示信息处理控制器中的每个子处理器23的标识符。
子处理器状态指示每个子处理器23的状态,并且其实例包括“未使用”、“保留”和“占用”状态。“未使用”状态指示子处理器既不在使用中,也未保留来使用。“保留”状态指示子处理器当前不在使用,但是被保留。“占用”装置子处理器当前在使用中。
子处理器使用率指示关于当前由子处理器执行的程序或保留来由子处理器执行的程序的子处理器使用率。也就是,当子处理器状态是“占用”时,子处理器使用率指示当前使用率,而当子处理器状态是“保留”时,子处理器使用率指示要随后使用的子处理器的估算使用率。
针对一个子处理器23设置一组子处理器ID、子处理器状态和子处理器使用率,并且设置与一个信息处理控制器中的子处理器23的数量对应的组数。
主存储器总容量和主存储器使用量分别指示连接到信息处理控制器的主存储器26的总容量和当前使用容量。
外部存储器的数量指示连接到信息处理控制器的外部存储器28的数量。外部存储器ID是用于唯一标识连接到信息处理控制器的一个外部存储器28的信息。外部存储器类型ID指示外部存储器的类型(如,硬盘、CD±RW、DVD±RW、存储器盘、SRAM或ROM)。
外部存储器总容量和外部存储器使用量分别指示由外部存储器ID指示的外部存储器28的总容量和当前使用容量。
针对一个外部存储器28设置一组外部存储器ID、外部存储器类型ID、外部存储器总容量和外部存储器使用量,并且根据连接到信息处理控制器的外部存储器28的数量来设置组数。也就是,当多个外部存储器连接到一个信息处理控制器时,将不同的外部存储器ID分配给相应外部存储器,并且还相互独立地管理外部存储器类型ID、外部存储器总容量和外部存储器使用量。
A.4软件单元的执行
包含在一个信息处理设备中的信息处理控制器中的主处理器21产生具有上述结构的软件单元,并且将软件单元通过网络9传送到另一信息处理设备和信息处理设备中的信息处理控制器。由上述对应的传输源ID、传输目的地ID和应答目的地ID标识用作传输源的信息处理设备、用作传输目的地的信息处理设备、用作应答目的地的信息处理设备和每个设备中的信息处理控制器。
包含在已经接收到软件单元的信息处理设备中的信息处理控制器中的主处理器21将软件单元存储在主存储器26中。传输目的地的主处理器21读取软件单元并处理包含在其中的DMA命令。
具体地,传输目的地的主处理器21首先执行加载命令。在响应中,将信息从由加载命令指示的主存储器地址加载到子处理器的LS 24的预定区域中,预定的区域由子处理器ID标识,而LS地址包含在加载命令中。在这种情况下加载的信息是包含在所接收到的软件单元中的子处理器程序或数据,或其它特定数据。
接下来,主处理器21向由包含在踢出命令中的子处理器ID指定的子处理器输出踢出命令以及其中包含的程序计数器。
指定的子处理器根据踢出命令和程序计数器执行子处理器程序。在其执行结果被存储在主存储器26之后,向主处理器21发出指示执行完成的通知。
在用作传输目的地的信息处理设备中的信息处理控制器中,用于执行软件单元的处理器不限于子处理器23。还可以执行主处理器21,以便其执行包含在软件单元中的、诸如功能程序之类的主存储器程序。
在这种情况下,用作传输源的信息处理设备向传输目的地的信息处理设备传送包含要由主存储器程序处理的主存储器程序和数据,而不是子处理器程序,并且其包括用作加载命令的DMA命令。传输目的地的信息处理设备然后将经处理的主存储器程序和数据存储在主存储器26中。
接下来,传输源的信息处理设备向用作传输目的地的信息处理设备传送包含用作踢出命令的DMA命令或功能程序执行命令、并包括关于传输源的信息处理设备中的信息处理控制器的主处理器ID和主存储器地址、用于标识主存储器程序的标识符(诸如下述的功能程序ID)和程序计数器的软件单元。然后,传输源的信息处理设备使主处理器21执行主存储器程序。
如上所述,在根据本实施例的网络系统中,用作传输源的信息处理设备以软件单元的形式向用作传输目的地的信息处理设备传送子处理器程序或主处理器程序,并且还使子处理器程序加载到包含在用作传输目的地的信息处理设备的信息处理控制器中的子处理器,以便用作传输目的地的信息处理设备可以执行子处理器程序或主处理器程序。
当包含在所接收到的软件单元中的程序是子处理器程序时,用作传输源的信息处理设备中的信息处理控制器将子处理器程序加载到指定的子处理器中。然后,信息处理控制器使包含在软件单元中的子处理器程序或主存储器程序被执行。
因此,无需用户操作用作传输目的地的信息处理设备,可以由用作传输目的地的信息处理设备中的信息处理控制器自动地执行子处理器程序或主存储器程序。
以这种方式,当信息处理设备自身的信息处理控制器不具有子处理器程序或诸如功能程序之类的主存储器程序时,信息处理设备可以从连接到网络的另一信息处理设备获得程序。此外,子处理器可以基于DMA系统在它们之间转移数据。此外,甚至当一个信息处理控制器需要以多级方式处理数据时,使用上述沙盒也允许以高速和高安全性执行处理。
A.5作为网络系统的分布处理
图5显示多个信息处理设备作为虚拟单一信息处理设备操作的状态。作为使用软件单元的分布处理的结果,如图上半部所示连接到网络9的信息处理设备1、2、3和4作为如图下半部所示的虚拟单一信息处理设备7操作。然而,为了实现这样的虚拟操作,需要由下述的配置执行下述处理。
A.6系统的软件配置和程序的加载
图6显示存储在每个信息处理控制器中的主存储器26中的软件的配置。在向信息处理设备供电之前,将软件(程序)记录在连接到信息处理控制器的外部存储器28中。通过程序的功能或特征将它们分类为控制程序、功能程序和装置驱动器。
在信息处理控制器中包含相同的控制程序。由每个信息处理控制器中的主处理器21执行控制程序,并且这些程序包括将在下面描述的MS(主/从)管理器和能力(capability)交换程序。
由主处理器21执行功能程序,并且针对每个信息处理控制器提供与信息处理设备对应的用于记录、回放和材料搜索的功能程序等。
设备驱动器用于信息处理控制器(信息处理设备)的输入/输出(传输/接收),并且针对每个信息处理控制器提供与信息处理设备对应的用于广播接收、监视器输出、位流输入/输出、网络输入/输出等。
在信息处理设备物理地通过电缆插入连接到网络9的情况下,当向信息处理设备供电来使该信息处理设备电连接并功能连接到网络9时,信息处理设备中的信息处理控制器中的主处理器21将属于控制程序的每个程序和属于装置驱动器的每个程序加载到主存储器26。
在加载程序的过程中,主处理器21首先使DC 27执行用于从外部存储器28读取程序的读取命令,然后使DMAC 25执行写入命令来将所读取的程序写入主存储器26。
可以配置属于功能程序的每个程序,使得当需要时只将必要的程序加载到存储器。作为选择,与属于其它类别的程序类似,还可以配置属于功能程序的每个程序,使得在供电后立即加载程序。
不必将属于功能程序的每个程序记录在连接到网络的所有信息处理设备的外部存储器28中。也就是,只要将属于功能程序的程序记录在信息处理设备之一的外部存储器28中,就可以通过上述方法来从另一信息处理设备加载它。因此,如图5的下半部所示,可以由虚拟单一信息处理设备7执行功能程序。
在这种情况下,如上所述,由主处理器21处理过的功能程序可以与由子处理器23处理过的子处理器程序合作地操作。因此,当主处理器21从外部存储器28读取功能程序,并且在写期间与目标功能程序合作地操作的子处理器程序存在时,还将子处理器程序一起写入同一主处理器26。在这种情况下,相互合作地操作的子处理器的数量可以是一个,也可以是两个或更多。当子处理器程序的数量是两个或更多时,将相互合作地操作的所有子处理器程序被写入到主存储器26。然后将写入到主存储器26的子处理器程序写入到子处理器23中的LS 24,并且与主处理器21处理功能程序合作地操作。
此外,将子处理器ID分配给子处理器程序以允许唯一标识子处理器程序。所分配的子处理器ID可以是与子处理器程序所合作地操作的功能程序的功能程序ID相关联的标识符,例如,其中功能程序ID用作父号并将分支号添加到父号的尾部的标识符。作为选择,所分配的处理器程序ID可以是不与子处理器程序所合作操作的功能程序的功能程序ID相关联的标识符。在任何情况下,当功能程序和子处理器程序相互合作操作时,每个程序需要在其自身程序中存储其它程序的程序ID,该程序ID是其标识符。此外,当功能程序与多个子处理器程序合作操作时,该功能程序还存储所有的子处理器程序的子处理器程序ID。
如图3中的软件单元所示,向功能程序分配允许唯一标识每个功能程序的标识符来作为功能程序ID。在创建功能程序期间,基于创建日期和时间和信息处理设备ID确定功能程序ID。
主处理器21在主存储器26中保留用于存储其中主处理器21操作的信息处理设备的设备信息(关于操作状态的信息),并且记录设备信息作为用于信息处理设备的设备信息表。这里提及的设备信息表示图4所示的状态返回命令的数据区域中的信息处理设备ID之后的信息。
A.7系统中主/从的确定
在上述网络系统中,在针对一个信息处理设备供电之后,信息处理设备中的信息处理控制器中的主处理器21将主/从管理器(下面称为“MS管理器”)加载到主存储器26并执行MS管理器。
当MS管理器检测到信息处理设备(该MS在该设备上操作)连接到网络9时,其检查连接到同一网络9的另一信息处理设备的存在。如上所述,在这种情况下,术语“连接”或“存在”不仅指示信息处理设备物理连接到网络9,而且指示信息处理设备电连接并功能连接到网络9。
MS管理器在其上操作的信息处理设备称为“自身设备”,而另一信息处理设备称为“另一设备”。该设备也称为信息处理设备。
将在下面描述MS管理器检查连接到同一网络9的另一信息处理设备的存在的方法。
MS管理器产生包含用作状态请求命令的DMA命令、指示信息处理设备的传输源ID和应答目的地ID和未指定的传输目的地ID的软件单元。然后,MS管理器将软件单元传送到信息处理设备所连接的网络,并且设置网络连接检查定时器。例如,定时器的超时时间是10分钟。
当另一信息处理设备连接到网络系统中时,其它设备接收包含状态请求命令的软件单元,并且将包含用作状态返回命令的DMA命令并包含自身设备(其它设备)的设备信息作为数据的软件单元传送到发出请求命令并由应答目的地ID标识的信息处理设备。包含状态返回命令的软件单元至少包括用于标识其它设备的信息(信息的实例包括信息处理设备ID、关于主处理器的信息和关于子处理器的信息)和其它设备的MS状态。
发出状态请求命令的信息处理设备的MS管理器监视从网络上另一装置传送的包含状态返回命令的软件单元,直到网络连接检查定时器超时为止。作为结果,当接收到指示MS状态=0(主设备)的状态返回命令时,将在自身设备的设备信息表中的MS状态设置为1。因此,该设备变为从设备。
另一方面,当直到网络连接检查定时器超时还未接收到状态返回命令,或者当没有接收到指示MS状态=0(主设备)的状态返回命令时,将自身设备的设备信息表中的MS状态设置为0。因此,该设备变为主设备。
也就是,在任何设备不连接到网络9或在网络9上不存在主设备的情况下,当新设备连接到网络9时,将该设备自动设置为主设备。另一方面,在网络9上已经存在主设备的情况下,当新设备连接到网络9时,将该设备自动设置为从设备。
在主设备和从设备的任一的情况下,MS管理器通过周期地向网络9上的其它设备传送状态请求命令并作出关于该状态信息的查询来监视其它设备的状态。结果,由于连接到网络9的信息处理设备的主电源切断或信息处理设备从网络9断开,因此当网络9的连接状态改变时,例如,当在用于确定而预设的预定周期中未从另一特定设备返回状态返回命令,或者当新信息处理设备连接到网络9时,将表示改变的信息发送到下面描述的能力交换程序。
A.8获得主设备和从设备中的设备信息
当主处理器21从MS管理器接收指示关于连接到网络9的另一信息处理设备的查询以及自身设备的MS状态设置完成的通知时,主处理器21执行能力交换程序。
当自身设备是主设备时,能力交换程序获得关于连接到网络9的所有其它信息处理设备的设备信息,即每个从设备的设备信息。
如上所述,可以通过产生包含用作状态请求命令的DMA命令的软件单元,将软件单元传送到其它设备,然后接收包含用作状态返回命令的DMA命令并包含其它设备的设备信息作为数据的软件单元来获得另一设备的设备信息。
以与用作主设备的自身设备的设备信息表相同的方式,能力交换程序在自身设备的主存储器26中保留用于存储关于连接到网络9的所有其它设备(从设备)的设备信息,并且以用于其它设备(从设备)的设备信息表的形式记录设备信息。也就是,以设备信息表的形式将连接到网络9的所有信息处理设备(包括自身设备)的设备信息记录在主设备的主存储器26中。
另一方面,当自身设备是从设备时,能力交换程序获得关于连接到网络9的所有其它设备的设备信息,即除主设备和自身设备之外的每个从设备的设备信息,并且将包含在设备信息中的信息处理设备ID和MS状态记录到自身设备的主存储器26中,也就是,在从设备的主存储器26中,以设备信息表的形式记录自身设备的设备信息,并且还以其它设备信息表的形式记录除自身设备之外的、连接到网络9的主设备和所有从设备的信息处理设备ID和MS状态。
此外,关于任何主设备和从设备,如上所述,当能力交换程序从MS管理器接收指示信息处理设备新近连接到网络9的通知时,如上所述,能力交换程序获得该信息处理设备的设备信息,并且将设备信息记录在主存储器26中。
主处理器21不是必须执行MS管理器和能力交换程序,而是可以由任意子处理器23执行。最好MS管理器和能力交换程序是在针对信息处理设备供电的同时持续操作的驻留程序。
A.9当信息处理设备从网络断开时
如上所述,关于任意主设备和从设备,当能力交换程序从MS管理器接收指示连接到网络9的信息处理设备的主电源被切断或信息处理设备从网络9断开的通知时,能力交换程序从自身设备的主存储器26中删除信息处理设备的设备信息表。
此外,如上所述,当从网络9断开的信息处理设备是主设备时,通过下述方法确定新的主设备。
例如,未与网络9断开的信息处理设备使用数字值代替自身设备和其它设备的信息处理设备ID,并且将自身设备的信息处理设备ID与其它设备的信息处理设备ID相比较。如上所述,当自身设备的信息处理设备ID在未与网络9断开的信息处理设备中是最小时,该从设备改变为主设备,并且将MS状态设置为0。作为主设备,该设备还从连接到网络的所有其它信息处理设备(从设备)获得设备信息,并且将设备信息记录在主存储器26中。
A.10基于设备信息的分布处理
如图5的下半部所示,为了使连接到网络9的多个信息处理设备1、2、3和4作为虚拟单一信息处理设备7操作,需要主设备识别用户操作和从设备的操作状态。
图7显示四个信息处理设备作为虚拟单一信息处理设备7操作的情况。在所示的实例中,假设信息处理设备1作为主设备操作,而信息处理设备2、3和4分别作为从设备A、B和C操作。
当用户操作连接到网络9的信息处理设备,并且该设备是主设备1时,由主设备1直接识别操作的信息。当所操作的设备是从设备时,将操作信息自从设备传送到主设备1。也就是,无论由用户操作的设备是主设备还是任何从设备,总是由主设备1识别操作信息。例如,使用包含用作操作信息传输命令的DMA命令的软件单元来传送操作信息。
根据操作信息,包含在主设备1中的信息处理控制器11中的主处理器21-1选择要执行的功能程序。在选择期间,当需要时,包含在主设备1中的信息处理控制器11中的主处理器21-1通过上述方法将功能程序从自身设备的外部存储器28-1或28-2加载到主存储器26-1。然而,另一信息处理设备(从设备)可以将功能程序传送到主设备1。
功能程序指定在每次执行时需要的设备相关要求规范(参照图4)。要求规范的实例包括信息处理设备ID、主处理器或子处理器处理能力、主存储器使用量和关于外部存储器的状态。
包含在主设备1中的信息处理控制器11中的主处理器21-1读取每个功能程序所需的要求规范。主处理器21-1还参考通过能力交换程序预先记录在主存储器26-1中的设备信息表,来读取每个信息处理设备的设备信息。在这种情况下,设备信息指的是图4所示的信息处理设备ID之后的信息,并且是关于主处理器、子处理器、主存储器和外部存储器的信息。
包含在主设备1中的信息处理控制器11中的主处理器21顺序地将连接到网络9的每个信息处理设备的上述设备信息与用于执行功能程序所需的上述要求规范相比较。
例如,当功能程序需要视频记录功能时,基于信息处理设备类型ID仅标识并提取具有视频记录功能的信息处理设备。此外,将可以确保需要执行功能程序所需的主处理器或子处理器能力、主存储器使用量和外部存储器相关状态的从设备标识为执行请求候选设备。当在这种情况下标识多执行请求候选设备时,指定并选择执行请求候选设备之一。
当指定要向其发出执行请求的从设备时,包含在主设备1中的信息处理控制器11中的主处理器21-1更新所指定的从设备的设备信息表,将设备信息表记录在自身设备中的信息处理控制器所包含的主存储器26-1中。
包含在主设备1中的信息处理控制器11中的主处理器21-1还产生包含用作功能程序执行命令的DMA命令的软件单元,并且在软件单元的单元接口中设置子处理器信息和功能程序所需的沙盒大小(见图3)。然后主处理器21-1将软件单元传送到要向其发出执行请求的从设备。
已经向其发出功能程序执行请求的从设备执行功能程序,并且更新自身设备的设备信息表。在处理期间,当需要时,包含在从设备中的信息处理控制器中的主处理器21通过上述方法将功能程序和与功能程序合作地操作的子处理器程序从自身设备的外部存储器加载到主存储器26。
可以配置系统,使得当在向其发出功能程序执行请求的从设备的外部存储器28中未记录必要的功能程序或与功能程序合作操作的子处理器程序时,另一信息处理设备将功能程序或子处理器程序传送到向其发出功能程序执行请求的从设备。
还可以通过使用上述加载命令和踢出命令来由另一信息处理设备执行子处理器程序。
在执行功能程序后,包含在已经执行功能程序的从设备中的信息处理中的主处理器21将完成通知传送到包含在主设备1中的信息处理控制器11中的主处理器21-1,并且还更新自身设备的设备信息表。包含在主设备1中的信息处理控制器11中的主处理器21-1接收完成通知,并且更新已经执行功能程序的从设备的设备信息表。
包含在主设备1中的信息处理控制器11中的主处理器21-1基于自身设备和其它设备的设备信息表的参考结果,可以选择自己作为可以执行功能程序的信息处理设备。在这种情况下,主处理器1执行功能程序。
将参照图8描述,在图7所示的实例中,当用户操作从设备A(信息处理设备2),并且另一从设备B(信息处理设备3)执行与操作对应的功能程序时执行的分布处理。
在图8所示的实例中,当用户操作从设备A时,开始包括从设备A的整个网络的分布处理,并且首先,从设备A向主设备1传输操作的信息(步骤81)。
主设备1接收操作信息(步骤72)。主设备1还基于自身设备和其它设备的设备信息表来检查每个信息处理设备的操作状态,该设备信息表记录在自身设备的主存储器26-1中,并且选择可以执行与所接收的操作信息对应的功能程序的信息处理设备(步骤73)。在所示的实例中显示了选择从设备B的情况。
接下来,主设备1向所选择的从设备B发出用于执行功能程序的请求(步骤74)。
从设备B接收执行请求(步骤95),并且进一步执行针对已经发出执行请求的功能程序(步骤96)。
如上所述,通过仅操作一个信息处理设备,用户可以使多个信息处理设备1、2、3和4作为虚拟单一信息处理设备7操作,而不操作其它信息处理设备。
A.11每个信息处理设备和系统的特定实例
只要将通过网络9互连的信息处理设备1、2、3和4设计为使得上述的信息处理控制器11、12、13和14处理信息,它们就可以实质上具有任意配置。图9显示信息处理设备的配置的一个实例。
具有信息处理控制器11的信息处理设备1的一个实例是硬盘录像机。图10和11分别显示图9所示的硬盘录像机的硬件配置和软件配置。配置硬盘录像机的硬件,使得可以将硬盘作为图1所示的外部存储器28-1合并,并且可以将诸如DVD±R/RW、CD±R/RW或蓝光盘(注册商标)之类的光盘作为图1所示的外部存储器28-2加载。此外,广播接收机32-1、视频输入单元33-1、音频输入单元34-1、视频输出单元35-1、音频输出单元36-1、操作面板单元37-1、遥控光接收机38-1和网络连接单元39-1连接到总线31-1,而该总线31-1连接到信息处理控制器11的总线29-1。
广播接收机32-1、视频输入单元33-1和音频输入单元34-1接收来自信息处理设备1外部的广播信号或输入视频信号和音频信号,将信号转换为具有相应预定格式的数字数据,并且将数字数据发送到总线31-1,以由信息处理控制器11进行处理。视频输出单元35-1和音频输出单元36-1处理从信息处理控制器11发送到总线31-1的相应视频数据和音频数据,并且将数字数据或经转换的模拟信号传送到信息处理设备1的外部。遥控光接收机38-1从遥控发送器43-1接收遥控(远程操作)红外线信号。
如图9和10所示,监视器显示设备41和扬声器设备42连接到信息处理设备(硬盘录像机)1的视频输出单元35-1和音频输出单元36-1。
如使用附图标记在图10的周边区域中所显示的那样,还以与信息处理设备1相同的方式,将图9所示的具有信息处理控制器12的信息处理设备2配置来用作硬盘录像机。然而,如图9所示,监视器显示设备和扬声器设备不连接到信息处理设备(硬盘录像机)2。
如图11所示,在信息处理设备(硬盘录像机)1和2,即信息处理控制器11和12的软件配置中,提供MS管理器和能力交换程序作为控制程序;提供用于视频/音频记录、视频/音频回放、材料搜索和程序视频记录预约作为功能程序;并且将用于广播接收、视频数据、音频数据、外部存储器输入/输出和网络输入/输出的程序作为装置驱动器提供。
具有信息处理控制器13的信息处理设备3的另一实例是PDA(个人数据在助理)。图12显示被配置为PDA的信息处理设备3的硬件配置。在如图所示的实例中,配置信息处理设备3以使得可以将存储器卡盘加载为图1所示的外部存储器28-5,并且液晶显示单元52、音频输出单元53、摄像机单元54、音频输入单元55、键盘单元56和网络连接单元57连接到总线51,该总线51连接到信息处理控制器13的总线29-3。
在图1中省略了其内部配置的信息处理控制器13包括主处理器21-3、子处理器23-7、23-8和23-9、DMA(直接存储器存取控制器)25-3、DC(盘控制器)27-3和总线29-3。主处理器21-3具有LS(本地存储器)22-3,而子处理器23-7、23-8和23-9分别具有LS(本地存储器)24-7、24-8和24-9。
图13显示信息处理设备(PDA)3,即信息处理控制器13的软件配置。如图所示,提供MS管理器和能力交换程序作为控制程序;提供网页浏览器和用于视频/音频记录、视频/音频回放、电话地址簿、文字处理和电子数据表的程序作为功能程序;并且提供用于视频输出、音频输出、摄像机视频输入、麦克风音频输入和网络输入/输出的程序作为装置驱动器。
具有信息处理控制器的信息处理设备4的另一个实例是便携CD播放器。图14显示便携CD播放器的硬件配置。在如图所示的实例中,配置便携CD播放器使得可以将CD(光盘)加载为图1所示的外部存储器28-6,并且液晶显示单元62、音频输出单元63、操作按钮单元64和网络连接单元65连接到总线61,该总线61连接到信息处理控制器14的总线29-4。
在图1中省略了其内部配置的信息处理控制器14包括主处理器21-4、子处理器23-10、23-11和23-12、DMAC 25-4、DC 27-4和总线29-4。主处理器21-4具有LS 22-4,而子处理器23-10、23-11和23-12分别具有LS 24-10、24-11和24-12。
图15显示信息处理设备(便携CD播放器)4,即信息处理控制器14的软件配置。如图所示,提供MS管理器和能力交换程序作为控制器,提供用于音乐回放的程序作为功能程序,而提供用于音频数据、CD控制和网络输入/输出的程序作为装置驱动器。
在图9所示的网络系统中,假设信息处理设备1、3和4通过网络9连接,将信息处理设备1设置为主设备(MS状态=0),而将信息处理设备3和4设置为从设备(MS状态=1)。
在这种情况下,当信息处理设备2新连接到网络9时,由包含在信息处理设备2中的信息处理控制器12中的主处理器21-2正在执行的MS管理器进行关于其它信息处理设备3和4的MS状态的查询,识别出已经存在作为主设备的信息处理设备1,并且通过上述方法将自身设备(信息处理设备2)设置为从设备(MS状态=1)。设置为主设备的信息处理设备1收集包含新添加的信息处理设备2的设备的设备信息,并且在主存储器26-1中更新设备信息表。
将给出下列情况的描述,其中在这种情况下,用户操作用作从设备的信息处理设备(PDA)3来进行两小时广播节目的视频记录预约。
在这种情况下,用作从设备的信息处理设备(PDA)3从用户接收视频记录预约的输入。视频记录预约信息的实例包括视频记录开始时间、视频记录结束时间、用于视频记录的广播信道和视频记录质量。然后信息处理设备3产生包含视频记录预约信息和用作DMA命令的视频记录预约命令的软件单元,并且将软件单元传送到用作主设备的信息处理设备1。
包含在接收到包含用作视频记录预约命令的DMA命令的软件单元的信息处理设备1中的信息处理控制器11中的主处理器21-1读取视频记录预约命令,并且参考主存储器26-1中的设备信息表来标识可以执行视频记录预约命令的信息处理设备。
首先,主处理器21-1读取信息处理设备1、2、3和4的信息处理设备类型ID,该信息处理设备ID包含在设备信息表中,并且提取可以执行与视频记录预约命令对应的功能程序的信息处理设备。在这种情况下,将具有指示视频记录功能的信息处理设备类型ID的信息处理设备1和2标识为候选设备,并且从候选设备中排除信息处理设备3和4。
接下来,包含在用作主设备的信息处理设备1中的信息处理控制器11中的主处理器21-1参考设备信息表,并且读取关于设备的信息。信息的实例包括信息处理设备1和2的主处理器或子处理器的处理能力以及关于主存储器的信息。然后主处理器21-1确定信息处理设备1和2是否满足用于执行与视频记录预约命令对应的功能程序所需的要求规范。在这种情况下,假设信息处理设备1和2满足用于执行与视频记录预约命令对应的功能程序所需的要求规范。
此外,主处理器21-1参考设备信息表,读取关于信息处理设备1和2的外部存储器的信息,并且确定每个外部存储器的可用容量是否满足用于执行视频记录预约命令所需的容量。由于信息处理设备1和2是硬盘录像机,每个硬盘28-1和28-3的总容量和使用量之间的差对应于可用容量。
在这种情况下,信息处理设备1的硬盘28-1的可用容量按照视频记录时间是10分钟,而信息处理设备2的硬盘28-3的可用容量按照视频记录时间是20小时。
在这种情况下,包含在用作主设备的信息处理设备1中的信息处理控制器11中的主处理器21-1将可以保留用于执行视频记录预约命令所需的两小时可用容量的信息处理设备标识为要向其发出执行请求的从设备。
结果,仅选择信息处理设备2作为要向其发出执行请求的从设备。因此,包含在用作主设备的信息处理设备1中的信息处理控制器11中的主处理器21-1向信息处理设备2传送包含从用户操作的信息处理设备3传送的视频记录预约信息的视频记录预约命令,以请求执行上述两小时广播节目的视频记录预约。
包含在信息处理设备2中的信息处理控制器12中的主处理器21-2分析视频记录预约命令,从作为外部存储器的硬盘28-3将用于视频记录的功能程序加载到主存储器26-2,并且根据视频记录预约信息执行视频记录。结果,用于做出视频记录预约的两小时广播节目视频/音频数据被记录在信息处理设备2的硬盘28-3上。
如上所述,在图9的实例中的网络系统中,通过仅操作一个信息处理设备,用户还可以使多个信息处理设备1、2、3和4作为虚拟单一信息处理设备7操作,而不操作其它信息处理设备。
B.由子处理器执行图像处理
如上所述,根据本发明的信息处理系统具有多处理器配置,其包括每个都能执行加载到其自身的本地存储器的程序的一个或多个子处理器和用于将用于执行程序的命令提供到子处理器的主处理器。根据这样的具有多处理器配置的信息处理系统,可以通过子处理器的合作以分布方式处理对应一个处理器来说是高负载处理的处理,或者可以以同步和合作方式执行两个或多个相关数据处理操作。因此,可以向用户提供高附加功能和高附加值的服务。
处理器经由系统总线共享主存储器,并且将系统中的处理数据加载到主存储器上。主处理器将主存储器上的数据的处理分配给子处理器,并且提供用于执行处理的命令。子处理器加载用于执行数据处理的子处理器程序,根据来自主处理器的命令启动程序,并且执行主存储器上的数据的处理。
在这种情况下,主存储器具有相对大的容量,并且采用每存储容量成本低的DRAM。因此,存在子处理器和主存储器之间的延迟较大,以及子处理器存取主存储器相互冲突的问题。
在根据本发明的多处理器配置的系统中,每个子处理器具有专用本地存储器。因此,在主存储器上的数据处理期间,每个子处理器可以通过使用作为所谓“高速缓存存储器”的其自身的本地存储器来防止存取主存储器的冲突,以及系统传输量的增加。
然而,除非高速缓存命中率足够高,否则不能完全利用该优点。因此,认为自适应地控制高速缓存区域,使得在后续处理中本地存储器上的高速缓存命中率提高是有必要的,以便改善由子处理器的数据处理性能和整个系统的性能。
下面的描述将给出在具有多处理器配置的信息处理系统进行图像处理的实施例中本地存储器的高速缓存区域的自适应控制的细节。
主处理器可以将压缩数据的解码处理分配给一个子处理器。在这种情况下,主处理器可以进一步向另一子处理器发出用于对经解码的图像数据执行诸如用于针对用户偏好的质量编辑图像数据的图像质量增强处理和用于将图像数据重新编码为另一编码系统的重新编码处理之类的其它处理的指令,以便像整体系统一样实现合作操作。
图16示意性显示当一个子处理器执行图像解码处理时具有多处理器配置的系统的功能配置。假设所示的系统具有下列特征。
(1)每个子处理器具有专用本地存储器
(2)每个子处理器不直接存取除它本身的本地存储器之外的本地存储器
(3)使用诸如DRAM之类的相对低速存储器装置作为主存储器
(4)子处理器具有当需要时用于将主存储器高速缓存到本地存储器中的系统。
在这种情况下,在图像编码/解码处理中,将整个帧分为称为宏块的小区域,以执行信号处理。例如,作为标准图像压缩标准之一的用于MPEG的基本压缩算法如下。
(1)使用宏块作为编码单位执行基于时间屏幕关联的信息压缩。
(2)将宏块分段为子块并执行使用DCT的空间压缩。
(3)使用运动补偿帧间预测等执行可变长度编码。
(4)采用DCT系数的量化尺度(quantization scale)控制来控制所产生的总体代码量。
此外,在图像压缩中,执行帧间编码来压缩要被压缩的帧和用作参考的帧之间的差信息。图17在流程图中显示用于解码所压缩的图像信号的基本操作过程。
如图所示,在压缩图像解码的处理流程中,通过确定块的数量(步骤S6),针对每一帧执行一系列处理,即输入压缩流(步骤S1)、解码流(步骤S2)、输入参考帧(步骤S3)、解压缩图像处理(步骤S4)和输出解码结果(步骤S5)。
在步骤S1、S3和S5的处理中,在主存储器和本地存储器之间转移数据。经由多个模块共享的系统总线执行存储器间数据转移。如上所述,为了防止由总线转移的性能变差而引起整个解码系统中的性能降低,子处理器需要具有高速缓存来改善存储器间转移的性能。
在步骤S1中为输入流而进行的转移中,将流连续地布置在存储器上,并且顺序地对其进行处理。因此,可以简化高速缓存控制,并且还不发生高速缓存未命中。
在步骤S5中的解码结果输出中,不对相同地址写关于多个宏块的输出结果,并且在处理另一宏块期间不读取输出结果,直到完成了整个帧的解码处理位置。因此,可以与后续的宏块的解码处理不同步地将解码结果转移到主存储器,以使得可以抑制性能降低,并且不需要使用高速缓存。
现在将论述步骤S3中的参考帧输入。在图像压缩处理中,仅传送要被压缩的帧和用作参考的帧之间的差信息,并且执行用于增强压缩效率的帧间编码(如上所述)。在这种情况下,需要针对解码处理获得用于产生差信息的参考图像数据。
可以通过使用在流中编码的运动向量来获得在参考帧中用于预测的图像数据的位置。这通过图18的流程图中所示的过程实现。
首先,基于运动向量计算参考帧中的参考位置(步骤S11)。做出关于是否将在所计算的参考位置处的图像数据高速缓存在本地存储器中的确定(步骤S12)。当在本地存储器中不存在对应的数据时,即当高速缓存未命中发生时,从主存储器转移高速缓存区域(步骤S13和S14)。
在典型的高速缓存操作中,将临时区域的数据高速缓存在子处理器存取的存储器地址。根据该方法,在参考帧高速缓存处理中,统一高速缓存参考图像周围的数据。然而,随着图像运动,在后续宏块处理中的高速缓存未命中几率可能增加。
因此,在本实施例中,基于用于宏块处理的周围运动向量,根据运动向量的运动方向和运动速度自适应地改变高速缓存的区域。使用该布置,改善了在后续宏块处理中参考图像高速缓存命中几率,使得可以改善整个压缩图像解码系统的性能。图19在流程图中显示用于在这种情况下获得参考图像的处理过程。
首先,基于运动向量计算参考帧中的参考位置(步骤S21)。做出关于是否将所计算的参考位置处的图像数据高速缓存在本地存储器的确定(步骤S22)。
在这种情况下,当在存储器数据中不存在对应的数据时,即,当高速缓存未命中发生时,基于当前宏块和周围运动向量来预测要针对下一宏块进行解码的运动向量(步骤S23)。基于所计算的运动向量计算要被高速缓存的帧区域,即高速缓存区域(步骤24)。将所计算的高速缓存区域从主存储器转移到子处理器的本地存储器(步骤S25和S26)。
图20图解在步骤23中基于当前宏块和周围运动向量来预测要针对下一宏块进行解码的运动向量的处理过程的一个实例。在该图中,通过外插法(extrapolation)预测宏块运动向量。为了通过外插法预测运动向量,存储之前宏块(在所示的实例中为两个宏块)的运动向量,并且根据X和Y坐标方向的运动速度来计算用于下一宏块的运动向量。
图21还图解在步骤S24用于基于运动向量确定要高速缓存的帧区域,即高速缓存区域的处理过程。在该过程中,将在上述步骤S23中计算的下一块运动向量输入高速缓存处理块,并且确定要高速缓存的区域。
图21(a)显示当不考虑运动向量预测结果时的操作的实例。在这种情况下,高速缓存以在此时使用的数据为中心的区域。正如可从所示的实例理解的那样,在下一宏块处理中很有可能被用作参考的数据不能保留在高速缓存中。因此,在下一处理中很可能从主处理器重新传送数据的几率增加,这成为性能下降的原因。
图21(b)显示考虑运动向量预测结果来计算高速缓存区域的情况。在这种情况下,由于高速缓存了要用在下一宏块处理中的数据的几率高,因此,可以预期解码处理系统的性能增加的优点。
图22图解高速缓存区域计算方法的一个实例。假设高速缓存存储器在高度和宽度方向上具有可以存储宏块区域的三倍的大小。将要由正在被解码的宏块参考的图像的坐标表示为(Xref,Yref),并且将基于在图20所示的处理过程中预测的运动向量,被预测为要由下一宏块参考的图像的坐标表示为(Xnext,Ynext)。在转移参考图像期间,确定要从主存储器将帧存储器中的哪个区域转移到高速缓存等效于确定图中的参数ho和wo。使用(Xref,Yref)和(Xnext,Ynext),从下面的表达式计算参数。
wo=(W/3)×(1-α)
α’=(Xnext-(Xref+MW))×weight W
ho=(H/3)×(1-β)
β’=(Ynext-Yref)×weight H)
在这种情况下,在应用期间选择指示用于移动性和最佳值的加权因数的权重H(weight H)和权重W(weight W)。此外,α和β分别是通过饱和α’和β’获得的值,其在范围-1到1之间。
图23在流程图中显示图19所示的参考图像获得处理过程的应用的实例。
首先,基于运动向量计算参考帧中的参考位置(步骤S31)。
基于当前宏块和周围运动向量来预测针对下一宏块解码的运动向量(步骤S32)。基于所计算的运动向量计算要高速缓存的帧区域,即高速缓存区域(步骤S33)。
开始将所计算的高速缓存区域从主存储器转移到子处理器的本地存储器(步骤S34)。做出关于是否在本地存储器中高速缓存被确定为高速缓存区域的图像数据的确定(步骤35)。当在本地存储器中不存在对应的数据时,当高速缓存未命中发生时,将高速缓存区域从主存储器转移到子处理器的本地存储器(步骤S36)。
在图19显示的操作过程中,只有当高速缓存未命中发生时,开始用于运动向量预测的处理(步骤S23)和用于高速缓存区域计算的处理(步骤S24)。然而,即使利用使用运动向量计算图像块的运动方向和速度以确定高速缓存区域的上述方案,由于有限的高速缓存区域也会在某处发生高速缓存未命中,并且用于转移等待所需的处理使处理性能降低。
相反,根据图23所示的操作过程,即使当期望的数据存在于(高速缓存在)子处理器的本地存储器时,持续预测运动向量,并且以投机方式执行高速缓存提前读取处理。在这种情况下,每次需要向量预测处理,但是只要在预测处理中所需的负载比在高速缓存未命中期间的数据转移等待处理要小,则可以改善整个系统的性能。
作为这样的投机高速缓存处理的结果的、在主存储器和本地存储器之间执行的数据转移在比针对每个宏块执行图像解码处理更短的周期内结束。因此,可以有效地执行参考图像数据的高速缓存处理,而不降低解码系统的整体性能。
工业实用性
已经参照特定实施例在上面详细描述了本发明。然而,本领域技术人员应该理解可以在不背离本发明本质的范围内做出各种修改和替换。
已经在上面结合由多处理器系统解码已经经历帧间编码的压缩图像数据的情况的实例描述本发明的一个实施例,其中该系统具有可以执行被加载在其自身的本地存储器上的程序的一个或多个子处理器和向子处理器发出用于执行程序的命令的主处理器。然而,本发明的本质不限于该实施例。甚至当由具有除多处理器配置之外的配置的系统执行图像数据的解码处理,或者甚至当执行除图像解码之外的数据处理时,应用本发明也可以增加高速缓存命中率,并且改善使用高速缓存的处理的性能以及整个系统的性能。
本质上,通过实例的方式公开了本发明,并且这里描述的内容不应理解为限制。权利要求的范围应该理解为为了理解本发明的本质。

Claims (23)

1.一种信息处理系统,包括:
一个或多个子处理器,每个都能执行被加载在其自身的本地存储器上的程序;
主处理器,用于将用于执行程序的指令提供到子处理器;和
由处理器共享的主存储器,
其中,基于当前被高速缓存在本地存储器上的数据的特征,分配了主处理器上的数据的处理的子处理器自适应地在主存储器上确定高速缓存区域,该高速缓存区域接下来被高速缓存在本地存储器上。
2.如权利要求1所述的信息处理系统,其中,基于指示当前被高速缓存在本地存储器上的图像数据的特征的参数,向其分配了主存储器上的压缩图像数据的解码处理的子处理器自适应地在主存储器上确定高速缓存区域,该高速缓存区域接下来被高速缓存在本地存储器上。
3.如权利要求2所述的信息处理系统,其中该压缩图像数据经历帧间编码处理,在该处理中,压缩要压缩的帧和用作参考的帧之间的差信息,和
基于指示图像数据的特征的参数,该子处理器确定用于产生差信息的参考位置,并且使用参考位置周围的图像数据作为高速缓存区域,其中参考位置位于参考帧中。
4.如权利要求3所述的信息处理系统,其中将与图像数据一起编码的图像块运动信息用作指示图像数据的特征的参数,并且基于经编码的图像块运动信息计算图像块的运动方向和速度以预测图像块的操作,从而确定高速缓存区域。
5.如权利要求4所述的信息处理系统,其中存储与多个之前图像块对应的运动信息,并且基于x和y坐标方向上的运动速度,通过外插法确定关于下一图像块的运动信息。
6.如权利要求4所述的信息处理系统,其中持续预测图像块的操作,并且以投机方式执行高速缓存提前读取处理。
7.一种用于解码压缩图像数据的信息处理系统,该系统包括:
第一存储装置,用于存储压缩图像数据;
解码处理装置,用于解码压缩图像数据;
第二存储装置,用于高速缓存用于由解码处理装置执行的解码处理中的图像数据;和
高速缓存控制装置,用于基于指示由第二存储装置高速缓存的图像数据的特征来自适应地在第一存储装置中确定高速缓存区域。
8.如权利要求7所述的信息处理系统,其中压缩图像数据经历帧间编码处理,在该处理中,压缩要压缩的帧和用作参考的帧之间的差信息,和
基于指示图像数据的特征的参数,高速缓存控制装置确定用于产生差信息的参考位置,并且使用参考位置周围的图像数据作为高速缓存区域,其中参考位置位于参考帧中。
9.如权利要求8所述的信息处理系统,其中高速缓存控制装置将与图像数据一起编码的图像块运动信息用作指示图像数据的特征的参数,并且基于经编码的图像块运动信息计算图像块的运动方向和速度以预测图像块的操作,从而确定高速缓存区域。
10.如权利要求9所述的信息处理系统,其中高速缓存控制装置存储与多个之前图像块对应的运动信息,并且基于x和y坐标方向上的运动速度,通过外插法确定关于下一图像块的运动信息。
11.如权利要求9所述的信息处理系统,其中高速缓存控制装置持续预测图像块的操作,并且以投机方式执行高速缓存提前读取处理。
12.一种用于在系统上使主存储器上的数据分配到子处理器并进行执行的信息处理方法,该系统包括每个都能执行被加载在其自身的本地存储器上的程序的一个或多个子处理器、用于将用于执行程序的指令提供到子处理器的主处理器和由处理器共享的主存储器,该方法包括:
将要处理的数据从主存储器转移到子处理器的本地存储器的步骤;
使子处理器处理本地存储器上的数据的数据处理步骤;
基于在本地存储器上处理的数据的特征自适应地在主存储器上确定高速缓存区域的高速缓存区域确定步骤,其中该高速缓存区域接下来被高速缓存在本地存储器上;
确定是否已经在本地存储器上高速缓存了高速缓存区域的步骤;和
当高速缓存未命中发生时,将所确定的高速缓存区域从主存储器转移到高速缓存区域的高速缓存区域转移步骤。
13.如权利要求12所述的信息处理方法,其中将主存储器上的压缩图像数据的解码处理分配给子处理器,和
在高速缓存区域确定步骤中,基于指示当前被高速缓存在本地存储器上的图像数据的特征的参数,自适应地在主存储器上确定高速缓存区域,该高速缓存区域接下来被高速缓存在本地存储器上。
14.如权利要求13所述的信息处理方法,其中压缩图像数据经历帧间编码处理,在该处理中,压缩要压缩的帧和用作参考的帧之间的差信息,和
在高速缓存区域确定步骤中,基于指示图像数据的特征的参数,确定用于产生差信息的参考位置,并且将参考位置周围的图像数据用作高速缓存区域,其中参考位置位于参考帧中。
15.如权利要求14所述的信息处理方法,其中在高速缓存区域确定步骤中,将与图像数据一起编码的图像块运动信息用作指示图像数据的特征的参数,并且基于经编码的图像块运动信息计算图像块的运动方向和速度以预测图像块的操作,从而确定高速缓存区域。
16.如权利要求15所述的信息处理方法,其中在高速缓存区域确定步骤中,存储与多个之前图像块对应的运动信息,并且基于x和y坐标方向上的运动速度,通过外插法确定关于下一图像块的运动信息。
17.如权利要求15所述的信息处理方法,其中在高速缓存区域确定步骤中,持续预测图像块的操作,并且在高速缓存区域转移步骤中,以投机方式执行高速缓存提前读取处理。
18.一种用于解码经历帧间编码处理的压缩数据的信息处理方法,在该帧间编码处理中,压缩要压缩的帧和用作参考的帧之间的差信息,该方法包括:
从存储压缩图像数据的主存储器输入压缩流的流输入步骤;
解码输入流的流解码步骤;
输入参考帧的步骤;和
通过使用输入的参考帧执行图像解压缩的图像解压缩处理步骤,
其中,在高速缓存区域输入步骤中,基于指示图像数据的特征的参数,确定用于产生差信息的参考位置,并且从主存储器中输入参考位置周围的图像数据作为高速缓存数据,其中参考位置位于参考帧中。
19.如权利要求18所述的信息处理方法,其中在参考帧输入步骤中,将与图像数据一起编码的图像块运动信息用作指示图像数据的特征的参数,并且基于经编码的图像块运动信息计算图像块的运动方向和速度,以预测图像块的操作,从而确定高速缓存区域。
20.如权利要求19所述的信息处理方法,其中在参考帧输入步骤中,存储与多个之前图像块对应的运动信息,并且基于x和y坐标方向上的运动速度,通过外插法确定关于下一图像块的运动信息。
21.如权利要求19所述的信息处理方法,其中在参考帧输入步骤中,持续预测图像块的操作,并且以投机方式执行高速缓存提前读取处理。
22.一种计算机程序,其中以计算机可读格式写用于在系统上使主存储器上的数据分配到子处理器并进行执行的处理过程,该系统包括每个都能执行被加载在其自身的本地存储器上的程序的一个或多个子处理器、用于将用于执行程序的指令提供到子处理器的主处理器和由处理器共享的主存储器,该计算机程序使计算机系统执行:
将要处理的数据从主存储器转移到子处理器的本地存储器的过程;
使子处理器处理本地存储器上的数据的数据处理过程;
基于在本地存储器上处理的数据的特征自适应地在主存储器上确定高速缓存区域的高速缓存区域确定过程,该高速缓存区域接下来被高速缓存在本地存储器上;
确定是否已经在本地存储器上高速缓存了高速缓存区域的过程;和
当高速缓存未命中发生时,将所确定的高速缓存区域从主存储器转移到高速缓存区域的高速缓存数据转移过程。
23.一种用于以计算机可读格式写的计算机程序,以便在计算机系统上执行用于解码经历帧间编码处理的压缩数据,在该帧间编码处理中,压缩要压缩的帧和用作参考的帧之间的差信息,该计算机程序使计算机系统执行:
从存储压缩图像数据的主存储器输入压缩流的流输入步骤;
解码输入流的流解码过程;
输入参考帧的过程;和
通过使用输入的参考帧执行图像解压缩的图像解压缩处理过程,
其中,在高速缓存区域输入过程中,基于指示图像数据的特征的参数,确定用于产生差信息的参考位置,并且从主存储器中输入参考位置周围的图像数据作为高速缓存数据,其中参考位置位于参考帧中。
CNA200580031284XA 2004-07-16 2005-07-05 信息处理系统、信息处理方法和计算机程序 Pending CN101036393A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004210761A JP2006031480A (ja) 2004-07-16 2004-07-16 情報処理システム及び情報処理方法、並びにコンピュータプログラム
JP210761/2004 2004-07-16

Publications (1)

Publication Number Publication Date
CN101036393A true CN101036393A (zh) 2007-09-12

Family

ID=35785081

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA200580031284XA Pending CN101036393A (zh) 2004-07-16 2005-07-05 信息处理系统、信息处理方法和计算机程序

Country Status (6)

Country Link
US (1) US20080253673A1 (zh)
EP (1) EP1775962A1 (zh)
JP (1) JP2006031480A (zh)
KR (1) KR20070035037A (zh)
CN (1) CN101036393A (zh)
WO (1) WO2006008961A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360273A (zh) * 2011-09-26 2012-02-22 北京邦诺存储科技有限公司 控制存储器与非易失性缓存装置协同存储的设备和方法
CN101630287B (zh) * 2008-06-30 2013-08-28 英特尔公司 基于性能的高速缓存管理
CN106157230A (zh) * 2016-05-25 2016-11-23 华中科技大学 海量脑组织三维图像数据快速调用方法
CN107562686A (zh) * 2017-08-18 2018-01-09 清华大学无锡应用技术研究院 信息处理方法和装置
CN111045979A (zh) * 2018-10-11 2020-04-21 力晶科技股份有限公司 基于存储器处理器的多处理架构及其操作方法
CN113711191A (zh) * 2019-05-16 2021-11-26 欧姆龙株式会社 信息处理装置

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4802482B2 (ja) * 2004-11-10 2011-10-26 カシオ計算機株式会社 画像処理装置及び画像処理方法
US8599841B1 (en) 2006-03-28 2013-12-03 Nvidia Corporation Multi-format bitstream decoding engine
US8593469B2 (en) 2006-03-29 2013-11-26 Nvidia Corporation Method and circuit for efficient caching of reference video data
US20090245580A1 (en) * 2006-07-21 2009-10-01 Darryl Greig Modifying parameters of an object detector based on detection information
JP4983160B2 (ja) * 2006-09-04 2012-07-25 富士通株式会社 動画像処理装置
JP4862566B2 (ja) 2006-09-04 2012-01-25 富士通株式会社 動画像処理装置及びプリフェッチ制御方法
JP4910576B2 (ja) 2006-09-04 2012-04-04 富士通株式会社 動画像処理装置
JP4535047B2 (ja) 2006-09-06 2010-09-01 ソニー株式会社 画像データ処理方法、画像データ処理方法のプログラム、画像データ処理方法のプログラムを記録した記録媒体及び画像データ処理装置
US20090225867A1 (en) * 2008-03-06 2009-09-10 Lee Kun-Bin Methods and apparatus for picture access
FR2930059B1 (fr) * 2008-04-09 2010-04-09 Ateme Sa Traitement d'une sequence video dans une memoire cache
US8577165B2 (en) * 2008-06-30 2013-11-05 Samsung Electronics Co., Ltd. Method and apparatus for bandwidth-reduced image encoding and decoding
US8700862B2 (en) * 2008-12-03 2014-04-15 Nvidia Corporation Compression status bit cache and backing store
US9253496B2 (en) * 2008-12-12 2016-02-02 Qualcomm Incorporated Intelligent decoded picture buffering
JP5469433B2 (ja) * 2009-10-30 2014-04-16 株式会社キーエンス 画像処理装置及び画像処理方法
KR101279507B1 (ko) * 2009-12-15 2013-06-28 한국전자통신연구원 병렬 처리 기반 파이프라인 복호화 장치 및 방법
JP5020391B2 (ja) * 2010-02-22 2012-09-05 パナソニック株式会社 復号化装置及び復号化方法
JP5378298B2 (ja) * 2010-05-18 2013-12-25 日立コンシューマエレクトロニクス株式会社 機器間情報交換機能を有するストレージ
JP5278497B2 (ja) * 2011-06-02 2013-09-04 カシオ計算機株式会社 画像処理装置及び画像処理方法
KR101611289B1 (ko) * 2011-12-16 2016-04-12 엘지전자 주식회사 전기자동차 및 그 제어방법
US20140184630A1 (en) * 2012-12-27 2014-07-03 Scott A. Krig Optimizing image memory access
US9667706B2 (en) * 2013-08-16 2017-05-30 Pearson Education, Inc. Distributed processing systems
JP2015207123A (ja) * 2014-04-18 2015-11-19 富士通株式会社 ストレージ装置、ストレージ制御方法およびストレージ制御プログラム
US10148589B2 (en) * 2014-09-29 2018-12-04 Pearson Education, Inc. Resource allocation in distributed processing systems
US10051294B2 (en) * 2015-03-31 2018-08-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Compressed video buffering
US11436046B2 (en) 2018-10-11 2022-09-06 Powerchip Semiconductor Manufacturing Corporation Electronic device with memory processor-based multiprocessing architecture and operation method thereof

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088391A (en) * 1996-05-28 2000-07-11 Lsi Logic Corporation Method and apparatus for segmenting memory to reduce the memory required for bidirectionally predictive-coded frames
US5929850A (en) * 1996-07-01 1999-07-27 Thomson Consumer Electronices, Inc. Interactive television system and method having on-demand web-like navigational capabilities for displaying requested hyperlinked web-like still images associated with television content
JP3123496B2 (ja) * 1998-01-28 2001-01-09 日本電気株式会社 動き補償処理方法及びシステム並びにその処理プログラムを記録した記録媒体
JP4427827B2 (ja) * 1998-07-15 2010-03-10 ソニー株式会社 データ処理方法、データ処理装置及び記録媒体
JP3322233B2 (ja) * 1999-03-19 2002-09-09 日本電気株式会社 動画像伸長方法及びそれを実行するプログラムを記録した記録媒体
US6809734B2 (en) * 2001-03-22 2004-10-26 Sony Computer Entertainment Inc. Resource dedication system and method for a computer architecture for broadband networks
US7093104B2 (en) * 2001-03-22 2006-08-15 Sony Computer Entertainment Inc. Processing modules for computer architecture for broadband networks
US6826662B2 (en) * 2001-03-22 2004-11-30 Sony Computer Entertainment Inc. System and method for data synchronization for a computer architecture for broadband networks
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
JP4335516B2 (ja) * 2001-12-04 2009-09-30 パナソニック株式会社 複数のプロセッサを用いた動画像符号化装置およびその方法
US7088872B1 (en) * 2002-02-14 2006-08-08 Cogent Systems, Inc. Method and apparatus for two dimensional image processing
US7304646B2 (en) * 2004-08-19 2007-12-04 Sony Computer Entertainment Inc. Image data structure for direct memory access
US7924914B2 (en) * 2005-09-20 2011-04-12 Intel Corporation Dynamically configuring a video decoder cache for motion compensation

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101630287B (zh) * 2008-06-30 2013-08-28 英特尔公司 基于性能的高速缓存管理
CN102360273A (zh) * 2011-09-26 2012-02-22 北京邦诺存储科技有限公司 控制存储器与非易失性缓存装置协同存储的设备和方法
CN106157230A (zh) * 2016-05-25 2016-11-23 华中科技大学 海量脑组织三维图像数据快速调用方法
CN106157230B (zh) * 2016-05-25 2019-08-16 华中科技大学 海量脑组织三维图像数据快速调用方法
CN107562686A (zh) * 2017-08-18 2018-01-09 清华大学无锡应用技术研究院 信息处理方法和装置
CN107562686B (zh) * 2017-08-18 2019-12-10 清华大学 信息处理方法和装置
CN111045979A (zh) * 2018-10-11 2020-04-21 力晶科技股份有限公司 基于存储器处理器的多处理架构及其操作方法
CN111045979B (zh) * 2018-10-11 2023-12-19 力晶积成电子制造股份有限公司 基于存储器处理器的多处理架构及其操作方法
CN113711191A (zh) * 2019-05-16 2021-11-26 欧姆龙株式会社 信息处理装置

Also Published As

Publication number Publication date
US20080253673A1 (en) 2008-10-16
EP1775962A1 (en) 2007-04-18
KR20070035037A (ko) 2007-03-29
JP2006031480A (ja) 2006-02-02
WO2006008961A1 (ja) 2006-01-26

Similar Documents

Publication Publication Date Title
CN101036393A (zh) 信息处理系统、信息处理方法和计算机程序
CN1287282C (zh) 执行实时操作的方法和系统
CN1741005A (zh) 信息处理系统、信息处理方法和其使用的计算机程序
CN1601474A (zh) 执行实时操作的方法和系统
CN1295583C (zh) 实现实时操作的方法和系统
CN1661570A (zh) 信息处理系统、信息处理方法和计算机程序
CN1156171C (zh) 提高处理效率的图象声音处理装置
CN1113289C (zh) 能执行多异步运行任务中的异步事件任务的处理器
CN1287283C (zh) 调度方法和信息处理系统
CN1122908C (zh) 数据处理系统用的电能管理系统
CN1658184A (zh) 网络系统、分布式处理方法和信息处理装置
CN1241745A (zh) 显示控制装置和显示控制方法
CN1681305A (zh) 信息处理系统、信息处理方法以及计算机程序
CN1679004A (zh) 高速缓存设备、高速缓存数据管理方法和计算机程序
CN1534504A (zh) 利用单处理器操作系统的并行处理系统及并行处理程序
CN1257650C (zh) 运动图像编码方法和装置
CN1725844A (zh) 数字媒体流的反向表示
CN1681306A (zh) 信息处理系统、信息处理方法和计算机程序
CN1577311A (zh) 调度方法和实时处理系统
CN1450808A (zh) 图像数据分发
CN1734438A (zh) 信息处理设备、信息处理方法和程序
CN1550109A (zh) 动画图像编码传送系统、动画图像编码传送方法、该系统和方法使用的适合的编码装置、译码装置、编码方法、译码方法以及程序
CN1573656A (zh) 并行处理系统中的电源管理系统及电源管理程序
CN1531809A (zh) 数据分布
CN1123230C (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20070912