无开销的独立并行图像处理的制作方法

文档序号:6456977阅读:137来源:国知局
专利名称:无开销的独立并行图像处理的制作方法
技术领域
本发明总体上涉及图像处理系统,更具体地,涉及用于处理诸如电影 中的大量图像的图像处理系统。
背景技术
传统图像处理操作包括格式转换、縮放和场景切换检测(scene change detection)。为了使图像处理系统能够在合理的时间内处理大量图像(例如 电影),图像处理系统包括很多处理单元,其中每个处理单元执行一项特 定任务。这种图像处理方案的一个实例是流水线处理结构(pipeline processing architecture),其中来自一个处理单元的结果(数据)被输送至 下一个处理单元。图像处理方案的另一个实例是并行结构,其中每个处理 单元处理一部分图像。在这种情况下,来自每个处理单元的结果随后由另 外的处理器进行结合(combine)以产生结果的输出图像。美国专利申请 No.2004/023996是这种系统的一个实例。
但是,上述图像处理系统的两种方式都要求处理单元之间的同步以及 数据传输和消息交换。不幸的是,这些任务都引入了实质开销(overhead), 使得设计复杂化,并且在需要将更多处理单元加入至系统中的情况下不能 很好地扩展系统。

发明内容
如上所述,使用任何串行或顺序图像处理的图像处理系统不但会导致具有潜在的系统低效率(例如处理瓶颈),还会导致系统无法扩展
(non-scaleable)。因此,根据本发明的原理, 一种用于处理图像序列以提 供已处理图像序列的装置,包括多个处理单元,每个处理单元对所述图像 序列的各自图像子区进行处理以提供对应的已处理图像子区;数据存储 器,用于将每个对应的己处理图像子区存储在表示所述已处理图像序列的 输出文件的对应部分中。
在本发明的一个说明性实施方式中,图像处理系统包括图像处理管 理器;多个处理器,用于处理图像序列(例如电影);数据存储器,用于 存储(a)表示图像序列(例如电影)的输入文件(或流)和(b)表示己 处理图像序列(例如(MPEG2, H.264)编码的文件)的输出文件(或流)。 所述图像处理管理器将存储的图像序列的图像子区分配给所述多个处理 器中的每一个以进行处理。所述多个处理器中的每一个对分配的图像子区 进行处理并向所述输出文件的一部分提供对应的已处理图像子区。
在本发明的另一个说明性实施方式中,图像处理系统包括图像处理 管理器;多个处理器,用于处理输入图像序列(例如电影);和分布式文 件系统,用于存储表示已处理图像序列的输出文件。所述图像处理管理器 将输入图像序列的图像子区分配给所述多个处理器中的每一个以进行处 理。所述多个处理器中的每一个对分配的图像子区进行处理并向所述分布 式文件系统提供对应的己处理图像子区。所述分布式文件系统将所述己处 理图像子区从所述多个处理单元的每一个中写入至所述输出文件的对应 部分。


图1显示了根据本发明原理的说明性图像处理系统;
图2显示了根据本发明原理的图像处理系统的说明性实施方式;
图3和图4显示了根据本发明原理的装置所采用的流程图5显示了根据本发明原理的图像处理系统的另一说明性实施方式;
图6显示了根据本发明原理的图像处理系统的另一说明性实施方式;

图7显示了根据本发明原理的图像处理系统的另一说明性实施方式。
具体实施例方式
除了与本发明的原理相关内容之外,附图中所显示的元件都是已知的 并且对其不进行详细说明。并且,本说明书假定读者了解图像处理过程并 且不对其进行详细说明。例如,除了与本发明的原理相关内容之外,本说 明书假定读者了解例如包括格式转换、縮放和场景切换检测在内的图像处 理过程并且不对其进行详细说明。类似地,本说明书还假定读者了解例如
包括(但不局限于)MPEG-1、 MPEG-2、 MPEG-4、 Motion JPEG (avi)、 3GP (视频电话格式)在内的视频格式和音频格式MP3和WMA并且不对 其进行详细说明。另外,除了与本发明的原理相关内容之外,分布式文件 系统是己知的并且对其不进行详细说明。应当理解,上述本发明的原理可 以使用传统的编程技术来实现,本说明书不对其进行详细说明。最后,说 明书中相似附图标记表示相似的元件。
图1显示了根据本发明原理的说明性图像处理系统100。在描述图像 处理系统100的不同说明性实施方式之前,将对系统操作进行概要的说明。图像处理系统100接收输入视频信号101,该视频信号101由表示图像序 列(例如电影)的文件(或流)105表示,图像处理系统100还提供输出 文件(或流)115,该输出文件(或流)115表示已处理图像序列(例如电 影),该已处理图像序列由输出视频信号151表示。如上所述,由图像处 理系统100进行的特定类型的图像处理操作(例如格式转换、缩放和场景 切换检测)对于本发明的原理并不重要,因此在此不进行说明。但是,重 要的是图像处理系统100 "如何"处理图像序列。具体而言,根据本发明 的原理,输入文件被分为数个图像子区(1至N),每个图像子区由图像处 理系统100的对应的处理单元(图1中未示出)进行处理以提供输出文件 115的的各个已处理图像子区(1至N)。换言之,输出文件(或流)的各 个部分由每个对应的处理单元自动提供。结果,由图像处理系统100表示 的多重处理设置提供了简单而又可扩展的分布式处理方案,对于时间和空 间图像处理算法都适用。作为实例,每个图像子区包括一个或者多个例如 MPEG-2格式的图像帧。
请参看图2,图2显示了根据本发明原理的图像处理系统的说明性实 施方式。图像处理系统100包括N个处理单元(PU) 110 (其中NM)、 数据存储器(data storage) 130和图像处理管理器125。数据存储器130 提供对于输入文件或流105以及输出文件或流115的访问。输入文件105 表示由输入图像序列组成的视频信号101,输出文件115表示由输出图像 序列组成的输出视频信号151。数据存储器130例如可以表示硬盘驱动器、 磁带、内存(meomory)等。应当指出,数据存储器130可以提供一种类 型或形式以上的数据存储。N个处理单元(PU) 110的每一个和图像处理管理器125表示一个或多个存储了程序的控制处理器并可以包括或者不包 括内存。应当指出,图像处理管理器125可以控制本说明书未描述的图像 处理系统100的其他功能。在此方面,图2中只显示了图像处理系统100 中与本发明原理相关的部分。例如,用于存储由N个处理单元110的每一 个执行的计算机程序或者软件的内存未示于图2中。另外,为了简洁起见, 与连接图像处理系统100的各个部件的地址、数据和控制相关的总线连接 未示于图2中。应当指出,术语"内存"在此处是表示数据存储器,例如 随机访问存储器(RAM)、只读存储器(ROM)、硬盘、磁带等,可以位 于图像处理装置100内部和/或外部,并且可以根据需要为易失性或非易失 性。应当指出,输入文件105是用于解释本发明的文件输入/输出(I/O) 的简化。除了本发明的原理之外,文件I/0过程,例如信息的读出流、处 理流和写入流,例如视频流,在本领域中是已知的,本说明书中不再赘述。 在图2所示说明性实施方式中,还将参照图3和图4进行说明,图3 和图4显示了用于根据本发明原理的图像处理系统100的流程图。在图3 的步骤205中,图像处理系统100通过控制路径122访问输入文件105。 (此处同样是简化,例如表示从数据存储器130请求信息以获得文件的大 小)。在步骤210中,图像处理管理器125 (通过控制路径122)判断图像 帧中的输入文件105的尺寸并将输入文件105分成N个图像子区,其中每 个图像子区包括K个图像帧,K〉0。图2示出了图像子区1 (也由附图标 记71表示),其中图像子区1包括图像帧1至K。类似地,图像子区2包 括图像帧K+1至2K+1等,这样连续下去直至图像子区N。在此实施例 中,假设所有N个处理单元都处理输入文件105,因此,K的数值由图像处理管理器125简单地通过将输入文件105的尺寸除以N (即处理单元的 数量)的数值来确定。结果,在步骤210,图像处理管理器125还判断输 入文件105中每个图像子区的地址范围,如图2中的地址范围72所示。 在本说明书中,地址范围与该图像子区的图像帧数量的范围相对应(其还 将进一步映射至内存的实地址或虚地址)。例如,图像子区1的地址范围 是图像帧1至K;而图像子区2的地址范围是图像帧K+1至2K。在步骤 215,图像处理管理器125通过控制路径127创建与在步骤210中确定的 输入文件的尺寸相同的输出文件115。最后,在步骤220,图像处理管理 器225通过控制路径126将各个图像子区信息分配给N个处理单元110中 的每一个,从而N个处理单元110中的每一个开始处理输入文件105的不 同部分(将在下面结合图4进行说明)。例如,N个处理单元110中的每 一个通过路径109请求数据存储器130提供输入文件105的各个分配的图 像子区。
请参看图4,在步骤255中,N个处理单元110中的每一个通过控制 路径126从图像处理管理器125接收分配的图像子区信息。在步骤260中, N个处理单元110中的每一个根据一个或者多个图像处理操作(例如但不 局限于格式转换、缩放和场景切换检测等)独立处理(通过路径109提供 的)其各自的图像子区以提供已处理图像子区。在步骤265, N个处理单 元110中的每一个利用相同的分配地址范围将其已处理图像子区写入输出 文件115。例如,如果N个处理单元110其中之一被分配用于处理与图像 帧1至100对应的图像子区,则该处理单元将其已处理图像子区写入输出 文件115中与图像帧1至IOO对应的该部分中(在图1中也用附图标记81表示)。换言之,N个处理单元110中的每一个写入输出文件115的不同 部分中。
根据本发明的原理,上述用于图像处理的并行方法为每个处理单元分 配图像序列的一部分。每个处理单元独立处理该部分并在输出文件其自身 范围内直接写出结果。因此,与通过图像处理管理器125进行的图像子区 信息的原始分配不同,处理单元不需要处理单元之间的任何通信(例如消 息传递或同步),并且已处理图像子区不需要通过单独的处理器进行后续 的结合以产生输出文件。这将产生一种非常简单和可扩展的分布式处理方 案,能够用于时间和空间图像处理算法。
请参考图5,图5显示了根据本发明原理的图像处理系统的另一说明 性实施方式。图5从高级软件体系结构方面说明了本发明的原理。具体而 言,图像处理系统100包括至少两层软件。并行图像处理软件层165包括 N个图像处理,每个图像处理对于输入文件(或流)的对应图像子区之一 独立地进行一个或者多个处理操作以提供对应的已处理图像子区。如上所 述,图像处理操作可以是但不局限于格式转换、縮放和场景切换检测等。 N个图像处理的每一个通过DSF层170将其已处理图像子区写入输出文件 115的对应部分,DSF层170是具有分布式文件系统(DSF)的操作系统。 DSF层170的一个实施例是由Cluster File Systems, Inc公司提供的"lustre" 文件系统。DSF其自身是并行的并且不真正将各个己处理图像子区结合。 DSF层170确保各个已处理图像子区(基于由N个图像处理的每一个所提 供的图像子区信息)被写入至输出文件115中的正确位置,从而输出文件 115中的已处理图像的序列在以后可以按照正确的顺序读出,用输出视频信号151表示。换言之,本发明的原理是利用现代的操作系统的能力,其 中在文件中寻找特定位置在找到该位置之前并不导致实际的创建和写入
操作。因此,N个图像处理的每一个都写入相同的输出文件115但是写入 至输出文件的不同的部分或者位置。应当指出,实际的DFS层170还可以 管理对于输入文件115的访问。但是,为了说明本发明的原理,上述内容 在图5中进行了简化。
根据图5所示的软件体系结构,图6示出了实施此软件体系结构的说 明性图像处理系统。图6所示实施方式与图2所示实施方式相似,不同之 处在于N个处理单元110的每一个现在将其已处理图像子区通过DFS140 写入输出文件145的特定部分。应当指出,为了避免重复,(DFS 140写入 和读出数据的)数据存储器130在图6中未明确示出,而是由输入文件105 和输出文件145表示。并且,还应指出,实际的DFS 140也能够管理对输 入文件115的访问。但是,为了说明本发明的原理,上述内容在图6中进 行了简化。最后,与图2所示实施方式相同,图3和图4所示流程图也适 用于图6所示实施方式。
图7显示了根据本发明原理的N=4的图像处理系统的另一说明性实 施方式。此实施方式与图6所示实施方式相似。图像处理系统100包括4 个处理单元(PU) 110-1、 110-2、 110-3和110-4、 DSF140和图像处理管 理器125。如上所述,PU 110-1、 PU 110-2、 PU 110-3和PU 110-4和图像 处理管理器125表示一个或多个存储了程序的控制处理器并且可以包括或 者不包括内存。并且,图中并未示出用于减小杂波并由输入文件105和输 出文件145表示的数据存储器130。应当指出,图像处理管理器125还可以控制本说明书中未描述的图像处理系统100的其他功能。在此方面,图
7中只示出了图像处理系统100与本发明原理有关的部分。例如,用于存 储处理单元PU 110-1、 PU 110-2、 PU 110-3和PU 110-4的每一个执行的计 算机程序或者软件的内存在图7中未示出。另外,为了简洁起见,与连接 图像处理系统100的各个部件的地址、数据和控制相关的总线连接未示于 图2中。
在下面对图7所示说明性实施方式进行的进一步说明中,将再次参照 图3和图4,图3和图4显示了用于根据本发明原理的图像处理系统100 的流程图。在图3的步骤205中,图像处理系统100通过控制路径122访 问输入文件105。(此处同样是简化,例如表示从数据存储器130请求信息 以获得文件的大小)。在步骤210中,图像处理管理器125 (通过控制路径 122)判断图像帧中的输入文件105的尺寸并将输入文件105分成4个图 像子区。为了说明的目的,假设输入文件105中的图像帧的总数为400, 因此K二IOO,即每个图像子区包括IOO个图像帧。因此,图像子区l对 应于输入文件105的图像帧1至100;图像子区2对应于输入文件105的 图像帧101至200;图像子区3对应于输入文件105的图像帧201至300; 图像子区4对应于输入文件105的图像帧301至400。结果,在步骤210, 图像处理管理器125还判断输入文件105中每个图像子区的地址范围。在 步骤215,图像处理管理器125通过控制路径127创建与在步骤210中确 定的输入文件的尺寸相同的输出文件145。最后,在步骤220,图像处理 管理器125通过控制路径126将各个图像子区信息分配给4个处理单元PU 110-1、 PU 110-2、 PU 110-3和PU 110-4中的每一个。具体而言,图像处理管理器125通过控制路径126将输入文件105的图像帧1至100分配给 PU 110-1,将输入文件105的图像帧101至200分配给PU 110-2,将输入 文件105的图像帧201至300分配给PU 110-3,将输入文件105的图像帧 301至400分配给PU 110-4。因此,4个处理单元PU 110-1、 PU 110-2、 PU 110-3和PU 110-4中的每一个开始处理输入文件105的不同部分。
请参看图4,在步骤255中,4个处理单元PU 110画1、PU 110-2、PU 110-3 和PU 110-4中的每一个通过控制路径126从图像处理管理器125接收这些 分配的图像子区信息。在步骤260中,4个处理单元PU110-1、 PU 110-2、 PU 110-3和PU 110-4中的每一个根据一个或者多个图像处理操作(例如 但不局限于格式转换、縮放和场景切换检测等)独立处理其各自的图像子 区以提供已处理的图像子区。在步骤265, 4个处理单元PU 110-1、 PU 110-2、 PU 110-3和PU 110-4中的每一个通过DFS 140利用相同的分配地 址范围将其已处理图像子区写入输出文件145。例如,因为PU 110-1被分 配用于处理与图像帧1至100对应的图像子区,则PU 110-1通过DFS 140 将其已处理图像子区写入输出文件145与图像帧1至IOO对应的该部分中。 换言之,4个处理单元PU 110-1、 PU 110-2、 PU 110-3和PU 110-4中的每 一个写入输出文件145的不同部分中。
如上所述,由于全部所需信息(即图像子区信息)都在前面提供,根 据本发明原理的图像处理系统消除了处理器之间的通信开销 (communication overhead)。另外,并不额外要求各个已处理图像参量串 行结合。因此,根据本发明原理的图像处理系统理论上可以针对无限数量 的处理器进行极大的扩展。另外,本发明的原理适用于非时域(空域滤波和格式转换)和时域(场景切换检测和时域滤波)算法。例如,以图7所
示实施例的情况中的处理单元(例如PU 110-3)进行场景切换检测为例进 行说明。为了判断PU 110-3负责的范围内的第一图像帧(例如图像帧201) 是否是新场景的开始,PU 110-3可以开始分析少数前面的帧(即输入文件 105的在前图像子区的帧,例如图像帧199和200),从而PU 110-3能够判 断图像帧201是否是新场景的开始。但是,PU 110-3不需要从其他处理单 元(例如PU 110-2)获得任何输入或信息,即PU 110-3不需要与PU 110-2 进行通信,也不需要等待PU 110-2的结果。
应当指出,虽然以N个处理单元处理输入文件的情形为例对本发明的 原理进行了说明,但本发明的原理并不局限于此情形。例如,如果输入文 件小于特定尺寸或者N个处理单元其中之一发生故障等,图像处理管理器 125可以分配N个处理单元的一部分来处理输入文件。另外,如上所述, N个处理单元的每一个并不局限于只处理其自己的图像子区的图像帧。如 上所述,例如,为了判断分配的图像子区是否是新场景的第一帧,处理单 元可以处理其他子区的图像帧。
上述说明仅仅解释了本发明的原理,在本发明的原理和范围之内,本 领域普通技术人员可以设计出很多未在本说明书中介绍的其他实施方式。 例如,虽然在本说明书中介绍了分立的功能元件,而这些功能元件可以由 一个或多个集成电路(IC)来实现。类似地,虽然本说明书中介绍了分立 的功能元件,所有这些元件都可以在存储程序控制的处理器(例如数字信 号处理器)中实现,所述处理器执行例如与图3和图4所示一个或多个步 骤相对应的相关软件。因此可以理解,在由所附权利要求限定的范围之内,可以对本发明进行修改以引入本说明书未说明的任何变化、改变、替换或 者等同设置。
权利要求
1.一种用于处理图像序列以提供已处理图像序列的装置,包括多个处理单元,每个处理单元对所述图像序列中其各自的图像子区进行处理以提供对应的已处理图像子区;数据存储器,用于将每个对应的已处理图像子区存储在表示所述已处理图像序列的输出文件的对应部分中。
2. 根据权利要求l所述的装置,其中每个图像子区包括至少一个图像帧。
3. 根据权利要求1所述的装置,还包括-分布式文件系统,用于将所述多个处理单元的每一个的已处理图像子 区写入至所述输出文件的对应部分。
4. 根据权利要求l所述的装置,其中所述数据存储器包括内存。
5. 根据权利要求l所述的装置,其中所述输出文件表示电影。
6. 根据权利要求l所述的装置,还包括用于为所述多个处理单元的每一个分配需要处理图像子区的处理器。
7. —种用于处理图像序列以提供已处理图像序列的方法,包括 将所述图像序列划分为图像子区,每个图像子区具有至少一个图像帧;并行处理每个所述图像子区以提供已处理的图像子区;和 将每个已处理图像子区写入输出文件的预先分配的部分, 其中所述输出文件表示已处理图像序列。
8. 根据权利要求7所述的方法,还包括用分布式文件系统创建所述输出文件的步骤。
9. 根据权利要求7所述的方法,其中所述图像序列和己处理图像序列 表示电影。
10. 根据权利要求7所述的方法,其中所述划分步骤包括为所述多个处理单元中的每一个分配特定的一个图像子区。
11. 根据权利要求10所述的方法,其中所述处理步骤包括 所述多个处理单元的每一个将其己处理图像子区写入其在所述输出文件中预先分配的部分中。
12. 根据权利要求7所述的方法,其中所述写入步骤包括在内存中存储所述输出文件。
全文摘要
本发明提出了一种图像处理系统,包括图像处理管理器;多个处理器,用于处理图像序列(例如电影);分布式文件系统,用于创建和存储表示已处理图像序列的输出文件。所述图像处理管理器将存储的图像序列的图像子区分配给所述多个处理器中的每一个以进行处理。所述多个处理器中的每一个对分配的图像子区进行处理并向所述分布式文件系统提供对应的已处理图像子区。所述分布式文件系统将所述多个处理单元的每一个的已处理图像写入所述输出文件的对应部分。
文档编号G06T1/20GK101595509SQ200780050203
公开日2009年12月2日 申请日期2007年2月2日 优先权日2007年2月2日
发明者奥克·舒尔德·范德沙尔 申请人:汤姆逊许可公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1