化身键盘的制作方法

    专利查询2022-07-09  144


    化身键盘
    1.本技术是pct国际申请号为pct/cn2015/075994、国际申请日为2015年4月7日、中国国家申请号为201580077547.4、题为“化身键盘”的申请的分案申请。
    技术领域
    2.本公开涉及数据处理和数据通信领域。更具体地,本公开涉及化身键盘(avatar keyboard)的提供。


    背景技术:

    3.本文中所提供的背景描述是为了一般地呈现本公开的上下文的目的。除非本文中另外指出,否则本节中所描述的材料对于本技术的权利要求书而言并非现有技术,并且不因为包含在本节中而被承认是现有技术。
    4.许多智能手机(比如来自提姆库克的计算机公司的iphone)支持多种软键盘(以下简称键盘),包括提供易于输入表情符号和贴图(sticker)的键盘。然而,通常情况下,表情符号和贴图的数量有限,并且它们是静态的且无法修改,从而限制了用户表达自己和表现出自己个性的能力。
    附图说明
    5.结合附图,借助于以下详细描述将很容易理解本公开的化身键盘的实施例。为了方便本说明,相同的参考标号指示相同的结构元件。在附图的各图中通过示例的方式而非限制的方式示出了实施例。
    6.图1根据各实施例展示了结合有本公开的化身键盘的计算/通信装置的框图。
    7.图2根据各实施例展示了由计算/通信装置支持的示例附加键盘。
    8.图3-5根据各实施例展示了本公开的化身键盘的示例使用。
    9.图6-7是根据各实施例的流程图,展示了图1的键盘模块的示例操作流程。
    10.图8-9是根据各实施例的框图,进一步展示了图1的化身动画化引擎。
    11.图10根据所公开的实施例展示了适合用于实践本公开的各个方面的示例计算机系统。
    12.图11根据所公开的实施例展示了具有用于实践参照图1-9所描述的方法的指令的存储介质。
    具体实施方式
    13.本文公开了与向通信/计算装置提供化身键盘相关联的装置、方法和存储介质。在实施例中,一种用于通信的设备可以包括:一个或多个处理器,用于执行应用;以及键盘模块,与所述一个或多个处理器相耦合,用于提供处于相应的多种键盘模式下以便输入到所述应用的多个键盘,包括处于化身键盘模式下的化身键盘。所述化身键盘可以包括具备相应化身的多个化身键,所述化身在输入到所述应用之前可以至少部分地基于用户的面部表
    情或头部姿态而被动态地定制或动画化。特别地,所述化身可以至少部分地基于用户的面部表情和/或头部姿态来动态地定制或动画化,从而使得用户能够更好地表达自己。
    14.在多个实施例中,所述应用可以是诸如聊天应用、消息接发应用、电子邮件应用或社交网络应用的通信应用。
    15.在以下详细描述中,参考形成其一部分并且通过图解示出可以实践的实施例的附图,其中,相同的标号指示相同的部件。应当理解,可以在不脱离本公开的范围的情况下利用其他实施例并且可以进行结构或逻辑上的改变。因此,以下的具体实施方式不应被认为具有限制意义,并且实施例的范围由所附权利要求书及其等效物限定。
    16.在所附的说明中公开了本公开的多个方面。可以在不脱离本公开的精神或范围的情况下设计本公开的替代实施例及其等效物。应注意的是,在附图中由相同的参考数字来表示在下文中公开的相同元素。
    17.可以以对理解要求保护的主题最有帮助的方式将各种操作依次描述为多个分立动作或操作。然而,描述的顺序不应被解释为暗示这些操作一定是顺序相关的。特别地,这些操作可以不按所呈现的顺序来执行。可以按与所描述的实施例不同的顺序来执行所描述的操作。在附加的实施例中,各种附加的操作可以执行和/或所描述的操作可以省略。
    18.为了本公开的目的,短语“a和/或b”是指(a)、(b)或(a和b)。为了本公开的目的,短语“a、b和/或c”是指(a)、(b)、(c)、(a和b)、(a和c)、(b和c),或(a、b和c)。
    19.本说明可能使用短语“在实施例中(in an embodiment)”或“在多个实施例中(in embodiments)”,这些短语可以各自是指相同或不同的实施例中的一个或多个。此外,如关于本公开的实施例使用的术语“包括(comprising)”、“包括(including)”、“具有(having)”等是同义的。
    20.本文所使用的术语“模块”可以指的是包括运行一个或多个软件或固件程序的专用集成电路(asic)、电子电路、处理器(共享、专用或编组)和/或存储器(共享、专用或编组)、组合逻辑电路和/或提供所述功能性的其他适当组件或者作为其中一部分。
    21.如本文所使用的术语“通信装置(communication device)”包括具有通信应用的计算装置。术语“键盘(keyboard)”是指软键盘(soft keyboard),除非上下文另有明确指出。类似地,术语“键(key)”是指软键,除非上下文另有明确指出。
    22.现在参考图1,其中根据各实施例示出了结合有本公开的化身键盘的计算/通信装置的框图。如图所示,计算/通信装置100(以下简称为通信装置)可以包括应用102,例如通信应用,诸如但不限于聊天应用、消息收发应用、电子邮件应用、社交网络应用等。通信装置100可以进一步包括键盘(kb)模块104,所述kb模块用于提供多个键盘112-116以供用于向应用102提供输入。所述多个键盘112-116可以包括但不限于字母数字kb 112(也参见图2)、表情符号kb 114(也参见图2)、以及化身kb 116。化身kb 116可以包括与多个化身相对应的多个化身键。进一步地,通信装置100可以包括化身动画化引擎(aee)106和相机108,所述aee和相机与kb模块104操作性地耦合并配合,以允许kb模块104支持与化身键相对应的化身的定制或动画化,下面将进行更完整地描述。在多个实施例中,kb模块104能够以诸如专用集成电路(asic)的硬件、用本文所述的操作逻辑来编程的可编程逻辑、或由通信装置100的主机处理器操作的软件、或其组合来实施。
    23.在图1中还展示了示例聊天应用102的示例显示表面实例122。如图所示,显示表面
    122的实例可以包括对话区域,所述对话区域示出通信装置100的用户与聊天会话的一个或多个其他用户之间的最近的通信交换。在发送之前,显示表面122的实例还可以包括示出所输入的文本、表情符号、贴图和/或化身的输入区域126。显示表面122的实例还可以包括具有多个化身键的当前kb,诸如所示出的化身kb 116。与其他kb类似,可以通过点击相应的化身键来选择化身以便输入。在多个实施例中,可以通过点击控制键/图标(例如控制键/图标132;或其他装置)来选择化身以便输入。
    24.进一步地,除了控制键/图标132,显示表面122的实例还可以包括多个其他控制图标,诸如但不限于用于切换到其他kb的控制图标130、用于滚动并显示其他化身键的控制图标131和133、用于显示附加控制图标的控制图标134、用于打开通信装置100的麦克风(未示出)以提供音频输入的控制图标135、或用于打开相机108以拍摄照片的控制图标136。
    25.在多个实施例中,控制图标132还可以用于进入定制/动画化模式,以对所选化身进行定制或动画化,例如通过点击并暂时保持控制图标。在多个替代实施例中,还可以通过例如点击和暂时保持化身或其他手段来进入所述定制/动画化模式。
    26.在多个实施例中,kb模块104可以由硬件,软件或由此组合来实施。硬件实施方式的示例可以包括但不限于专用集成电路(asic)或可编程电路,用本文所述的操作逻辑编程的现场可编程门阵列(fpga)。软件实施方式的示例可以包括编译成由通信装置100的主处理器(未示出)支持的机器指令的汇编语言或高级语言实施方式。
    27.在多个实施例中,尽管未示出,为了易于理解,通信装置100还可以包括其他组件,诸如但不限于处理器(单核或多核)、存储器(易失性或非易失性)、操作系统、图形协处理器、数字信号处理器、通信接口(有线或无线)等。无线通信接口的示例可以包括但不限于wifi、lte等。因此,除了并入其中的化身kb技术之外,通信装置100可以是本领域已知的多种计算/通信装置中的任何一种,包括但不限于智能电话、计算平板电脑、超级笔记本、游戏机、机顶盒、智能电视等。
    28.如前面提到的,图2根据各实施例展示了由计算/通信装置100支持的示例附加键盘。特别地,图2的左侧展示了字母数字kb 112,而图2的右侧展示了表情符号kb 114,每个kb可以响应于对kb的请求(例如通过点击图1的控制图标130)而被调用。
    29.为了便于理解,kb模块104被描述为支持三个kb 112-116,本公开不限于此。在多个实施例中,kb模块104可以支持更少或更多的kb,例如包括其他拉丁语、法语、葡萄牙语

    、或其他非拉丁语言(诸如阿拉伯语、波斯语、日语、简体/繁体中文)等的kb。
    30.现在参考图3-5,其中根据各实施例展示了本公开的化身kb 116的示例使用。如图3所示,在进入定制/动画化模式时,所选化身138被示出在化身kb 116的一个区域中,而相机的当前视图144被示出在化身kb 116的另一区域中。如将在下面更全面地描述的,在处于定制/动画化模式时,kb模块104可以使用aae 106针对用户的面部表情和/或头部姿态分析由相机108捕捉的一个或多个图像,并且至少部分地基于用户的面部表情和/或头部姿态的分析结果对使所选化身138进行定制/动画化。在多个实施例中,可以提供用于启动和停止所选化身138的定制/动画化的控制图标142。进一步地,在多个实施例中,可以为用户提供用于逐步通过化身图库来替代地选择用于定制/动画化的另一化身的控制图标140。
    31.图4展示了在经定制的化身(涉及单个图像帧)已经输入到应用102并由其发出之后应用102的显示表面122的示例性实例。图5展示了在经动画化的化身(涉及多个图像帧)
    已经输入到应用102并由其发出之后应用102的显示表面122的示例性实例。
    32.现在参考图6-7,其中根据各实施例示出了两个流程图,展示了kb模块104的示例性操作流程。用于提供各种kb(包括较早描述的字母数字kb 112、表情符号kb 114已经化身kb 116)的过程150可以包括框152-154中的操作。用于提供化身kb 116的过程160可以包括框162-176中的操作。这些操作可以通过例如图1中的kb模块104来执行。
    33.如所示出的,过程150可以开始于框152。在框152处,可以显示当前的kb,例如字母数字kb112、表情符号kb 114或化身kb 116。接下来,在框154处,所显示的kb可以以相应的kb模式操作(例如字母数字kb模式、表情符号kb模式、和化身kb模式)进行操作。字母数字kb模式和表情符号kb模式内的操作在本领域中是已知的,并且将不再进一步描述。以下将参考图7进一步描述化身kb模式内的示例性操作。
    34.过程150可以停留在框154处,直到接收到切换当前kb的请求。在接收到切换请求时,过程150可以返回到框152,将当前kb切换到下一个kb,并且从其开始如前所述地继续。在多个实施例中,可以以轮询方式切换所述kb。
    35.在进入化身kb模式时,用于操作化身kb的过程160可以在框162处开始。在框162处,可以显示一组化身键。接下来在框164处,过程160可以等待用户选择和/或命令。从框164,过程160可以进行到框166、168、174或176。过程160可以在接收到滚动命令时进行到框166。响应于滚动命令,可以显示另一组化身键。在滚动时,过程160可以返回到框164并且从其开始如前所述地进行。
    36.过程160可以在接收到定制/动画化命令时进行到框168。在框168处,如前所述,过程160可以进入定制/动画化模式。接下来在框170处,可以激活或打开装置相机。在172处,可以操作aae来对所选化身进行定制或动画化。在完成定制/动画化时,过程160可以返回到框164并且从其开始如前所述地进行。以下将参考图8-9进一步描述化身的动画和aae。
    37.过程160可以在接收到用于选择化身以便输入到应用的选择命令(例如,化身键的点击)时进行到框174。作为响应,可以向应用通知所述选择,并且输入所选化身(其可以被定制或动画化)。在输入时,过程160可以返回到框164并且从其开始如前所述地进行。
    38.过程160可以在接收到其他命令时进行到框176。作为响应,可以按取决于应用的方式处理其他命令,从一个命令到另一个命令以及从一个实施例到另一个实施例,所述方式可以变化。在完成对另一命令的处理时,过程160可以返回到框164并且从其开始如前所述地进行。
    39.现在参考图8-9,其中根据各实施例示出了两个框图,进一步展示了图1的化身动画化引擎。如图示出,aae 106可以包括如图所示相互耦合的面部表情跟踪器/分析器182和动画制作器(animator)104。在多个实施例中,面部表情跟踪器/分析器182可以被配置用于访问多个图像帧118(例如由相机108捕捉的图像帧),并且针对面部表情和/或头部姿态分析所述图像帧。进一步地,面部表情跟踪器/分析器182可以被配置成用于在分析时输出多个动画化消息,以供动画制作器184基于任一确定的面部表情和/或头部姿态来驱动所述化身的动画化。
    40.在多个实施例中,为了操作效率,动画制作器184可以被配置用于以多个预定混合形状对化身进行动画化,使得aae 106特别适合于范围广泛的移动装置。可以首先预先构建具有中性表达和一些典型表达(比如嘴张开、嘴微笑、眉毛向上和眉毛向下、眨眼等)的模
    型。可以针对各面部表情跟踪器/分析器182的能力和目标移动装置的系统要求来决定或选择混合形状。在操作过程中,面部表情跟踪器/分析器182可以选择各种混合形状,并且基于所确定的面部表情和/或语音来分配混合形状权重。所选择的混合形状及其分配的权重可以作为动画化消息186的一部分被输出。
    41.在接收到混合形状选择和混合形状权重(αi)时,动画制作器184可以用以下公式(等式1)产生面部表情结果:
    [0042][0043]
    其中b
    *
    是目标表达面部,
    [0044]
    b0是具有中性表情的基本模型,并且
    [0045]
    δbi是基于特定表达的基本模型存储顶点位置偏移的第i个混合形状。
    [0046]
    更具体地,在多个实施例中,面部表情跟踪器/分析器182可以被配置有面部表情跟踪功能和动画化消息生成功能。在实施例中,所述面部表情跟踪功能可以被配置为在多个图像帧内检测用户的面部的面部动作移动和/或用户的头部的头部姿态姿势,并实时地输出描绘所确定的面部表情和/或头部姿态的多个面部参数。例如,所述多个面部运动参数可以描绘所检测到的面部动作移动(比如眼睛和/或嘴部移动),和/或描绘所检测到的头部姿态姿势(比如头部旋转、移动和/或距离相机越来越近或越来越远)的头部姿态姿势参数。
    [0047]
    在实施例中,可以基于图像帧的像素采样(例如)通过面部的嘴和眼睛以及头部的帧间差异来检测面部动作移动和头部姿态姿势。功能块中的各功能块可以被配置为计算用户头部的旋转角度(包括俯仰、偏航和/或滚动)以及沿水平方向、垂直方向和距离相机越来越近或越来越远的平移距离,最终输出为头部姿态姿势参数的一部分。计算可以基于多个图像帧中的子采样像素的子集,应用(例如)动态模板匹配、重新登记等等。这些功能可以是足够准确的,但在其所需的处理能力方面仍可扩展,从而使得aae 106特别适合由各种移动计算装置(比如智能电话和/或计算平板电脑)来托管。
    [0048]
    稍后将参考图9进一步描述示例性面部表情跟踪功能。
    [0049]
    在多个实施例中,所述动画化消息生成功能可以被配置用于基于描绘用户的面部表情和头部姿态的面部表情和头部姿态参数来选择性地输出动画化消息120以驱动化身的动画化。在多个实施例中,所述动画化消息生成功能可以被配置用于将面部动作单元转换为混合形状和它们所分配的权重以便化身的动画化。由于面部跟踪可以使用不同的网格几何和具有化身渲染侧的动画结构,所述动画化消息生成功能还可以被配置用于执行动画化系数转换和面部模型重定目标。在多个实施例中,动画化消息生成功能可以输出混合形状及其权重作为动画化消息1186。动画化消息186可以指定多个动画,比如“下唇向下”(llipd)、“双唇变宽”(blipw)、“双唇向上”(blipu)、“皱鼻”(nosew)、“眉毛向下”(browd)等等。
    [0050]
    仍然参考图8,动画制作器184可以被配置用于接收由面部表情跟踪器/分析器182输出的动画化消息186,并且驱动化身模型对化身进行动画化、在化身上复制用户的面部表情和/或头部姿态。
    [0051]
    在多个实施例中,当基于鉴于将头部转动影响考虑在内的面部表情参数和头部姿态参数所生成的动画化消息120进行动画化时,动画制作器184可以根据由头部转动影响权
    重生成器(未展示)提供的头部转动影响权重对化身进行动画化。所述头部转动影响权重生成器可以被配置用于预先生成用于动画制作器184的一组头部转动影响权重。在这些实施例中,动画制作器184可以被配置用于通过面部和骨骼动画化以及应用头部转动影响权重来对化身进行动画化。如前所述,头部转动影响权重可以由头部转动影响权重生成器预先生成、并且例如以头部转动影响权重图的形式提供给动画制作器104。考虑到头部旋转影响权重的化身动画化是2014年7月25日提交的题为“avatar facial expression animations with head rotation(使用头部旋转的化身面部表情动画)”的pct专利申请号pct/cn2014/082989的共同未决专利申请的主题。更多信息,参见pct专利申请号pct/cn2014/082989。
    [0052]
    面部表情跟踪器/分析器182和动画制作器184可以各自以硬件(例如,asic)或用适当逻辑编程的可编程装置(比如fpga)、由通用和/或图形处理器执行的软件、或者两者的组合来实现。
    [0053]
    与其他面部动画化技术(诸如运动传递和网格变形)相比,使用混合形状进行面部动画化可以具有以下几个优点:1)表情定制:当创建化身模型时,表情可以根据化身的构思和特性来定制。化身模型可以变得更有趣并且对用户更有吸引力。2)计算成本低:计算可以配置成与模型大小成比例,并且更适合并行处理。3)良好的可扩展性:将更多表达加入框架可以更容易。
    [0054]
    对于本领域技术人员显而易见的是,这些特征单独地并且组合地使aae106特别适合于由各种各样的移动计算装置托管。然而,虽然aae 106被设计为特别适合于在诸如智能电话、平板手机、计算平板电脑、膝上型计算机或电子阅读器的移动装置上操作,但是本公开不是如此有限。预期kb模块104和aae 106也可以在具有比典型的移动装置更多的计算能力的计算装置(例如,台式计算机、游戏机、机顶盒或计算机服务器)上操作。
    [0055]
    现在参考图9,其中根据各实施例更详细地展示了图8的面部表情跟踪功能的示例性实现。如所示,在实施例中,面部表情跟踪功能可以包括如所示彼此耦合的面部检测功能块202、标记检测功能块204、初始面部网格拟合功能块206、面部表情估计功能块208、头部姿态跟踪功能块210、嘴张开程度估计功能块212、面部网格跟踪功能块214、跟踪验证功能块216、眨眼检测和嘴校正功能块218和面部网格适配块220。
    [0056]
    在实施例中,面部检测功能块202可以被配置为通过所接收的多个图像帧中的一个或多个的窗口扫描来检测面部。在每个窗口位置,可以提取修改的普查变换(mct)特征,并且可以应用级联分类器来寻找面部。标记检测功能块204可以被配置为检测面部上的标记点,例如眼睛中心、鼻尖、嘴角和面部轮廓点。给定一个面部矩形,可以根据平均面部形状给出初始标记位置。此后,可以通过显式形状回归(esr)方法迭代地找到确切的标记位置。
    [0057]
    在实施例中,初始面部网格拟合功能块206可以被配置为至少部分地基于在面部上检测到的多个标记点来初始化面部网格的3d姿态。可以使用candide3线框头部模型。可以使用posit算法来估计头部模型的旋转角度、平移向量和缩放因子。因此,3d网格在图像平面上的投射可以与2d标记匹配。面部表情估计功能块208可以被配置为至少部分地基于在面部上检测到的多个标记点来初始化多个面部运动参数。可以通过面部动作参数(fau)(比如嘴宽度、嘴高度、皱鼻、眼睛睁开)来控制candide3头部模型。可以通过最小二乘拟合来估计这些fau参数。
    [0058]
    头部姿态跟踪功能块210可以被配置为计算用户头部的旋转角度(包括俯仰、偏航
    和/或滚动)以及沿水平方向、垂直方向和距离相机越来越近或越来越远的平移距离。计算可以基于多个图像帧中的子采样像素的子集,应用动态模板匹配和重新登记。嘴张开程度估计功能块212可以被配置为计算嘴的上唇和下唇的张开距离。可以使用样本数据库来训练嘴几何形状(张开/闭上)和外观的相关性。此外,可以基于多个图像帧中的当前图像帧的子采样像素的子集来估计嘴张开距离,应用fern回归。
    [0059]
    面部网格跟踪功能块214可以被配置为基于多个图像帧的子采样像素的子集来调整面部网格的位置、取向或变形以保持面部网格对面部的持续覆盖和对面部移动的反射。所述调整可以通过连续图像帧的图像对准(在candide3模型中经历预先定义的fau参数)来执行。头部姿态跟踪功能块210的结果和嘴张开程度可以用作参数优化的软约束。跟踪验证功能块216可以被配置为监视面部网格跟踪状态,以确定是否需要重新定位面部。跟踪验证功能块216可以应用一个或多个面部区域或眼睛区域分类器来作出确定。如果跟踪运行平稳,则可以在下一帧所跟踪的情况下继续操作,否则操作可以返回到面部检测功能块202,以针对当前帧重新定位面部。
    [0060]
    眨眼检测和嘴校正功能块218可以被配置为检测眨眼状态和嘴形状。可以通过光流分析检测眨眼,而可以通过检测嘴的帧间直方图差异来估计嘴形状/移动。随着整个面部网格所跟踪的细化,眨眼检测和嘴校正功能块216可以产生更准确的眨眼估计,并且增强嘴移动灵敏度。
    [0061]
    面部网格适配功能块220可以被配置为根据导出的面部动作单元来重建面部网格,并且在所述面部网格下重新采样当前图像帧以建立下一个图像帧的处理。
    [0062]
    所描述的示例面部表情跟踪功能122是2014年3月19日提交的名称为“facial expression and/or interaction driven avatar apparatus and method(面部表达和/或交互驱动的化身设备和方法)”的共同未决专利申请pct专利申请号pct/cn2014/073695的主题。如所描述,与膝上型计算机或台式计算机或服务器相比,功能块之间的架构、工作负载的分布使得面部表情跟踪功能122特别适合于具有相对更有限的计算资源的便携式装置。详细内容参见pct专利申请号pct/cn2014/073695。
    [0063]
    在替代实施例中,面部表情跟踪功能可以是本领域已知的多个其他面部跟踪器中的任何一个。
    [0064]
    图10展示了可以适合用作客户端装置或服务器以实践本公开的选择的方面的示例性计算机系统。如所示,计算机500可以包括一个或多个处理器或处理器核502以及系统存储器504。为了本技术(包括权利要求书)的目的,术语“处理器”是指物理处理器,并且术语“处理器”和“处理器核”可以被认为是同义的,除非上下文另有明确要求。另外,计算机500可以包括大容量存储装置506(比如磁盘、硬盘驱动器、光盘只读存储器(cd-rom)等)、输入/输出装置508(比如显示器、键盘、光标控制等)以及通信接口510(比如网络接口卡、调制解调器等)。所述元件可以经由可以表示一个或多个总线的系统总线512相互耦合。在多个总线的情况下,它们可以通过一个或多个总线桥(未示出)桥接。
    [0065]
    这些元件中的每个元件可以执行其在本领域中已知的常规功能。具体地,系统存储器504和大容量存储装置506可以被用来存储实现与之前描述的kb模块104或aae 106相关联的操作的编程指令的工作副本和永久副本(统称为计算逻辑522)。各个元件可以通过(多个)处理器502所支持的汇编指令或可以编译成这样的指令的高级语言(如例如c语言)
    来实现。
    [0066]
    这些元件510-512的数量、能力和/或容量可以根据计算机500是用作客户端装置还是服务器而变化。当用作客户端装置时,这些元件510-512的能力和/容量可以变化,取决于客户端装置是固定装置还是移动装置(如智能电话、计算平板电脑、超级笔记本或膝上计算机)。否则,元件510-512的构成是已知的,并因此将不进行进一步描述。
    [0067]
    如本领域技术人员将认识到的,本公开可以被具体化为方法或计算机程序产品。相应地,除了体现如前所述的硬件之外,本公开可以采取完全软件实施方式(包括固件、驻留软件、微代码等)或结合硬件与软件方面的实施方式的形式,所有所述形式在本文中一般统称为“电路”、“模块”或“系统”。此外,本公开可以采取体现在任何有形的或非暂态表达介质(所述介质具有在介质中具体化的计算机可用程序代码)中的计算机程序产品的形式。图11展示了示例性计算机可读非暂态存储介质,所述示例性计算机可读非暂态存储介质可以适用于存储响应于设备对指令的执行而使所述设备实践本公开的选择的方面的所述指令。如所示出的,非暂态计算机可读存储介质602可以包括许多编程指令604。编程指令604可以被配置用于使得装置(例如,计算机500)能够响应于所述编程指令的执行而进行例如与参考图1-9描述的kb模块104和/或aae 106相关联的各种操作。在替代实施例中,反而可以将编程指令604布置在多个计算机可读非暂态存储介质602上。在替代实施例中,可以将编程指令604布置在计算机可读暂态存储介质602(比如信号)上。
    [0068]
    可以利用一种或多种计算机可用或计算机可读介质的任何组合。计算机可用或计算机可读介质可以是例如但不限于电的、磁的、光的、电磁的、红外线的或半导体系统、设备、装置或传播介质。计算机可读介质的更具体的示例(非穷举列表)将包括以下各项:具有一条或多条线的电连接、便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦写可编程只读存储器(eprom或闪存)、光纤、便携式光盘只读存储器(cd-rom)、光存储装置、诸如那些支持互联网或内联网的传输介质或磁存储装置。注意,计算机可用或者计算机可读介质甚至可以是在其上印刷了程序的纸或另一种适合的介质,因为程序可以经由(例如)对纸或者其他介质进行光学扫描而被电子地捕捉,然后如果必要的话,被编译、被解释或被以适合的方式进行处理,然后被存储在计算机存储器内。在本文档的上下文中,计算机可用或者计算机可读介质可以是可以包含、存储、传送、传播或传输由指令执行系统、设备或装置使用或者与其结合使用的程序的任何介质。计算机可使用介质可以包括在基带中或者作为载波的一部分体现在其中的计算机可使用程序代码的所传播的数据信号。计算机可用程序代码可以使用任何适当的介质(包括但不限于无线、电线、光缆、rf等)进行传输。
    [0069]
    用于执行本公开的操作的计算机程序代码可以以包括面向对象的编程语言(比如java、smalltalk,c 等)以及常规的过程式编程语言(比如“c”编程语言或类似的编程语言)的一种或多种编程语言的任何组合来编写。程序代码可以完全地在用户的计算机上执行、部分地在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者,可以(例如,使用互联网服务提供商来通过互联网)连接到外部计算机。
    [0070]
    参考根据本公开的实施例的方法、设备(系统)和计算机程序产品的流程图和/或
    框图来描述本公开。应当理解的是,可以由计算机程序指令来实现流程图和/或框图的每个框以及流程图和/或框图中的框的组合。这些计算机程序指令可提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生一种机器,使得经由计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现一个或多个流程图和/或框图框中指定的功能/动作的手段。
    [0071]
    这些计算机程序指令还可被存储在计算机可读介质内,所述计算机可读介质可以指挥计算机或其他可编程数据处理设备以特定方式发挥作用,使得存储在计算机可读介质中的指令产生包括实现一个或多个流程图和/或框图框中指定的功能/动作的指令手段的制品。
    [0072]
    计算机程序指令也可加载到计算机或其他可编程数据处理设备上,以促使一系列操作步骤在所述计算机或其他可编程设备上执行,从而产生计算机实现的过程,使得在所述计算机或其他可编程设备上执行的这些指令能够提供用于实现一个或多个流程图和/或框图框中指定的功能/动作的过程。
    [0073]
    附图中的流程图和框图展示了根据本公开的各实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框都可以表示模块、片段或代码的一部分,其包含用于实现特定逻辑功能的一条或多条可执行指令。还应当指出的是,在一些替代实现中,框中标明的功能可以不按图中标记的顺序发生。例如,取决于所涉及的功能,连续示出的两个框事实上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将指出的是,可以通过执行特定功能或动作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现框图和/或流程图的每个框以及框图和/或流程图中的框的组合。
    [0074]
    本文所使用的术语只是为了描述特定实施例的目的,而不是要对本公开做出限制。如在此使用的,单数形式的“一个(a)”、“一个(an)”和“所述(the)”也旨在包括多数形式,除非上下文另有清楚的规定。将进一步理解的是,当在本说明书中使用术语“包括(comprises)”和/或“包括(comprising)”时,其指定陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组的存在或添加。
    [0075]
    实施例可被实现为计算机进程、计算系统或者制品(比如计算机可读介质的计算机程序产品)。计算机程序产品可以是可由计算机系统读取并编码了用于执行计算机进程的计算机程序指令的计算机存储介质。
    [0076]
    权利要求中的所有装置或步骤加功能元件的相应的结构、材料、动作和等同物旨在包括用于结合在权利要求中特意声明的其他元件而执行功能的任何结构、材料或动作。已经出于说明和描述的目的而呈现对本公开的描述,但是所述描述并不旨在穷举公开内容或者使公开内容限于所公开的形式。对于本领域的普通技术人员来说,在不偏离本公开的范围和精神的情况下,许多修改和变更都是显而易见的。实施例的选择和描述是为了最佳地解释本公开的原理和实际应用,并且当适合于所构想的特定使用时,使得本领域的其他普通技术人员能够理解本公开的具有各种经修改的实施例。
    [0077]
    返回参考图5,对于一个实施例,处理器502中的至少一个可以与具有计算逻辑522的存储器一起封装(代替存储在存储器504和存储设备506上)。对于一个实施例,处理器502
    中的至少一个可以与具有计算逻辑522的存储器一起封装以形成系统级封装(sip)。对于一个实施例,处理器502中的至少一个可以与具有计算逻辑522的存储器集成在同一裸片上。对于一个实施例,处理器502中的至少一个可以与具有计算逻辑522的存储器一起封装以形成片上系统(soc)。对于至少一个实施例,soc可以用于(例如但不限于)智能电话或计算平板电脑中。
    [0078]
    从而,已描述的本公开的各示例性实施例包括但不限于:
    [0079]
    示例1可以是一种用于通信的设备,所述设备包括:一个或多个处理器,用于执行应用;以及键盘模块,所述键盘模块与所述一个或多个处理器相耦合,所述键盘模块用于提供处于相应的多种键盘模式下以便输入到所述应用的多个键盘,包括处于化身键盘模式下的化身键盘,所述化身键盘具有具备相应化身的多个化身键,所述化身在输入到所述应用之前可以至少部分地基于用户的面部表情或头部姿态而被动态地定制或动画化。
    [0080]
    示例2可以是示例1,其中,所述多个键盘进一步包括字母数字键盘或表情符号键盘;其中,所述键盘模块用于响应于对所述化身键盘的请求而进入所述化身键盘模式并显示所述化身键盘以供使用。
    [0081]
    示例3可以是示例1或2,其中,所述键盘模块可以:响应于对化身键进行定制或动画化的请求,进入所述化身键盘模式内的定制/动画化模式,并且打开相机以捕捉所述设备的用户的一个或多个图像。
    [0082]
    示例4可以是示例3,其中,所述键盘模块可以进一步在所述化身键盘的区域中显示或促进显示所述相机的当前视图。
    [0083]
    示例5可以是示例3,其中,所述设备可以进一步包括所述相机。
    [0084]
    示例6可以是示例3,其中,所述键盘模块可以进一步将所述一个或多个图像提供至化身动画化引擎、或者使所述一个或多个图像被提供至所述化身动画化引擎,以针对所述用户的面部表情或头部姿态分析所述一个或多个图像,并且至少部分地基于针对所述用户的面部表情或头部姿态的所述分析的结果来对所述多个化身键中的所选化身键进行定制或动画化。
    [0085]
    示例7可以是示例6,其中,所述设备可以进一步包括所述化身动画化引擎。
    [0086]
    示例8可以是示例1-7中的任一项,其中,所述键盘模块可以响应于对所述多个化身键中的相应化身键的选择而向所述应用输入化身或化身的动画。
    [0087]
    示例9可以是示例8,其中,所述应用可以选自于由以下各项组成的组中的通信应用:聊天应用、消息接发应用、电子邮件应用或社交网络应用。
    [0088]
    示例10可以是示例9,其中,所述设备可以进一步包括所述通信应用。
    [0089]
    示例11可以是一种用于通信的方法,所述方法包括:由计算装置执行应用;由所述计算装置接收对化身键盘的请求;以及响应于所述请求,由所述计算装置进入化身键盘模式,并且显示具有具备相应化身的多个化身键的化身键盘,以供用于向所述应用输入所选化身键的化身或化身的动画,其中,在输入到所述应用之前,所述相应化身可以至少部分地基于用户的面部表情或头部姿态而被动态地定制或动画化。
    [0090]
    示例12可以是示例11,进一步包括:当处于所述化身键盘模式下时由所述计算装置接收进入所述化身键盘模式内的定制/动画化模式以对化身键进行定制或动画化的请求;并且响应于进入所述定制/动画化模式的所述请求,进入所述定制/动画化模式,并且打
    开相机以捕捉所述计算装置的用户的一个或多个图像。
    [0091]
    示例13可以是示例12,进一步包括由所述计算装置在所述化身键盘的区域中显示或促进显示所述相机的当前视图。
    [0092]
    示例14可以是示例12,进一步包括由所述计算装置针对所述用户的面部表情或头部姿态分析所述一个或多个图像,并且至少部分地基于针对所述用户的面部表情或头部姿态的所述分析的结果来对所述多个化身键中的所选化身键进行定制或动画化。
    [0093]
    示例15可以是示例11-14中的任一项,进一步包括响应于对所述多个化身键中的相应化身键的选择而由所述计算装置向所述应用输入化身或化身的动画。
    [0094]
    示例16可以是一种或多种包括指令的计算机可读介质,所述指令使计算装置响应于所述计算装置执行所述指令而操作键盘模块,以便:提供处于相应的多种键盘模式下以便输入到应用的多个键盘,包括处于化身键盘模式下的化身键盘,所述化身键盘具有具备相应化身的多个化身键,所述化身在输入到所述应用之前可以至少部分地基于用户的面部表情或头部姿态而被动态地定制或动画化。
    [0095]
    示例17可以是示例16,其中,所述多个键盘进一步包括字母数字键盘或表情符号键盘;其中,所述键盘模块可以响应于对所述化身键盘的请求而进入所述化身键盘模式并显示所述化身键盘以供使用。
    [0096]
    示例18可以是示例16,其中,所述键盘模块可以:响应于对化身键进行定制或动画化的请求,进入所述化身键盘模式内的定制/动画化模式,并且打开相机以捕捉所述设备的用户的一个或多个图像。
    [0097]
    示例19可以是示例18,其中,所述键盘模块可以进一步在所述化身键盘的区域中显示或促进显示所述相机的当前视图。
    [0098]
    示例20可以是示例18,其中,所述键盘模块可以进一步将所述一个或多个图像提供至化身动画化引擎、或者使所述一个或多个图像被提供至所述化身动画化引擎,以针对所述用户的面部表情或头部姿态分析所述一个或多个图像,并且至少部分地基于针对所述用户的面部表情或头部姿态的所述分析的结果来对所述多个化身键中的所选化身键进行定制或动画化。
    [0099]
    示例21可以是示例20,其中,所述指令响应于由所述计算装置的执行而可以进一步向所述计算装置提供所述化身动画化引擎。
    [0100]
    示例22可以是示例16-21中的任一项,其中,所述键盘模块可以响应于对所述多个化身键中的相应化身键的选择而向所述应用输入化身或化身的动画。
    [0101]
    示例23可以是示例22,其中,所述应用可以选自于由以下各项组成的组中的通信应用:聊天应用、消息接发应用、电子邮件应用或社交网络应用。
    [0102]
    示例24可以是一种用于通信的设备,所述设备包括:用于执行应用的装置;用于接收对化身键盘的请求的装置;以及用于响应于所述请求的装置,包括用于进入化身键盘模式的装置、以及用于显示具有具备相应化身的多个化身键的化身键盘以供用于向所述应用输入所选化身键的化身或化身的动画的装置,其中,在输入到所述应用之前,所述相应化身可以至少部分地基于用户的面部表情或头部姿态而被动态地定制或动画化。
    [0103]
    示例25可以是示例24,进一步包括:用于当处于所述化身键盘模式下时接收进入所述化身键盘模式内的定制/动画化模式以对化身键进行定制或动画化的请求的装置;以
    及用于响应于进入所述定制/动画化模式的所述请求的装置,包括用于进入所述定制/动画化模式的装置、以及用于打开相机以捕捉所述计算装置的用户的一个或多个图像的装置。
    [0104]
    示例26可以是示例25,进一步包括:用于在所述化身键盘的区域中显示或促进显示所述相机的当前视图的装置。
    [0105]
    示例27可以是示例25,进一步包括:用于针对所述用户的面部表情或头部姿态分析所述一个或多个图像并且至少部分地基于针对所述用户的面部表情或头部姿态的所述分析的结果来对所述多个化身键中的所选化身键进行定制或动画化的装置。
    [0106]
    示例28可以是示例24-27中的任一项,进一步包括:用于响应于对所述多个化身键中的相应化身键的选择而向所述应用输入化身或化身的动画的装置。
    [0107]
    对于本领域技术人员显而易见的是,在不背离本公开的精神或范围的情况下,可在本公开的装置和相关联的方法的本公开的实施例中作出各种修改和变更。因此,本公开旨在涵盖以上所公开的实施例的这些修改和变更,只要这些修改和变更落在任意权利要求和其等价物的范围内。
    转载请注明原文地址:https://tc.8miu.com/read-3607.html

    最新回复(0)