用于生成数字内容的元数据的方法及设备的制作方法

文档序号:6382944阅读:159来源:国知局
专利名称:用于生成数字内容的元数据的方法及设备的制作方法
技术领域
本发明涉及一种用于生成如数字图像序列的数字内容的元数据的方法和设备。更具体地,描述了一种用于生成数字内容的元数据的方法和设备,允许在正在进行的生成元数据的过程中检查已经生成的元数据。
背景技术
电影胶片是文化遗产的一部分。不幸的是,它们经常遭受到令人不悦的物体的影响,如刮痕,灰尘,污垢,色斑,磨损等。这些通常来自显影、加工(handling)、存储和放映或扫描胶片片段(footage)的技术处理。在少数情况下,在捕获过程中可能已经引入静态物体,例如镜头里的绒毛或扫描器玻璃上的污垢。在下文中,所有的这些缺陷都会被简单地称作“刮痕和污垢”。刮痕和污垢降低了观看电影的质量和愉悦感。也就是说,在大多数情况下,并非因为丢失了相当数量的视觉信息。实际上,与之相反,刮痕和污垢提供了多余的信息量,尽管这些信息量完全无关。人脑基于其日常视觉体验非常擅长替换缺失的相关信息。但是当人观看受到影响的片段时,总是将违背其有关于真实世界中有形物体的模样和行为的经验。例如,沉积在胶片上的污垢在扫描或放映过程中会出现在一帧中并且会在其它帧中消失。这与人的有关物体通常平滑地出现、移动并消失的体验相矛盾并导致大脑异常处理不正常的视觉刺激。因此,对观看者来说,以这种方式分离相关和不相关信息让人感到压力和疲惫。因此,为了使观看者保持放松并将注意力关注在内容之上,需要除去刮痕和污垢,并且因此也是任何恢复过程的重要部分。优选地,在扫描后执行数字式恢复。尽管存在各种湿扫描技术,这种技术在扫描前通过化学清洁处理馈入材料以减少污垢和潜在刮痕,但是由于许多导致其成本非常高昂的技术问题使得它们并未被广泛使用。并且,许多片段已经被数字扫描并归档在胶带(tape)上。显然地,通过寻找并除去每个刮痕和污垢物来手动恢复数字化的胶片是一件非常耗时的事情,尽管存在在售的在许多方面协助艺术家做这项工作的软件。尤其地,手动恢复具有大量刮痕或污垢的比较老的内容在经济上可能是不可行的。对于大量的具有未知商业价值的片段存档来说更是如此。应用使用试图检测并除去刮痕和污垢的算法的自动恢复软件是手动处理唯一可行的替代方案。目前已有许多种或多或少自动执行检测和除去刮痕和污垢的软件和硬件产品在售。通常需要手动调整某些参数以精细调节检测和除去,有时对每个场景单独进行。处理过后,恢复的输出或其若干部分必须被接受或被拒绝,可以选择使用不同的参数重新运行恢复。这难以让人感到满意,因为这样的调整耗时,并且在没有经过特别适配的关键场景中质量也可能不够好。检测刮痕和污垢并非是一个不重要的问题,这个问题目前未完全解决。仍然存在一定比率的未被检测出来或被错误检测的物体。近来,已经有人提出将恢复过程分解为检测物体(例如刮痕和污垢物)并且使用自动元数据驱动工作流程进行除去。换言之,第一步,检测伪像(artifact)并将与检测到的伪像有关的信息存储到元数据数据库中。然后使用运算符(operator)检查存储的元数据,之后进行第二步,基于存储在元数据数据库中的信息将检测到的伪像从图像中除去。这种方法的缺陷在于检查必须要等到检测过程已经完成才能开始。

发明内容
因此,本发明的目的在于提出一种用于生成数字内容的元数据的方法,这种方法允许在全部数字内容被分析之前检查生成的元数据。根据本发明,一种用于生成数字内容的元数据的方法包括下列步骤:-将元数据生成分解为多个处理任务;-将多个处理任务中的两个或更多个处理任务分配给两个或更多个处理节点;-收集由两个或更多个处理节点生成的元数据;以及-在输出单元上对收集的元数据进行可视化显示。相应地,一种用于生成数字内容的元数据的设备,包括:-用于将元数据生成分解为多个处理任务并将多个处理任务中的两个或更多个处理任务分配给两个或更多个处理节点的处理器;-用于收集由两个或更多个处理节点生成的元数据的数据采集器;以及-用于在输出单元上对收集的元数据进行可视化显示的可视化显示控制器。根据本发明的解决方案通过将数字内容必需的处理分配给例如网络云中的多个处理节点而解决了即时的元数据处理和检查的问题。然后在中央节点处收集并可视化显示处理节点获得的结果。使用这种方式,在处理在后台中继续的同时,可以对数字内容和生成的元数据进行带有注释的回放(高达处理速度)或独立地检查。由于大量的内容或复杂的处理算法的原因,对数字内容的处理以及生成合适的元数据有时候会极其复杂和耗时,所以将处理任务分配给多个处理节点使得通过使元数据足够快的可用以允许同时检查而节省时间。此外,如果处理需要设置参数,那么可以非常快地测试不同的设置。有利地,对收集的元数据进行后处理。由于处理节点只在一小部分数字内容上工作,所以对收集的元数据进行后处理允许考虑更大部分的数字内容甚至全部数字内容。当然,对所收集的元数据和/或数字内容进行手动导航也适合用于检查生成的元数据。有利地,根据其报告的状态将更多的处理任务分配给处理节点。当处理节点发信号通知已经完成向其分配的任务时,该处理节点可用于另外的处理。从而保证所有的处理节点连续运行。优选地,除了收集的元数据之外,处理任务的分配和/或被分配的处理任务的当前处理状态也是可见的。这允许在处理的同时对分配的处理进行广泛的追踪。有利地,当取得另外的元数据时,更新收集的元数据的可视化显示(visualization),当分配了另外的处理任务时,更新处理任务的分配的可视化显示,或者当处理状态改变时,更新已分配的处理任务的当前处理状态的可视化显示。使用这种方式,可以保证中央节点总是提供最新的当前处理状态的可视化显示。有利地,使用不同颜色、形状或标记来指示未分配的或未处理的处理任务、已分配的处理任务的分配和处理状态以及生成的元数据。此外,有利地将元数据群集化以供在输出单元上进行可视化显示。这两个措施保证人类观看者可以容易地把握怎样分配处理任务以及怎样对处理任务进行处理,以及哪些元数据已经可用。优选地,处理任务与数字内容的若干部分相关,例如电影的帧或块(chunk),和/或还与算法的处理步骤有关。换言之,处理节点对数字内容的不同部分执行相同的操作,或者对数字内容的相同部分执行较大操作的一个或更多步骤,或者两者的混合。有利地,确定处理节点的处理速度和/或处理节点的累计处理速度。这允许在分配处理任务时将处理节点的性能考虑进去。例如,具有较高处理速度的处理节点可以被分配要求较高的处理任务,而具有较低性能的处理节点则接收要求较低的任务。按照这种方式,智能地分配处理任务,并且非常高效地使用可用设备。此外,累计处理速度适合用于控制元数据检查过程的回放速度。尽管在上面关于元数据的生成描述了本发明,但是它同样也适合用于将元数据应用于数字内容,例如用于基于前面生成的元数据自动恢复数字内容。在此情形中,应用元数据被分解为多个处理任务,这些处理任务被分配给若干处理节点。除了分配处理任务的分配之外,必需的元数据以及数字内容也被分配给若干处理节点。然后,由主控器收集由处理节点生成的修改过的数字内容并且在输出单元上对其进行可视化显示。


为了更好地理解本发明,下面的描述将参照附图进行更加详细地说明。应该理解的是,本发明并不限于这些示例性实施例,并且特定特征也可以在不偏离所附权利要求限定的本发明的范围的情况下进行权宜地组合和/或修改。附图中:图1示出了用于可视化显示数据集的方法;图2图示了根据图1中的方法的数据集的可视化显示;图3示意性描绘了适合用于实施根据本发明的方法的网络架构;图4示意性图示了主控过程的实施方式;图5描绘了主控过程的用户界面;图6示出了用于调节主控过程的回放速度的方法;以及图7示意性图示了适配于执行主控过程的设备。
具体实施例方式首先,描述用于可视化显示较大数据集的解决方案,其优选地用于监视主控过程,如稍后将说明的。图1是用于可视化显示数据集的输出单元I的原理图。输出单元I包括屏幕2,例如TFT显示器。当然,输出单元I也可以是图形用户界面(⑶I)的窗口。输出单元I具有由屏幕可用的水平像素定义的水平方向或GUI的窗口的最大分辨率X。输出单元I耦合到提供用于可视化显示数据集的输出信号OS的设备3上。优选地,设备3是计算机,例如个人计算机或工作站单元或它们的一部分。输出信号OS优选地是由设备3提供给屏幕2的视频信号的一部分。元数据信息,即长度为S的元数据向量M被输入到设备3中。长度S的元数据向量M意味着该向量包括数量是S的元数据元素,例如包括数量为S的元素的元数据集合。元数据元素可以是单个数值,例如帧的对比度,或者是数据集合,例如对比度和亮度值。设备3被配置为处理元数据向量M以在输出单元I上进行可视化显示。元数据向量M被可视化显示为多个条状物(bar)4,5,例如,每个条状物4,5都具有4个水平像素(两个暗像素和两个亮像素)。一些条状物5使用高亮显示(用带交叉纹的像素图示),这表示一些形成这些条状物5的基础的元数据元素仍然缺失。图2示意性图示了用于处理元数据向量M进行可视化显示的方法。在第一步10中,确定输出单元I的最大水平分辨率X。随后,步骤11例如根据用户输入指令来确定每个条状物4,5的水平像素的数量N,。替代性地,每个条状物4,5的水平像素的数量N是预定数值。在进一步的步骤12中,通过计算B=FL00R(X/N)确定可显示条状物的最大数量B,其中FLOOR是趋向负无穷的舍入操作。当可显示条状物4,5的最大数量B已知时,在步骤13使用C=CELL(S/B)计算为单个条状物必须群集的元数据元素的数量,其中CELL是趋向正无穷的舍入操作。从元数据向量M的第一个元数据元素开始,每个元素被赋给相应的群集。如果S/B的余数>0存在(REM (S,B)>0),那么最后一个群集将比其余的群集具有更小的大小。在步骤14中,当例如从储存库、网络或运算符取得实际元数据时,在步骤15它们被群集化为确定数量的群集。根据操作者的输入或通常的规定,在步骤16对相应群集的每个元数据元素应用预定函数,例如求最大值函数。在步骤16中应用函数时,尚未忽略群集中的可用元素。然后,在步骤17将函数的结果赋给相应的群集。为了提醒检查者注意缺失的元素,在步骤18对不完整的群集进行标记,例如,使用颜色、纹理、标记等。最后,在步骤19通过条状物的高度显示数值。不论何时元数据向量M的元素发生变化,即,当缺失的元素变为可用或当元素变成新的数值时,都会再次对对应的群集应用期望的函数并更新显示。为了达到此目的,在步骤20对元数据向量M的元素进行监视。有利地,每次当元素改变时都更新显示。当然,仅在定义的最小数量的元素已经改变时才更新显示也是可能的,例如,为了避免太频繁的更新。同样,优选地,在执行本发明的方法的剩余的步骤之前,首先取得最小数量的元素。使用这种方式保证了有意义的显示对操作员可用。优选地,需要改变的元素的最小数量和/或需要在开始时取得的元素的数量可由用户设定。下面将参照胶片恢复过程描述本发明的构思。当然,本发明的构思同样也可应用于其它可以使用分布式方式执行并传送可显示结果的过程。为了组合胶片恢复过程的检测和检查步骤,必须保证检测对可接受的检查来说足够快。由于应用于内容的算法的高度复杂性,或者由于大量的数字内容,处理数字内容以提取相关元数据通常是一个CPU密集和耗时的任务。例如,24帧每秒的90分钟的电影由129600独立的帧组成,需要对其进行元数据处理。因此,整个处理过程被分解,部分任务被分配给网络云中的独立处理器,并且并行地执行处理。图3示出了合适的网络架构。“主控”过程6管理内容设置,算法、处理等。在不同的处理节点处的多个“工作器”处理7则执行主控器6分配的处理工作。在下面的描述中,假设数字内容可以被分解为独立的单元,例如像电影中的若干帧,并且采用的算法可以被分解为独立的处理步骤。工作器7实施的过程是非常简单的。工作器7等待主控器6分配处理工作。当一个或更多处理工作已经被分配给工作器7时,工作器7开始处理工作。当处理工作完成时,或当规定的超时耗尽时,具有有关工作器7的处理速度的指示的确认被发送给主控器6。这向主控器6通知工作器7仍旧处于活跃状态。主控过程6必须将处理工作提供给不同的工作器处理7。为了达到此目的,提出了将该处理分解为(最小)处理单元的解决方案。每个内容单元,例如电影中的一帧,被分解为算法的处理步骤。与这种分解组合的是将处理工作智能分配给工作器7。处理工作可以由若干处理单元组成。一方面,仅仅将最小处理单元分配给工作器7可能会具有处理是非常低效的缺点,这是因为大量的管理开销。此外,使用较长的电影帧序列时,算法可能工作得更为高效。例如,对一帧应用运动估计可能至少需要分析前一帧和后一帧。因此,对一帧来说,可能必须对三个帧进行分析。十个连续帧的序列可能具有好得多的效率,这是因为对十个帧来说,可能只必须对十二个帧进行分析。另一方面,太大的处理工作可能具有使得与处理同时进行的常规回放(用于检查)变得更加困难的缺点。这些问题的一个解决方案是将最小处理单元灵活地组成为被分配给工作器2的处理工作。处理工作的组成和大小主要取决于工作器2的性能和内容序列的有用的群集。分配给工作器2的下一个处理工作总是从需要下一步回放和检查的、未被分配的处理单元开始。图4示意性图示了主控过程6的实施方式。在第一步骤30中,处理被分解为(最小)处理单元。为了达到此目的,整个数字内容被分解为内容单元,并且处理算法被分解为(最小)的处理步骤。与此同时,使用将所有处理单元作为“未处理/未分配”处理的条目(entry)对元数据图形进行初始化。在下一步31中,初始处理工作被分配给工作器7。处理工作可以由若干处理单元组成,例如应用在电影的某些帧上的整个处理算法。然后,将初始处理工作的所有处理单元的对应的元数据图形条目设置为“分配给工作器……”。随后,步骤32检查是否从工作器X接收到对处理单元或工作的确认。任何工作器都会在处理工作全部完成或在定义的时间帧耗尽时发送确认。该确认包含用于当前处理工作的过程的条目,这使得主控过程6能够相应地更新其进度条。该确认还包含工作器当前处理速度的条目。然后,在步骤33计算已经从中接收到确认的每个工作器X的性能值。主控过程6根据确认中的条目和/或确认之间的自我测量值来计算每个工作器的性能值,例如每秒处理的帧的数量。下一步34确定工作器X是否需要新的处理工作。完成全部处理工作之后,在步骤35分配新的处理工作给该工作器。分配给工作器X的工作的大小根据该工作的最长时间除以工作器X的性能来计算。这保证在工作的最长时间之后完成工作。当新的处理工作被分配给工作器X时,合适的消息被发送给该工作器,并且这些处理工作的所有的处理单元的元数据图形条目都被设置为“分配给工作器X”。最后,在步骤36工作器X提供的新的元数据与主控过程6管理的元数据数据库组合。此外,确定了元数据图形表示的元数据值。在元数据图形中,元数据值可以具有不同的表示,例如,元数据预览、元数据本身……然后,将确定的元数据表示插入到元数据图形。本主控过程的上述实施方式并不仅适合用于产生元数据,而且适合用于将元数据应用于数字内容,例如用于基于前面产生的元数据进行数字内容的自动恢复。在此情形中,应用元数据被分解为多个处理任务,这些处理任务被分配给处理节点7。当然,除了分配处理任务之外,必需的元数据以及数字内容也需要被分配给处理节点7。然后,处理节点7生成的修改后的数字内容被主控器6收集并在输出单元上进行可视化显示。图5示出了主控过程6的图形用户界面40。图形用户界面包括用于包含潜在元数据注释的实际视频帧的显示区域41, 用虚线矩形表示。元数据图形显示区域42给出有关帧的分配和处理状态以及已经可用的元数据的详细信息。信息区域43包含用于元数据图形显示区域42的图例以及当前执行的算法、活动的工作器的数量、处理速度等的信息。在图5的示例中,当前显示的巾贞通过元数据图形显示区域42中的跳跃男孩(bounding boy)被高亮显示。黑色条状物表明对应帧的实际元数据值,散列的条状物表示还未被分配的帧,白色和灰色条状物表示已经分配的帧,其中灰色条状物意味着对应的处理步骤当前正在执行。白色和灰色条状物的序号表明向其分配处理步骤的工作器。为了追踪元数据处理的结果,利用元数据注释对内容进行回放。与算法、内容和工作器速度相关,处理时间可以随之变化。因此,需要对回放速度进行调整以使回放位置保持在当前处理位置附近。图6描绘了适合用于调整回放速度的方法。在第一步50中,重复地检查当前显示的帧是否已经显示了指定的显示持续时间。一旦属于这种情况,那么步骤51检查对于下一帧是否存在可用的元数据。如果有,那么步骤52加载并显示下一帧以及相关联的元数据。在下一步53中,检查在当前回放位置之后的处理过的帧的数量是否增加。如果这样,那么在步骤54减少指定的显示持续时间以加快回放。如果它并未增加,那么在步骤55确定在当前回放位置之后的处理过的帧的数量是否减少。如果这样,那么在步骤56增加指定的显示持续时间以减慢回放。图7示意性图示了适配于执行主控过程6的设备60。设备60包括处理器61,它将元数据生成分解为多个处理任务并通过接口 62将多个处理任务中的两个或更多处理任务分配给两个或更多处理节点7。数据采集器63收集两个或更多处理节点7生成的元数据。可视化显示控制器64通过另一个接口 65在连接的输出单元I上对收集的元数据进行可视化显示。处理器61连续地监视一个或更多的处理节点7是否已经完成分配给它们的处理任务以及因此需要提供更多的处理任务。
权利要求
1.一种用于生成数字内容的元数据的方法,所述方法包括下列步骤: -将元数据生成分解(30)为多个处理任务; -将所述多个处理任务中的两个或更多处理任务分配(31)给两个或更多个处理节点(7); -收集(36)所述两个或更多个处理节点(7)生成的元数据;以及 -在输出单元(I)上对所收集的元数据进行可视化显示(36 )。
2.如权利要求1所述的方法,其中所述数字内容是数字化的胶片,所述元数据是与在所述数字化的胶片中检测到的伪像有关的信息。
3.如权利要求1或2所述的方法,还包括步骤:根据处理节点(7)报告的状态将更多的处理任务分配(35 )给处理节点(7 )。
4.如权利要求1至3之一所述的方法,还包括步骤:对处理任务的分配和/或所分配的处理任务的当前处理状态进行可视化显示(35 )。
5.如权利要求1至4之一所述的方法,还包括下列步骤:当取得更多的元数据时,更新收集的元数据的可视化显示,当分配更多的处理任务时,更新处理任务的分配的可视化显示,或者当处理状态改变时,更新已分配的处理任务的当前处理状态的可视化显示。
6.如前述权利要求之一所述的方法,其中使用不同的颜色、形状或标记指示未分配的或未处理的处理任务、已分配的处理任务的分配和处理状态,以及生成的元数据。
7.如前述权利要求之一所述的方法,其中所述处理任务与数字内容的若干部分和/或与算法的处理步骤相关。
8.如权利要求7所述的方法,其中所述数字内容的若干部分是电影的帧或块。
9.如前述权利要求之一所述的方法,还包括步骤:群集化(15)元数据以用于在输出单元(I)上进行可视化显示。
10.如前述权利要求之一所述的方法,还包括步骤:确定(33)所述处理节点(7)的处理速度和/或所述处理节点(7)的累计处理速度。
11.如权利要求10所述的方法,还包括步骤:基于所述累计处理速度控制(54,56)元数据检查过程的回放速度。
12.如前述权利要求之一所述的方法,还包括步骤:手动导航所收集的元数据和/或所述数字内容以检查所述元数据。
13.一种用于生成数字内容的元数据的设备(60),所述设备(60)包括: -处理器(61),用于将元数据生成分解(30)为多个处理任务并用于将多个处理任务中的两个或更多个处理任务分配(31)给两个或更多个处理节点(7); -数据采集器(63),用于收集(36)由所述两个或更多个处理节点生成的元数据;以及 -可视化显示控制器(64),用于在输出单元(I)上对所收集的元数据进行可视化显示(36)。
14.一种用于将元数据应用于数字内容的方法,所述方法包括下列步骤: -将所述元数据的应用分解为多个处理任务; -将所述多个处理任务中的两个或更多个处理任务分配给两个或更多个处理节点(7);以及 -将元数据分配给所述两个或更多个处理节点(7)。
15.如权利要求14所述的方法,还包括下列步骤:-收集由所述两个或更多个处理节点(7)生成的修改过的数字内容;以及-在输出单元上对修改过的 数字内容进行可视化显示。
全文摘要
描述了一种用于生成数字内容的元数据的方法和设备(60),它允许在正在进行的生成元数据的过程中检查已经生成的元数据。将元数据生成分解为(30)多个处理任务,将它们分配(31)给两个或更多个处理节点(7)。收集(36)由两个或更多个处理节点(7)生成的元数据并在输出单元(1)上对其进行可视化显示(36)。
文档编号G06F9/50GK103218192SQ20121050683
公开日2013年7月24日 申请日期2012年11月30日 优先权日2011年11月30日
发明者O.坎普亨克尔, O.泰斯, R.凯勒 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1