CN107111430B - 语音注释和呼叫的混合 - Google Patents

语音注释和呼叫的混合 Download PDF

Info

Publication number
CN107111430B
CN107111430B CN201580063705.0A CN201580063705A CN107111430B CN 107111430 B CN107111430 B CN 107111430B CN 201580063705 A CN201580063705 A CN 201580063705A CN 107111430 B CN107111430 B CN 107111430B
Authority
CN
China
Prior art keywords
communication
client device
communication mode
data
mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580063705.0A
Other languages
English (en)
Other versions
CN107111430A (zh
Inventor
J·布罗迪
M·汉诺威
C·萨马拉纳亚克
W·吴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Snap Inc
Original Assignee
Snap Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Snap Inc filed Critical Snap Inc
Priority to CN202110589224.0A priority Critical patent/CN113268191A/zh
Publication of CN107111430A publication Critical patent/CN107111430A/zh
Application granted granted Critical
Publication of CN107111430B publication Critical patent/CN107111430B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72436User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for text messaging, e.g. short messaging services [SMS] or e-mails
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72433User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for voice messaging, e.g. dictaphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/22Details of telephonic subscriber devices including a touch pad, a touch sensor or a touch detector

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephone Function (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

提供一种系统和方法,其用于通过客户机设备的用户界面接收用户交互,确定当前通信模式和期望通信模式,其中所述期望通信模式基于由传感器模块接收的所述用户交互而被确定。所述系统进一步将所述期望通信模式设置为所述当前通信模式,以及基于所述期望通信模式被设置为所述当前通信模式,导致呈现所述客户机设备的用户界面。

Description

语音注释和呼叫的混合
相关申请
本申请要求2015年11月23日提交的第14/949,785号美国申请的优先权,第14/949,785号申请要求2014年11月26日提交的第62/085,209号美国临时申请和2015年2月24日提交的第62/119,963号美国临时申请的权益,这两个临时申请在此全部引入作为参考。
技术领域
本公开的实施例一般地涉及数据处理。更具体地说但并非限制,本公开涉及用于基于文本的通信、语音注释和语音通信的混合的系统和方法。
背景技术
电信应用可以使用诸如文本、图像、录音和/或录像之类的各种媒体,提供多个用户之间的通信。这些应用通常针对通信的单个媒体(例如,文本或语音)。为了使用不同媒体通信而在多个应用之间转换可能是繁琐的,需要用户停止使用一个应用,并且开始使用另一个应用。因此,越来越多地需要改善与电信应用关联的体验。
附图说明
附图中的各个图仅例示本公开的实例实施例,并且不应被认为是限制其范围,这些附图是:
图1是示出根据某些实例实施例的网络系统的框图;
图2是示出根据某些实例实施例的通信混合系统的图;
图3是示出根据某些实例实施例的用于使用与用户界面关联的手势混合通信的实例方法的流程图;
图4是示出根据某些实例实施例的用于混合通信的实例方法的流程图;
图5是示出根据某些实例实施例的用于混合通信类型以便参与聊天会话的实例方法的流程图;
图6示出根据某些实例实施例的导致通信模式变化的实例用户交互;
图7A-7C示出根据某些实例实施例的导致通信模式变化的实例用户交互;
图8-14示出根据某些实例实施例的被配置为接收文本和语音注释的组合的实例用户界面;
图15是示出根据某些实例实施例的实例移动设备和移动操作系统界面的用户界面图;
图16是示出根据某些实例实施例的可以安装在机器上的软件架构的一个实例的框图;
图17是根据一个实例实施例的呈现计算机系统形式的机器的图形表示的框图,在所述机器内可以执行一组指令以便导致所述机器执行在此讨论的任何方法。
在此提供的标题仅为了方便起见,并且不影响所使用术语的范围或含义。
具体实施方式
下面的描述包括体现本公开的示例性实施例的系统、方法、技术、指令序列、以及计算机程序产品。在下面的描述中,为了解释的目的,给出许多特定的细节以便提供对本发明主题的各种实施例的理解。但是,对于本领域技术人员显而易见的是,可以在没有这些特定的细节的情况下实现本发明主题的实施例。通常,未详细示出公知的指令实例、协议、结构和技术。
描述了一种通信混合系统,其允许两个用户使用不同媒体的组合(例如,语音和文本)通信。所述通信混合系统使用设备的手势和方向变化以便在采用不同媒体的通信模式之间转换。此外,所述通信混合系统使用通信的一方或多方的手势和方向变化以便在同步或异步通信之间转换。在某些实施例中,通信可以在单个应用或者跨多个应用的上下文内。
如果所述通信混合系统促进通信各方(用户)中的同步与异步通信之间的转换,则所述通信混合系统能够导致由通信一方使用的用户设备的通信模式变化(例如,从采用异步通信的模式到采用同步通信的模式),这种通信模式变化基于通信其它方的手势或方向变化。例如,一方的一个客户机设备的手势和方向变化能够导致通信另一方的另一个客户机设备的通信模式变化。
此外,在某些实施例中,所述通信混合系统的各部分能够被集成在由通信各方使用的客户机设备上操作的应用或操作系统中,或者与这些应用或操作系统通信。以这种方式,所述通信混合系统能够促进来自操作系统的任何应用、文档、文件或实例的用户之间的通信。在这些实施例中,所述通信混合系统能够促进应用之间的通信,将在第一客户机设备的第一应用中生成的异步或同步通信传输到第二客户机设备,以及在某些情况下传输到第二客户机设备上的第二应用。例如,所述通信混合系统能够从第一客户机设备的第一应用接收录音形式的通信,执行语音到文本转换以便生成转录通信,并且将转录后的通信传输到第二客户机设备以便由第二应用接收或者发布到与第二客户机设备关联的社交媒体简档。
作为在单个应用中执行通信的实施例的一个实例,下面描述第一用户与第二用户之间的通信会话。为了开始通信会话,第一用户可以使用移动电话(作为客户机设备的一个实例)的触摸屏滑入与第二用户的聊天。第一用户将移动电话拿到耳边,并且可以开始留下语音注释(其它开始语音注释的方法也是可能的,例如包括将设备旋转180度等)。当留下语音注释时,第二用户可以接收通知她来自第一用户的传入通信的推送通知。当第一用户正在编写语音注释时,第一用户的语音注释的各部分被转录为文本并且随着语音注释一起被传输到第二用户。
第二用户可以通过读取第一用户的正在进行的语音注释的转录版本开始,以便获得与第一用户的对话的上下文。在确定对话是感兴趣的并且希望然后与第一用户进行语音对话时,第二用户然后可以将她的移动电话拿到耳边以便与第一用户说话(再次地,其它切换模式的方法是可能的,例如包括旋转设备)。以这种方式,本技术使第二用户能够改变通信模式(例如,响应于第二用户拿起其设备而在文本与语音之间改变)。在拿起设备从而改变通信模式之后,第二用户和第一用户能够通过语音呼叫同步交谈。
在语音呼叫期间,第二用户可以选择退出同步语音呼叫(例如,由于进入其中难以或不适合交谈的环境)。在这种情况下,当第一用户继续交谈时,第二用户可以放低其移动电话(或者旋转设备)以便退出聊天。基于第二用户放低其设备,第一用户的移动电话被切换回到用于记录语音注释的通信模式。同样,第二用户的设备回到用于接收文本和语音注释的通信模式。第一用户的设备继续记录第一用户直到他完成交谈。将记录发送到第二用户的设备,作为新语音注释或者作为开始通信的第一用户的语音注释的继续。在他完成交谈之后,第一用户可以滑动其设备的触摸屏以便结束聊天。
在一段时间之后,第二用户可以滑动其设备的触摸屏以便恢复与第一用户的聊天。在第二用户退出聊天之后,系统可以向第二用户呈现由第一用户留下的语音注释和语音注释的文本版本。
可以使用任何数量的用户动作开始通信模式变化。如前所述,将设备旋转180度可以用于将电话的麦克风放置得更靠近用户的嘴边。在这些和其它实施例中,以这种方式旋转设备可以开始用于语音(和/或语音注释)通信的免提模式。通过旋转,用户设备的显示屏也可以旋转,从而允许用户继续利用他/她的设备的显示。
通过进一步实例,用户可以通过从聊天窗口向上滑动来切换通信模式,从而在过滚动(overscroll)中显示语音注释,向用户指示他或她已进入语音通信模式。在这些实施例中,用户可以通过在聊天窗口中向下滑动来退出语音通信模式。
参考上面列出的附图,在下面的技术细节中描述可以用于促进上述通信会话的一种实例系统。所述实例系统可以包括所述通信混合系统或者执行通信混合系统的功能的一组模块。所述通信混合系统使用户能够传输诸如语音注释(例如,语音邮件消息和语音到文本消息)之类的通信段,并且在与通信段交互之间转换以便与其它用户进行双向通信。
例如,用户可以执行基于触摸的手势,例如在文本输入框上向右滑动,从而使用户能够针对另一个用户生成通信段。在某些情况下,可以通过记录语音邮件注释(在此,也被称为音频注释)并且将其传输到另一个用户(例如,异步通信)来生成通信段。在某些实施例中,可以在聊天会话中生成和传输音频注释(例如,通信段)。在某些情况下,音频注释可以在不同于通信应用(例如,聊天客户机)的应用中生成和传输,并且通过指定的通信应用或者经由客户机设备的传输组件和过程以及用户设备的操作系统来传输。
语音邮件注释可以是音频文件、语音到文本消息(例如,通过音频文件的转录生成的文本消息)或它们的组合。用户还可以跨文本输入框的长度向右滑动以便参与用户之间的语音呼叫(例如,同步通信)。滑动动作可以导致所述通信混合系统呈现通信段图标(例如,麦克风按钮)、交互式用户界面元素或另一个指示符。在某些实施例中,可以向用户呈现波形图或动画作为文本输入框的覆盖以便指示正在记录用户的语音。
滑动动作可以是用户界面操作,其中用户触摸触摸屏或者跨示出用户界面一部分的屏幕的至少一部分沿着某一方向以其它方式操纵光标、指针等。例如,用户可以将手指放置在客户机设备的触摸屏上,并且在保持与触摸屏接触的同时部分或全部跨触摸屏拖动手指。尽管描述为向右滑动,但应该理解,滑动动作可以沿着任何合适的方向、方向组合或形状(或其它合适的动作)。
用户可以与通信段图标交互(例如,按压触摸屏靠近通信段图标的一部分)以便生成通信段(例如,音频注释)。例如,用户可以在一段时间内持续按住通信段图标,在该时间段内,用户可以对着客户机设备的输入(例如,麦克风)说话以便生成通信段。当用户释放通信段图标时,通信段完成。通信段然后可以作为音频注释被传输,或者可以作为基于文本的通信段被转录和传输。如果通信段被转录,则可以在通信段的记录或生成期间或者在通信段的生成已完成之后转录通信段。
如果通信段是音频注释,则所述通信混合系统可以重放音频注释以便检查,并且然后将音频注释传输到第二用户。音频注释还可以自动传输或者在用户与所述通信混合系统交互时传输,例如通过在用户界面屏幕上点击交互式传输图标。音频注释的接收者可以以文本和音频格式的一种或多种同时接收注释。例如,音频注释可以由所述通信混合系统呈现为基于文本的消息,如上所述,这将音频注释的转录文本和音频两者呈现给接收者。音频注释还可以由音频文件同时表示。因此,接收者可以将通信段作为同一呈现内的文本或音频进行检查。
所述通信混合系统可以响应于诸如客户机设备的移动或位置改变之类的触发,在通信模式之间切换。例如,所述通信混合系统可以响应于检测到客户机设备的空间位置或方向的变化(例如,如由陀螺仪、加速度计或客户机设备的其它传感器确定),在接收语音注释与参与呼叫(例如,全双工通信)之间切换。
在某些情况下,第一用户交互(例如,方向变化或手势)和第二用户交互的组合导致所述通信混合系统在通信模式之间切换。例如,设备的方向变化的第一用户交互可以导致从基于文本的通信模式切换到基于语音的通信模式(例如,电话呼叫)。第二用户交互(例如,对着设备的麦克风说话,在设备将电话呼叫连接到另一个用户之前)可以导致从基于语音的通信模式(例如,电话呼叫)切换到语音转录模式。语音转录模式导致所述通信混合系统传输从用户的语音交互转录的基于文本的通信段。以这种方式,能够基于一个或多个用户交互(包括手势、与设备的输入的触觉交互、方向变化、语音交互以及与设备的其它用户交互),动态地调整通信模式。
所述通信混合系统还可以基于与客户机设备通信的第二客户机设备的模式指示,将通信模式的切换或没有切换设置为基础。例如,响应于客户机设备的移动或位置变化,所述通信混合系统可以尝试切换到用于电话呼叫的通信模式。所述通信混合系统可以从要被呼叫的第二或接收者设备接收模式指示。模式指示可以指示接收者设备不可用于电话呼叫。因此,所述通信混合系统可以防止客户机设备切换到呼叫通信模式。例如,所述通信混合系统可以响应于模式指示而维持基于文本的通信模式,而不考虑客户机设备的位置变化。
如果接收者客户机设备传输模式指示,则所述通信混合系统可以确定与动作变化和模式指示兼容的兼容通信模式。例如,接收者客户机设备可以传输指示其不可用于电话呼叫的模式指示。当客户机设备移动到用于电话呼叫的位置时,所述通信混合系统禁止切换到电话呼叫通信模式,而是切换到语音邮件注释通信模式。
图1是示出根据一个实施例的网络系统100的网络图,网络系统100具有被配置为通过网络交换数据的客户机-服务器架构。例如,网络系统100可以是消息传送系统,其中客户机在网络系统100内通信和交换数据。数据可以涉及与网络系统100及其用户关联的各种功能(例如,发送和接收文本和媒体通信,确定地理定位等)和方面(例如,传输通信数据,接收和发送通信会话的指示等)。尽管在此被示为客户机-服务器架构,但其它实施例可以包括其它网络架构,例如对等或分布式网络环境。
如图1中所示,网络系统100包括社交消息传送系统130。社交消息传送系统130通常基于包括接口层124、应用逻辑层126和数据层128的三层架构。如由相关计算机和因特网相关领域的技术人员理解的,图1中所示的每个模块或引擎表示一组可执行软件指令和用于执行指令的对应硬件(例如,存储器和处理器)。为了避免使用不必要的细节掩盖发明主题,图1中已省略与传达对发明主题的理解无关的各种功能模块和引擎。当然,其它功能模块和引擎可以与例如图1中所示的社交消息传送系统一起使用,以便促进在此未具体描述的其它功能。此外,图1中所示的各种功能模块和引擎可以驻留在单个服务器计算机上,或者可以以各种布置跨数个服务器计算机分布。此外,尽管社交消息传送系统130在图1中被示为三层架构,但发明主题决不限于这种架构。
如图1中所示,接口层124包括接口模块(例如,Web服务器)140,其接收来自各种客户机-计算设备和服务器的请求,这些客户机-计算设备和服务器例如包括执行客户机应用(多个)112的客户机设备110和执行第三方应用(多个)122的第三方服务器120。响应于所接收的请求,接口模块140经由网络104将适当的响应传送到发出请求的设备。例如,接口模块140可以接收诸如超文本传输协议(HTTP)请求或其它基于Web的应用编程接口(API)请求之类的请求。
客户机设备110可以执行一个或多个常规Web浏览器应用(也被称为“app”),这些应用已针对特定平台开发以便包括各种移动计算设备和移动特定操作系统(例如IOSTM、ANDROIDTM
Figure BDA0001302935160000081
PHONE)中的任何一种。在一个实例中,客户机设备110正在执行客户机应用(多个)112。客户机应用(多个)112可以提供用于向用户106呈现信息,并且经由网络104通信以便与社交消息传送系统130交换信息的功能。每个客户机设备110可以包括计算设备,其至少包括显示和与网络104通信的能力以便访问社交消息传送系统130。客户机设备110包括但不限于远程设备、工作站、计算机、通用计算机、因特网设备、手持设备、无线设备、便携式设备、可佩带式计算机、蜂窝或移动电话、个人数字助理(PDA)、智能电话、平板计算机、超极本、上网本、膝上型计算机、台式计算机、多处理器系统、基于微处理器或可编程消费电子产品、游戏机、机顶盒、网络PC、小型计算机等。用户106可以是人、机器或与客户机设备110交互的其它装置。在某些实施例中,用户106经由客户机设备110与社交消息传送系统130交互。用户106可以不是网络环境的一部分,而是可以与客户机设备110关联。
如图1中所示,数据层128具有数据库服务器132,其促进对信息存储库或数据库134的访问。数据库134是存储设备,其存储诸如成员简档数据、社交图数据(例如,社交消息传送系统130的成员之间的关系)和其它用户数据之类的数据。
个人可以注册到社交消息传送系统130以便成为社交消息传送系统130的成员。在注册之后,成员可以在社交消息传送系统130上形成社交网络关系(例如,朋友、追随者或联系人),并且与由社交消息传送系统130提供的广泛应用交互。
应用逻辑层126包括各种应用逻辑模块150,这些应用逻辑模块与接口模块140结合,使用从数据层128中的各种数据源或数据服务取回的数据生成各种用户界面。个体应用逻辑模块150可以用于实现与社交消息传送系统130的各种应用、服务和特性关联的功能。例如,可以通过应用逻辑模块150实现社交消息传送应用。社交消息传送应用向客户机设备110的用户提供消息传送机制,以便发送和接收包括文本和媒体内容(例如图片和视频)的消息。客户机设备110可以在指定时间段(例如,有限或无限)内访问和查看来自社交消息传送应用的消息。在一个实例中,消息接收者可以在首次访问特定消息时开始的预定义持续时间(例如,由消息发送者指定)内访问该特定消息。在预定义持续时间经过之后,消息被删除并且不再可由消息接收者访问。当然,其它应用和服务可以分别在它们自己的应用逻辑模块150中体现。
如图1中所示,社交消息传送系统130包括通信混合系统160,通信混合系统160能够传输客户机设备110的控制信号。同样,客户机设备110包括通信混合系统160的一部分。在其它实例中,客户机设备110可以包括完整的通信混合系统160。在客户机设备110包括通信混合系统160的一部分(或全部)的情况下,客户机设备110可以单独工作或者与社交消息传送系统130协同工作以便提供在此描述的通信混合系统160的功能。
在图2中,在各种实施例中,通信混合系统160可以被实现为独立系统,并且无需被包括在社交消息传送系统130中。通信混合系统160被示为包括通信模块210、呈现模块220、传感器模块230、确定模块240、管理模块250、以及数据模块260。模块210-260的全部或部分例如经由网络耦合、共享存储器等相互通信。模块210-260中的每个模块可以被实现为单个模块,组合成其它模块,或者进一步细分为多个模块。还可以包括与实例实施例不相关的其它模块,但它们未被示出。
通信模块210提供各种通信功能。例如,通信模块210接收指示从客户机设备110的输入接收的数据的通信数据。通信数据可以指示由客户机设备上的用户编写的消息以便存储或传输到另一个用户的客户机设备。通信模块210可以导致经由通信网络在客户机设备之间传输通信数据,或者可以导致客户机设备110将通信数据存储在数据模块260或与数据模块260关联的存储介质内。
在某些情况下,通信模块210包括转录模块,转录模块能够接收一个或多个通信段(例如,音频或语音通信数据)并且执行语音到文本转换,转录通信段内的单词以便生成转录后的通信。可以在具有或没有从中生成转录后的通信的通信段的情况下传输转录后的通信。转录模块可以包括能够将通信段的所说话语转录为文本的语音识别操作和功能。
在某些实施例中,当通信模块210接收指示基于音频的通信段的通信数据时,转录模块可以生成第一中断以便转录该通信段。转录模块可以在指示该通信段的终止时生成第二中断。例如,可以通过以下项指示通信段的终止:接收通信数据的暂停(例如,在预定时间段内停止语音)、用户交互(例如,与用户界面元素的交互)、客户机设备110的方向变化、或者指示通信段的终止的其它交互或触发。
通信模块210还可以接收用于一组通信模式的配置数据,例如导致多种通信模式之间的转换的中断和通知指示符(例如,向用户通知通信会话或通信模式的开始、终止或转换)。通信模块210可以与数据库服务器132、客户机设备110和第三方服务器120交换网络通信。由通信模块210取回的信息包括与用户关联的数据(例如,来自在线帐户的成员简档数据或社交网络服务数据)或其它数据,以便促进在此描述的功能。
呈现模块220提供各种呈现和用户界面功能,它们可操作以便交互地向用户呈现信息并且从用户接收信息。例如,呈现模块220导致呈现用户106与其交互的用户界面元素,以便导致或开始执行通信混合系统160的操作。此外,呈现模块220导致呈现所接收的消息的指示、正在被输入的消息的指示(例如,在传输消息之前正在被输入的消息的内容)以及所传输的消息的指示。呈现模块220导致在用户界面上或者在客户机设备110的显示器中呈现指示或通知(例如,包括在客户机设备110的用户界面上通过虚拟键盘或通信段图标正在被输入的消息的指示)。在通信混合系统160与聊天应用交互或者形成聊天应用的一部分的实施例中,呈现模块220可以导致呈现聊天开始或聊天通知。呈现模块220呈现或导致呈现信息(例如,在屏幕上可视地显示信息、声音输出、触觉反馈)。该信息的呈现包括客户机设备110与用户106之间的信息交换。
用户可以以许多可能方式提供输入以便与用户界面(由呈现模块220全部或部分呈现)交互,例如字母数字、基于点(例如,光标)、触觉或其它输入(例如,触摸屏、触觉传感器、光传感器、红外线传感器、生物测量传感器、麦克风、陀螺仪、加速度计或其它传感器)等。呈现模块220提供许多其它用户界面以便促进用户与客户机设备110的交互,并且包括在此描述的功能。如在此使用的,术语“呈现”旨在包括将信息或指令传送到特定设备,该特定设备可操作以便基于所传送的信息或指令执行呈现。
传感器模块230提供各种传感器输入功能。在某些实例实施例中,传感器模块230可以包括位置传感器和方向传感器,以便将客户机设备110的位置和方向数据提供给通信模块210、呈现模块220、确定模块240、管理模块250、以及数据模块260中的一个或多个。例如,位置传感器和方向传感器可以生成指示设备的位置(例如,高度或高程)和方向(例如,垂直或水平方向)的数据或信号。在某些实施例中,传感器模块230不包括位置传感器和方向传感器,而是从位置传感器和方向传感器接收输入以便向上述模块提供位置和方向数据。例如,传感器模块230可以从位于传感器模块230外部的设备内的位置传感器和方向传感器接收传感器数据,所述传感器数据指示客户机设备110的高度、高程变化或相对高程和方向。
尽管被讨论为位置传感器和方向传感器,但应该理解,客户机设备110或传感器模块230可以包含能够提供与客户机设备110的位置和方向对应的数据的任何数量的传感器。此外,传感器模块230可以接收对应于客户机设备110的位置的其它数据,例如相对位置、位置变化、水平位置变化、重复动作(例如,摇动)、加速度计数据,或者用于客户机设备110的位置的各方面的其它物理传感器数据。
在某些情况下,传感器模块230可以包括麦克风,或者与客户机设备110的麦克风通信。在这些实施例中,麦克风提供通信数据(例如,通信段)、语音激活的指令数据(例如,语音命令),或者通常指示用户106向麦克风发起语音的语音数据。由麦克风接收的语音数据可以用于导致用户生成的中断,该中断指示通信混合系统160的语音控制。在某些实施例中,语音数据可以与来自位置传感器和方向传感器的数据结合使用以便生成导致通信混合系统160执行在此讨论的一个或多个操作的中断。
确定模块240可以解释从传感器模块230接收的数据,以便确定用于由呈现模块220在客户机设备110的用户界面上呈现的通信模式。例如,确定模块240可以接收位置数据和语音数据,所述位置数据指示客户机设备110的垂直位置变化,例如用户将客户机设备110(例如,移动电话)拿到用户的嘴边以便说话,所述语音数据指示用户106开始通信段(例如,对着客户机设备110的麦克风说话)。确定模块240执行从一组通信模式确定期望通信模式。通信模式包括基于文本的通信模式、基于媒体的通信模式、基于音频的通信模式、音频消息模式、它们的组合以及其它合适的通信模式。
在从一组通信模式确定期望通信模式时,确定模块240可以基于预定阈值解释传感器数据。例如,传感器模块230可以传递指示客户机设备110的高程增加的传感器数据。确定模块240可以将高程增加与高程阈值相比较,以使得高于高程阈值的高程增加导致确定模块240生成用于将当前通信模式改变为期望通信模式的指示或信号。
作为另一个实例,传感器模块230可以传递指示语音数据的传感器数据。确定模块240可以将语音数据与持续时间阈值、音量阈值或预定命令集相比较,以使得高于音量阈值并且超过持续时间阈值的语音数据导致确定模块240生成导致从当前通信模式到期望通信模式的变化的中断。确定模块240可以将语音数据与预定命令集相比较,以使得如果语音数据包括预定命令集的一个或多个命令,则确定模块240生成导致从当前通信模式到期望通信模式的变化的中断,该变化与语音数据中包含的一个或多个命令相应。
为了进一步例示确定模块240的实例功能,可以将客户机设备110初始设置为基于文本的通信模式。传感器模块230接收指示高程增加多于十二英寸(即,大于三十厘米)的传感器数据。传感器模块230将传感器数据传递到确定模块240。确定模块240将传感器数据与值为六英寸(即,大约十五厘米)的高程阈值相比较。确定传感器数据指示高程变化大于高程阈值后,确定模块240生成指示通信模式应该从基于文本的通信模式改变为基于音频的通信模式的信号。即,高程变化导致确定模块240确定用户已将客户机设备110拿到较高位置,以便通过对着设备说话而不是输入基于文本的消息来继续当前聊天会话。确定模块240将模式变化指示传递到管理模块250,以便导致客户机设备110改变为期望通信模式。
在某些实例实施例中,通信混合系统160可以通过确定模块240接收指示以下项的传感器数据,从全双工语音通信转换为基于语音的通信段(例如,语音注释或音频注释)或基于文本的通信段(例如,文本消息):横向位置变化(例如,用户106将客户机设备110从靠近用户耳朵的位置移动到用户的嘴/脸之前的位置,指示用户在当前时间可能不期望倾听另一方说话)、方向变化、语音命令、基于语音的通信段的开始或它们的组合。
尽管参考预定阈值进行描述,但在某些实例实施例中,可以由客户机设备110的用户106手动输入或调整用于在通信模式之间改变的阈值。同样,用于在通信模式之间改变的阈值可以是学习阈值,以使得随着时间的推移,确定模块240可以确定适于用户106并且与其关联的值,这些值指示用户希望在通信模式之间改变。此外,可以由客户机设备110的用户106输入一组预定语音命令。在某些情况下,一组预定语音命令可以包括命令可变性元素,以使得随着时间的推移,确定模块240可以获得适于客户机设备110的用户106的词汇、重音、缩写、语调或其它语音模式。
管理模块250从确定模块240接收模式变化指示,并且在通信模式之间改变。例如,基于接收模式变化指示,管理模块250在客户机设备110内生成模式中断。模式中断导致客户机设备110的处理器在通信模式之间改变,例如从基于音频的通信模式改变为基于文本的通信模式。模式中断还导致呈现模块220修改或改变在客户机设备110上呈现给用户的用户界面。例如,模式中断可以导致呈现模式220通过从用户界面移除虚拟键盘并且导致呈现通信段图标(例如,麦克风图标)或用户可选择图标,将用户界面的一部分从基于文本的通信模式改变为基于音频的通信模式。通信段图标可以指示基于音频的通信模式(例如,全双工通信),而用户可选择图标使用户能够在使用可选择图标时传输音频通信,并且在不使用可选择图标时接收音频通信(例如,半双工通信)。在某些情况下,通信段图标和用户可选择图标是同一图标,可选择该图标以便在用户之间生成和传输通信。
数据模块260提供各种数据存储功能。例如,数据模块260可以在传输数据之前或者在用户查看通信数据之前暂时存储或缓存通信数据。如果数据模块260在传输之前存储通信数据,则与数据模块260关联的存储介质存储通信数据,同时用户生成用于传输的消息。数据模块260动态地修改通信数据以便添加由用户生成的其它通信数据。
数据模块260从通信模块210接收通信数据以便存储在存储介质中,该存储介质例如包括非瞬时性机器可读存储介质、存储器、闪存、网络存储(例如,云存储)或者其它合适的存储介质。通信数据被存储在存储介质上达预定时间段。预定时间段的持续时间可以由客户机设备110、客户机设备110的用户、通信模式、通信模块210,或者数据模块260内能够确定或存储指示持续时间的值的任何其它合适源来设置。通信数据还可以一直被存储在存储介质上,直到接收到预定指示,例如用户查看通信数据或传输通信数据的指示。
图3是示出用于使用与用户界面关联的手势来混合通信的实例方法300的流程图。方法300的操作可以由通信混合系统160的组件执行,并且为了例示目的而在下面如此描述这些操作。
在操作310中,通信模块210、呈现模块220、传感器模块230或它们的组合通过客户机设备110的用户界面接收用户交互。操作310的一个实例在图6和7A-7C中示出。用户交互指示期望通信模式。例如,用户交互可以是基于触摸的手势,例如部分滑动或完整滑动。部分滑动指示用户106触摸触摸屏或者跨呈现用户界面的屏幕的一部分操纵指针。完整滑动指示跨屏幕的整体测量(例如,整体长度或宽度)的滑动。滑动可以以交互式用户界面元素(例如文本输入框)为中心。在某些实例实施例中,可以以用户中断的形式将滑动传递到模块或客户机设备110的处理器。
在操作320中,确定模块240确定当前通信模式(例如,基于文本的通信),并且生成改变为期望通信模式(例如,基于音频的通信)的指示。确定模块240将指示传递到管理模块250。可以在客户机设备110处的用户界面内呈现通知。在某些实施例中,通知被呈现为一组文本,该组文本标识通信模式或者将通信数据输入到通信模式中的方法。通知可以被呈现为覆盖、嵌入式文本、在预定时间段之后关闭的临时窗口,或者任何其它合适的通知。如果通知被呈现为嵌入式文本以及通信数据的一部分(例如,由另一个客户机设备发送的消息的一部分),则通知的嵌入式文本可以被呈现为不同于通信数据。在某些实施例中,如果通信数据是文本的一部分,则通知的嵌入式文本被呈现为以下一个或多个:与通信数据的文本不同的文本字体、不同的文本大小、不同的颜色或不同的位置。例如,通知文本可以被呈现为文本的一部分,其字体小于通信数据的字体并且与通信数据相距某一距离。
确定模块240基于在操作310中接收的用户交互,确定期望通信模式。在某些实施例中,预定动作与一组通信方法的不同通信方法关联。例如,相对于客户机设备110的触摸屏方向,基于触摸的向上手势(例如,向上滑动)或者向上运动中客户机设备110的位置变化可以指示期望通信模式基于语音。在某些实施例中,跨客户机设备110的触摸屏的一部分的部分基于触摸的手势(例如,滑动)表示第一通信模式。沿着预定方向跨客户机设备110的触摸屏的基于触摸的完整手势(例如,完整滑动)表示第二通信模式。在某些实施例中,第一通信模式是语音到文本通信模式,并且第二通信模式是全双工电话呼叫。基于语音的通信模式可以实现语音到文本通信、录音、全双工或半双工语音通信模式(例如,电话呼叫、VoIP呼叫、视频呼叫)或者任何其它合适的基于语音的通信。尽管针对基于语音的通信进行讨论,但通信模式可以包括基于视频的通信、基于文本的通信,或者客户机设备110能够用于接收表示通信数据的用户输入并且解释通信数据以便传输到另一个客户机设备的任何其它合适的通信模式。
在操作330中,管理模块250导致通信混合系统160或客户机设备110上的通信应用将通信模式设置为由确定模块240确定的期望通信模式。例如,管理模块250可以通过改变客户机设备110上的通信应用的操作模式来设置通信模式。在某些实施例中,操作模式的变化导致客户机设备110初始化与客户机设备关联或者是客户机设备的一部分的输入字段或输入设备。初始化输入字段导致呈现能够接收或访问通信数据的输入字段(例如,文本输入字段或用户界面元素)。例如,输入字段可以是文本输入字段,其被配置为接收从将输入传递到通信混合系统160的物理或虚拟键盘输入的文本数据形式的通信数据。初始化输入设备可以导致客户机设备110启动与客户机设备110关联或者是客户机设备110的一部分的一个或多个通信设备。例如,输入设备可以是针对视频聊天会话初始化的照相机、针对录音或语音到文本操作初始化的麦克风,或者与客户机设备110的电路结合地初始化以便进行电话呼叫的麦克风和扬声器。
在操作340中,呈现模块220导致在客户机设备110上呈现用户界面。由呈现模块220呈现的用户界面指示期望通信模式。例如,如果期望通信模式是基于音频的通信模式,则呈现模块220可以导致用户界面包括交互式用户界面元素,例如通信段图标(例如,音频注释图标或麦克风图标)。用户106与通信段图标交互以便生成通信段(例如,音频注释或语音邮件注释)。在某些实施例中,所述模块可以将基于语音的通信段转换成基于文本的通信段。例如,呈现模块220可以通过一组语音到文本操作来处理基于语音的通信段,并且在客户机设备110的用户界面上将基于语音的通信段呈现为一组文本(例如,基于文本的通信段、文本消息、文本推送通知)。
图4是示出用于混合通信类型以便传输消息的实例方法400的流程图。方法400的操作可以由通信混合系统160的组件执行,并且为了例示目的而在下面如此描述这些操作。在某些实施例中,方法400的操作可以使用方法300的一个或多个操作,作为方法300的一个或多个操作的子操作执行,或者基于方法300的一个或多个操作而开始。
在操作410中,客户机设备110上的通信混合系统160的通信模块210接收指示开始通信会话(例如,聊天或电话呼叫)的中断。例如,通信模块210可以接收指示客户机设备110上的通信应用内的聊天开始的中断。聊天开始指示在两个或更多用户之间创建新通信会话,或者在两个或更多用户之间恢复现有通信会话。通信应用包括被配置为与通信混合系统160交互的处理器可执行指令。例如,通信应用的处理器可执行指令可以包括通信混合系统160的至少一部分。在某些实例实施例中,开始通信的中断之前可以是导致客户机设备110打开通信应用的用户开始的中断。
在操作420中,呈现模块220导致在客户机110的用户界面上呈现默认通信模式。例如,在接收到开始通信会话的中断时,呈现模块220可以呈现与被配置为接收和发送基于文本的消息的基于文本的通信模式对应的用户界面。呈现基于文本的通信模式以使得用户界面的一部分包括能够接收用户输入以便生成基于文本的消息的虚拟键盘。
在某些实施例中,默认通信模式是预定通信模式。预定通信模式可以由客户机设备110的用户设置为客户机设备的用户界面内的设置。在某些情况下,可以响应于从另一个客户机设备接收的通信数据而选择默认通信模式。确定模块240确定在客户机设备110处接收的通信数据的通信类型(例如,基于语音的通信、基于文本的通信、基于视频的通信)。响应于确定模块240确定所接收的通信数据的通信类型,确定模块240标识具有与所接收的通信数据的通信类型相匹配或相关联的通信类型的通信模式。由确定模块240选择的通信模式能够接收与所接收的通信数据的通信类型关联的输入。呈现模块220将默认通信模式呈现为被选择为具有与所接收的通信数据的通信类型匹配的通信类型的通信模式。
在操作430中,传感器模块230接收指示客户机设备110中的位置变化的传感器数据。例如,传感器模块230可以接收指示第一位置变化的第一组传感器数据,第一位置变化例如包括客户机设备110的高程从较低位置增加到靠近用户106耳朵的位置。通过进一步例示,传感器模块230可以接收指示第一方向变化的第一组传感器数据。第一方向变化例如可以是客户机设备110从垂直或水平方向到对角线方向的方向变化。对角线方向具有角度,该角度指示用户106将客户机设备110放置在适合于同时对着客户机设备110说话并且倾听客户机设备110的输出的方向。传感器模块230传递、传输传感器数据,或者以其它方式使确定模块240能够访问传感器数据。
方向变化的一个实例可以是将客户机设备110旋转到扬声器位置。在该位置中,用户106将客户机设备110的输入部(例如,麦克风)从第一位置旋转到第二位置,使输入部更靠近用户的嘴边(例如,音频输出源)。例如,如果输出扬声器(例如,耳机)被放置为靠近客户机设备110的第一端并且麦克风被放置为靠近客户机设备110的第二端,则方向变化可以是旋转大约180°。在该实例中,旋转可以将输入部放置为更靠近用户106的嘴边。旋转可以是垂直旋转(例如,将客户机设备110上下转动)、水平旋转(例如,将麦克风朝向用户转动并且将输出扬声器远离用户),或者是垂直和水平旋转的组合。
在操作440中,基于从传感器模块230接收的传感器数据,确定模块240可以确定客户机设备110的期望通信模式,以便在与用户106尝试输入消息的方式兼容的通信模式下接收由用户106生成的消息。确定模块240可以基于预定阈值解释传感器数据。在某些情况下,确定模块240标识传感器数据内的值,例如行进距离(例如,垂直、水平、对角线),并且将该值与预定距离阈值相比较。可以从一组值中选择该值,其中每个值表示能够由客户机设备110的一个或多个传感器测量的一个方面的数量。如果传感器数据值超过预定距离阈值,则确定模块240可以从一组通信模式确定与超过预定距离阈值的确定相关联的通信模式。例如,基于音频的通信模式可以与客户机设备110的垂直位置变化量大于为十二英寸的预定阈值(即,大于三十厘米)的确定相关联,这表明用户106将客户机设备110从靠近用户106腰部或胃部的位置拿到靠近用户106耳朵的位置。通过另一个实例,音频消息模式可以与上述将客户机设备110旋转到扬声器位置的确定相关联。扬声器位置的确定表明用户106旋转输出扬声器使其远离用户106的耳朵。
在某些实施例中,确定模块240接收多个值(例如,被测量方面的多个数量的变化)。确定模块240标识用作与预定阈值比较的传感器数据值的主值。确定模块240可以基于数量之间的变化量确定主值。主值可以被确定为多个值中具有最大变化的值、包含与通信模式具有预定关联的数量变化的值,或者其它合适的标识方法。例如,如果客户机设备110的传感器检测到垂直位置变化(例如,客户机设备110被举高)和方向变化(例如,客户机设备110围绕垂直轴旋转),则确定模块240可以基于垂直位置变化与音频通信模式之间的关联,或者基于开始数量与结束数量之间的差大于针对方向变化确定的差的垂直位置变化,选择音频通信模式。
在确定模块240已从一组通信模式确定期望通信模式之后,确定模块240将模式变化指示传递到其它模块以便实现通信模式、用户界面和通信应用的变化。例如,确定模块240可以将模式变化指示传递到管理模块250以便在通信模式之间改变,并且传递到呈现模块220以便改变用户界面的至少一部分以指示到期望通信模式的改变。
在某些实例实施例中,确定模块240还可以从客户机设备110尝试与其通信的第二客户机设备接收模式指示。当确定模块240从第二客户机设备接收模式指示时,确定模块240使期望通信模式(例如,兼容通信模式)的确定基于传感器数据和模式指示的组合。兼容通信模式是这样的通信模式:其被配置为以模式指示的建议通信模式可以解释的格式接收和发送通信数据,并且被配置为根据基于传感器数据确定的期望通信模式操作。例如,确定模块240可以由于传感器数据而确定期望模式是基于音频的通信模式。确定模块240然后判定是否已从第二客户机设备接收到包括建议通信模式的模式指示。
如果已接收模式指示并且所述模式指示内的建议通信模式与期望模式冲突,则确定模块240确定第二期望模式(例如,兼容通信模式)。例如,确定模块240可能已确定基于音频的通信模式是期望模式。但是,第二客户机设备的模式指示已指示第二客户机设备不可用或者不能使用基于音频的通信模式(例如,全双工通信、电话呼叫或半双工通信)通信。在本实例中,确定模块240可以确定音频消息模式是合适的还是期望模式。确定模块240从而使客户机设备110能够在其当前位置和方向用于通信,并且使用户106能够完成将音频消息传输到第二客户机设备。
在操作450中,确定模块240将模式变化指示传递到管理模块250以便改变通信模式。管理模块250配置通信混合系统160和通信应用以便使用期望通信模式来接收和发送通信。例如,管理模块250可以将模式变化指示传递到呈现模块220,导致呈现模块220在客户机设备110上呈现对应于期望通信模式的用户界面。
在操作460中,基于传感器数据和确定模块240,通信模块210通过客户机设备110的输入部从用户106接收通信数据,并且将通信数据的至少一部分传递到数据模块260。通过例示的方式,数据模块260可以接收指示要由通信模块210传输的基于文本的消息、媒体消息或音频消息的通信数据。在存储介质(例如,存储器、非瞬时性机器可读存储介质、光存储介质等)上传输之前,或者在查看由通信模块210从第二客户机设备接收的通信数据之前,数据模块260接收并且存储通信消息。
数据模块260修改通信数据以使用户106能够生成消息并且在中断的情况下保存该消息。例如,如果用户106正在生成音频消息,并且接收第二客户机设备可用于基于音频的通信(例如,电话呼叫)的指示,则数据模块260可以保持音频消息的状态,并且使用户106能够在终止与第二客户机设备的基于音频的通信之后继续记录音频消息。
在某些实例实施例中,方法400可以进一步包括操作470,其中通信模块210接收来自数据模块260的通信数据,其指示准备好传输到第二客户机设备的完成消息。通信模块210然后将通信数据传输到第二客户机设备。
通信模块210还可以处理通信数据以便改变由通信数据采用的通信模式。例如,如果通信数据是音频消息,则通信模块210可以处理通信数据以便作为基于文本的通信来传输。通信模块210采用处理器可执行指令转换通信数据,例如语音到文本操作、文本到语音操作以及其它合适的通信数据转换过程和操作。
通信模块210可以独立于用于第二客户机设备的选定通信模式的指示来传输通信数据或者传输转换后的通信数据。在某些实例实施例中,通信模块210可以基于从第二客户机设备接收的模式指示,判定传输通信数据还是转换后的通信数据。
图5是示出用于基于客户机设备110的位置混合用于参与聊天会话的通信类型的实例方法500的流程图。方法500的操作可以由通信混合系统160的组件执行,并且为了例示目的而在下面如此描述这些操作。在各种实施例中,方法500的操作可以使用方法300和400的一个或多个操作执行、可以是针对方法300和400描述的操作的子操作、或者基于方法300和400的一个或多个操作而开始。
在操作510中,如图8中所示,通信模块210接收指示客户机设备110与第二客户机设备之间的通信的通知。例如,通信模块210可以接收指示与第二客户机设备开始聊天的通知和聊天数据。聊天数据可以包括音频数据、文本数据、图像数据或其它媒体。
在操作520中,传感器模块230接收指示客户机设备110的位置变化的传感器数据。例如,传感器模块230可以接收指示客户机设备110的第一位置或方向变化的第一传感器数据。在操作520期间,传感器模块230可以接收与操作430的传感器数据类似的传感器数据。
在操作530中,基于传感器数据和从第二设备接收的聊天数据的通信类型,确定模块240确定客户机设备110的期望通信模式以便接收从第二设备发送的消息。确定模块240基于从第二设备接收的通信数据的数据类型,通过将通信模式与数据类型匹配来确定期望通信模式。例如,当接收包括文本数据或音频文件(其中音频文件的一部分已被转换为文本)的消息时,确定模块240可以将期望通信模式确定为基于文本的通信模式。
在操作540中,基于第一传感器数据和由确定模块240对期望通信模式的确定,管理模块250生成第一中断,其配置客户机设备110以便将默认通信模式设置或改变为期望通信模式。例如,管理模块250可以导致客户机设备110通过通信网络进入与第二设备的基于音频的通信会话。管理模块250可以在操作540中改变或设置通信模式,类似于操作450。
在操作550中,传感器模块230接收指示客户机设备110的第二位置变化的第二传感器数据。在某些实例实施例中,传感器模块230可以接收客户机设备110的位置变化和方向变化的第二传感器数据。传感器模块230可以在操作550中接收与操作520和430的传感器数据类似的第二传感器数据。在某些实施例中,在通信混合系统160通过客户机设备110的输入部接收通信数据之后,接收第二位置变化。
在操作560中,基于第二传感器数据,确定模块240确定客户机设备110的第二期望通信模式,以便在不参与双向聊天会话的情况下继续从第二设备接收通信数据。确定模块240可以基于第二传感器数据确定期望通信模式,类似于操作440和530。
在操作570中,基于第二传感器数据和由确定模块240对期望通信模式的确定,管理模块250生成第二中断,所述第二中断配置客户机设备110以便将期望通信模式设置或改变为第二期望通信模式。响应于改变为第二期望通信模式,管理模块250导致通信模块210终止客户机设备110的部分上的语音聊天。如参考操作440,作为操作570的一部分,客户机设备110可以向第二设备传输指示语音聊天终止的模式指示。如果已传输模式指示,则客户机设备110仍然可以接收语音聊天,或者语音聊天的语音到文本版本。指示语音聊天或语音聊天的语音到文本版本的通信数据被保留,以便由客户机设备110的用户106稍后使用。
在某些实施例中,客户机设备110经由第一输入部接收第一格式的第一通信数据(例如,文本数据)。第一通信数据表示经由客户机设备110的输入部从输入通信数据的用户所接收的消息的一部分。例如,第一通信数据可以采用由客户机设备110的用户在客户机设备110的触摸屏上呈现的虚拟键盘上输入的文本格式。在某些情况下,客户机设备110在操作520中接收第一传感器数据之后接收第一通信数据。在客户机设备接收第一通信数据之后,传感器模块230可以在操作550中接收第二传感器数据。第二传感器数据可以表示客户机设备110的位置或方向变化。确定模块240可以在操作560中确定第二期望通信模式。此第二位置变化可以表示选择(例如,通过客户机设备110的移动)新通信模式以便完成所述消息的由第一通信数据表示的部分。在某些实施例中,第二期望通信模式接收第二格式的通信数据(例如,音频数据)。在某些情况下,在操作570中将客户机设备改变为第二期望通信模式之后,客户机设备110接收表示继续由第一通信数据表示的消息的第二通信数据。通信模块210经由客户机设备110的第二输入设备(例如,麦克风而不是键盘)接收第二格式的第二通信数据。第二期望通信模式将第二通信数据从第二格式转换为第一格式。在某些实施例中,第二期望通信模式将第一格式的第二通信数据附加到第一通信数据,以便包括在要传输到另一个客户机设备的单个消息中。
通过例示的方式,在图6-13中,针对方法300、400和500的操作的实例实施例呈现实例用户界面屏幕。尽管图6-13示出特定的实例用户界面和用户界面元素,但这些仅是非限制性实例,可以由呈现模块220生成许多其它备选用户界面和用户界面元素,并且导致向用户呈现这些用户界面和用户界面元素。将注意,图6-13的显示的备选呈现可以包括额外信息、图形、选项等。备选地,其它呈现可以包括较少的信息,或者提供简短的信息以便用户容易使用。
图6示出如在操作310中引用的用户交互和在操作320中引用的默认通信模式的变化。客户机设备110初始地可以通过呈现模块220呈现文本输入框610。用户106可以在文本输入框610上或其附近执行部分滑动620并且客户机设备110可以接收部分滑动620,以便开始语音注释或音频注释形式的通信段。例如,用户106可以将客户机设备110的触摸屏630上的手指放在文本输入框610的左侧,并且拖动手指部分跨过屏幕630(例如,到达文本输入框的大约中间区域)以便示意从基于文本的通信模式到音频消息模式的期望通信模式变化。在接收部分滑动620时,通信混合系统160可以改变通信模式以使用户106能够生成通信段,如在操作320-340中讨论的那样。
在某些实施例中,用户106可以执行第一和第二交互并且通信混合系统160可以接收所述第一和第二交互,以便导致通信模式的变化。例如,用户106可以在文本输入框610上执行部分滑动620作为第一交互,以便通过以语音注释或音频注释的形式开始通信段来开始基于文本的通信段。在某些情况下,第一交互可以导致通信模式的变化。在某些实施例中,第一交互可以导致中断,所述中断导致客户机设备110等待第二交互。用户106然后可以执行第二交互(例如,对着客户机设备110的麦克风说话)并且客户机设备110可以接收所述第二交互,以便导致通信模式的变化或者导致第二通信模式变化。
用户106还可以在文本输入框上执行完整滑动并且客户机设备110可以接收完整滑动,以便开始语音呼叫。例如,用户106可以将客户机设备110的触摸屏上的手指放在靠近文本输入框610的左侧,并且拖动手指跨越文本输入框610的长度(例如,从文本输入框的左侧到文本输入框的右侧)。完整滑动可以指示从基于文本的通信模式到基于音频的通信模式(例如,语音呼叫)的期望通信模式变化。在接收完整滑动时,通信混合系统160以类似于操作320-340的方式改变通信模式,以便使用户106能够使用基于音频的通信模式参与通信。
图7A-7C示出如在操作310中引用的用户交互和在操作320中引用的默认通信模式的变化的一个实例实施例。呈现模块220初始地可以呈现包括默认通信模式的用户界面。如图7A中所示,默认通信模式具有聊天窗口710和文本输入框720。用户106与用户界面交互以使得客户机设备110生成发信号通知通信模式切换的中断。在某些实施例中,响应于接收从聊天窗口710或文本输入框720中的位置向上滑动730的用户交互而生成中断,如图7B中所示。除了导致默认通信模式的变化(例如,操作320和330)之外,向上滑动730的用户交互还可以启动客户机设备110以便由呈现模块220生成和呈现用户界面屏幕。例如,如图7C中所示,呈现模块220可以生成波形740,波形740指示从基于文本的通信模式到语音注释模式(例如,音频消息模式)的通信模式变化。呈现模块220可以使用过滚动效果来呈现指示通信模式变化的波形,以便向用户106指示客户机设备110已改变通信模式(例如,进入音频消息模式)。
在某些实例实施例中,如图7C中所示,在记录语音注释的时段内,可以保持750向上滑动的用户交互(例如,手指可以保持在滑动结束处)。例如,用户106向上滑动,导致客户机设备110开始用于显示波形的一个或多个操作。用户106保持手指位置750以便记录语音消息。用户106然后可以释放手指位置(例如,移除手指与客户机设备110的触摸屏的接触)以便结束语音消息的记录,从而导致客户机设备110开始用于终止捕获记录并准备将记录作为语音消息传输的一个或多个操作。在某些情况下,释放手指位置可以导致客户机设备110生成中断,所述中断导致客户机设备110切换回先前的通信模式。
在其它实施例中,用户106可以向上滑动以便改变通信模式而不保持滑动的结束位置。例如,用户106可以向上滑动以便改变为音频消息模式,从而在滑动结束时释放光标或指针。用户106然后可以在聊天窗口中向下滑动以便退出音频消息模式,并且返回到先前的通信模式或者切换到不同的通信模式。
尽管针对向上滑动、向下滑动和向右滑动描述,但应该理解,可以通过其它用户交互改变通信模式。例如,可以响应于客户机设备110的振动而生成中断;改变客户机设备110的方向;改变客户机设备110的位置;与客户机设备110上的一个或多个按钮、开关或其它触觉输入设备交互;对着客户机设110的麦克风说话;它们的组合;或者能够生成导致设备的通信模式变化的中断的任何其它合适的用户交互。
图8示出用于操作510的各部分的用户界面屏幕810。在图8中,用户106可以接收推送通知820,推送通知820指示第二设备传输语音注释830(例如,包含语音到文本消息数据的消息)。
在图9-11中,用户106通过由通信模块210接收语音注释(即,消息数据)并且经由呈现模块220呈现,接收由第二用户留下的语音注释910的至少一部分。在图10-11中,通信模块210分别从第二客户机设备接收语音注释1010和1110的其它部分,并且呈现模块220在客户机设备110的用户界面上呈现语音注释1010和1110的其它部分。在某些情况下,在语音注释正在由第二客户机设备编写并且由第二客户机设备传输时,呈现模块220呈现更新语音到文本语音注释的段中的其它部分。
如图9-11中所示,在某些实例实施例中,通信混合系统160可以使用通信模块210和呈现模块220的组合来接收正在进行的语音注释910。在与第二客户机设备开始双向(全双工通信)之前,客户机设备110的用户106可以检查正在进行的语音注释的内容(其由第二客户机设备或客户机设备110转换为文本),并且客户机设备110可以呈现正在进行的语音注释的内容。
在用户106已读取语音注释的各部分以了解上下文之后,如图9-11中所示,客户机设备110的用户106可以将客户机设备110(例如,智能电话)拿到用户106的耳朵处,导致传感器模块230接收指示第一位置变化的第一传感器数据,如在操作520中。基于第一传感器数据,确定模块240可以确定期望通信模式是基于音频的通信模式,如在操作530中。管理模块250可以导致通信模块210和呈现模块220协作以便将用户界面改变为基于音频的通信模式,从而使客户机设备110的用户106能够使用全双工通信(例如,电话呼叫)同时通信,如在操作540中。
除了查看从语音转换的文本之外,用户还可以能够收听来自发送者的消息的实际语音记录(例如,如图14中所示)。如上所述,接收音频注释的第二用户可以同时接收文本和音频格式的注释。如图14中所示,可以由通信混合系统将音频注释呈现为基于文本的消息,通信混合系统向接收者呈现音频注释的文本和音频两者。音频注释可以由音频文件表示,例如.wav、.mp3、.mp4、.aac、.aiff或者任何其它合适的音频文件。因此,接收者可以将音频注释作为文本或音频来进行检查。可以由呈现模块220在用户界面上彼此靠近地呈现基于文本的消息和音频文件。
用户106降低客户机设备110,导致传感器模块230接收第二传感器数据,如在操作550中。第二客户机设备可以继续传输音频通信数据,其表示第二客户机设备的第二用户继续交谈,从而继续该聊天会话的第二用户部分。如图12-14中所示,客户机设备110可以从第二客户机设备接收连续语音聊天1210、1220和1230的语音到文本版本。与呈现模块220协作的通信模块210定期更新语音聊天通信数据的文本版本1220或音频版本1230,而第二客户机设备继续传输其它通信数据。
模块、组件和逻辑
某些实施例在此被描述为包括逻辑或多个组件、模块或机构。模块可以构成软件模块(例如,在机器可读介质上或传输信号中体现的代码)或硬件模块。“硬件模块”是有形单元,其能够执行某些操作并且可以以某种物理方式被配置或布置。在各种实例实施例中,计算机系统(例如,独立计算机系统、客户机计算机系统或服务器计算机系统)或计算机系统的硬件模块(例如,至少一个硬件处理器、一个处理器或一组处理器)由软件(例如,应用或应用部分)配置为硬件模块,所述硬件模块操作以便执行如在此描述的某些操作。
在某些实施例中,硬件模块以机械方式、电子方式或者它们的任何合适的组合实现。例如,硬件模块可以包括被永久配置为执行某些操作的专用电路或逻辑。例如,硬件模块可以是专用处理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件模块还可以包括可编程逻辑或电路,其由软件临时配置以便执行某些操作。例如,硬件模块可以包括包含在通用处理器或其它可编程处理器内的软件。将认识到,在专用和永久配置的电路中或者在临时配置的电路(例如,由软件配置)中以机械方式实现硬件模块的决策可以由成本和时间考虑来驱动。
因此,短语“硬件模块”应该被理解为包含有形实体,即物理地构造、永久配置(例如,硬连线)或临时配置(例如,编程)以便以某种方式操作或者执行在此描述的某些操作的实体。如在此使用的,“硬件实现的模块”指硬件模块。考虑其中硬件模块被临时配置(例如,编程)的实施例,每个硬件模块不需要在任何一个时间实例上配置或实例化。例如,如果硬件模块包括由软件配置成为专用处理器的通用处理器,则通用处理器可以在不同时间被配置为相应不同的专用处理器(例如,包括不同的硬件模块)。软件因此可以配置特定的一个或多个处理器,以便例如在一个时间实例构成特定的硬件模块,并且在不同的时间实例构成不同的硬件模块。
硬件模块可以向其它硬件模块提供信息并且从其它硬件模块接收信息。因此,所述硬件模块可以被认为以通信方式耦合。如果同时存在多个硬件模块,则可以通过在两个或更多硬件模块之间的信号传输(例如,通过适当的电路和总线)实现通信。在其中在不同时间配置或实例化多个硬件模块的实施例中,例如可以通过存储和检索多个硬件模块有权访问的存储器结构中的信息来实现这种硬件模块之间的通信。例如,一个硬件模块执行操作并且将该操作的输出存储在与其以通信方式耦合的存储设备中。另一个硬件模块然后可以在稍后时间访问所述存储设备,以便检索和处理存储的输出。硬件模块还可以开始与输入或输出设备的通信,并且可以对资源(例如,信息集合)进行操作。
可以至少部分地由临时配置(例如,通过软件)或永久配置为执行相关操作的处理器来执行在此描述的实例方法的各种操作。无论临时还是永久配置,这种处理器都构成处理器实现的模块,其操作以便执行在此描述的操作或功能。如在此使用的,“处理器实现的模块”指使用处理器实现的硬件模块。
同样,在此描述的方法可以至少部分地由处理器实现,其中特定的一个或多个处理器是硬件的实例。例如,一种方法的至少某些操作可以由处理器或处理器实现的模块执行。此外,处理器还可以操作以便支持在“云计算”环境中或者作为“软件即服务”(SaaS)执行相关操作。例如,至少某些操作可以由一组计算机(作为包括处理器的机器的实例)执行,其中这些操作可以经由网络(例如,因特网)并且经由适当的接口(例如,应用程序接口(API))访问。
某些操作的执行可以在处理器之间分布,不仅驻留在单个机器内,而是跨多个机器部署。在某些实例实施例中,处理器或处理器实现的模块位于单个地理位置中(例如,在家庭环境、办公环境或服务器农场内)。在其它实例实施例中,处理器或处理器实现的模块跨多个地理位置分布。
应用
图15示出与某些实施例一致的执行移动操作系统(例如,IOSTM、ANDROIDTM
Figure BDA0001302935160000291
Phone或其它移动操作系统)的实例移动设备1500。在一个实施例中,移动设备1500包括可操作以便从用户1502接收触觉数据的触摸屏。例如,用户1502可以物理地触摸1504移动设备1500,并且响应于触摸1504,移动设备1500可以确定诸如触摸位置、触摸力度或手势动作之类的触觉数据。在各种实例实施例中,移动设备1500显示主屏幕1506(例如,IOSTM上的Springboard),其可操作以便启动应用或者以其他方式管理移动设备1500的各个方面。在某些实例实施例中,主屏幕1506提供状态信息,例如电池寿命、连接性或其它硬件状态。用户1502可以通过触摸由相应用户界面元素占据的区域来激活用户界面元素。以这种方式,用户1502与移动设备1500的应用交互。例如,触摸由主屏幕1506中包括的特定图标占据的区域导致启动对应于特定图标的应用。
可以在移动设备1500上执行许多种类的应用(也被称为“app”),例如本机应用(例如,以在IOSTM上运行的Objective-C、Swift或另一种合适的语言编程的应用,或者以在ANDROIDTM上运行的Java编程的应用)、移动Web应用(例如,以超文本标记语言5(HTML5)编写的应用)或混合应用(例如,启动HTML5会话的本机shell应用)。例如,移动设备1500包括消息传送应用、音频记录应用、照相机应用、书籍阅读器应用、媒体应用、健身应用、文件管理应用、定位应用、浏览器应用、设置应用、联系人应用、电话呼叫应用或其它应用(例如,游戏应用、社交网络应用、生物测量监视应用)。在另一个实例中,移动设备1500包括诸如
Figure BDA0001302935160000301
之类的社交消息传送应用1508,其与某些实施例一致,允许用户交换包括媒体内容的短暂消息。在本实例中,社交消息传送应用1508可以结合在此描述的实施例的各方面。
软件架构
图16是示出可以安装在上述任何设备上的软件1602的架构的框图1600。图16仅是软件架构的一个非限制性实例,并且将认识到,可以实现许多其它架构以便促进在此描述的功能。在各种实施例中,软件1602由诸如图17的机器1700之类的硬件实现,机器1700包括处理器1710、存储器1730和I/O组件1750。在该实例架构中,软件1602可以被概念化为层的堆叠,其中每层可以提供特定功能。例如,软件1602包括诸如操作系统1604、库1606、框架1608和应用1610之类的层。在操作上,与某些实施例一致,应用1610通过软件堆栈调用应用编程接口(API)调用1612,并且响应于API调用1612而接收消息1614。
在各种实现中,操作系统1604管理硬件资源并且提供公共服务。操作系统1604例如包括内核1620、服务1622和驱动程序1624。与某些实施例一致,内核1620充当硬件与其它软件层之间的抽象层。例如,内核1620提供存储器管理、处理器管理(例如,调度)、组件管理、网络和安全设置等功能。服务1622可以针对其它软件层提供其它公共服务。根据某些实施例,驱动程序1624负责控制底层硬件或者与底层硬件对接。例如,驱动程序1624可以包括显示驱动程序、照相机驱动程序、
Figure BDA0001302935160000311
驱动程序、闪存驱动程序、串行通信驱动程序(例如,通用串行总线(USB)驱动程序)、
Figure BDA0001302935160000312
驱动程序、音频驱动程序、电源管理驱动程序等。
在某些实施例中,库1606提供由应用1610使用的低级公共基础架构。库1606可以包括系统库1630(例如,C标准库),其可以提供诸如存储器分配功能、字符串操纵功能、数学功能之类的功能。此外,库1606可以包括API库1632,例如媒体库(例如,支持呈现和操纵各种媒体格式的库,这些媒体格式例如包括运动图像专家组4(MPEG4)、高级视频编码(H.264或AVC)、运动图像专家组第3层(MP3)、高级音频编码(AAC)、自适应多速率(AMR)音频编解码器、联合图像专家组(JPEG或JPG)或便携式网络图形(PNG))、图形库(例如,用于在显示器上的图形内容中以二维(2D)和三维(3D)呈现的OpenGL框架)、数据库库(例如,提供各种关系数据库函数的SQLite)、Web库(例如,提供Web浏览功能的WebKit)等。库1606还可以包括各种其它库1634以便向应用1610提供许多其它API。
根据某些实施例,框架1608提供可以由应用1610使用的高级公共基础架构。例如,框架1608提供各种图形用户界面(GUI)功能、高级资源管理、高级定位服务等。框架1608可以提供广泛的可以由应用1610使用的其它API,其中某些API可以特定于特定的操作系统或平台。
在一个实例实施例中,应用1610包括家庭应用1650、联系人应用1652、浏览器应用1654、书籍阅读器应用1656、定位应用1658、媒体应用1660、消息传送应用1662、游戏应用1664以及各种其它应用,例如第三方应用1666。根据某些实施例,应用1610是执行程序中定义的功能的程序。可以采用各种编程语言创建以各种方式构造的应用1610,例如面向对象的编程语言(例如,Objective-C、Java或C++)或过程式编程语言(例如,C或汇编语言)。在一个特定实例中,第三方应用1666(例如,由特定平台的供应商之外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用)可以是在移动操作系统上运行的移动软件,该移动操作系统例如包括IOSTM、ANDROIDTM
Figure BDA0001302935160000321
PHONE或其它移动操作系统。在本实例中,第三方应用1666可以调用由操作系统1604提供的API调用1612以便促进在此描述的功能。
实例机器架构和机器可读介质
图17是示出根据某些实施例的机器1700的组件的框图,机器1700能够从机器可读介质(例如,机器可读存储介质)读取指令并且执行在此讨论的任何方法。具体地说,图17示出计算机系统的实例形式的机器1700的图形表示,其中可以执行用于导致机器1700执行在此讨论的任何方法的指令1716(例如,软件、程序、应用、小程序、应用或其它可执行代码)。在备选实施例中,机器1700作为独立设备操作或者可以耦合(例如,联网)到其它机器。在联网部署中,机器1700可以在服务器-客户机网络环境中的服务器机器或客户机机器的容量中操作,或者在对等(或分布式)网络环境中作为对等机器操作。机器1700可以包括但不限于服务器计算机、客户机计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可佩带式设备(例如,智能手表)、智能家用设备(例如,智能家电)、其它智能设备、Web设备、网络路由器、网络交换机、网络桥接器,或者能够按顺序或以其它方式执行指令1716(其指定机器1700要采取的动作)的任何机器。此外,尽管仅示出单个机器1700,但还应理解,术语“机器”包括单独或共同执行指令1716以便执行在此讨论的任何方法的机器1700的集合。
在各种实施例中,机器1700包括处理器1710、存储器1730和I/O组件1750,它们可以被配置为经由总线1702彼此通信。在一个实例实施例中,处理器1710(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一个处理器或者它们的任何合适的组合)例如包括可以执行指令1716的处理器1712和处理器1714。术语“处理器”旨在包括可以包含两个或更多独立处理器(也被称为“核心”)的多核处理器,这些独立处理器可以同时执行指令。尽管图17示出多个处理器,但机器1700可以包括具有单个核心的单个处理器、具有多个核心的单个处理器(例如,多核处理器)、具有单个核心的多个处理器、具有多个核心的多个处理器或它们的任何组合。
根据某些实施例,存储器1730包括主存储器1732、静态存储器1734和存储单元1736,处理器1710可以经由总线1702访问它们。存储单元1736可以包括机器可读介质1738,其上存储体现在此描述的任何方法或功能的指令1716。在由机器1700执行期间,指令1716还可以完全或至少部分地驻留在主存储器1732内、静态存储器1734内、至少一个处理器1710内(例如,在处理器的高速缓冲存储器内)或它们的任何合适的组合。因此,在各种实施例中,主存储器1732、静态存储器1734和处理器1710被认为是机器可读介质1738。
如在此使用的,术语“存储器”指能够临时或永久存储数据的机器可读介质1738,并且可以被认为包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存和高速缓冲存储器。尽管机器可读介质1738在一个实例实施例中被示为单个介质,但术语“机器可读介质”应被认为包括能够存储指令1716的单个介质或多个介质(例如,集中式或分布式数据库,或者关联的高速缓存和服务器)。术语“机器可读介质”还应被认为包括任何介质或多个介质的组合,其能够存储指令(例如,指令1716)以便由机器(例如,机器1700)执行,以使得当由机器1700的处理器(例如,处理器1710)执行时,所述指令导致机器1700执行在此描述的任何方法。因此,“机器可读介质”指单个存储装置或设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。术语“机器可读介质”因此应被认为包括但不限于以下形式的数据储存库:固态存储器(例如,闪存)、光介质、磁介质、其它非易失性存储器(例如,可擦式可编程只读存储器(EPROM))或它们的任何合适的组合。术语“机器可读介质”明确排除非法定信号本身。
I/O组件1750包括用于接收输入、提供输出、产生输出、传输信息、交换信息、捕获测量等的各种组件。一般而言,将认识到,I/O组件1750可以包括图17中未示出的许多其它组件。I/O组件1750根据功能被分组,仅用于简化以下讨论,并且分组决不是限制性的。在各种实例实施例中,I/O组件1750包括输出组件1752和输入组件1754。输出组件1752包括视觉组件(例如,显示器,例如等离子显示板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、听觉组件(例如,扬声器)、触觉组件(例如,振动电动机)、其它信号发生器等。输入组件1754包括字母数字输入组件(例如,键盘、被配置为接收字母数字输入的触摸屏、光电键盘或其它字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其它指点工具)、触觉输入组件(例如,物理按钮、提供触摸或触摸手势的位置和力度的触摸屏、或其它触觉输入组件)、音频输入组件(例如,麦克风)等。
在某些进一步实例实施例中,I/O组件1750包括各种其它组件中的生物测量组件1756、运动组件1758、环境组件1760或定位组件1762。例如,生物测量组件1756包括用于以下操作的组件:检测表情(例如,手部表情、面部表情、声音表情、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗液或脑波)、标识个人(例如,语音标识、视网膜标识、面部标识、指纹标识或基于脑电图的标识)等。运动组件1758包括加速度传感器组件(例如,加速度计)、重力传感器部件、旋转传感器组件(例如,陀螺仪)等。环境组件1760例如包括照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的温度计)、湿度传感器组件、压力传感器组件(例如,气压计)、声学传感器组件(例如,检测背景噪声的麦克风)、接近度传感器组件(例如,检测附近物体的红外线传感器)、气体传感器组件(例如,机器嗅觉检测传感器、气体检测传感器,其用于检测危险气体的安全浓度或者测量大气中的污染物),或者可以提供对应于周围物理环境的指示、测量或信号的其它组件。定位组件1762包括定位传感器组件(例如,全球定位系统(GPS)接收器组件)、高度传感器组件(例如,高度计或气压计,其检测可以从中获得高度的空气压力)、方向传感器组件(例如,磁强计)等。
可以使用各种技术实现通信。I/O组件1750可以包括通信组件1764,其可操作以便分别经由耦合1782和耦合1772将机器1700耦合到网络1780或设备1770。例如,通信组件1764包括用于与网络1780对接的网络接口组件或另一个合适的设备。在进一步实例中,通信组件1764包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、
Figure BDA0001302935160000353
组件(例如,
Figure BDA0001302935160000354
低功耗)、
Figure BDA0001302935160000355
组件以及用于经由其它形式提供通信的其它通信组件。设备1770可以是另一个机器或各种外围设备(例如,经由通用串行总线(USB)耦合的外围设备)的任何一种。
此外,在某些实施例中,通信组件1764检测标识符或者包括可操作以便检测标识符的组件。例如,通信组件1764包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光读取器组件(例如,光传感器,其用于检测诸如通用产品代码(UPC)条形码之类的一维条形码、诸如快速响应(QR)代码、阿兹特克代码、数据矩阵、Dataglyph、MaxiCode、PDF417、超码、统一商业代码缩小空间符号(UCC RSS)2D条形码之类的多维条形码、以及其它光代码)、声学检测组件(例如,用于标识标记音频信号的麦克风)或它们的任何合适的组合。此外,可以经由通信组件1764获得各种信息,例如经由网际协议(IP)地理位置获得的位置、经由
Figure BDA0001302935160000351
信号三角测量获得的位置、经由检测可以指示特定位置的
Figure BDA0001302935160000352
或NFC信标信号获得的位置等。
传输介质
在各种实例实施例中,网络1780的各部分可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网络(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、
Figure BDA0001302935160000361
网络、另一种类型的网络,或者两个或更多这种网络的组合。例如,网络1780或网络1780的一部分可以包括无线或蜂窝网络,并且耦合1782可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或者另一种类型的蜂窝或无线耦合。在该实例中,耦合1782可以实现各种类型的数据传输技术的任何一种,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线业务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、第三代合作计划(3GPP)(包括3G)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、微波存取全球互通(WiMAX)、长期演进(LTE)标准、由各种标准制定组织定义的其它技术、其它远程协议或其它数据传输技术。
在实例实施例中,经由网络接口设备(例如,包括在通信组件1764中的网络接口组件)使用传输介质,并且使用多种公知的传输协议(例如,超文本传输协议(HTTP))的任何一种,通过网络1780发送或接收指令1716。同样,在其它实例实施例中,经由耦合1772(例如,对等耦合)使用传输介质向设备1770发送或接收指令1716。术语“传输介质”应该被认为包括能够对指令1716进行存储、编码或承载以便由机器1700执行的任何无形介质,并且包括数字或模拟通信信号或其它无形介质以便促进这种软件的通信。
此外,机器可读介质1738是非瞬时性的(换言之,没有任何瞬时信号),因为它不包含传播信号。但是,将机器可读介质1738标记为“非瞬时性”不应被解释为意味着介质不能移动;介质应该被认为可从一个物理位置传输到另一个物理位置。此外,因为机器可读介质1738是有形的,所以介质可以被认为是机器可读设备。
语言
在本说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。尽管方法的各个操作被示出和描述为单独操作,但可以并行地执行各个操作,并且不需要以示出的顺序执行操作。作为实例配置中的单独组件呈现的结构和功能可以被实现为组合结构或组件。同样,作为单个组件呈现的结构和功能可以被实现为单独组件。这些和其它变化、修改、添加和改进落入本文的主题的范围内。
尽管已参考特定的实例实施例描述了本发明主题的概述,但可以在不偏离本公开的实施例的更广泛范围的情况下,对这些实施例进行各种修改和改变。本发明主题的此类实施例在此可以单独或统称为术语“发明”,这仅为了方便起见并且并非旨在自愿将本申请的范围限于任何单个公开或发明概念(如果实际上披露多个公开或发明概念)。
足够详细地描述了在此示出的实施例,以便使本领域的技术人员能够实施公开的教导。可以从中使用和获得其它实施例,以使得可以在不偏离本公开的范围的情况下进行结构和逻辑替换和改变。因此,具体实施方式不应被认为是限制性的,并且各种实施例的范围仅由所附权利要求以及此类权利要求所赋予的等同物的完整范围来限定。
如在此使用的,术语“或”可以以包含或排他的方式来解释。此外,可以针对在此描述的资源、操作或结构提供多个实例作为单个实例。此外,各种资源、操作、模块、引擎和数据存储之间的边界在某种程度上是任意的,并且特定操作在具体示例性配置的上下文中示出。可以设想功能的其它分配,并且这些分配可以落入本公开的各种实施例的范围内。一般而言,作为实例配置中的单独资源呈现的结构和功能可以被实现为组合结构或资源。同样,作为单个资源呈现的结构和功能可以被实现为单独资源。这些和其它变化、修改、添加和改进落入如由所附权利要求表示的本公开的实施例的范围内。说明书和附图因此被认为是示例性的而不是限制性的。

Claims (22)

1.一种用于语音注释和呼叫的混合的系统,包括:
一个或多个处理器;
处理器可执行指令,可在机器可读介质上访问所述处理器可执行指令,当被执行时,所述处理器可执行指令导致所述一个或多个处理器执行操作,所述操作包括:
在第一客户机设备与第二客户机设备的异步通信会话期间通过所述第一客户机设备上的用户界面接收用户交互,所述用户交互是跨与所述第一客户机设备关联的触摸屏的至少一部分的基于触摸的手势,所述用户交互与同步通信模式相关联;
基于所述用户交互,从一组通信模式中选择同步通信模式作为期望通信模式;
导致所述第一客户机设备响应于所述用户交互,从所述异步通信会话切换到所述同步通信模式;
响应于所述第一客户机设备从所述异步通信会话切换到所述同步通信模式,指示所述第二客户机设备自动从所述异步通信会话切换到与所述第一客户机设备的所述同步通信模式;
导致在所述第一客户机设备上的用户界面内和所述第二客户机设备上的用户界面内呈现所述期望通信模式;
在同步通信会话期间,在所述第二客户机设备接收与所述同步通信会话相关联的语音输入的第一部分时,接收所述第一客户机设备的用于终止所述同步通信会话的输入;
响应于接收到所述第一客户机设备的所述输入,使所述第二客户机设备返回到异步通信模式;
使所述第二客户机设备生成语音注释,所述语音注释包括在所述同步通信会话终止之后接收的所述语音输入的剩余部分;以及
由所述第一客户机设备接收来自所述第二客户机设备的所述语音注释。
2.根据权利要求1所述的系统,其中,所述操作进一步包括:
接收来自所述第二客户机设备的通信数据;
响应于接收通信数据,确定所述通信数据的通信类型;
基于所述通信类型,从所述一组通信模式标识接收与所接收的通信数据的通信类型关联的输入的通信模式;以及
导致呈现默认通信模式,所述默认通信模式是所标识的通信模式。
3.根据权利要求2所述的系统,其中所述通信类型被包括在从所述第二客户机设备接收的所述通信数据中。
4.根据权利要求1所述的系统,其中所述操作进一步包括:
接收指示所述第一客户机设备的位置变化的传感器数据;以及
基于所述第一客户机设备的所述位置变化,确定所述期望通信模式。
5.根据权利要求4所述的系统,其中接收所述传感器数据进一步包括:
标识所述传感器数据内的值,所述值与所述一组通信模式中的一种通信模式关联;
将所述值的变化与所述值的预定阈值相比较;以及
基于所述值的变化超过所述预定阈值,选择所述期望通信模式作为与所述值关联的通信模式。
6.根据权利要求4所述的系统,其中,所述操作包括:
接收来自所述第二客户机设备的通信数据,所述通信数据包括表示用于响应所述通信数据的建议通信模式的模式指示;
基于所述期望通信模式和所述建议通信模式而确定兼容通信模式;以及
导致所述第一客户机设备将所述兼容通信模式设置为当前通信模式。
7.根据权利要求4所述的系统,其中所述传感器数据是第一传感器数据,所述位置变化是第一位置变化,并且所述操作进一步包括:
接收指示第二位置变化的第二传感器数据;
基于所述第二位置变化,确定第二期望通信模式;
导致所述第一客户机设备将所述第二期望通信模式设置为当前通信模式;以及
导致在所述第一客户机设备处的所述用户界面内将所述第二期望通信模式呈现为所述当前通信模式。
8.根据权利要求7所述的系统,其中所述操作进一步包括:
经由所述第一客户机设备的第一输入接收第一格式的第一通信数据;
在接收所述第一通信数据之后,接收指示所述第二位置变化的所述第二传感器数据;以及
基于所述第二位置变化和所述第一通信数据的所述第一格式,确定所述第二期望通信模式,所述第二期望通信模式被配置为接收第二格式的第二通信数据、将所述第二通信数据转换为所述第一格式、以及将所述第二通信数据包括在所述第一通信数据中。
9.根据权利要求1所述的系统,其中,所述操作进一步包括:
确定所述第二客户机设备不能以所述同步通信模式进行通信;
无论是否接收到与所述同步通信模式相关联的所述用户交互,在所述第一客户机设备上保持所述异步通信会话。
10.一种用于语音注释和呼叫的混合的方法,包括:
在第一客户机设备与第二客户机设备的异步通信会话期间通过所述第一客户机设备上的用户界面接收用户交互,所述用户交互是跨与所述第一客户机设备关联的触摸屏的至少一部分的基于触摸的手势,所述用户交互与同步通信模式相关联;
基于所述用户交互,从一组通信模式中选择同步通信模式作为期望通信模式;
导致所述第一客户机设备响应于所述用户交互,从所述异步通信会话切换到所述同步通信模式;
响应于所述第一客户机设备从所述异步通信会话切换到所述同步通信模式,指示所述第二客户机设备自动从所述异步通信会话切换到与第一客户机设备的所述同步通信模式;
导致在所述第一客户机设备上的用户界面内和所述第二客户机设备上的用户界面内呈现所述期望通信模式;
在同步通信会话期间,在所述第二客户机设备接收与所述同步通信会话相关联的语音输入的第一部分时,接收所述第一客户机设备的用于终止所述同步通信会话的输入;
响应于接收到所述第一客户机设备的所述输入,使所述第二客户机设备返回到异步通信模式;
使所述第二客户机设备生成语音注释,所述语音注释包括在所述同步通信会话终止之后接收的所述语音输入的剩余部分;以及
由所述第一客户机设备接收来自所述第二客户机设备的所述语音注释。
11.根据权利要求10所述的方法,进一步包括:
接收来自所述第二客户机设备的通信数据;
响应于接收通信数据,确定所述通信数据的通信类型;
基于所述通信类型,从所述一组通信模式标识接收与所接收的通信数据的通信类型关联的输入的通信模式;以及
导致呈现默认通信模式,所述默认通信模式是所标识的通信模式。
12.根据权利要求10所述的方法,进一步包括:
接收指示所述第一客户机设备的位置变化的传感器数据;以及
基于所述第一客户机设备的所述位置变化,确定所述期望通信模式。
13.根据权利要求12所述的方法,其中接收所述传感器数据进一步包括:
标识所述传感器数据内的值,所述值与所述一组通信模式中的一种通信模式关联;
将所述值的变化与所述值的预定阈值相比较;以及
基于所述值的变化超过所述预定阈值,选择所述期望通信模式作为与所述值关联的通信模式。
14.根据权利要求12所述的方法,其中,所述方法进一步包括:
接收来自所述第二客户机设备的通信数据,所述通信数据包括表示用于响应所述通信数据的建议通信模式的模式指示;
基于所述期望通信模式和所述建议通信模式而确定兼容通信模式;以及
导致所述第一客户机设备将所述兼容通信模式设置为当前通信模式。
15.根据权利要求12所述的方法,其中所述传感器数据是第一传感器数据,所述位置变化是第一位置变化,并且进一步包括:
接收指示第二位置变化的第二传感器数据;
基于所述第二位置变化,确定第二期望通信模式;
导致所述第一客户机设备将所述第二期望通信模式设置为当前通信模式;以及
导致在所述第一客户机设备处的所述用户界面内将所述第二期望通信模式呈现为所述当前通信模式。
16.根据权利要求15所述的方法,进一步包括:
经由所述第一客户机设备的第一输入接收第一格式的第一通信数据;
在接收所述第一通信数据之后,接收指示所述第二位置变化的所述第二传感器数据;以及
基于所述第二位置变化和所述第一通信数据的所述第一格式,确定所述第二期望通信模式,所述第二期望通信模式被配置为接收第二格式的第二通信数据、将所述第二通信数据转换为所述第一格式、以及将所述第二通信数据包括在所述第一通信数据中。
17.根据权利要求10所述的方法,其中,进一步包括:
确定所述第二客户机设备不能以所述同步通信模式进行通信;
无论是否接收到与所述同步通信模式相关联的所述用户交互,在所述第一客户机设备上保持所述异步通信会话。
18.一种包括处理器可执行指令的机器可读介质,当由机器的处理器执行时,所述处理器可执行指令导致所述机器执行操作,所述操作包括:
在第一客户机设备与第二客户机设备的异步通信会话期间通过所述第一客户机设备上的用户界面接收用户交互,所述用户交互是跨与所述第一客户机设备关联的触摸屏的至少一部分的基于触摸的手势,所述用户交互与同步通信模式相关联;
基于所述用户交互,从一组通信模式中选择同步通信模式作为期望通信模式;
导致所述第一客户机设备响应于所述用户交互,从所述异步通信会话切换到所述同步通信模式;
响应于所述第一客户机设备从所述异步通信会话切换到所述同步通信模式,指示所述第二客户机设备自动从所述异步通信会话切换到与第一客户机设备的所述同步通信模式;
导致在所述第一客户机设备上的用户界面内和所述第二客户机设备上的用户界面内呈现所述期望通信模式;
在同步通信会话期间,在所述第二客户机设备接收与所述同步通信会话相关联的语音输入的第一部分时,接收所述第一客户机设备的用于终止所述同步通信会话的输入;
响应于接收到所述第一客户机设备的所述输入,使所述第二客户机设备返回到异步通信模式;
使所述第二客户机设备生成语音注释,所述语音注释包括在所述同步通信会话终止之后接收的所述语音输入的剩余部分;以及
由所述第一客户机设备接收来自所述第二客户机设备的所述语音注释。
19.根据权利要求18所述的机器可读介质,其中所述操作进一步包括:
接收来自所述第二客户机设备的通信数据;
响应于接收通信数据,确定所述通信数据的通信类型;
基于所述通信类型,从所述一组通信模式标识接收与所接收的通信数据的通信类型关联的输入的通信模式;以及
导致呈现默认通信模式,所述默认通信模式是所标识的通信模式。
20.根据权利要求18所述的机器可读介质,其中所述操作进一步包括:
接收指示所述第一客户机设备的位置变化的传感器数据;以及
基于所述第一客户机设备的所述位置变化,确定所述期望通信模式。
21.根据权利要求20所述的机器可读介质,其中接收所述传感器数据进一步包括:
标识所述传感器数据内的值,所述值与所述一组通信模式中的一种通信模式关联;
将所述值的变化与所述值的预定阈值相比较;以及
基于所述值的变化超过所述预定阈值,选择所述期望通信模式作为与所述值关联的通信模式。
22.根据权利要求20所述的机器可读介质,其中,所述操作进一步包括:
接收来自所述第二客户机设备的通信数据,所述通信数据包括表示用于响应所述通信数据的建议通信模式的模式指示;
基于所述期望通信模式和所述建议通信模式而确定兼容通信模式;以及
导致所述第一客户机设备将所述兼容通信模式设置为当前通信模式。
CN201580063705.0A 2014-11-26 2015-11-24 语音注释和呼叫的混合 Active CN107111430B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110589224.0A CN113268191A (zh) 2014-11-26 2015-11-24 语音注释和呼叫的混合

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201462085209P 2014-11-26 2014-11-26
US62/085,209 2014-11-26
US201562119963P 2015-02-24 2015-02-24
US62/119,963 2015-02-24
US14/949,785 US10775996B2 (en) 2014-11-26 2015-11-23 Hybridization of voice notes and calling
US14/949,785 2015-11-23
PCT/US2015/062339 WO2016085936A1 (en) 2014-11-26 2015-11-24 Hybridization of voice notes and calling

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110589224.0A Division CN113268191A (zh) 2014-11-26 2015-11-24 语音注释和呼叫的混合

Publications (2)

Publication Number Publication Date
CN107111430A CN107111430A (zh) 2017-08-29
CN107111430B true CN107111430B (zh) 2021-06-15

Family

ID=56010219

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201580063705.0A Active CN107111430B (zh) 2014-11-26 2015-11-24 语音注释和呼叫的混合
CN202110589224.0A Pending CN113268191A (zh) 2014-11-26 2015-11-24 语音注释和呼叫的混合

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110589224.0A Pending CN113268191A (zh) 2014-11-26 2015-11-24 语音注释和呼叫的混合

Country Status (5)

Country Link
US (3) US10775996B2 (zh)
EP (2) EP3224706B1 (zh)
KR (4) KR102286898B1 (zh)
CN (2) CN107111430B (zh)
WO (1) WO2016085936A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10775996B2 (en) 2014-11-26 2020-09-15 Snap Inc. Hybridization of voice notes and calling
US9721551B2 (en) 2015-09-29 2017-08-01 Amper Music, Inc. Machines, systems, processes for automated music composition and generation employing linguistic and/or graphical icon based musical experience descriptions
US10854180B2 (en) 2015-09-29 2020-12-01 Amper Music, Inc. Method of and system for controlling the qualities of musical energy embodied in and expressed by digital music to be automatically composed and generated by an automated music composition and generation engine
US20170180299A1 (en) * 2015-12-16 2017-06-22 Facebook, Inc. System and Method for Expanded Messaging Indicator
US10736042B2 (en) 2017-02-23 2020-08-04 Samsung Electronics Co., Ltd. Device and controlling method thereof
US11632345B1 (en) * 2017-03-31 2023-04-18 Amazon Technologies, Inc. Message management for communal account
EP3577860B1 (en) * 2017-04-07 2023-07-26 Microsoft Technology Licensing, LLC Voice forwarding in automated chatting
US10581953B1 (en) * 2017-05-31 2020-03-03 Snap Inc. Real-time content integration based on machine learned selections
EP3477927B1 (en) * 2017-10-31 2021-03-17 Telia Company AB Management of call connection attempt
US11487501B2 (en) * 2018-05-16 2022-11-01 Snap Inc. Device control using audio data
CN109657091B (zh) * 2019-01-02 2021-06-22 百度在线网络技术(北京)有限公司 语音交互设备的状态呈现方法、装置、设备及存储介质
US10964299B1 (en) 2019-10-15 2021-03-30 Shutterstock, Inc. Method of and system for automatically generating digital performances of music compositions using notes selected from virtual musical instruments based on the music-theoretic states of the music compositions
US11024275B2 (en) 2019-10-15 2021-06-01 Shutterstock, Inc. Method of digitally performing a music composition using virtual musical instruments having performance logic executing within a virtual musical instrument (VMI) library management system
US11037538B2 (en) 2019-10-15 2021-06-15 Shutterstock, Inc. Method of and system for automated musical arrangement and musical instrument performance style transformation supported within an automated music performance system
US11587568B2 (en) * 2020-12-08 2023-02-21 Google Llc Streaming action fulfillment based on partial hypotheses

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237482A (zh) * 2007-02-03 2008-08-06 Lg电子株式会社 移动通信设备和控制该移动通信设备的操作的方法

Family Cites Families (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978773A (en) 1995-06-20 1999-11-02 Neomedia Technologies, Inc. System and method for using an ordinary article of commerce to access a remote computer
EP0814611B1 (de) 1996-06-17 2002-08-28 Siemens Aktiengesellschaft Kommunikationssystem und Verfahren zur Aufnahme und Verwaltung digitaler Bilder
US6366651B1 (en) * 1998-01-21 2002-04-02 Avaya Technology Corp. Communication device having capability to convert between voice and text message
US7173651B1 (en) 1998-06-02 2007-02-06 Knowles Andrew T Apparatus and system for prompt digital photo delivery and archival
US6505123B1 (en) 2000-07-24 2003-01-07 Weatherbank, Inc. Interactive weather advisory system
US7668718B2 (en) * 2001-07-17 2010-02-23 Custom Speech Usa, Inc. Synchronized pattern recognition source data processed by manual or automatic means for creation of shared speaker-dependent speech user profile
US20100098702A1 (en) 2008-09-16 2010-04-22 Longgui Wang Method of treating androgen independent prostate cancer
US7640293B2 (en) 2002-07-17 2009-12-29 Research In Motion Limited Method, system and apparatus for messaging between wireless mobile terminals and networked computers
US6763226B1 (en) * 2002-07-31 2004-07-13 Computer Science Central, Inc. Multifunctional world wide walkie talkie, a tri-frequency cellular-satellite wireless instant messenger computer and network for establishing global wireless volp quality of service (qos) communications, unified messaging, and video conferencing via the internet
US7606714B2 (en) * 2003-02-11 2009-10-20 Microsoft Corporation Natural language classification within an automated response system
US7411493B2 (en) 2003-03-01 2008-08-12 User-Centric Ip, L.P. User-centric event reporting
US7535890B2 (en) 2003-12-18 2009-05-19 Ayalogic, Inc. System and method for instant VoIP messaging
EP1605402A2 (en) * 2004-06-10 2005-12-14 Sony Corporation Image processing device and method, recording medium, and program for blur correction
US7983706B2 (en) * 2004-09-07 2011-07-19 At&T Intellectual Property I, L.P. System and method for voice and text based service interworking
US7587482B2 (en) 2004-09-08 2009-09-08 Yahoo! Inc. Multimodal interface for mobile messaging
US7835856B2 (en) * 2004-10-25 2010-11-16 General Motors Llc Method and system for telematics location sensing
KR20060129761A (ko) 2005-06-13 2006-12-18 브이케이 주식회사 이동통신 단말기를 이용한 문자통화 방법
KR101216077B1 (ko) 2005-06-30 2012-12-26 엘지전자 주식회사 아바타 영상부를 갖는 세탁 장치
US8332475B2 (en) 2005-08-22 2012-12-11 Triplay Communications Ltd. Messaging system and method
US9413866B2 (en) * 2006-12-29 2016-08-09 Nokia Technologies Oy Intelligent phone book
US7971156B2 (en) 2007-01-12 2011-06-28 International Business Machines Corporation Controlling resource access based on user gesturing in a 3D captured image stream of the user
USRE47534E1 (en) 2007-04-23 2019-07-23 Ramot At Tel Aviv University Ltd. System, method and a computer readable medium for providing an output image
US8059101B2 (en) * 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
US20090012788A1 (en) 2007-07-03 2009-01-08 Jason Andre Gilbert Sign language translation system
US20090181702A1 (en) * 2008-01-14 2009-07-16 Microsoft Corporation Multi-mode communication
US8595302B2 (en) * 2008-02-22 2013-11-26 Qualcomm Incorporated Method and apparatus for monitoring message status in an asynchronous mediated communication system
US8149850B2 (en) * 2008-02-22 2012-04-03 Qualcomm Incorporated Method and apparatus for asynchronous mediated communicaton
US7996793B2 (en) 2009-01-30 2011-08-09 Microsoft Corporation Gesture recognizer system architecture
US8487938B2 (en) 2009-01-30 2013-07-16 Microsoft Corporation Standard Gestures
US8856691B2 (en) 2009-05-29 2014-10-07 Microsoft Corporation Gesture tool
US8416767B2 (en) * 2009-07-06 2013-04-09 T-Mobile Usa, Inc. Communication mode swapping for telecommunications devices
US9111538B2 (en) * 2009-09-30 2015-08-18 T-Mobile Usa, Inc. Genius button secondary commands
US20140171036A1 (en) 2009-11-18 2014-06-19 Gwendolyn Simmons Method of communication
US9191055B2 (en) * 2009-12-28 2015-11-17 Green Swan, Inc. Method and system to minimize radiation exposure from mobile phones and devices
US9413869B2 (en) * 2010-02-10 2016-08-09 Qualcomm Incorporated Mobile device having plurality of input modes
US9443227B2 (en) 2010-02-16 2016-09-13 Tigertext, Inc. Messaging system apparatuses circuits and methods of operation thereof
US8819566B2 (en) * 2010-05-04 2014-08-26 Qwest Communications International Inc. Integrated multi-modal chat
US8751215B2 (en) 2010-06-04 2014-06-10 Microsoft Corporation Machine based sign language interpreter
US8340685B2 (en) * 2010-08-25 2012-12-25 The Nielsen Company (Us), Llc Methods, systems and apparatus to generate market segmentation data with anonymous location data
EP2625591A4 (en) * 2010-10-05 2014-04-30 Citrix Systems Inc TOUCH SUPPORT FOR REMOTE APPLICATIONS
US8253684B1 (en) * 2010-11-02 2012-08-28 Google Inc. Position and orientation determination for a mobile computing device
US9871907B2 (en) * 2010-11-02 2018-01-16 Facebook, Inc. Avatar-based communications launching system
US8352245B1 (en) * 2010-12-30 2013-01-08 Google Inc. Adjusting language models
JP5938165B2 (ja) 2011-02-25 2016-06-22 任天堂株式会社 情報処理装置、情報処理プログラム、情報処理方法および情報処理システム
US10509466B1 (en) 2011-05-11 2019-12-17 Snap Inc. Headwear with computer and optical element for use therewith and systems utilizing same
US8729374B2 (en) * 2011-07-22 2014-05-20 Howling Technology Method and apparatus for converting a spoken voice to a singing voice sung in the manner of a target singer
US20130045720A1 (en) * 2011-08-15 2013-02-21 Shreedhar Madhavapeddl Enhanced signaling for mobile communication devices
US20130053007A1 (en) * 2011-08-24 2013-02-28 Microsoft Corporation Gesture-based input mode selection for mobile devices
US9606629B2 (en) * 2011-09-09 2017-03-28 Cloudon Ltd. Systems and methods for gesture interaction with cloud-based applications
KR101907406B1 (ko) * 2012-05-08 2018-10-12 삼성전자 주식회사 통신 서비스 운용 방법 및 시스템
US9392421B2 (en) 2012-05-23 2016-07-12 Qualcomm Incorporated Systems and methods for group communication using a mobile device with mode depending on user proximity or device position
US20150370320A1 (en) 2014-06-20 2015-12-24 Medibotics Llc Smart Clothing with Human-to-Computer Textile Interface
US9230160B1 (en) 2012-08-27 2016-01-05 Amazon Technologies, Inc. Method, medium, and system for online ordering using sign language
US9268407B1 (en) * 2012-10-10 2016-02-23 Amazon Technologies, Inc. Interface elements for managing gesture control
US10552030B2 (en) 2012-10-15 2020-02-04 Kirusa, Inc. Multi-gesture media recording system
US9336771B2 (en) * 2012-11-01 2016-05-10 Google Inc. Speech recognition using non-parametric models
WO2014209157A1 (en) * 2013-06-27 2014-12-31 Obschestvo S Ogranichennoy Otvetstvennostiyu "Speaktoit" Generating dialog recommendations for chat information systems
CN104854852B (zh) * 2012-12-06 2018-04-20 萨罗尼科斯贸易与服务一人有限公司 用于为电话通话的语音到文本转录确定语言的方法和设备
CN103049761B (zh) 2013-01-21 2016-08-03 中国地质大学(武汉) 基于手语手套的手语识别方法及系统
US9705831B2 (en) 2013-05-30 2017-07-11 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US9742713B2 (en) 2013-05-30 2017-08-22 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US10439972B1 (en) 2013-05-30 2019-10-08 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US9558756B2 (en) 2013-10-29 2017-01-31 At&T Intellectual Property I, L.P. Method and system for adjusting user speech in a communication session
US9177549B2 (en) * 2013-11-01 2015-11-03 Google Inc. Method and system for cross-lingual voice conversion
CA2863124A1 (en) 2014-01-03 2015-07-03 Investel Capital Corporation User content sharing system and method with automated external content integration
US10283162B2 (en) 2014-02-05 2019-05-07 Avatar Merger Sub II, LLC Method for triggering events in a video
US10102561B2 (en) * 2014-02-26 2018-10-16 Amazon Technologies, Inc. Delivery service system
US9276886B1 (en) 2014-05-09 2016-03-01 Snapchat, Inc. Apparatus and method for dynamically configuring application component tiles
US9537811B2 (en) 2014-10-02 2017-01-03 Snap Inc. Ephemeral gallery of ephemeral messages
CN112102824A (zh) * 2014-06-06 2020-12-18 谷歌有限责任公司 基于环境的主动聊天信息系统
US9225897B1 (en) 2014-07-07 2015-12-29 Snapchat, Inc. Apparatus and method for supplying content aware photo filters
US20160042738A1 (en) * 2014-08-05 2016-02-11 Call Audit LLC Voice recording and processing apparatus for use in speech-to-text conversion and analysis systems
US20160070354A1 (en) * 2014-09-04 2016-03-10 Google Technology Holdings LLC Context-Aware Activation of Camera and Flashlight Modules
US20160077793A1 (en) * 2014-09-15 2016-03-17 Microsoft Corporation Gesture shortcuts for invocation of voice input
US10284508B1 (en) 2014-10-02 2019-05-07 Snap Inc. Ephemeral gallery of ephemeral messages with opt-in permanence
US20160117372A1 (en) * 2014-10-28 2016-04-28 KrafftlT AB Software application that determines the optimal times for outdoor activities based on outdoor conditions
US10775996B2 (en) 2014-11-26 2020-09-15 Snap Inc. Hybridization of voice notes and calling
US9385983B1 (en) 2014-12-19 2016-07-05 Snapchat, Inc. Gallery of messages from individuals with a shared interest
WO2016168591A1 (en) 2015-04-16 2016-10-20 Robert Bosch Gmbh System and method for automated sign language recognition
US10503264B1 (en) 2015-06-16 2019-12-10 Snap Inc. Radial gesture navigation
US11106273B2 (en) 2015-10-30 2021-08-31 Ostendo Technologies, Inc. System and methods for on-body gestural interfaces and projection displays
US10055895B2 (en) 2016-01-29 2018-08-21 Snap Inc. Local augmented reality persistent sticker objects
JP2017174300A (ja) 2016-03-25 2017-09-28 富士ゼロックス株式会社 情報処理装置、情報処理方法およびプログラム
US9965467B2 (en) 2016-03-28 2018-05-08 Avaya Inc. Sign language communication with communication devices
US10628664B2 (en) 2016-06-04 2020-04-21 KinTrans, Inc. Automatic body movement recognition and association system
US11404056B1 (en) 2016-06-30 2022-08-02 Snap Inc. Remoteless control of drone behavior
US10102423B2 (en) 2016-06-30 2018-10-16 Snap Inc. Object modeling and replacement in a video stream
US10446059B2 (en) 2016-12-07 2019-10-15 Thomas William Pryor Hand motion interpretation and communication apparatus
US10579869B1 (en) 2017-07-18 2020-03-03 Snap Inc. Virtual object machine learning
US10591730B2 (en) 2017-08-25 2020-03-17 II Jonathan M. Rodriguez Wristwatch based interface for augmented reality eyewear
US11847426B2 (en) 2017-11-08 2023-12-19 Snap Inc. Computer vision based sign language interpreter
US10217488B1 (en) 2017-12-15 2019-02-26 Snap Inc. Spherical video editing
US10962809B1 (en) 2018-01-10 2021-03-30 Snap Inc. Eyewear device with finger activated touch sensor
US11092998B1 (en) 2018-01-12 2021-08-17 Snap Inc. Eyewear device with fingerprint sensor for user input
US11227626B1 (en) 2018-05-21 2022-01-18 Snap Inc. Audio response messages
WO2020068455A1 (en) 2018-09-28 2020-04-02 Snap Inc. Neural network system for gesture, wear, activity, or carry detection on a wearable or mobile device
US10796482B2 (en) 2018-12-05 2020-10-06 Snap Inc. 3D hand shape and pose estimation
US11012390B1 (en) 2019-03-28 2021-05-18 Snap Inc. Media content response in a messaging system
US11036368B1 (en) 2019-03-29 2021-06-15 Snap Inc. Messaging system with message transmission user interface
US11106342B1 (en) 2019-06-03 2021-08-31 Snap Inc. User interfaces to facilitate multiple modes of electronic communication
US11307747B2 (en) 2019-07-11 2022-04-19 Snap Inc. Edge gesture interface with smart interactions
CN114391160A (zh) 2019-09-09 2022-04-22 斯纳普公司 根据立体相机的手部姿势估计
US11169600B1 (en) 2019-12-06 2021-11-09 Snap Inc. Virtual object display interface between a wearable device and a mobile device
US11087728B1 (en) 2019-12-21 2021-08-10 Snap Inc. Computer vision and mapping for audio applications
US11062498B1 (en) 2019-12-30 2021-07-13 Snap Inc. Animated pull-to-refresh
US11488358B2 (en) 2020-02-05 2022-11-01 Snap Inc. Augmented reality session creation using skeleton tracking
US11675494B2 (en) 2020-03-26 2023-06-13 Snap Inc. Combining first user interface content into second user interface
US11409368B2 (en) 2020-03-26 2022-08-09 Snap Inc. Navigating through augmented reality content
US11960651B2 (en) 2020-03-30 2024-04-16 Snap Inc. Gesture-based shared AR session creation
US11995774B2 (en) 2020-06-29 2024-05-28 Snap Inc. Augmented reality experiences using speech and text captions
US20210405761A1 (en) 2020-06-29 2021-12-30 Ilteris Canberk Augmented reality experiences with object manipulation
US11925863B2 (en) 2020-09-18 2024-03-12 Snap Inc. Tracking hand gestures for interactive game control in augmented reality
US11546505B2 (en) 2020-09-28 2023-01-03 Snap Inc. Touchless photo capture in response to detected hand gestures
WO2022132381A1 (en) 2020-12-16 2022-06-23 Snap Inc. Eyewear including sign language to speech translation
KR20230124732A (ko) 2020-12-29 2023-08-25 스냅 인코포레이티드 가상 및 그래픽 엘리먼트들을 제어하기 위한 미세 손제스처들
US11531402B1 (en) 2021-02-25 2022-12-20 Snap Inc. Bimanual gestures for controlling virtual and graphical elements
US11734959B2 (en) 2021-03-16 2023-08-22 Snap Inc. Activating hands-free mode on mirroring device
US11798201B2 (en) 2021-03-16 2023-10-24 Snap Inc. Mirroring device with whole-body outfits
US11908243B2 (en) 2021-03-16 2024-02-20 Snap Inc. Menu hierarchy navigation on electronic mirroring devices
EP4320502A1 (en) 2021-04-08 2024-02-14 Snap, Inc. Bimanual interactions between mapped hand regions for controlling virtual and graphical elements
CN117178247A (zh) 2021-04-19 2023-12-05 斯纳普公司 用于动画化及控制虚拟和图形元素的手势
WO2022245765A1 (en) 2021-05-19 2022-11-24 Snap Inc. Beacons for localization and content delivery to wearable devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237482A (zh) * 2007-02-03 2008-08-06 Lg电子株式会社 移动通信设备和控制该移动通信设备的操作的方法

Also Published As

Publication number Publication date
KR101953047B1 (ko) 2019-02-27
KR102083401B1 (ko) 2020-03-02
KR20190020185A (ko) 2019-02-27
EP3224706B1 (en) 2019-09-11
EP3598287A1 (en) 2020-01-22
US11256414B2 (en) 2022-02-22
KR20200023515A (ko) 2020-03-04
KR102286898B1 (ko) 2021-08-09
WO2016085936A1 (en) 2016-06-02
EP3224706A1 (en) 2017-10-04
EP3598287B1 (en) 2022-01-12
KR20200100867A (ko) 2020-08-26
US11977732B2 (en) 2024-05-07
KR20170107978A (ko) 2017-09-26
CN113268191A (zh) 2021-08-17
KR102147285B1 (ko) 2020-08-24
US20220137810A1 (en) 2022-05-05
US10775996B2 (en) 2020-09-15
US20160147435A1 (en) 2016-05-26
US20200371682A1 (en) 2020-11-26
CN107111430A (zh) 2017-08-29

Similar Documents

Publication Publication Date Title
US11256414B2 (en) Hybridization of voice notes and calling
US11930055B2 (en) Animated chat presence
US20240085989A1 (en) Radial gesture navigation
US11252541B2 (en) Simplified message grouping and display
US11599241B2 (en) Network resource location linking and visual content sharing
US11249617B1 (en) Multichannel system
WO2018006053A1 (en) Avatar based ideogram generation
US11573684B2 (en) Dynamic graphical user interface modification and monitoring

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant