技术领域
[0001] 本公开涉及图像处理领域,并且更具体地,涉及用于生成视频的方法、设备和计算机程序产品。
相关背景技术
[0002] 在一些生活或学习的场景中,视频拥有者拥有一段视频,该视频中的人物使用一种语言来讲述一段话,在讲述的过程中,讲述者会做一些表情和动作来使讲述更加生动,从而可以吸引观众的注意力。然而,当一些母语是另一种语言的观众想看懂这个视频时,通常的做法是提取该视频的文字内容,并将其翻译成观众能看懂的语言,再以字幕的形式合成到原始视频中。
[0003] 为了进一步提高观众的体验,另一种做法是以翻译后的文本为原材料生成观众能听懂的音频,再将生成的音频与视频合成到一起。然而,所合成的视频往往会出现音频和视频不同步的问题,降低观众的观看体验。
具体实施方式
[0018] 下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0019] 在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义
[0020] 如以上提及的,视频拥有者希望将讲述者用原始语言讲述一段话的视频转换成讲述者用另一种语言讲述这段话的视频,同时需要尽可能不丢失原始视频中的信息,并且需要讲述者的表情和动作等画面能够与用目标语言讲述的音频实现同步。例如,视频拥有者有一段视频,视频中讲述者用英文讲述一段话,视频拥有者希望将该视频转换成讲述者用中文讲述这段话。一些传统方法从英文视频中提取英文音频,再将该英文音频转换成英文文本,然后将该英文文本翻译成中文文本。得到翻译后的中文文本后,可以利用语音合成技术基于中文文本生成一段中文音频。通过移除原始视频中的英文音频,再将中文音频添加到原始视频中,即可生成讲述者用中文讲述这段话的视频。
[0021] 然而,由于语言和文化的差异,往往翻译后的音频和翻译前的音频在时长上会有很大的差异。例如,英文中一句很长的话可以被翻译成中文的四字成语,甚至两个字或三个字的网络流行语,这会导致生成的中文音频时长短于英文音频。例如,原始视频中的英文音频可能有60秒,而相对应的中文音频仅有30秒,这会导致在生成的中文视频中讲述者讲述了30秒后,有30秒的视频没有声音。这时需要将后30秒视频剪掉,导致被剪掉的视频中的信息丢失。
[0022] 另一方面,翻译前的视频和翻译后的视频在表达同一句话时可能语序会不同,导致讲述者的表情和动作出现不同步的情况,从而给观众带来不好的体验。例如,在原始视频中,讲述者用英文讲述“I will be very happy if I can eat an apple”这句话时可能会在说到“very happy”时做出高兴的表情,而在说到“apple”时做出苹果的手势。然而在将这句话翻译成中文时,即“如果我可以吃一个苹果,我会很开心”,讲述者可能会在说“苹果”的时候做出了高兴的表情,而在说“很开心”的时候做出苹果的手势。这种现象会给观众观看视频带来不利的影响。因此,需要一种更优的将一种语言的视频转换成另一种语言的视频的方法。
[0023] 根据本公开的各种实施例,提供了一种用于生成视频的方案,在本公开的实施例中,提取输入视频中的原始语言的原始文本,并将原始文本翻译成目标语言的翻译文本。然后,使用输入视频和翻译文本来生成输入视频的框架帧,其中框架帧指示与输入视频的颜色配置和对象布局相关联的信息。该方案还包括使用框架帧和翻译文本来生成使用目标语言播报翻译文本的输出视频。
[0024] 根据本公开实施例的方案,可以基于用原始语言讲述的输入视频重新生成用目标语言讲述的输出视频。由于利用框架帧来生成新视频,因此生成的视频具备输入视频的配色和对象布局,增强了输出视频与输入视频的相似度。此外,由于在生成视频时还利用了目标语言的翻译文本来约束视频的生成,因此可以按照翻译文本的内容在正确的时间点生成讲述者的表情和动作,从而使输出视频中的表情和动作与音频同步,并且减少丢失输入视频中的信息。
[0025] 以下将参照附图来具体描述本公开的实施例。
[0026] 图1示出了本公开的多个实施例能够在其中实现的示例环境100的示意图。在环境100中,示出了输入视频102和原始文本104。在输入视频102中讲述者使用原始语言讲述原始文本104的内容。讲述者可以是真人、虚拟人、卡通形象或其他虚拟对象。在图1所示的示例中,原始语言是英文,原始文本104的内容则是一段英文文本,例如,“Today,I am going to introduce some drawing skills……”。为了简洁,图1中的原始文本104仅展示出一个句子,然而输入视频102可以是任意时长的视频,因此对应的原始文本104可以是任意长度的文本。计算设备106接收到输入视频102后,生成输出视频108。在输出视频108中,讲述者使用目标语言讲述翻译文本110中的内容。在图1所示的示例中,目标语言是中文,翻译文本
110是与英文的原始文本104相对应的中文翻译,例如,“今天我将介绍一些绘画技巧……”。
在输出视频108中,讲述者的表情和动作与视频的音频相对应,例如,在输出视频108的第10秒,讲述者说到“眯起眼睛观察画面的布局”时,讲述者做出眯起眼睛的动作;在第20秒,讲述者说到“所画的人物表情要夸张”时,讲述者做出夸张的表情。
[0027] 计算设备106可以是任意具有计算能力的设备。计算设备106的一些示例包括但不限于:个人计算机、台式计算机、便携式计算机、服务器、基于云的服务器、服务节点、边缘计算节点等。
[0028] 在一些实施例中,为了生成输出视频,本公开所描述的方法从输入视频中提取原始语言的原始文本,然后基于原始文本生成目标语言的翻译文本。为了提高输出视频与输入视频的相似度,该方法基于输入视频和翻译文本,利用框架生成模型来生成用于输出视频的框架帧。该框架帧包括输入视频的颜色配置和对象布局信息。在一些实施例中,该方法基于框架帧和翻译文本中包括的文本特征,利用视频生成模型来生成输出视频。通过这种方式,所生成的输出视频中的表情和动作能够与音频同步。应当理解,虽然在本公开的实施例中使用英文作为原始语言的示例,并且使用中文作为翻译语言的示例,但是本公开并不旨在限制原始语言为英文,并且翻译语言为中文。在本公开所提供的方法中,原始语言和翻译语言可以是任何语言。在一些情况下,原始语言和翻译语言也可以是同一种语言。
[0029] 图2示出了根据本公开的一些实施例的生成输出视频的过程200的示意图。如图2所示,过程200包括输入视频202(例如,图1中的输入视频102)。输入视频202是讲述者用原始语言讲述的视频。过程200从输入视频202中提取视频的音频部分,然后利用诸如自动语音识别等技术从音频部分中提取原始语言的原始文本。然后,过程200可以将原始语言的原始文本翻译成目标语言的翻译文本204。为了提高所生成的视频与输入视频202的相似度,过程200基于输入视频202和翻译文本204,利用框架生成模型206来生成框架帧208。输入视频202中的图像帧能够为框架生成模型206提供框架帧的颜色配置和对象布局信息,同时翻译文本204能够为框架生成模型206提供对框架帧的附加的约束条件。所生成的框架帧208包括输入视频202的颜色配置和对象布局信息。为了得到与讲述者表情和动作相关联的信息,过程200从翻译文本204提取文本中的特征,以获得文本特征向量210。然后,过程200可以基于框架帧208和文本特征向量210,利用视频生成模型212来生成输出视频214。框架帧208能够为视频生成模型212提供颜色配置和对象布局信息,同时文本特征向量210能够为视频生成模型提供与表情和动作相关联的信息,使得输出视频214中的讲述者的表情和动作能够与音频同步。
[0030] 如上文所描述的,为了使输出视频具有输入视频的颜色配置和对象布局,可以基于输入视频和翻译文本,利用框架生成模型来生成框架帧。在一些实施例中,框架生成模型可以包括文本编码器、图像编码器和图像解码器。在一些实施例中,可以基于输入视频中最具有代表性的一个图像帧来生成框架帧。在一些实施例中,由于讲述者会先调整好状态再开始录制视频,因此提取输入视频的第一帧作为代表性帧往往具有较好的效果。在一些实施例中,可以对提取的代表性帧进行验证,以确定该帧是有效帧。例如,可以利用图像识别技术来识别该帧中是否出现目标对象。如果该帧中不存在目标对象,则说明讲述者可能还没有进入画面或者还没有准备好。在一些实施例中,如果当前帧不是有效帧,可以提取当前帧之后相隔预定阈值帧数的第二帧,并继续验证此帧是否是有效帧,直到找到有效帧为止,将该有效帧确定为代表性帧。
[0031] 翻译文本可以为框架生成模型提供附加的条件约束,以提高所生成的框架帧的质量。例如,如果翻译文本中包括“今天我将介绍一些绘画技巧”,则指示框架帧中应包括诸如画板、画布等与绘画相关的内容。在一些实施例中,可以向框架生成模型提供针对翻译文本的总结性描述。总结性描述是自然语言形式的单词的序列。在一些实施例中,由于讲述者通常会在视频开始时介绍本视频的内容概述,因此可以提取翻译文本的第一句话作为翻译文本的总结性描述。在一些实施例中,可以对所提取的句子进行验证,以确定该句是否符合总结性描述的特征。例如,可以判断句子的字数,字数需要大于预定字数阈值才能作为总结性描述。还可以通过计算翻译文本中每个词的出现次数来得到高频词列表。如果一个词语在翻译文本中的出现次数大于预定字数阈值,或者将全部词语的出现次数进行排序后该词语能够排在前列,则说明该词语是翻译文本中的高频词。通过分析整个翻译文本,可以得到高频词列表。需要将除停用词(即在语言中经常出现并且几乎没有实际意义的词,例如,“是”、“和”、“然后”等)从高频词列表中移除。如果所提取的句子中包括的高频词数目大于预定的高频词数目阈值,则可以使用这个句子作为总结性描述。
[0032] 在一些实施例中,可以向框架生成模型206输入从输入视频202中提取的代表性帧和从翻译文本204中提取的总结性描述来生成框架帧。在一些实施例中,框架生成模型206利用文本编码器来对总结性描述进行编码,以获得可以用于计算的经编码的总结性描述。在一些实施例中,框架生成模型206利用图像编码器来对代表性帧进行编码,以获得可以用于计算的经编码的代表性帧。在一些实施例中,框架生成模型206可以基于经编码的总结性描述和经编码的代表性帧生成第一隐向量。该第一隐向量既包括总结性描述中提供的基于文本的约束条件,还包括代表性帧中提供的基于图像的图像特征。在一些实施例中,由于代表性帧中提供的信息量远远大于总结性描述中包含的信息量,因此为了加强总结性描述对所生成的框架帧的约束,框架生成模型206可以将经编码的总结性描述再次与第一隐向量连接,以获得第二隐向量,从而加强总结性描述对框架帧的生成的约束。在一些实施例中,框架生成模型206利用图像解码器来对隐向量进行解码以获得框架帧。
[0033] 图3示出了根据本公开的一些实施例的框架生成模型300的示意图。在图3所示的示例中,框架生成模型300(例如,框架生成模型206)接收图1中的输入视频102,并提取输入视频102的第一帧。框架生成模型300使用人脸识别技术来检测第一帧中是否存在完整的人脸。响应于检测到完整的人脸,框架生成模型300使用该第一帧作为代表性帧304。框架生成模型300还接收图1中的翻译文本110,并提取翻译文本110的第一句话。响应于确定第一句话的字数大于预定字数阈值,并且“绘画”和“技巧”两个词语在翻译文本110中出现次数均大于预定出现次数阈值,框架生成模型300使用第一句话作为总结性描述302。
[0034] 在获得总结性描述302和代表性帧304之后,框架生成模型300使用文本编码器306和图像编码器308分别对总结性描述302和代表性帧304进行编码。框架生成模型300使用文本编码器306来对总结性描述302进行编码,以获得经编码的总结性描述310。经编码的总结性描述310是包括总结性描述302中的文本信息的向量。框架生成模型300使用图像编码器308来对代表性帧304进行编码,以获得经编码的代表性帧312。经编码的代表性帧312是包括代表性帧304中的图像信息的向量。
[0035] 框架生成模型300将经编码的总结性描述310和经编码的代表性帧312连接在一起,通过线性变换获得隐向量314。由于总结性描述302中包含的信息量通常小于代表性帧304中包含的信息量,因此为了加强总结性描述302对要生成的框架帧的影响,框架生成模型300将经编码的总结性描述310再次与隐向量314连接在一起,以获得隐向量316。然后,框架生成模型300利用图像解码器318对隐向量316进行解码,以获得框架帧320。框架帧320具有代表性帧312的颜色配置和对象布局,并且满足总结性描述302中包括的约束条件。在图3所示的示例中,通过多次引入经编码的总结性描述310,可以加强总结性描述302对要生成的框架帧的约束,使得所生成的框架帧320更加符合总结性描述的内容。
[0036] 在训练框架生成模型时,需要使用总结性描述和代表性帧对作为训练数据。框架生成模型的损失函数 如以下等式(1)所示:
[0037]
[0038] 其中θg和φg表示与解码器网络和编码器网络有关的参数,角标g表示框架帧,v表示代表性帧,t表示总结性描述文本,zg表示隐向量。p(zg)是zg的先验分布,例如可以被设置为各项同性多元高斯分布。编码器网络 具有两个子编码器网络η(·)和ψ(·),其中η(·)被应用于代表性帧v,并且ψ(·)被应用于总结性描述t。框架生成模型应用线性变换以将经编码的代表性帧和总结性描述连接在一起,因此有表示p(zg) 与
之间的散度。
[0039] 为了生成表情和动作与音频同步的视频,除了框架帧之外还需要考虑翻译文本中包含的信息,并基于框架帧和翻译文本,利用视频生成模型来生成输出视频。然而,简单地对框架帧和翻译文本进行编码,再将经编码的框架帧和经编码的翻译文本连接在一起使用会导致对框架帧和翻译文本的过度依赖使用,从而使得对特征的长度和相对强度的调整变得非常困难。因此,在本公开的实施例中,视频生成模型可以利用编码器对翻译文本进行编码,以获得经编码的翻译文本,然后对经编码的翻译文本应用卷积网络以获得翻译文本的文本特征向量。这样,可以以更健壮、更高效的方式利用翻译文本中的文本信息。
[0040] 图4示出了根据本公开的一些实施例的基于翻译文本来生成文本特征向量的过程400的示意图。在图4所示的示例中,翻译文本402是一段中文文本。为了简洁,在图4中仅示出了这段中文文本的第一句话,而省略了后面的内容。然而应当注意,区别于上文所描述的总结性描述,翻译文本是包括讲述者讲述的全部内容的文本,而总结性描述是对翻译文本的概括。通常情况下,翻译文本不同于总结性描述。在一些情况下,翻译文本包含总结性描述。如图4所示,过程400利用文本编码器404进行编码,以获得经编码的翻译文本。然后,将文本编码器404输出的经编码的翻译文本输入到3D卷积网络406中,以获得文本特征向量
408。文本特征向量408中将包括翻译文本402中的文本特征。3D卷积网络406的大小可以是Fc×Ft×kx×ky×kz,其中Ft是经编码的翻译文本的向量长度,Fc是输出通道的数目,kx×ky×kz是内核大小。
[0041] 在获得文本特征向量408之后,视频生成模型则可以利用该文本特征向量408和上文中已经获得的框架帧320来生成表情和动作与音频同步的视频。在一些实施例中,可以基于框架帧320和翻译文本402的文本特征向量408获得嵌入向量,该嵌入向量包括框架帧320和文本特征向量408的信息。在一些实施例中,为了加强框架帧320和翻译文本402对生成的视频中的表情和动作的影响,可以利用编码器对该嵌入向量进行编码,以获得第一隐向量。为了使生成的表情和动作具有更多的多样性,在一些实施例中,可以基于第一隐向量和随机噪声来获得第二隐向量,然后基于第二隐向量,利用视频生成器来生成视频。
[0042] 在训练阶段,视频生成模型利用判别器来判断生成的视频是否与真实的参考视频相似。视频生成器的目标是生成逼真的视频,而判别器的目标是判断视频是真实的视频还是生成的视频。视频生成器和判别器将被联合训练。
[0043] 图5示出了根据本公开的一些实施例的视频生成模型500的示意图。如图5所示,框架帧302是在图3中生成框架帧,文本特征向量408是在图4中生成的翻译文本的文本特征向量。框架帧320和文本特征向量408经过点积运算502获得嵌入向量。嵌入向量经过框架编码器504得到经编码的嵌入向量506。视频生成模型500将经编码的嵌入向量506与随机噪声向量508连接,以获得隐向量510。随机噪声向量508可以使用例如等距高斯噪声的噪声。随机噪声向量508可以使生成的表情和动作具有更多的多样性。然后,视频生成模型500可以将隐向量510输入到视频生成器512中以获得生成视频514。生成的视频可以用以下等式(2)表示:
[0044] G(zv)=α(zv)⊙m(zv)+(1‑α(zv))⊙s(zv) (2)
[0045] 其中zv表示隐向量510。α(zv)的输出是4D张量,并且全部元素均被约束在0到1之间。⊙是逐元素乘法。α(·)和m(·)是使用3D全卷积层的神经网络。α(·)是用于将静态场景从表情和动作中分离出来的掩膜矩阵。例如,静态场景可以是讲述者背后的画板、房间的天花板、桌子、甚至是讲述者的身体。s(zv)的输出是静态背景图片,在所生成的视频的全部帧中静态背景图片是重复的。s(·)的值来自于具有2D卷积层的独立神经网络。
[0046] 至此,通过将经编码的嵌入向量506与随机噪声向量508连接,可以使隐向量510具有框架帧和翻译文本的信息的同时还具有随机性,这样可以在基于框架帧的静态场景中生成更多的细节和视频中动态的部分(例如,表情和动作),还可以改进生成的视频的质量,并且提高模型的训练效率。
[0047] 在推理阶段,视频生成模型500将生成视频514作为输出视频输出。在训练阶段,判别器516基于其对参考视频518的认知来判断生成视频514是生成的视频还是真实的视频。视频生成器512的训练目标是生成可以欺骗判别器516的视频,使其误以为生成的视频是真实的视频而不是生成的视频。判别器516的训练目标是提高自己的判断能力,使其不被视频生成器512欺骗。
[0048] 图6示出了根据本公开的一些实施例的训练视频生成器和判别器的过程600的示意图。在图6所示的示例中,视频生成器512由两个3D全卷积层和一个具有2D卷积层的独立神经网络组成。判别器516由多个卷积层和全连接层组成。过程600将隐向量510输入到视频生成器512中。在视频生成器512输出生成视频514后,由判别器516来判断生成视频514是否是由视频生成器512生成的视频。判别器516的目标是准确地辨别生成的视频和真实的视频,而视频生成器512的目标是生成逼真的视频以使判别器516做出错误的判断。判别器516从参考视频518中获得真实视频的先验分布。当视频输入到判别器516时,由判别器判断输入的视频符合真实视频的先验分布还是生成视频的分布,从而得到判断结果602。判断结果602可以被反向传播至视频生成器512以帮助训练视频生成器512。视频生成模型的损失函数 如以下等式(3)所示:
[0049]
[0050] 其中V表示参考视频518,zv表示隐向量510,G表示视频生成器512,D表示判别器516,θG表示视频生成器512的参数,θD表示判别器516的参数。函数D在真实的视频‑文本对与生成的视频‑文本对之间进行判别,并且参数θD被限制为保持函数D的最大李普希兹(Lipschits)常数。通过对视频生成器512和判别器516的联合训练,可以使生成的视频看起来就像真实的视频一样。
[0051] 除了要保证生成视频看起来像输入的真实视频一样以外,还需要保证生成视频中尽量包含真实视频中的全部信息。可以基于生成视频和真实视频之间相似帧的百分比来定义视频之间的相似度。在一些实施例中,可以确定在真实视频中,与生成视频中的任一帧相似度大于预定阈值的帧的数目。还可以确定在生成视频中,与真实视频中的任一帧相似度大于预定阈值的帧的数目。然后,可以基于真实视频的总帧数、生成视频的总帧数、真实视频中与生成视频中的任一帧相似度大于预定阈值的帧的数目和生成视频中与真实视频中的任一帧相似度大于预定阈值的帧的数目,确定生成视频和真实视频的视频相似度。例如,生成视频包括200帧,真实视频包括300帧,在真实视频的300帧中有250帧能够在生成视频的200帧中找到相似度大于95%的帧。在生成视频的200帧中有150帧能够在真实视频的300帧中找到相似度大于95%的帧。两个视频中总共有400帧可以在对方视频的帧序列中找到相似度大于95%的帧,同时两个视频总共有500帧。可以用400帧除以500帧,得到两个视频的相似度为80%。该相似度可以用如下等式(4)表示:
[0052]
[0053] 其中,nvs(X,Y;∈)表示视频X和Y之间的相似度,∈表示误差,d(x,y)表示视频X中的第x帧与视频Y中的第y帧之间的相似度,l{y∈Y:d(x,y)≤∈}表示视频X中的第x帧在视频Y中存在相似度小于误差∈的帧则记为1,l{x∈X;d(yx)≤∈}表示视频Y中的第y帧在视频X中存在相似度小于误差∈的帧则记为1,|X|表示视频X的总帧数,|Y|表示视频Y的总帧数。
[0054] 在训练阶段,对框架生成模型和视频生成模型进行联合训练。总体目标函数由框架生成模型的损失函数 和视频生成模型的损失函数 的组合表示。附加地,为了提高联合训练的效率,还可以确定生成视频向量和真实视频向量之间的差异。然后,基于框架生成模型的损失函数、视频生成模型的损失函数、生成视频向量和真实视频向量之间的差异、以及生成视频与真实视频之间的相似度来对框架生成模型和视频生成模型进行联合训练。在一些实施例中,生成视频向量和真实视频向量之间的差异可以用表示,其中G表示生成视频, 表示输入的真实视频。最终目标函数可以
用如下等式(5)表示:
[0055]
[0056] 其中γ1、γ2、γ3和γ4是针对每个损失项的标量权重。例如,γ1=γ2=1,并且γ3=γ4=0.1。通过基于框架生成模型的损失函数、视频生成模型的损失函数、生成视频向量和真实视频向量之间的差异、以及生成视频与真实视频之间的相似度来对框架生成模型和视频生成模型进行联合训练,可以在保证生成视频与真实视频的相似度的同时,还能保证生成视频尽量不丢失输入视频中的信息。
[0057] 图7示出了根据本公开的一些实施例的用于生成视频的方法700的流程图。在框702,方法700提取输入视频中的第一语言的第一文本。例如,如图1所示,方法700从讲述者用英文讲述的输入视频102中提取英文的原始文本104。为了提取原始文本104,可以从输入视频102中获得输入视频102的原始音频,然后利用语音识别技术从原始音频中提取原始文本104。
[0058] 在框704,方法700生成与第一语言的第一文本相对应的第二语言的第二文本。例如,如图1所示,可以基于英文的原始文本104翻译得到中文的翻译文本110。例如,原始文本104可以是“Today,I am going to introduce some drawing skills……”,翻译文本110可以是“今天我将介绍一些绘画技巧……”。
[0059] 在框706,方法700基于输入视频和第二文本,生成输入视频的框架帧,该框架帧指示与输入视频的颜色配置和对象布局相关联的信息。例如,如图3所示,方法700可以基于输入视频中的代表性帧304和翻译文本的总结性描述302来生成框架帧320,框架帧320中包括与代表性帧304的颜色配置和对象布局相关联的信息。
[0060] 在框708,方法700基于框架帧和第二文本,生成使用第二语言播报第二文本的输出视频。例如,如图5所示,方法700可以利用框架帧320和翻译文本的文本特征向量408来输出生成视频514。
[0061] 如上所述的方法700可以利用框架帧来生成新视频,因此生成的视频具备输入视频的配色和对象布局,增强了生成视频与输入视频的相似度。此外,由于在生成视频时还利用了翻译文本来约束视频的生成,因此可以按照翻译文本的内容在正确的时间点生成讲述者的表情和动作,从而使输出视频中的表情和动作与音频同步,并且减少丢失输入视频中包含的信息。
[0062] 图8示出了可以用来实施本公开的实施例的示例设备800的示意性框图。如图所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线
804。
[0063] 设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0064] 计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如方法700。例如,在一些实施例中,方法700可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的方法700的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法700。
[0065] 本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
[0066] 用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0067] 在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
[0068] 尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。