首页 > 乐器声学 专利正文
在计算设备上自动为内容的可听部分加字幕的制作方法

时间:2022-02-24 阅读: 作者:专利查询

在计算设备上自动为内容的可听部分加字幕的制作方法
在计算设备上自动为内容的可听部分加字幕


背景技术:

1.除了专业制作的电影和电视节目外,大多数可听内容没有被加字幕,因此,许多具有听力困难或以其他方式无法听到内容的用户无法访问该内容。一些自动加字幕系统可用,但是这些系统可能昂贵、复杂且难以维护。一些自动加字幕系统需求到扬声器的音频输出作为输入,并且可能不太适合在安静的环境中提供加字幕。为了避免维护自动加字幕系统所涉及的成本和复杂性,一些计算设备访问基于云的加字幕服务,这些服务需求将内容上载到远程服务器以加字幕,从而潜在地降低了用户的隐私和便利性。


技术实现要素:

2.描述了一种作为本地、系统级服务的用于对内容自动加字幕的计算设备。与通常依赖于正作为输入被发送给扬声器的音频信号中包含的信息的其他加字幕系统不同,该计算设备从正从内容源(例如,应用)中输出的音频数据中直接生成字幕。计算设备可以分析标记到音频数据的元数据(例如,非音频部分),以确定音频数据是否适合于加字幕,或者音频数据是否是某种其他类型的音频数据(例如,系统声音效果)。
3.响应于识别用于加字幕的音频数据,并且响应于确定启用自动加字幕(例如,经由用户输入),计算设备使用机器学习模型来快速生成从音频数据解释的可听声音的描述。无论可听内容的应用源如何,并且不管计算设备是否曾经产生该内容的音频(例如,可听声音信号),该计算设备可以在视觉上提供可听内容的描述(例如,作为持久性用户界面元素)。以此方式,即使在音频数据不包括嵌入的字幕时,甚至在该设备不使用服务器用于加字幕时,并且甚至在该计算设备被静音并且不输出可听声音时,该计算设备也对系统级音频加字幕以描述内容的可听部分。
4.通过依赖于最初音频数据而不是作为对扬声器的输入而生成的音频信号,机器学习模型可以生成字幕,该字幕更准确地表示来自内容的声音,如内容源最初意图的。此外,通过在使用机器学习模型之前确定音频数据是否适合于加字幕,计算设备可以避免通过过度分析内容源正在输出的包括音频数据中几乎肯定不包含任何用于加字幕的内容的所有音频数据来浪费资源。这使得计算设备能够更有效地执行,因为可以使用更小和/或更不复杂的机器学习模型。例如,机器学习模型可以自动辨识语音并仅分析包括语音的音频数据。这样,机器学习模型可以从生成音频数据的计算设备在本地自动辨识语音并自动对声音进行分类,从而增强隐私性和离线便利性。因此,计算设备可以以至少可以增加用户对自动加字幕系统的满意度的方式来对系统级音频自动加字幕。有医疗需要的用户可以通过访问以此方式对音频数据自动加字幕的计算设备110来提高她们的生活质量。先前可能已无法收听或理解内容的可听部分的用户现在可以像其他任何没有医疗需要的用户一样享受内容。
5.贯穿本公开,描述了其中计算设备可以分析信息(例如,音频数据)的示例。然而,计算设备仅在计算设备从计算设备的用户接收到使用数据的明确许可之后才可以使用该信息。例如,在下面讨论的计算设备分析正从在计算设备处执行的应用输出的音频数据的情况下,可以为单独的用户提供用以提供输入以控制计算设备的程序或特征是否可以收集
和和使用音频数据例如用于自动加字幕的机会。单独的用户可以持续控制哪些程序可以使用音频数据,哪些程序不可以使用音频数据。
6.此外,在由计算设备和/或远程计算系统传输、存储或以其他方式使用收集的信息之前,可以以一种或多种方式对收集的信息进行预处理,从而去除个人可识别信息。例如,在示例计算设备与另一设备共享从音频数据生成的字幕(例如,以训练在该另一设备处执行的模型)之前,示例计算设备可以预处理音频数据以确保嵌入在数据中的任何用户识别信息或设备识别信息被去除。因此,用户可以控制是否收集有关用户和用户设备的信息,以及如果收集了这些信息,计算设备和/或远程计算系统将如何使用这些信息。
7.在一个示例中,描述了一种用于在计算设备上对内容的可听部分自动加字幕的方法。该方法包括从计算设备的音频混合器获得从在计算设备处执行的应用输出的音频数据,该音频数据包括非元数据和可选地指示内容的可听部分的元数据,以及可选地根据音频数据的元数据来确定音频数据是否是适合于自动加字幕的类型。该方法进一步包括:响应于确定音频数据是适合于加字幕的类型,确定内容的可听部分的描述,并且在显示内容的视觉部分时,输出内容的可听部分的描述用于显示。
8.在不同的示例中,描述了一种用于在计算设备上对内容的可听部分自动加字幕的方法。该方法包括由计算设备显示在计算设备处执行的应用的图形用户界面,在显示图形用户界面时获得从应用输出的音频数据,该音频数据包括非元数据和可选地指示内容的可听部分的元数据,以及可选地根据音频数据的元数据来确定音频数据是否是适合于自动加字幕的类型。响应于确定音频数据是适合于加字幕的类型,该方法进一步包括确定内容的可听部分的描述,并且在应用的图形用户界面中显示内容的视觉部分时,输出内容的可听部分的描述作为除应用的图形用户界面之外的持久元素以用于显示。
9.在又一示例中,描述了一种用于在计算设备上对内容的可听部分自动加字幕的方法。该方法包括:从在计算设备处执行的应用接收用以对音频数据自动加字幕的用户输入;以及响应于接收到该用户输入,获得从在计算设备处执行的应用输出的音频数据,该音频数据包括内容的可听部分。该方法进一步包括可选地根据音频数据的元数据,确定音频数据是否是适合于加字幕的类型,并且响应于确定音频数据的类型适合于加字幕,确定内容的可听部分的描述。该方法进一步包括输出内容的可听部分的描述作为除内容的视觉部分之外和除应用的图形用户界面之外的持久性元素以用于显示。
10.在再一示例中,描述了一种包括至少一个处理器的计算设备,该至少一个处理器被配置为执行前述示例中的任何一个所述的方法。
11.在再一示例中,描述了一种包括用于执行前述示例中的任何一个所述的方法的装置的系统。
12.在另一示例中,描述了一种包括指令的计算机可读存储介质,该指令在被执行时配置计算设备的处理器以执行前述示例中的任何一个所述的任何方法中的任何一个方法。
13.在附图和以下描述中阐明了一个或多个实施方式的细节。根据说明书和附图以及根据权利要求书,其他特征和优点将显而易见。提供该发明内容是为了介绍在具体实施方式和附图中进一步描述的主题。因此,不应将本发明内容认为描述基本特征,也不应将其用于限制要求保护的主题的范围。
附图说明
14.自动加字幕的一个或多个方面的细节如下所述。在说明书和附图的不同实例中使用相同的附图标记指示相似的元素:
15.图1是说明被配置为对音频数据自动加字幕的计算设备的概念图。
16.图2是说明被配置为对音频数据自动加字幕的计算设备的另一概念图。
17.图3是说明被配置为对音频数据自动加字幕的计算设备的机器学习模型的概念图。
18.图4是说明被配置为对音频数据自动加字幕的计算设备的示例操作的流程图。
19.图5a至图5g是说明对音频数据自动加字幕的计算设备的示例用户界面的每个屏幕截图。
具体实施方式
20.除了专业制作的电影和电视节目外,大多数可听内容没有被加字幕,因此,许多具有听力困难或以其他方式无法听到内容的用户无法访问该内容。存在手动和自动加字幕系统,但是具有各种缺点。
21.例如,一些手动加字幕系统基于预先录制内容中包含的嵌入的加字幕信息来给可听内容加字幕。其他手动加字幕系统基于来自人类操作员的输入来给内容加字幕(例如,在直播中)。
22.一些自动加字幕系统可用,但这些系统可能昂贵、复杂且难以维护。例如,自动加字幕系统可能需求到声音系统的音频输出作为加字幕的源。加字幕系统可能需求音频输出维持最低的声音水平,从而使这样的系统不太适合在安静的环境中操作。此外,音频输出可能包括比仅用于加字幕的声音多的可听声音(例如,系统声音、来自其他后台应用的声音),并且因此,加字幕可能花费更长的时间,并且不必要地浪费资源,并且不区分地对来自计算设备的所有音频源中的所有声音加字幕。
23.一些自动加字幕系统是基于应用的,并且可以在计算设备上本地执行。但是,此类系统可能仍需求互联网连接以加字幕。例如,为了避免维护自动加字幕系统中所涉及的成本和复杂性,计算设备可以访问基于云的加字幕服务,该服务需求将内容上载到远程服务器以加字幕,从而潜在地降低了用户的隐私和便利性。
24.描述了用于有效且区分地实现可听内容的自动加字幕的技术。该技术不需求(例如,到互联网的)网络连接,并且不根据传递到声音系统的可听信号生成字幕。替代地,示例计算设备可以根据由计算设备的音频混合器收集的音频数据自动生成字幕。如在全文中使用的,“音频数据”指发送到系统音频混合器或声音引擎的被转换为音频信号以生成声音作为输出的信息。音频数据与响应于此而生成的音频信号形成对照。
25.示例计算设备的操作系统或平台包括系统级音频混合器,该系统级音频混合器收集正从不同内容源(例如,应用)输出的音频数据,并混合音频数据以产生音频信号。音频信号可能会被声音系统放大以产生可听声音。与对音频信号不区分地加字幕的其他加字幕系统不同,示例计算设备通过仅对来自适合于加字幕的类型的音频数据的可听内容加字幕来区分地对可听内容加字幕。
26.计算设备可以分析元数据(例如,音频数据的非音频部分)以确定音频数据是否适
合于加字幕或音频数据是否是某种其他类型的音频数据(例如,系统声音效果)。依靠不存在于音频信号中的元数据使计算设备能够快速过滤掉不用于加字幕的音频数据,并且因此,使计算设备能够避免像试图对所有内容甚至是无法或不应加字幕的内容加字幕的其他加字幕系统那样浪费资源。
27.响应于识别音频数据用于加字幕,并且响应于确定启用自动加字幕(例如,经由用户输入),计算设备使用已经使用机器学习训练的机器学习模型来快速生成从音频数据解释的可听声音的描述。例如,计算设备可以依靠端到端循环神经网络换能器自动语音辨识模型或其他机器学习模型来确定口头音频的转录或从非口头音频中识别特定的噪声,以及特定噪音的可能源。
28.无论可听内容的源如何,并且不管该计算设备是否产生过内容的音频(例如可听声音信号),该计算设备可以在视觉上提供可听内容的描述(例如,作为持久性用户界面元素)。以这种方式,即使内容不包括嵌入的字幕,并且即使计算设备被静音并且从不输出音频信号,计算设备也执行提供内容的可听部分的描述的系统级加字幕操作。
29.通过依赖于音频数据,而不是将音频信号用作到扬声器的输入,机器学习模型可以生成字幕,该字幕更准确地表示来自可听内容的声音,如内容源最初意图的那样。来自应用或其他内容源的音频数据通常可以是可听内容的更准确表示,因为音频数据自从内容源输出以来未被更改。其他自动加字幕系统可能依赖于意图作为对扬声器的输入的处理后的音频信号,并且因此可能引入与内容源所意图的差异。
30.此外,通过在分配给机器学习模型获得描述的任务之前确定音频数据是否适合于加字幕,计算设备避免浪费资源过度分析内容源正在输出的所有音频数据,包括几乎肯定不包括用于加字幕的任何内容的音频数据的部分。这使计算设备能够训练和执行更小和/或更不复杂的机器学习模型,以执行自动语音辨识和自动声音分类技术。无需附加训练模型以忽略可能不适合于加字幕的各种类型的音频数据。这进一步使模型能够在生成音频数据的计算设备上本地执行,从而增强了隐私和离线便利性。
31.依靠更准确的数据可以提高机器学习模型的准确性,并且仅依靠相关数据可以提高机器学习模型的效率,其可以进一步提高用户对自动加字幕系统的满意度。另外,有医疗需要的用户可以通过访问以这种方式为音频数据自动加字幕的计算设备110来体验他们的生活质量的提高。
32.在某些情况下,描述可以包括口头内容的转录,甚至可以识别说话者的姓名或描述。在某些情况下,可听声音包括非口头内容,例如动物声音、环境声音以及与描述可能相关或无关的其他声音。该描述甚至可以包括对一些非口头声音(例如狗吠)的解释,包括识别对应的源(例如,正在吠的狗)。
33.图1是说明被配置为对音频数据自动加字幕的计算设备的概念图。计算设备100可以是任何类型的移动或非移动计算设备。作为移动计算设备,该计算设备可以是移动电话、膝上型计算机、可穿戴设备(例如手表、眼镜、耳机、衣服)、平板设备、汽车/车辆设备、便携式游戏设备、电子阅读器设备、远程控制设备或其他移动计算设备。作为非移动计算设备,计算设备100可以表示服务器、网络终端设备、台式计算机、电视设备、娱乐机顶盒设备、流媒体设备、桌面助理设备、扬声器设备、音响系统、非便携式游戏设备、商务会议装置或其他非移动计算设备。
34.计算设备100包括用户接口设备102,该用户接口设备102包括扬声器组件104、显示组件106和输入组件108。计算设备100还包括操作系统110和应用112。以包括通过使用有线和无线总线和链路的各种方式通信耦合计算设备100的这些和其他组件。计算设备100可以包括比图1所示的组件附加或更少的组件。
35.操作系统110通常控制计算设备100的功能性,包括用户接口设备102和其他外围设备。操作系统110为诸如应用112的应用提供执行环境。操作系统110可以控制任务调度以及其他通常的功能性,并且通常通过系统级用户界面114这样做。
36.用户接口设备102管理到由操作系统110控制的系统级用户界面114的输入和输出。系统级用户界面114包括用于显示自动字幕的持久性图形元素120。系统级用户界面114还包括一个或多个字幕控制元素122a和122b,其如果被选择,则控制操作系统110是否对音频数据自动加字幕,包括用户界面114是否显示持久性图形元素120。在一些情况下,字幕控制元素122a和122b可以包括指示计算设备100是否正在对音频数据自动加字幕的图标。系统级界面114可以显示在计算设备100处执行的其他应用的用户界面,诸如用于应用112的应用用户界面116。
37.显示组件106和扬声器组件104可以分开或集成为单个组件。显示组件106可以由任何适合的显示技术制成,包括led、oled和lcd技术。扬声器组件104(例如,单个扬声器或多个扬声器)被配置为接收音频信号作为输入,并将音频信号转换为可听声音。输入组件108可以是麦克风、存在敏感设备、触摸屏、鼠标、键盘或被配置为接收用户输入的其他类型的组件。
38.用户接口设备102可以输出关于由输入组件108检测到的输入的信息,并且操作系统110可以将检测到的输入与用户界面114的元素相关。响应于在输入组件108处接收输入(例如,手势),操作系统110和/或应用112可以从用户接口设备102接收有关检测到的输入的信息。操作系统110或应用112可以响应于输入来执行功能。例如,操作系统110可以确定输入对应于对字幕控制元素122a或122b中的任一个的选择,并且作为响应,对音频数据自动加字幕(或终止对音频数据自动加字幕)。
39.应用用户界面116包括媒体内容118,诸如电影、动画、视频或具有嵌入的音频的其他内容。媒体内容118可以是任何多媒体或社交媒体内容,包括来自视频平台、流送平台、来自广播、或来自播客、来自视频、来自视频聊天应用、来自电话应用或来自计算设备执行或从计算设备可访问的任何其他音频数据源。
40.应用112可以将媒体内容118输出到操作系统110。使用显示组件106,操作系统110可以使用户接口设备102在应用用户界面116内输出媒体内容118的图像或其他视觉表示。计算设备100还可以使用户接口设备102将从媒体内容118生成的音频信号转发到扬声器组件104。以这种方式,操作系统110使扬声器组件104输出音频,同时图像或其他视觉在显示组件106处显示。
41.在操作中,操作系统110对内容的可听部分自动加字幕。计算设备从操作系统110的音频混合器或声音引擎获得用于加字幕的音频数据。来自应用112的音频数据可以包括媒体内容118的可听部分。
42.例如,如图1所示,计算设备100的用户可以通过查看显示在显示组件106的屏幕上的媒体内容118来与应用112交互。用户可能想要实现对媒体内容118加字幕,但是媒体内容
118仅包括未加字幕的音频数据,应用112无法生成字幕并将其嵌入媒体内容118。
43.然而,响应于接收到用户输入(例如,与在其中显示可选控制元素122b的显示组件106的屏幕的位置相对应的在输入组件108的位置处的触摸手势),计算设备100可以通过处理从应用112输出并在音频混合器处接收到的相同音频数据来对媒体内容118的可听部分自动加字幕。
44.音频混合器被配置为收集从包括应用112的在操作系统110的执行环境中执行的各种内容源输出的所有音频数据。音频混合器在生成内容的应用源和从内容创建声音的扬声器组件104之间提供接口。音频混合器管理原始音频数据字节流,分析音频数据,并指导音频信号输出到扬声器组件104或用户接口设备102的其他适合的输出组件,以创建声音。
45.操作系统110可以依赖于元数据将自动加字幕集中于用于加字幕的内容的可听部分,而不是不区分地对来自发送给扬声器组件104的音频信号的所有音频数据自动加字幕。换句话说,操作系统110可以基于元数据来识别“可加字幕”的音频数据,并且除非所有音频数据被认为是可加字幕的,否则避免对所有音频数据加字幕。
46.元数据的一些示例包括使用指示符,其指定应用源为何正输出音频数据。音频混合器可以使用该使用指示符来控制关于音频数据的路由、焦点和音量决定。元数据可以包括其他标志,进一步指定应如何播放声音以及用于音频/视频同步的信息。
47.元数据可以包括指定应用源正在播放什么的内容类型(例如,音乐、电影、语音、发声(sonification)、未知)。内容类型可以表达内容的一般类别(例如,一种类型的电影流水线服务和另一种类型的音乐流送服务)。音频混合器可以选择地配置一些音频后处理,并根据类型识别符调整其他设置。当音频数据是用于伴随电影或电视节目的配乐时,类型识别符可以指定电影类型。当内容是歌曲(例如,不一定是配乐)时,类型识别符可以指定音乐类型识别符,并且当内容是口头音频(例如,新闻广播、视频或电话呼叫)时,类型识别符可以指示语音识别符。作为另一示例,当音频数据用于通知、警报或用于伴随用户动作的声音(例如,表达键击的蜂鸣声或声音效果)或事件(例如,诸如在游戏期间获得奖励的声音)时,内容类型可以指示发声。
48.除了音频混合器依赖于内容类型之外,操作系统110基于可选地存在于元数据中的内容类型识别符来识别用于加字幕的音频数据。例如,操作系统110为以下类型的音频数据自动加字幕:电影、音乐或语音,但是对于一些发声类型的音频数据或未定义或以其他方式定义的其他音频数据则不会。以此方式,使用内容类型,操作系统110可以确定音频数据是否可能具有需要加字幕的音频或者音频数据是否可能指示不用于加字幕的某些其他声音。
49.响应于确定与媒体内容118相关联的音频数据的类型是用于加字幕,操作系统110确定内容118的可听部分的描述。例如,操作系统110可以执行被训练以生成可听内容的描述作为字幕的机器学习模型(例如,端到端循环神经网络换能器自动语音辨识模型)。机器学习模型可以是适合于学习声音的描述的任何类型的模型,所述声音的描述包括口头音频的转录。然而,由于仅需训练机器学习模型以从某些类型的内容中识别声音和口头音频,操作系统110所使用的机器学习模型可以在大小上更小并且复杂度更低。机器学习模型不需要处理被发送到音频混合器的所有音频数据,而只需要处理可能包括用于加字幕的内容的某些音频数据。这与需要远程处理设施和内容的远程上载、存在隐私风险并牺牲了便利性
的其他字幕系统形成对比。
50.操作系统110从机器学习模型接收描述,并将该描述显示给用户。描述可以包括口头对话的转录或歌曲。该描述可以识别声音的上下文或识别说话者、歌手或单独演员或表演者。该描述可以包括声音描述,例如,当检测到狗的音频时的“a dog barking(狗吠)”或对于猛击门的音频的“door closing(关门)”。
51.当在应用用户界面116内显示媒体内容118的视觉部分时,操作系统110输出内容的可听部分的描述用于显示。例如,操作系统110可以将持久性元素120呈现为出现在应用用户界面116顶上的用户界面114的覆盖以及用户界面114的其他图形元素。用户可以操纵持久性元素120移动到显示屏的不同区域或放大或缩小元素的大小以显示附加或更少字幕。
52.通过依赖于最初音频数据,而不是被生成作为扬声器输入的音频信号,操作系统110的机器学习模型生成字幕,该字幕更准确地表示来自媒体内容118的声音,如内容源(例如,应用112)最初意图的那样。此外,通过在使用机器学习模型之前确定音频数据是否用于加字幕,操作系统110避免浪费资源过度分析应用112正在输出的包括几乎肯定不包括任何用于加字幕的内容的所有音频数据。这使计算设备110能够执行更高效、更小和/或更不复杂的机器学习模型。这样,机器学习模型可以从生成音频数据的计算设备110本地执行自动语音辨识和自动声音分类技术,从而增强隐私性和离线便利性。因此,计算设备110可以以至少可以增加用户对自动加字幕系统的满意度的方式对系统级音频自动加字幕。有医疗需要的用户可以通过访问以这种方式对音频数据自动加字幕的计算设备110来提高他们的生活质量。
53.图2是说明被配置为对音频数据自动加字幕的计算设备200的另一概念图。计算设备200是具有一些附加细节的计算设备100的示例。如图2所示,计算设备200可以是移动电话100

1、膝上型计算机100

2、电视/显示器100

3、台式计算机100

4、平板设备100

5、计算机化手表100

6、其他可穿戴设备或安装在车辆100

7中的计算系统。
54.除了图1所示的每个组件之外,计算设备200包括一个或多个处理器202、计算机可读介质204、一个或多个传感器210、一个或多个输入/输出(i/o)设备212和一个或多个通信设备214。计算机可读介质212包括指令,该指令在由处理器102执行时执行应用112和操作系统110。
55.处理器202可以包括一个或多个控制器、微控制器、处理器、微处理器、硬件处理器、硬件处理单元、数字信号处理器、图形处理器、图形处理单元等的任意组合。处理器202可以是集成处理器和存储器子系统(例如,被实现为soc),其处理计算机可执行指令以控制计算设备200的操作。
56.当在物理操作环境中起作用时,传感器210获得指示计算设备的物理操作环境和/或计算设备200的特性的上下文信息。传感器210的示例包括移动传感器、温度传感器、位置传感器、接近传感器、环境光传感器、湿度传感器、压力传感器等。操作系统110可以根据由传感器210获得的传感器信息来定制计算设备200的操作。
57.输入/输出设备212提供到计算设备200以及其他设备和外围设备的连接性,包括在设备、数据网络(例如,网状网络、外部网络等)和其他设备之间提供连接和/或通信链路的数据网络接口。输入/输出设备212可以用于将计算设备200耦合到任何类型的组件、外围
设备和/或附件设备。输入/输出设备212还包括数据输入端口,经由该数据输入端口可以接收任何类型的数据、媒体内容和/或输入,诸如对计算设备200的用户输入、以及任何类型的通信数据、以及从任何内容和/或数据源接收到的音频、视频和/或图像数据。
58.通信设备214实现设备数据506的有线和/或无线通信,诸如在计算设备200上执行的诸如应用112的应用生成或接收的任何类型的媒体内容。通信设备214还可以包括用于蜂窝电话通信和/或网络数据通信的收发器。
59.计算机可读介质204被配置为向计算设备200提供可执行指令(例如,固件、恢复固件、软件、应用、模块、程序、功能等)和数据(例如,用户数据、操作数据)的持久性和非持久性存储以支持可执行指令的执行。计算机可读介质204的示例包括易失性存储器和非易失性存储器、固定和可去除介质设备以及维护可执行指令和支持数据的任何适合的存储器设备或电子数据存储。计算机可读介质204可以包括各种存储器设备配置中的随机存取存储器(ram)、只读存储器(rom)、闪存和其他类型的存储存储器的各种实施方式。计算机可读介质204不包括传播信号。计算机可读介质204可以是固态驱动(ssd)或硬盘驱动(hdd)。图2的示例中的计算机可读介质204包括应用112和操作系统110。
60.计算设备200的操作系统110包括音频混合器206和字幕模块208。音频混合器206和字幕模块208可以被实现为操作系统110的专用硬件或软件组件。在其他示例中,音频混合器206或字幕模块208可以与操作系统110分开实现,例如,作为本地安装在操作系统110上的系统插件或其他附加服务。
61.音频混合器206被配置为合并在由操作系统110提供的操作环境内执行的应用生成的音频数据。音频混合器206组合来自诸如应用112的应用的音频流,并生成音频输出信号,该音频输出信号在被组合并从扬声器组件206输出时再现音频流中编码的声音。音频混合器206可以通过例如控制焦点、意图和音量的其他方式来调整音频信号。
62.字幕模块208被配置为对如音频混合器206所接收的(例如,作为字节流的)以原始形式的音频数据自动加字幕。不是处理所有混合后音频信号以用于加字幕,而是字幕模块208识别在音频混合器206处接收的适合于加字幕的单独的、混合前的音频数据流。例如,字幕模块208可以对口头音频类型的音频数据自动加字幕,但是不对诸如系统蜂鸣声和铃声的通知或发声类型的音频数据自动加字幕。字幕模块208可以将过滤器应用于由音频混合器206接收的字节流,以识别适合于加字幕的类型的音频数据。字幕模块208使用机器学习模型来确定由被识别为用于加字幕的音频数据表示的声音的描述。
63.图3是说明被配置为对音频数据自动加字幕的计算设备的机器学习模型的概念图。机器学习模型300可以是字幕模块208的一部分。即,字幕模型208可以包括机器学习模型300,以将编码的音频数据自动转换为可听内容的详细描述或字幕,而不必须将音频数据转化为声音。作为执行字幕模块208的一部分,计算设备200可以执行机器学习模型300,以确定存在于音频数据312中的内容的可听部分的描述318。机器学习模型300可以包括一个或多个类型的机器学习模型,其被组合成响应于音频数据312而提供描述318的单个模型。
64.机器学习模型300被配置为执行推断;机器学习模型300被训练以接收音频数据312作为输入,并提供由机器学习模型300从音频数据312确定的声音的描述318(例如,字幕)作为输出数据。除了音频数据312中包含的注释(即,注释数据),音频数据312可以包括未被注释用于加字幕的未注释数据。通过使用机器学习模型300执行推断,字幕模块208本
地并且从操作系统110的安全包围区(secure enclave)内处理音频数据312,以确保用户隐私和安全性。
65.机器学习模型300可以是或包括各种类型的机器学习模型中的一个或多个。另外,本文所述的用于训练机器学习模型300的机器学习技术可以容易地可互换和可组合。尽管已经描述了某些示例技术,但是存在许多其他技术并且所述许多其他技术可以与本公开的各方面结合使用。机器学习模型300可以执行分类、回归、聚类、异常检测、推荐生成和/或其他任务。
66.可以使用监督学习技术来训练机器学习模型300,例如,可以基于训练数据集来训练机器学习模型300,该训练数据集包括从音频数据的对应示例推断出的描述的示例。机器学习模型300也可以通过使用无监督学习技术来训练。
67.机器学习模型300可以是或包括一个或多个人工神经网络(一种类型的“神经网络”)。作为神经网络,机器学习模型300可以包括连接或非完全连接的节点的组,被称为神经元或感知器。作为神经网络,机器学习模型300可以被组织为一个或多个层,并且在某些情况下,当配置为“深度”网络时可以包括多个层。作为深度网络,机器学习模型300可以包括输入层、输出层以及位于输入层和输出层之间的一个或多个隐藏层。
68.机器学习模型300可以是或包括一个或多个循环神经网络。例如,机器学习模型可以被实现为端到端循环神经网络换能器自动语音辨识模型。示例性循环神经网络包括长短期(lstm)循环神经网络、门控循环单元、双向循环神经网络、连续时间循环神经网络、神经历史压缩器、回声状态网络、埃尔曼网络、埃尔曼网络(elman network);递归神经网络、霍普菲尔得网络(hopfield network)、完全循环网络和序列到序列配置。
69.循环神经网络的节点中的至少一些可以形成循回(cycle)。当被配置为循环神经网络时,机器学习模型300对于处理诸如具有固有顺序性质的音频数据312的性质上是顺序的输入数据尤其有用。循环神经网络可以通过使用循环或有向循回性节点连接,将信息从输入数据序列的先前部分传递或保留到输入数据序列的后续部分。例如,机器学习模型300可以通过使用在先前和后续部分之间的循环或有向循回性节点连接来将信息从音频数据312的先前部分传递或保留到音频数据312的后续部分。
70.根据定义,音频数据312是顺序的,并且可以包括时间系列数据(例如,声音数据对比时间)。作为循环神经网络,机器学习模型300可以随时间分析音频数据312,以检测或预测口头声音和非口头但相关的声音,以生成音频数据312的字幕。更具体地,来自音频数据312的顺序声音可以指示句子中的口头单词(例如,用于自然语言处理、语音检测或处理)。
71.机器学习模型300可以是或包括一个或多个卷积神经网络。卷积神经网络可以包括一个或多个卷积层,这些层使用学习的过滤器或内核对输入数据执行卷积。已知卷积神经网络对于诊断视觉问题很有用,诸如在分析诸如静止图像或视频的图像输入数据时。但是,卷积神经网络也可以应用于声音数据的自然语言处理,诸如当从顺序音频数据312生成字幕时。
72.可以使用机器学习来训练机器学习模型300,以接收音频数据312作为输入数据,并作为响应提供描述318作为输出数据。输入数据可以包括音频数据的不同类型、形式或变体。作为示例,在各种实施方式中,音频数据312可以包括从应用传递到音频混合器的原始的、混合前的音频字节流数据,并且音频数据312也可以包括经处理的字节流数据。
73.响应于音频数据312的接收,机器学习模型300可以提供描述318。输出数据可以包括输出数据的不同类型、形式或变体。作为示例,在各种实施方式中,输出数据可以包括与正在显示的视觉内容相对应的可听内容的描述。
74.可以以离线方式或在线方式训练机器学习模型300。在离线训练(也称为批(batch)学习)中,机器学习模型300模型在静态训练数据集的整体上被训练,而在在线学习中,随着新的训练数据变得可用(例如,当机器学习模型300用于执行推断时),机器学习模型300被连续训练(或重新训练)。例如,可以初始地训练机器学习模型300以复制已经应用于可听内容的字幕(例如,电影字幕)。随着使用机器学习模型300来推断音频数据312的描述,可以将该描述和音频数据312的相应部分反馈给机器学习模型300作为新训练数据以使机器学习模型300能够连续改进描述。可以向用户提供向机器学习模型300提供输入的机会,以将特定描述标记为具有错误。描述可能是错误的信号也可以用于训练机器学习模型300以改进未来的预测。
75.作为字幕模块208的一部分,机器学习模型300可以是操作系统110的一部分,并且因此可以被包括在安全包围区中,以安全地和私密地处理音频数据以自动加字幕。与操作系统110交互的应用可以与机器学习模型300交互以将音频数据312处理为描述318。例如,应用112可以使用应用编程接口(api)(例如,跨所有应用的通用公共api)通过具有模型300的操作系统110进行通信。
76.图4是说明被配置为对音频数据自动加字幕的计算设备的示例操作400的流程图。图1和图2的计算设备100或200可以执行操作400。可以以与图4中所示的顺序不同的顺序来执行操作400,包括附加或更少的操作。下面在计算设备200的背景中描述操作400。
77.在402处,计算设备200获得同意以使用个人数据来执行自动加字幕。例如,计算设备200仅可以在计算设备200从计算设备200的用户接收到使用音频数据的明确许可之后使用音频数据来生成字幕。
78.在404,计算设备200显示应用的图形用户界面。例如,计算设备200可以指导显示组件108呈现用户界面114并显示应用用户界面116。
79.在404处,计算设备200从应用获得包括内容的可听部分的音频数据。例如,应用112可以渲染并播放媒体内容118。为了提供字幕,例如,如果媒体内容118不包括注释的字幕,则在音频混合器206接收音频数据时,字幕模块208可以提取正从应用112输出的音频数据。
80.在406处,计算设备200确定该音频数据是否适合于加字幕。例如,字幕模块208可以过滤掉具有不需要加字幕的类型的音频数据,诸如通知声音和伴随内容的其他类型的声音。字幕模块208可选地基于存在于嵌入在音频数据中的元数据中的类型识别符来确定音频数据是否用于加字幕。字幕模块208可选地基于指示在音频数据中包括的注释(预先创建的字幕)的元数据来确定音频数据是否用于加字幕。响应于确定音频数据已经具有字幕,字幕模块208可以放弃执行自动加字幕,并且显示在描述内预先填充的字幕。
81.操作系统110和音频混合器206可以定义应用可以指配给输出的各种类型的音频数据。像在计算设备200处执行的其他应用,应用112使用api来将音频数据输出到音频混合器206。api可以包括用于指派元数据内的音频数据类型的参数,例如,以协助音频混合器206正确混合和分配从数据确定的音频输出。代替依靠音频数据类型来指导声音,字幕模块
208使用可选地存在于元数据中的类型识别符来快速且容易地确定是否执行加字幕。具体地,字幕模块208可以关注(key on)音频数据的特定类型、特定格式、持续时间或音频数据的其他质量和特性以确定是否可以对音频数据加字幕。可能适合于加字幕的某些类型的音频数据包括电影类型的音频数据、音乐类型的音频数据和口头类型的音频数据。相反,发声类型的音频数据和其他未定义的音频数据类型可能不适合于加字幕,因为声音并不意指传达内容,而是事件或用户动作。
82.如果音频数据不用于加字幕,则在414处,计算设备200显示内容的视觉部分。例如,计算设备200可以在显示组件108处显示媒体内容118。
83.然而,如果在408处,计算设备200确定音频数据用于加字幕,则计算设备200仍基于用户是否选择自动加字幕来确定是否对数据自动加字幕。例如,在414处,在用户尚未在用户界面114或操作系统110的设置菜单中启用自动加字幕的情况下,计算设备200避免对音频数据自动加字幕,并且替代地显示内容的可视部分,而不生成描述性字幕。当用户已通过从设置菜单等中选择适当的选项来启用自动加字幕时,在410处,字幕模块208使用机器学习模型来确定对内容的可听部分的描述。例如,字幕模块208可以基于循环神经网络执行端到端自动语音辨识模型,该循环神经网络被训练为采用从诸如应用112的应用输出的原始音频数据,并识别来自音频数据的口头单词和非口头声音以最终将口头单词转录成书面单词,并将非口头声音转换成声音的书面描述以显示为字幕。
84.字幕模块208可以以各种方式提高声音的转录和书面描述的准确性,包括通过基于计算设备200的上下文来偏置端到端自动语音辨识模型。例如,字幕模块208可基于内容的视觉部分或屏幕上显示的其他信息来偏置模型。例如,当生成包括可听叙述的演示文稿(例如,幻灯片放映)的可听部分的描述时,可以使用演示文稿的幻灯片中包含的文本或图像的部分来偏置端到端自动语音辨识模型以生成描述,从而提高描述的准确性。字幕模型208可以使用其他类型的上下文信息,诸如位置信息和关于在计算设备200上执行的其他应用的信息,以偏置机器学习模型。
85.在412处,计算设备200显示描述。例如,字幕模块208可以输出在机器学习模型300从应用112接收原始音频流时正被生成的描述的指示。
86.在某些情况下,计算设备200可以在显示描述之前翻译部分描述。例如,字幕模块208可以从操作系统110确定用户的优选语言,并且可选地在生成描述的同时翻译音频内容,从而以用户的优选语言而不是音频内容的最初语言来写描述的文本。以此方式,即使内容的音频是以诸如中文或英语的不同语言录制的,例如来自日本的用户也可以用日语或其他优选语言查看可听内容的描述。
87.在414处,计算设备200将内容的视觉部分与描述同时显示。操作系统110可以将描述格式化为持久性图形元素,用户可以在应用图形用户界面的顶部四处移动该持久性图形元素,以读取正在输出以显示的媒体内容118的可听部分的描述。
88.图5a至图5h是说明对音频数据自动加字幕的计算设备的示例用户界面的每个屏幕截图。依次并且在计算设备200的背景中描述图5a至5h。
89.在图5a的示例中,计算设备200在显示组件108处显示用户界面114。用户界面114与操作系统110相关联,并且示出了由应用112控制的应用用户界面116。在应用用户界面116内,应用112包括媒体内容118。
90.图5b是响应于接收到用户输入以显示设置菜单502的用户界面114的屏幕截图。在图5b的示例中,设置菜单502是用于调节音量控制、警报设置504、静音控制等的音频设置菜单。另外,在设置菜单下方,计算设备200显示字幕控制元素122a。计算设备200响应于检测到对字幕控制元素122a的用户选择来确定用户输入以对音频数据自动加字幕。例如,图5c示出了已经响应于该选择而替换了字幕控制元素122a的字幕控制元素122b。
91.在某些情况下,响应于接收到对字幕控制元素122b的选择,计算设备200自动终止对计算设备200上的内容的可听部分加字幕。以此方式,控制元素122a和122b向用户提供快速开始和停止自动加字幕的能力。
92.在图5d中,响应于该选择,计算设备使用机器学习模型对从应用112输出的音频数据自动加字幕。计算设备200基于来自字幕模块208的包括与输出相关联的置信度的输出来生成对媒体内容118的可听部分的描述。
93.操作系统110可以使显示组件108在操作系统110在用户界面114内包括的持久性元素506内显示描述。在某些情况下,操作系统110可以显示持久性元素506,同时避免使用扬声器组件106(例如,扬声器、耳机插孔或计算设备200的其他声音系统)输出内容的可听部分。与其他加字幕系统不同,计算系统200可以对内容加字幕而不生成可听声音。在其他情况下,操作系统110可以提供助听功能并显示持久性元素506,同时使用扬声器组件106(例如扬声器、耳机插孔或计算设备200的其他声音系统)输出内容的可听部分。
94.在5e的示例中,计算设备200将持久性元素506从用户界面114的第一位置移动到用户界面114的第二位置,证明了持久性元素506如何与媒体内容118分离和不同。计算设备200的用户可以在输入组件110的与用户界面的第一位置相对应的位置处提供手势,并将输入拖动到输入组件的与用户界面114的第二位置相对应的不同位置。计算设备200可以使持久性元素506随手势移动。
95.以此方式,图5e的示例示出响应于接收到与持久性元素506相关联的用户输入,计算设备200可以将持久性元素远离应用用户界面116和用户界面114的第一部分移动以遮蔽应用用户界面116和用户界面114的第二、不同部分。这可以使用户能够执行多任务,例如,在音频数据正被加字幕并始终显示在用户界面114顶部的同时,滚动用户界面116中显示的内容。
96.在5f的示例中,计算设备200将持久性元素506从第一大小放大到第二(更大或更小)大小,证明了持久性元素506可如何被定制。计算设备200的用户可以在输入组件110的与持久性元素506相对应的位置处提供手势,以拉伸持久性元素或缩小持久性元素。在一些情况下,响应于接收到与持久性元素506相关联的用户输入,计算设备200可以修改持久性元素506的大小以显示从内容的可听部分生成的先前或随后的描述。以此方式,计算设备200可以使持久性元素506的大小随着用户输入(例如,手势)的大小的改变而改变,并且作为结果调整在特定时间在持久性元素506中包括多少描述。
97.在图5g的示例中,持久性元素506中正显示的内容的可听部分的描述包括文本,该文本识别用于内容的可听部分的不同部分的口头源或非口头源。例如,持久性元素506指示字幕模块208的机器学习模型识别出可能来自狮子的大声咆哮。具有指示非口头音频的文本的持久性元素506中还包括的是来自内容的可听部分的口头音频的转录。例如,在狮子咆哮的指示中和周围显示媒体内容118中新闻记者对话的转录,以提供跟随媒体内容118的字
幕的容易。
98.通常,作为持久性元素506内的描述的一部分,计算设备200可以包括噪声的描述和噪声源的指示。噪声可以包括来自动物源的动物噪声、来自环境源的环境噪声等等。字幕模块208的机器学习模型被训练为从音频数据中识别口头和非口头音频,并以足够的描述来描述音频,以使计算设备200的用户理解音频内容。
99.条款1.一种用于在计算设备上对内容的可听部分自动加字幕的方法,所述方法包括:从所述计算设备的音频混合器获得从在所述计算设备处执行的应用输出的音频数据,所述音频数据包括指示所述内容的可听部分的数据;从所述音频数据中确定所述音频数据是否是适合于加字幕的类型;响应于确定所述音频数据是适合于加字幕的类型,确定所述内容的可听部分的描述;以及,在显示所述内容的视觉部分时,输出所述内容的可听部分的所述描述用于显示。
100.条款2.根据条款1所述的方法,其中,指示所述内容的可听部分的所述数据是非元数据,并且所述音频数据进一步包括元数据,其中,确定所述音频数据是否是适合于加字幕的类型包括从所述元数据中确定所述音频数据是否是适合于加字幕的类型。
101.条款3.根据条款1和条款2中的任一项所述的方法,其中,所述内容的可听部分的所述描述包括来自所述内容的可听部分的口头音频的转录。
102.条款4.根据条款1

3中的任一项所述的方法,其中,所述内容的可听部分的所述描述包括来自所述内容的可听部分的非口头音频的描述。
103.条款5.根据条款4所述的方法,其中,所述非口头音频包括来自特定源的噪声,并且来自所述特定源的所述噪声的描述包括所述特定源的指示。
104.条款6.根据条款5所述的方法,其中:所述噪声包括来自动物源的动物噪声,或者所述噪声包括来自非动物源的环境噪声。
105.条款7.根据条款1

6中的任一项所述的方法,其中,确定所述内容的可听部分的所述描述包括:由所述计算设备执行机器学习模型,所述机器学习模型被训练为从音频数据中确定描述以确定所述内容的可听部分的所述描述。
106.条款8.根据条款7所述的方法,其中,所述机器学习模型包括端到端循环神经网络换能器自动语音辨识模型。
107.条款9.根据条款1

8中的任一项所述的方法,其中,指示所述内容的可听部分的所述数据包括尚未被注释用于加字幕的未注释数据。
108.条款10.一种用于在计算设备上对内容的可听部分自动加字幕的方法,所述方法包括:由所述计算设备显示在所述计算设备处执行的应用的图形用户界面;在所述图形用户界面被显示时,获得从所述应用输出的音频数据,所述音频数据包括指示所述内容的可听部分的数据;从所述音频数据中确定所述音频数据是否是适合于自动加字幕的类型;响应于确定所述音频数据是适合于自动加字幕的类型,确定所述内容的可听部分的描述;以及在所述应用的所述图形用户界面中显示所述内容的视觉部分时,输出所述内容的可听部分的所述描述作为除所述应用的所述图形用户界面之外的持久性元素用于显示。
109.条款11.根据条款10所述的方法,其中,所述描述包括以下中的至少之一:从所述内容的可听部分提取的口头音频的转录或指示从所述内容的可听部分提取的非口头音频的文本。
110.条款12.根据条款10

11中的任一项所述的方法,其中,指示所述内容的可听部分的所述数据是非元数据,并且所述音频数据进一步包括元数据,其中,确定所述音频数据是否是适合于加字幕的类型包括从所述元数据中确定所述音频数据是否是适合于加字幕的类型。
111.条款13.根据条款10

12中的任一项所述的方法,其中,所述描述包括识别所述内容的可听部分的不同部分的人类源或非人类源的文本。
112.条款14.根据条款10

13中的任一项所述的方法,进一步包括:响应于接收到与所述持久性元素相关联的用户输入,修改所述持久性元素的大小以显示从所述内容的可听部分生成的先前或随后描述。
113.条款15.根据条款10

14中的任一项所述的方法,其中,所述持久性元素通过遮蔽所述应用的所述图形用户界面的第一部分来输出用于显示,所述方法进一步包括:响应于接收与所述持久性元素相关联的用户输入,将所述持久性元素远离所述应用的所述图形用户界面的第一部分移动,以遮蔽所述应用的所述图形用户界面的第二部分。
114.条款16.一种用于在计算设备上对内容的可听部分自动加字幕的方法,所述方法包括:从在所述计算设备处执行的应用接收用以对音频数据自动加字幕的用户输入;响应于接收到所述用户输入,获得从在所述计算设备处执行的所述应用输出的所述音频数据,所述音频数据包括指示所述内容的可听部分的数据;从所述音频数据中确定所述音频数据是否是适合于加字幕的类型;响应于确定所述音频数据是适合于加字幕的类型,确定所述内容的可听部分的描述;以及输出所述内容的可听部分的所述描述作为除所述内容的视觉部分之外和除所述应用的图形用户界面之外的持久性元素用于显示。
115.条款17.根据条款16所述的方法,其中,指示所述内容的可听部分的所述数据是非元数据,并且所述音频数据进一步包括元数据,其中,确定所述音频数据是否是适合于加字幕的类型包括从所述元数据中确定所述音频数据是否是适合于加字幕的类型。
116.条款18.根据条款16或条款17中的任一项所述的方法,其中,接收所述用以对所述音频数据自动加字幕的用户输入包括:在所述计算设备的音频设置菜单内显示字幕控制元素;以及响应于检测到对所述字幕控制元素的用户选择而接收所述用以对所述音频数据自动加字幕的用户输入。
117.条款19.根据条款18所述的方法,进一步包括:响应于接收到对所述字幕控制元素的后续选择而自动终止在所述计算设备上对所述内容的可听部分加字幕。
118.条款20.根据条款16

19中的任一项所述的方法,其中,输出所述内容的可听部分的所述描述包括在避免使用扬声器、耳机插孔或所述计算设备的其他声音系统输出所述内容的可听部分时输出所述描述。
119.条款21.根据条款16

19中的任一项所述的方法,其中,输出所述内容的可听部分的所述描述包括在使用扬声器、耳机插孔或所述计算设备的其他声音系统输出所述内容的可听部分时输出所述描述。
120.条款22.根据条款1

21中的任一项所述的方法,进一步包括:训练机器学习模型以确定音频数据的描述,其中,确定所述描述包括使用所述机器学习模型来确定所述描述。
121.条款23.根据条款22所述的方法,其中,训练所述机器学习模型包括使用先前加字幕的内容来配置所述机器学习模型以从所述先前加字幕的内容的音频中推断嵌入在所述
先前加字幕的内容中的字幕。
122.条款24.根据条款22所述的方法,其中,训练所述机器学习模型包括使用所述描述作为对所述机器学习模型的训练输入。
123.条款25.一种包括至少一个处理器的计算设备,所述至少一个处理器被配置为执行条款1

24中所述的方法中的任一个。
124.条款26.一种包括装置的系统,所述装置用于执行条款1

24中所述的方法中的任一个。
125.条款27.一种包括指令的计算机可读存储介质,所述指令在被执行时配置计算设备的处理器以执行条款1

24所述的方法中的任一个。
126.尽管在前面的描述中描述了并且在附图中示出了本公开的各种优选实施例,但是应当清楚地理解,本公开不限于此,而是可以以各种方式体现为在以下权利要求的范围内实践。从前面的描述,将显而易见的是,在不脱离由所附权利要求限定的本公开的精神和范围的情况下,可以进行各种改变。