CN114946175A - 基于可用显示区域的纵横比的通信视频流布置的动态配置 - Google Patents

基于可用显示区域的纵横比的通信视频流布置的动态配置 Download PDF

Info

Publication number
CN114946175A
CN114946175A CN202080093271.XA CN202080093271A CN114946175A CN 114946175 A CN114946175 A CN 114946175A CN 202080093271 A CN202080093271 A CN 202080093271A CN 114946175 A CN114946175 A CN 114946175A
Authority
CN
China
Prior art keywords
aspect ratio
cells
display area
horizontal
vertical
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.)
Pending
Application number
CN202080093271.XA
Other languages
English (en)
Inventor
C·A·福斯
J·T·福尔克纳
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN114946175A publication Critical patent/CN114946175A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

所提供的技术通过基于可用显示区域(401)的纵横比和目标纵横比(410)动态地配置视频流布置来改善用户参与度和对计算资源的更有效使用。这样的技术提供动态优化的用户界面布置,其适应可用显示区域的任意给定形状。当用户重新调整显示窗口大小、将窗口移动为随机形状、旋转设备、加入通信会话、离开通信会话、呈现内容流、移除内容流等时,所述技术也能够帮助查看者保持对多流显示的显著内容的关注。能够在过程中利用目标纵横比来水平或垂直地递归划分显示区域以适应任意数量的流渲染。对目标纵横比的调整能够允许优化显示任意数量的视频流渲染用于任意形状的显示屏。

Description

基于可用显示区域的纵横比的通信视频流布置的动态配置
背景技术
存在允许用户进行协作的许多不同的通信系统。例如,一些系统允许人们通过使用实况视频流、实况音频流以及其他形式的基于文本或基于图像的媒体进行协作。通信会话的参与者能够共享视频流,所述视频流示出一个人或者一群人以及对共享内容的显示。这样的系统能够为通信会话的参与者提供模拟面对面会议的体验。
尽管存在允许用户进行协作的许多不同类型的系统,但是这样的系统仍然具有许多缺点。例如,当参与在线会议的人数发生变化时,大多数现有系统都具有以固定次序添加或移除参与者图像的用户界面布局。当参与者加入会议时,每个参与者的图像被添加到固定位置或随机选择的位置。这样的活动会使得注意力分散到所显示的内容。更糟糕的是,一些视频流渲染可能随着添加新流到用户界面或者从用户界面中移除新流而重新布置或移动。这样的移动会使查看者难以跟随会议的活动。这样的用户界面布置可能不最佳地促进用户参与,因为参与者可能无法清楚地看到由每个人执行的重要手势,特别是如果特定人的图像在其他用户加入或离开会话时被重新定位。这样的问题会阻碍用户参与并且降低通信会话的效率。
不促进用户参与的软件应用会导致生产力损失以及相对于计算资源的低效。例如,诸如在线会议的通信会话的参与者在错过或忽略内容时可能需要参考记录或者其他资源。当用户在实况会议期间错过要点时,可能需要重新发送或者重新播放内容。这样的活动会导致对网络、处理器、存储器或者其他计算资源的低效使用。同样地,当参与者的参与程度受到不良用户界面布置的负面影响时,这样的生产力损失可能导致需要延长会议或后续会议,这继而又占用额外的计算资源。当系统被用于为大量参与者提供协作环境时,相对于计算资源的这样的生产力损失和低效会更加严重。
除了用户参与度的损失之外,当通信系统不能有效地显示人的实况视频时,可能会导致许多其他的低效率。参与者会错过重要的社交线索,例如,当人举手、开始讲话、看向特定方向时,等等。这样的缺点有时需要用户手动地与许多不同的系统进行交互。例如,如果错过了提示,一些用户仍然会在电话会议中向其他参与者发送短信或电子邮件等。这样的手动步骤会破坏人们的工作流程,并且在帮助人们建立与一群人的协作协议时效率非常低。现有系统的这样的缺点会导致生产力力损失以及对计算资源的低效使用。
发明内容
在本文中所公开的技术通过提供一种基于可用显示区域的纵横比和目标纵横比来动态地配置通信视频流布置的系统来改善用户参与度以及对计算资源的更有效使用。这样的技术提供动态优化的用户界面“UI”布置,以适应可用显示区域的大范围维度。当用户重新调整显示窗口的大小、将显示窗口重新定形为不规则的维度集合、旋转设备、加入通信会话、离开通信会话、呈现内容流、移除内容流等时,所述技术也能够帮助查看者维持对多流显示的显著内容的关注。能够在过程中利用目标纵横比以递归地水平或垂直划分显示区域以适应任意数量的流渲染。系统能够使用目标纵横比来确定针对每个流的位置、尺寸和纵横比。用户界面的整体外观和感觉能够由目标纵横比来控制。对目标纵横比的调整能够允许系统自动地布置用户界面以最佳地显示任意数量的视频流渲染。目标纵横比的益处之一是任意流渲染的移动,例如,被添加到UI或者从UI中移除的新人的位置远离具有任意显著内容的任意流的渲染。对目标纵横比的使用也使对显著流的尺寸、形状和位置的改变最小化。
在本文中所描述的示例是在涉及通信会话的协作环境的上下文内提供的,例如,私人聊天会话、多用户编辑会话、群组会议、实况广播等。出于说明性目的,能够意识到,管理协作环境的计算机涉及管理通信会话的任意类型的计算机,其中,两台或更多台计算机共享视频数据:录制的视频流和实况视频流两者。另外,能够意识到,在本文中所公开的技术能够应用于被用于显示内容的任意用户界面布置。本公开的范围并不限于与协作环境相关联的实施例。
在本文中所公开的技术提供了改进现有计算机的多个特征。例如,诸如处理器周期、存储器、网络带宽和功率等的计算资源的使用效率更高,因为系统能够动态地控制描绘阈值数量的人的视频流的尺寸、位置和形状。通过提供针对感兴趣对象而提供更多视觉细节的动态控制的用户界面,在本文中所公开的技术能够提供对计算资源的更有效使用。所述系统能够通过减轻针对额外通信系统的需要来改善与计算设备的用户交互,因为所公开的系统能够减轻或者消除针对重新发送、重复内容等的请求的需要。对与设备的用户交互的改进也能够减少不必要的或者冗余的输入,其能够减少无意的输入、更正的输入、以及利用计算资源的其他类型的用户交互。在本文中未具体提及的其他技术益处也能够通过实施所公开的主题来实现。
本领域技术人员也将意识到,在本文中所描述的主题的各方面能够在本文中具体描述的那些之外的其他计算机系统配置上或者结合其他计算机系统配置来实践,包括多处理器系统、基于微处理器的或可编程的消费者电子产品、增强现实或虚拟现实设备、视频游戏设备、掌上计算机、智能电话、智能电视、自动驾驶汽车、智能手表、电子阅读器、平板计算设备、专用硬件设备、联网设备等。
除了上文明确描述的那些之外的特征和技术益处将通过阅读以下详细描述和回顾相关联的附图而变得明显。提供本概述以简化形式介绍对概念的选择,这些概念将在下文的详细描述中进一步描述。本发明内容并不旨在识别所要求保护的主题的关键或基本特征,也并不旨在用于辅助确定所要求保护的主题范围。例如,术语“技术”可以指代上文所描述的上下文和整个文件所允许的(一种或多种)系统、(一种或多种)方法、计算机可读指令、(一个或多个)模块、算法、硬件逻辑和/或(一个或多个)操作。
附图说明
参考附图描述了详细描述。在图中,附图标记的(一个或多个)最左侧数字标识所述附图标记首次出现的图。不同图中相同的附图标记指示相似或相同的项目。对多个项目中的个体项目的引用能够使用带有字母序列中的字母的附图标记来指代每个个体项目。对项目的通用引用可以使用没有字母序列的特定附图标记。
图1A图示了在基于可用显示区域的纵横比来配置用户界面内的视频流渲染的布置的过程的第一状态中的通信系统的各方面。
图1B图示了在基于可用显示区域的纵横比来配置用户界面内的视频流渲染的布置的过程的第二状态中的通信系统的各方面。
图1C图示了在基于可用显示区域的纵横比来配置用户界面内的视频流渲染的布置的过程的第三状态中的通信系统的各方面。
图1D图示了在基于可用显示区域的纵横比来配置用户界面内的视频流渲染的布置的过程的第四状态中的通信系统的各方面。
图1E图示了在基于可用显示区域的纵横比来配置用户界面内的视频流渲染的布置的过程的第五状态中的通信系统的各方面。
图1F图示了在基于可用显示区域的纵横比来配置用户界面内的视频流渲染的布置的过程的第六状态中的通信系统的各方面。
图1G图示了在基于可用显示区域的纵横比来配置用户界面内的视频流渲染的布置的过程的第七状态中的通信系统的各方面。
图1H图示了在基于可用显示区域的纵横比来配置用户界面内的视频流渲染的布置的过程的第八状态中的通信系统的各方面。
图1I图示了在基于可用显示区域的纵横比来配置用户界面内的视频流渲染的布置的过程的第九状态中的通信系统的各方面。
图2A图示了在基于由用户输入修改的可用显示区域的纵横比来配置用户界面内的视频流渲染的布置的过程的第一状态中的通信系统的各方面。
图2B图示了在基于由用户输入修改的可用显示区域的纵横比来配置用户界面内的视频流渲染的布置的过程的第二状态中的通信系统的各方面。
图2C图示了在基于由用户输入修改的可用显示区域的纵横比来配置用户界面内的视频流渲染的布置的过程的第三状态中的通信系统的各方面。
图2D图示了在基于由用户输入修改的可用显示区域的纵横比来配置用户界面内的视频流渲染的布置的过程的第四状态中的通信系统的各方面。
图2E图示了在基于由用户输入修改的可用显示区域的纵横比来配置用户界面内的视频流渲染的布置的过程的第五状态中的通信系统的各方面。
图2F图示了在基于由用户输入修改的可用显示区域的纵横比来配置用户界面内的视频流渲染的布置的过程的第六状态中的通信系统的各方面。
图3图示了基于通过旋转设备的显示屏的用户动作修改的可用显示区域的纵横比来配置用户界面内的视频流渲染的布置的通信系统的各方面。
图4A图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第一状态的各方面。
图4B图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第二状态的各方面。
图4C图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第三状态的各方面
图4D图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第四状态的各方面。
图4E图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第五状态的各方面。
图4F图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第六状态的各方面。
图4G图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第七状态的各方面。
图4H图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第八状态的各方面。
图4I图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第九状态的各方面。
图4J图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第十状态的各方面。
图4K图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第十一状态的各方面。
图4L图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第十二状态的各方面。
图4M图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第十三状态的各方面。
图4N图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第十四状态的各方面。
图4O图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第十五状态的各方面。
图4P图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第十六状态的各方面。
图4Q图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第十七状态的各方面。
图4R图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第十八状态的各方面。
图4S图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面内的视频流渲染的布置的过程的第十九状态的各方面。
图5A图示了基于可用显示区域的纵横比和经调整的目标纵横比来配置用户界面内的视频流渲染的布置的过程的第一状态的各方面。
图5B图示了基于可用显示区域的纵横比和经调整的目标纵横比来配置用户界面内的视频流渲染的布置的过程的第二状态的各方面。
图5C图示了基于可用显示区域的纵横比和经调整的目标纵横比来配置用户界面内的视频流渲染的布置的过程的第三状态的各方面。
图5D图示了基于可用显示区域的纵横比和经调整的目标纵横比来配置用户界面内的视频流渲染的布置的过程的第四状态的各方面。
图5E图示了基于可用显示区域的纵横比和经调整的目标纵横比来配置用户界面内的视频流渲染的布置的过程的第五状态的各方面。
图5F图示了基于可用显示区域的纵横比和经调整的目标纵横比来配置用户界面内的视频流渲染的布置的过程的第六状态的各方面。
图5G图示了基于可用显示区域的纵横比和经调整的目标纵横比来配置用户界面内的视频流渲染的布置的过程的第七状态的各方面。
图5H图示了基于可用显示区域的纵横比和经调整的目标纵横比来配置用户界面内的视频流渲染的布置的过程的第八状态的各方面。
图5I图示了基于可用显示区域的纵横比和经调整的目标纵横比来配置用户界面内的视频流渲染的布置的过程的第九状态的各方面。
图6图示了基于可用显示区域的纵横比和各种目标纵横比来配置多个不同用户界面布置的数量。
图7是图示了基于可用显示区域的纵横比和预定目标纵横比以计算有效方式生成用户界面布置的例程的各方面的流程图。
图8是示出了用于在本文中所公开的技术的说明性操作环境的各方面的计算系统图。
图9是示出了能够实现在本文中所公开的技术的各方面的计算设备的配置和操作的各方面的计算架构图。
具体实施方式
在本文中所公开的技术通过提供基于可用显示区域的纵横比来动态地配置通信视频流布置的系统来改善用户参与度以及对计算资源的更有效使用。这样的技术提供动态优化的用户界面“UI”布置,其适应可用显示区域的任意给定形状。图1A-1I图示了基于可用显示区域的纵横比和目标纵横比来配置用户界面的视频流布置的过程的各方面。具体而言,图1A图示了包括服务器110和至少一个客户端设备101的系统100的各方面。服务器110能够管理多个数据流111(被个体地称为111A、111B等),每个数据流具有允许客户端设备101与多个其他远程客户端设备通信的视频分量和/或音频分量。通常,服务器110能够生成能够控制在客户端设备101上显示的用户界面布局的会话数据113。另外,会话数据113能够包括一个或多个数据流,所述一个或多个数据流包括音频分量和/或视频分量。下文参考在图8中所示的系统602更详细地描述了管理在客户端计算机之间的通信会话的服务器110的额外方面。下文也参考在图8中所示的设备606更详细地描述了客户端设备101的额外方面。
在一些配置中,用户界面120能够包括可用显示区域401和辅助显示区域402。每个显示区域能够被用于显示不同类型的内容。例如,可用显示区域401能够被用于显示通信会话的实况或记录的视频流,而辅助显示区域402能够被用于显示表示通信会话的个体参与者的图形元素。所述图形元素可以被用于表示仅传送音频流的参与者。在所显示的视频流的数量由一个或多个预定配置设置控制的情况下,也可以利用所述图形元素。这样的配置能够使得一些参与者被表示在辅助显示区域402中,而不是被显示在可用显示区域401中,可用显示区域401能够被保留用于具有阈值优先级级别的选定视频流。
可用显示区域401可以是在一个或多个显示屏幕内指定的显示区域。例如,可用显示区域401可以是跨多个显示设备的指定显示区域或者是单个显示设备的一部分的指定显示区域。在一个说明性示例中,能够基于特定显示窗口以及一个或多个保留区域(诸如辅助显示区域402)的边界来选择特定的可用显示区域401。可用显示区域401可以由一个或多个参数来定义,诸如纵横比、定义可用显示区域401的角的一个或多个坐标、向量数据和/或定义用户界面120的可查看区域的其他数据。
在图1A的示例中,可用显示区域401是为显示从服务器110传送的选定流111的渲染而保留的用户界面120的一部分。用户界面120能够至少部分地被能够由客户端设备101生成的显示数据104来控制。如所示的,系统100的第一状态示出了服务器110正在向客户端设备101传送第一流111A和会话数据113,并且使得客户端设备101生成定义用户界面120的布置的显示数据104。结果,用户界面120能够显示第一流111A的第一渲染111A'。
如在图1A-1I的一系列图像中所示的,随着服务器110将额外流111B-111N添加到会话数据113,客户端设备101改变在用户界面120的可用显示区域401内所示的流渲染111A'-111N'的布置。提供该一系列图像以示出可能由在本文中所公开的技术得到的用户界面布置的一个示例。在一个方面中,该示例示出了在本文中所公开的技术能够如何在流被添加到通信会话时使选定渲染的移动最小化。另外,该示例结合其他示例示出了计算系统能够如何使用目标纵横比来改变用户界面布局的特性以使对显示区域的使用最大化。
图1B图示了基于可用显示区域的纵横比来配置显示通信视频流布置的用户界面的过程的第二状态。在这种状态下,对第二流111B的添加使得客户端设备根据在本文中所公开的技术来显示第二流111B的渲染111B'。如将在下文更详细描述的,可用显示区域的纵横比与目标纵横比进行比较以确定第二流111B的渲染111B'的位置和大小。另外,客户端设备101调整第一流111A的第一渲染111A'的渲染,从而为添加的渲染分配空间。
图1C图示了用于配置显示通信视频流布置的用户界面的过程的第三状态。在这种状态下,对第三流111C的添加使得客户端设备根据在本文中所公开的技术来显示第三流111C的渲染111C'。如将在下文更详细描述的,分析可用显示区域401的一个或多个部分以确定第三流111C的渲染111C'的位置和大小。另外,客户端设备101调整现有的渲染111A'-111B',从而为添加的渲染分配空间。
图1D图示了用于配置显示通信视频流布置的用户界面的过程的第四状态。在这种状态下,对第四流111D的添加使得客户端设备101根据在本文中所公开的技术来显示第四流111D的渲染111D'。如将在下文更详细描述的,分析可用显示区域401的一个或多个部分以确定第四流111D的渲染111D'的位置和大小。另外,客户端设备101调整现有渲染111A'-111C',从而为添加的渲染分配空间。
图1E至图1I图示了用于配置用户界面内的视频流渲染的布置的示例性过程的其余状态。如所示的,对每个流(例如,第五流111E至第九流111I)的添加使得客户端设备101根据在本文中所公开的技术来显示第五流111E至第九流111I的渲染111E'-111I'。如下文将更详细描述的,随着每个流111被添加到通信会话,客户端设备101分析可用显示区域401的个体部分的纵横比以确定新添加的流111E-111I的每个渲染111E'-111I'的位置和大小。另外,客户端设备101调整现有渲染111A'-111D',从而为添加的渲染分配空间。
现在参考图2A-2F,在下文示出并且描述了用于配置包括视频流渲染的布置的用户界面的另一示例过程。在该示例中,当用户界面120被重新调整大小和/或重新调整形状时,配置用户界面内的视频流渲染的布置。在一些配置中,可以在每次接收到用于重新调整用户界面120的大小或者重新调整用户界面120的形状的输入时执行在本文中所公开的技术,包括在图7中所示的例程。
如在图1A-1I的一系列图像中所示的,当服务器110将五个流111A-11IE传送到客户端设备101时。随着用户界面的形状和大小改变,客户端设备重新计算流111A-111E的每个渲染111A'-111E'的大小、形状和位置。提供这一系列图像以示出可能由在本文中所公开的技术得到的用户界面布置的一个示例。在一个方面中,该示例示出了在本文中所公开的技术能够如何在移动其他流或者重新调整其大小的同时使选定渲染的移动最小化。另外,该示例结合其他示例示出了计算系统能够如何使用目标纵横比来改变用户界面布局的特征以使对显示区域的使用最大化。
在图2B和图2C中所示的用户界面的转换能够以多种不同的方式来启动。在一个示例中,客户端设备101能够接收用户输入以重新调整用户界面120的大小和形状,这继而重新调整可用显示区域401的大小和形状。响应于检测到一个或多个标准,诸如用于重新调整用户界面大小的用户输入,客户端设备101能够将可用显示区域401的纵横比与目标纵横比进行比较。目标纵横比能够是作为用户输入的一部分而接收到的值、作为配置设置的一部分的值、或者由一个或多个机器学习过程确定的值。取决于条件,在本文中也被称为目标纵横比条件,可用显示区域401能够被垂直或水平地划分。取决于一个或多个标准,由划分创建的每个部分都能够被填充分块(bin)和/或单元。每个分块还能够被递归地划分以创建与客户端设备101接收的选定流111的数量相等的单元的数量。通过利用目标纵横比,将实现用于优化对可用显示区域的使用的定制布局。同样地,随着用户界面20被重新调整大小和/或重新调整形状,所公开的利用目标纵横比的技术也能够在计算不同布置时使各种流渲染的移动最小化。例如,在图2B和图2C中所示的用户界面之间的转换中,用户界面转换到包括第二行中的第一和第二流的渲染以及第三、第四和第五流的渲染的布置。在图2C和图2D中所示的用户界面之间的转换中,用户界面转换到包括第一列中的第一流的渲染、第二列中的第二和第五流的渲染、以及第三列中的第三和第四流的渲染的布置。在图2D和图2E中所示的用户界面之间的转换中,用户界面转换到包括第一列中的第一流的渲染、第二列中的第二流的渲染、第三列中的第三流的渲染、以及第四列中的第四和第五流的渲染的布置。在图2E和图2F中所示的用户界面之间的转换中,用户界面转换到包括第一列中的第一流的渲染、第二列中的第二流的渲染、第三列中的第三流的渲染、第四列中的第四流的渲染、以及第五列中的第五流的渲染的布置。如将根据下文描述的,当用户界面120被重新调整形状或者重新调整大小时,在本文中所公开的技术(包括结合图7所描述的例程)能够被用于基于多个流、可用显示区域的纵横比以及目标纵横比来确定流渲染的布局。
现在转向图3,下文示出并且描述了用于配置包括视频流渲染的布置的用户界面的另一示例性过程。在该示例中,当用户界面120由于显示屏幕的取向改变而被重新调整形状时,配置用户界面内的视频流渲染的布置。在该示例中,当设备从纵向旋转到横向时,可用显示区域(例如,显示屏的可视部分)的纵横比被修改。基于可用显示区域的纵横比、给定的目标纵横比以及所选择的流的数量,所述系统能够布置每个所选择的流的渲染,以优化对每个流的显示。在该示例中,在纵向模式下,所述系统能够为前三个流111A-111C创建个体行,并且将第四流和第五流以并排配置定位在第四行中。在横向模式中,所述系统能够为第一流111A创建个体列,为第二流和第四流创建第二列,以及为第三流和第五流创建第三列。如下文更详细描述的,能够进一步定制这些布局以利用对目标纵横比的调整来优化对可用显示区域的使用。这样的布置能够通过递归划分过程(例如图7的例程500)、每次重新定向屏幕时、每次对窗口重新调整形状或调整大小时或者每次分配可用显示区域时生成。
现在参考图4A-4S,下文示出并且描述了用于配置包括视频流渲染的布置的用户界面的过程。在该示例中,可用显示区域401将被用于显示由客户端设备接收的九个个体视频流的九个渲染。九个个体视频流的渲染是基于将流添加到通信会话中的次序来布置的。将渲染添加到用户界面的次序和位置能够使显著流的渲染的移动最小化并且使位于显著流的渲染附近的流渲染的移动最小化。流渲染也能够以相同的次序被移除以使显著流的渲染的移动最小化并且使位于显著流的渲染附近的流渲染的移动最小化。
通常,用于确定用户界面内的视频流渲染的布置的过程是递归的并且将可用显示区域划分为具有用于显示每个视频流渲染的单元的分块(在本文中也被称为“划分”)。分块能够是水平分块(“分块行”)或者垂直分块(“分块列”),这取决于可用显示区域401的纵横比或者分块内的单元的纵横比。该过程能够通过使用指定的目标纵横比来优化每个单元的位置和形状。目标纵横比能够是任意小数值,例如,4:3(1.33)、1:2(0.5)、1:1(1)、7:9(.77)等。通过基于目标纵横比来优化用户界面,以如下方式配置可用显示区域的划分:减轻在用户界面内的渲染的移动,从而用户不被添加或删除的渲染的移动而分散注意力。单元的次序按字母顺序来标记,以例示说明每个单元在其他单元被添加到用户界面布置时如何保持其相对位置。能够根据在这些示例中所示的标记序列来添加或移除单元。出于例示说明目的,“网格”是“分块”的阵列。“网格”也具有目标纵横比(TAR)和定义其分块是垂直分块(“列”)还是水平分块(“行”)的属性。“分块”是“单元”的阵列。“单元”是分块的细分,并且具有用于保持对其被添加到网格中的次序的跟踪的“次序”属性。每个单元被保留用于视频流的单个渲染。每个单元的纵横比是基于可用显示区域的纵横比、每个分块的纵横比以及每个分块的单元的数量的。
所述过程能够开始于分析被提供给客户端的所选择的流的数量以确定可用显示区域具有的单元数量是否等于所选择的流的数量。如果可用显示区域具有的单元数量等于所选择的流的数量,则所述系统能够显示渲染。例如,如果客户端设备将仅显示一个所选择的流并且可用显示区域包含一个单元,则可用显示区域不被划分,并且客户端设备将渲染所选择的流来填充整个可用显示区域。
返回到当前在图4A中所示的示例,假定客户端设备将显示九(9)个所选择的视频流。为了开始所述过程,可用显示区域以单个分块411开始,所述分块411是以一个单元“单元A 412A”开始的分配区域。因为所选择的流的数量大于单元的数量,所以所述过程进行到划分可用显示区域401的操作。
在一个说明性示例中,当可用显示区域401的纵横比不满足目标纵横比条件时,能够垂直地划分可用显示区域401。在一些实施例中,当可用显示区域401的纵横比大于目标纵横比时,可用显示区域401的纵横比不满足目标纵横比条件。在一些实施例中,当可用显示区域401的纵横比大于或等于目标纵横比时,可用显示区域401的纵横比不满足目标纵横比条件。在一些实施例中,如果可用显示区域401的纵横比不小于目标纵横比,则可用显示区域401的纵横比不满足目标纵横比条件。
当可用显示区域401的纵横比满足纵横比条件时,能够水平地划分可用显示区域401。在一些实施例中,当可用显示区域401的纵横比小于目标纵横比时,可用显示区域401的纵横比满足目标纵横比条件。提供这些示例仅用于例示说明的目的,而不应当被解释为限制性的。能够意识到,由在本文中所公开的技术可以利用任意条件。一般而言,如果单元或显示区域的宽度和高度分别大于目标值,则可以水平地划分单元或显示区域;以及如果单元或显示区域窄于目标值,则可以垂直地划分单元或显示区域。在本文中所公开的技术能够利用定义宽度和高度值的纵横比的一般定义。然而,在本文中所公开的技术也能够利用定义查看单元或显示区域的形状的其他定义,例如,宽度/高度或者高度/宽度等。在这样的实施例中,如果使用相反或不同的定义(例如,宽度/高度或者高度/宽度)来设置阈值,则目标纵横比条件能够相应地利用目标值“逆”比率或者“更大”或“更小”。
在图4A的示例中,出于例示说明的目的,给定目标纵横比是7:9并且针对一个的可用显示区域的纵横比是1:1。当使用上文定义的纵横比条件来处理这样的参数时,如在图4B中所示的,可用显示区域被垂直地划分。具体而言,目标纵横比小于可用显示区域的纵横比。因此,可用显示区域被垂直地划分,并且生成定义垂直分块的数据。当可用显示区域被垂直地划分时,由划分得到的每个部分被填充有垂直分块411,每个分块包含一个单元。在该示例中,每个垂直分块411分别被填充有第一单元(单元A 412A)和第二单元(单元B412B)。每个单元能够基于每个流的优先级而被填充有视频流渲染。在一些配置中,能够基于参与者加入通信会话的次序来对流渲染进行优先化。在一些配置中,能够基于与每个流相关联的活动级别来对流进行优先化,所述活动级别诸如是在流中所描绘的参与者的移动级别、在流中所描绘的参与者的音量级别等。每个流能够基于优先级被定位在每个单元内,例如,单元A能够被用于显示具有第一优先级的流,而单元B能够被用于显示具有第二优先级的流。流的优先级能够基于流加入通信会话的次序、在流中所描述的内容类型(例如word文档与数据电子表格),或者基于在流的视频分量中所描绘的人数的给定优先级。
接下来,如在图4C中所示的,对所述分块进行分析以确定所述分块是否被单元均等地填充。在该示例中,每个分块411仅包含一个单元,例如,单元被均等地填充。因此,所述过程继续到分析至少一个单元的操作。
图4D图示了用于分析用户界面的单元的操作的各方面。针对该操作,能够选择任意单元进行分析。在一些配置中,可以选择底部单元、分块的右侧的单元或者最近添加的单元。在该示例中,选择了单元B 412B。在该操作中,如果所选择的单元的纵横比小于目标纵横比(CAR<TAR)并且如果所选择的单元位于垂直分块中,则将新单元添加到最后一个分块,例如,最后一个分块能够被横向地划分。在该特定示例中,由于所选择的单元位于垂直分块中,并且由于所选择的单元的纵横比1:2小于目标纵横比7:9,因此将新单元(单元C 412C)添加到最后一个分块,如在图4E中所示的。
每次添加新单元时,系统检查单元的数量是否等于所选择的流的数量。一旦单元的数量等于所选择的流的数量,例程就能够终止。例如,如果所选择的流的数量是三,则进一步划分显示区域的递归过程将以图4E中所示的配置终止。然而,返回当前示例,假定所选择的流的数量为九,则例程继续在图4F中所示的操作。
一旦添加了单元,并且如果单元的数量小于所选择的流的数量,则所述过程在系统确定单元是否被均等地填充的操作处重新开始。如在图4F中所示的,假定垂直分块411不具有相同数量的单元,则将新单元被添加到具有最少数量的单元的分块中。如在图4G中所示的,新单元(单元D 412D)被添加到第一分块。
如上文所描述的,每次添加单元时,并且如果单元的数量小于所选择的流的数量,则过程开始于系统确定单元是否被均等地填充的操作。在图4H中所示的状态中,确定所述分块被均等地填充。如果确定所述分块被均等地填充,则所述过程进行到选择所述单元中的一个单元进行分析的操作。能够选择所述单元中的任意一个单元以进行分析。在一些配置中,能够选择显示区域的右下角单元以进行分析。在该示例中,选择单元C 412C以进行分析。所述分析能够将所选择的单元的纵横比与目标纵横比进行比较。
如果单元纵横比大于目标纵横比并且如果所选择的单元在垂直分块中,则系统旋转所述分块,例如,将垂直分块改变为水平分块,并且将新单元添加到最后一个分块。如在图4I中所示的,单元纵横比1:1大于目标纵横比7:9。结果,如在图4J中所示的,垂直分块被转换为水平分块413,其中,个体水平分块413与个体单元行对齐。在旋转所述分块之后,将新单元(诸如单元E 412E)添加到最后一个分块中。最后一个分块能够包括最右侧的分块和/或底部的分块。
一旦添加了单元,并且如果单元的数量小于所选择的流的数量,则所述过程在系统确定所述单元是否被均等地填充的操作处重新开始。在图4K中所示的显示区域的状态下,确定所述分块没有被均等地填充。顶部分块具有两个单元,而底部分块具有三个单元。结果,假定水平分块413不具有均等数量的单元,则将新单元添加到具有最少数量单元的分块中。如在图4L中所示的,新单元(单元F 412F)被添加到第一水平分块413。
同样地,一旦添加了单元,并且如果单元的数量小于所选择的流的数量,则所述过程在系统确定所述单元是否被均等地填充的操作处重新开始。在图4M中所示的显示区域的状态下,确定所述分块被均等地填充。如果确定所述分块被均等地填充,则所述过程进行到选择所述单元之一进行分析的操作。能够选择所述单元中的任意一个单元进行分析。在一些配置中,能够选择显示区域的右下角单元进行分析。在该示例中,如在图4N中所示的,选择单元E 412E进行分析。所述分析能够将所选择的单元的纵横比与目标纵横比进行比较。
如果单元纵横比小于目标纵横比并且如果所选择的单元在水平分块中,则所述系统旋转所述分块,例如,将水平分块改变为垂直分块,并且将新单元添加到最后一个分块。如在图4N中所示的,单元纵横比2:3小于目标纵横比7:9。结果,如在图4O中所示的,所述水平分块被转换为垂直分块411,其中,垂直分块411与每个现有的单元列对齐。在生成垂直分块411之后,将单元(诸如单元G 412G)添加到最后一个分块。最后一个分块能够包括右侧和/或底部分块。
一旦添加了单元,并且如果单元的数量小于所选择的流的数量,则所述过程在系统确定所述单元是否被均等地填充的操作处重新开始。在图4P中所示的显示区域的状态下,确定所述分块没有被均等地填充。最右侧的分块具有三个单元,而其他分块具有两个单元。结果,假定所述分块不具有相同数量的单元,则将新单元添加到具有最少数量单元的分块之一。如在图4Q中所示的,新单元(单元H 412H)被添加到中间分块411。在具有最少数量的单元的两个分块的这样的实施例中,能够选择右侧和/或底部分块来插入新单元。
一旦添加了单元,并且如果单元的数量小于所选择的流的数量,则所述过程在系统确定所述单元是否被均等地填充的操作处重新开始。在图4R中所示的显示区域的状态下,确定所述分块没有被均等地填充。中间和最右侧的分块具有三个单元,而左侧的分块具有一个单元。结果,假定所述分块不具有相同数量的单元,则将新单元添加到具有最少数量单元的分块之一。如在图4S中所示的,新单元(单元I 412I)被添加到左侧分块411。由于单元的数量等于所选择的流的数量,因此递归划分过程能够终止。
现在参考图5A-5I,在下文中示出并且描述了用于配置包括视频流渲染的布置的用户界面的另一示例性过程。该示例遵循上文所描述的回归过程,也使用具有1:1纵横比的初始可用显示区域401。然而,在该示例中,目标纵横比是4:3。该示例例示说明了能够如何通过仅改变目标纵横比来修改用户界面布置。在该示例中,可用显示区域401将被用于显示被选择用于显示的五个个体视频流的五个渲染。基于流被添加到通信会话的次序来布置个体视频流的渲染。渲染被添加到用户界面的次序和位置能够使显著流的渲染的移动最小化并且使位于显著流的渲染附近的流渲染的移动最小化。
所述过程能够开始于分析多个所选择的流以确定可用显示区域具有的单元数量是否等于所选择的流的数量。如果可用显示区域的单元数量等于所选择的流的数量,则系统能够显示渲染。例如,如果客户端设备仅显示一个所选择的流并且可用显示区域包含一个单元,则可用显示区域不被划分,并且客户端设备将渲染所选择的流填充整个可用显示区域。
在图5A的当前示例中,假定客户端设备将显示五(5)个所选择的视频流。为了开始所述过程,可用显示区域以单个分块411开始,分块411是以一个单元“单元A 412A”开始的分配区域。由于所选择的流的数量大于单元的数量,因此所述过程进行到划分可用显示区域401的操作。在任意实施例中,当可用显示区域401仅包含一个分块时,所述分块可以是水平分块或垂直分块。
在一个说明性示例中,当可用显示区域401的纵横比不满足目标纵横比条件时,能够垂直地划分可用显示区域401。在一些实施例中,当可用显示区域401的纵横比大于目标纵横比时,可用显示区域401的纵横比不满足目标纵横比条件。在一些实施例中,如果可用显示区域401的纵横比不小于目标纵横比,则可用显示区域401的纵横比不满足目标纵横比条件。当可用显示区域401的纵横比满足纵横比条件时,能够水平地划分可用显示区域401。在一些实施例中,当可用显示区域401的纵横比小于目标纵横比时,可用显示区域401的纵横比满足所述目标纵横比条件。
在图5A的示例中,出于例示说明的目的,假定目标纵横比是4:3并且针对一个的可用显示区域的纵横比是1:1。当使用上文所定义的纵横比条件来处理这样的参数时,如在图5B中所示的,所述可用显示区域被水平地划分。具体而言,所述目标纵横比大于可用显示区域的纵横比。因此,所述可用显示区域被水平地划分并且生成定义水平分块的数据。当可用显示区域被水平地划分时,由所述划分得到的每个部分都被填充有水平分块413,每个分块包含一个单元。在该示例中,每个水平分块413分别被填充有第一单元(单元A 412A)和第二单元(单元B 412B)。每个单元都能够基于每个流的优先级而填充有视频流渲染。在一些配置中,能够基于参与者加入通信会话的次序来对流渲染进行优先化。在一些配置中,能够基于与每个流相关联的活动级别来对所述流进行优先化,诸如在流中所描绘的参与者的移动级别、在流中所描绘的参与者的音量级别等。每个流渲染能够基于每个流的优先级而被定位在每个单元内,例如,单元A能够被用于显示具有第一优先级的流,而单元B能够被用于显示具有第二优先级的流。
接下来,如在图5C中所示的,对所述分块进行分析以确定所述分块是否被均等地填充有单元。在该示例中,每个分块413仅包含一个单元,例如,所述单元被均等地填充。因此,所述过程继续到分析至少一个单元的操作。
图5D示出了用于分析用户界面的所选择的单元的操作的各方面。针对该操作,能够选择任意单元进行分析。在一些配置中,能够选择底部单元,或者能够选择最近添加的单元。在该示例中,选择了单元B 412B。在该操作中,如果所选择的单元的纵横比大于目标纵横比(CAR>TAR)并且如果所选择的单元在水平分块中,则将新单元添加到最后一个分块,例如,最后一个分块能够被垂直地划分。在该特定示例中,由于所选择的单元位于水平分块中,并且由于所选择的单元的纵横比2:1大于目标纵横比4:3,因此将新单元(单元C 412C)添加到最后一个分块,如在图5E中所示的。
每次添加新单元时,所述系统进行检查以查看单元的数量是否等于所选择的流的数量。一旦单元的数量等于所选择的流的数量,例程就能够终止。例如,如果所选择的流的数量为三,则进一步划分显示区域的递归过程将以在图5E中所示的配置终止。然而,返回到当前示例,假定所选择的流的数量为五并且单元的数量为三,例程继续进行在图5F中所示的操作。
一旦添加了单元,并且如果单元的数量小于所选择的流的数量,则所述过程在系统确定所述单元是否被均等地填充的操作处重新开始。如在图5F中所示的,假定分块413不具有相同数量的单元,则将新单元添加到单元数量最少的分块。如在图5G中所示的,新单元(单元D 412D)被添加到第一分块。
同样地,作为递归过程的一部分,一旦添加了单元,并且如果单元的数量小于所选择的流的数量,则所述过程在系统确定所述单元是否被均等地填充的操作处重新开始。在图5G中所示的状态下,确定所述分块被均等地填充。如果确定所述分块被均等地填充,则所述过程进行到选择单元之一进行分析的操作。能够选择所述单元中的任意一个单元进行分析。在一些配置中,能够选择显示区域的右下角单元进行分析。在该示例中,选择单元C412C进行分析。所述分析能够将所选择的单元的纵横比与目标纵横比进行比较。
如在图5H中所示的,如果单元纵横比小于目标纵横比(CAR<TAR)并且如果所选择的单元在水平分块中,则系统旋转所述分块,例如,将水平分块改变为垂直分块,并且将新单元添加到最后一个分块。在当前示例中,单元纵横比1:1小于目标纵横比4:3,并且所选择的单元位于水平分块中。结果,如在图5I中所示的,水平分块413被转换为垂直分块411,并且个体垂直分块411与个体单元行对齐。在旋转所述分块之后,将新单元(诸如单元E 412E)添加到最后一个分块。最后一个分块能够包括最右侧的分块和/或底部分块。此时,所述过程停止递归划分过程,因为所选择的流的数量等于可用显示区域中的单元数量。
现在参考图6,下文示出并且描述了基于可用显示区域的纵横比和各种目标纵横比配置的多个不同用户界面布置。这些示例说明了在本文中所公开的技术的多功能性。单个目标纵横比能够被用于配置具有任意纵横比的用户界面或可用显示区域。与上文所描述的示例类似,在单元内显示不同流的次序能够基于指定的字母,例如A、B、C等。
这些示例是出于说明性目的而被提供的,而不应当被解释为限制性的。能够意识到,能够使用任何目标纵横比来配置具有任何维度的可用显示区域的用户界面。同时,能够意识到,不同的目标纵横比能够被用于为任意给定的用户界面维度产生不同的布置以优化设备的屏幕空间,同时提供适合不同需求的各种不同的布置样式。
图7是图示了通过提供基于可用显示区域的纵横比和目标纵横比来动态地配置通信视频流布置的系统来改进用户参与度以及对计算资源的更有效使用的例程500的各方面的图。本领域普通技术人员应当理解,在本文中所公开的方法的操作不必以任何特定次序来呈现,并且以(一种或多种)替代次序执行一些或所有操作是可能的并且是预期的。为了便于描述和说明,所述操作已经按演示的次序呈现。在不背离所附权利要求的范围的情况下,可以添加、省略、一起执行和/或同时执行操作。
也应当理解,所例示说明的方法能够在任何时候结束并且不需要全部执行。能够通过执行被包括在计算机存储介质上的计算机可读指令来执行这些方法的一些或所有操作,和/或基本上等效的操作,如在本文中所定义的。如在说明书和权利要求中所使用的术语“计算机可读指令”以及其变体在本文中被宽泛地使用以包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等。计算机可读指令能够在各种系统配置上实现,包括单处理器或多处理器系统、小型计算机、大型计算机、个人计算机、手持计算设备、基于微处理器的可编程消费者电子产品、其组合等。
因此,应当意识到,在本文中所描述的逻辑操作被实现为:(1)在诸如在本文中所描述的那些的计算系统上运行的计算机实现的动作或程序模块的序列;和/或(2)在计算系统内的互连机器逻辑电路或电路模块。实现方式是取决于计算系统的性能和其他要求的选择问题。因此,逻辑操作可以利用软件、固件、专用数字逻辑以及其任意组合来实现。
另外,在图7以及其他图中所图示的操作能够关联上文所描述的示例性呈现UI来实现。例如,在本文中所描述的各种设备和/或模块能够生成、发送、接收和/或显示与通信会话的内容(例如,实况内容、广播事件、记录内容等)和/或包括与通信会话相关联的远程计算设备的一个或多个参与者的渲染的呈现UI相关联的数据。
例程500开始于操作502,其中,一个或多个计算模块接收多个流。如下文更详细描述的,系统能够管理从多个不同客户端设备接收的多个流。能够将所述流捆绑并且传送到个体计算设备,所述计算设备可以被用于显示每个流的不同布置。每个流可以包括音频分量和视频分量。
接下来,在操作504处,其中一个或多个计算设备分析所接收到的流以确定可用显示区域的单元数量是否等于被选择用于显示的流的数量。如果可用显示区域的单元数量等于所选择的流的数量,则例程能够终止或者返回到操作502,其中,所述一个或多个计算设备能够接收所述流并且显示所述流的渲染。如果所述一个或多个设备仅显示一个所选择的流,并且可用显示区域包含一个单元,则不划分可用显示区域,并且一个或多个设备渲染所选择的流。然而,在操作504处,如果所选择的流的数量大于用户界面的单元的数量,则例程500进行到操作506,其中,分析用户界面的分块以确定所述分块是否被均等地填充有单元。
在操作506处,如果用户界面的分块没有被均等地填充有单元,则例程500进行到操作508,其中,将单元添加到具有最少数量的单元的分块中。然而,如果用户界面的分块被均等地填充有单元,则例程500进行到操作510,其中,分析至少一个分块的所选择的单元以确定单元的纵横比是否满足一个或多个标准。
在一个说明性示例中,在操作510处,当仅有一个分块和一个单元时,当可用显示区域401的纵横比不满足目标纵横比条件时,可用显示区域401能够被垂直地划分。在一些实施例中,当可用显示区域401的纵横比大于目标纵横比时,可用显示区域401的纵横比不满足目标纵横比条件。在一些实施例中,如果可用显示区域401的纵横比不小于目标纵横比,则可用显示区域401的纵横比不满足目标纵横比条件。当可用显示区域401的纵横比满足纵横比条件时,能够水平地划分可用显示区域401。在一些实施例中,当可用显示区域401的纵横比小于目标纵横比时,可用显示区域401的纵横比满足目标纵横比条件。
在一些实施例中,在操作510处,如果所选择的单元的纵横比小于目标纵横比(CAR<TAR)并且如果所选择的单元处在垂直分块中,则例程500进行到操作512,其中,新单元被添加到最后一个分块,例如,最后一个分块能够被水平地划分。该操作的示例如在图4E中所示的。在该示例中,由于所选择的单元位于垂直分块中并且由于所选择的单元的纵横比1:2小于目标纵横比7:9,因此新单元(单元C 412C)被添加到最后一个分块。在操作512之后,例程500返回到操作504,其中,一个或多个设备确定流的数量是否等于用户界面中的单元的数量。
在一些实施例中,在操作510处,如果单元纵横比大于目标纵横比(CAR>TAR)并且如果所选择的单元处在垂直分块中,则例程500进行到操作514,系统旋转所述分块,例如,将垂直分块改变为水平分块,并且将新单元添加到最后一个分块。在图4I中示出了该操作的示例。在该示例中,单元纵横比1:1大于目标纵横比7:9。结果,如在图4J中所示的,垂直分块被转换为水平分块413,其中,个体水平分块413与个体单元行对齐。在旋转所述分块之后,新单元(诸如单元E 412E)被添加到最后一个分块。所述最后一个分块能够包括最右侧的分块和/或底部分块。在操作514之后,例程500返回到操作504,其中,一个或多个设备确定流的数量是否等于用户界面中的单元的数量。
在一些实施例中,在操作510处,如果单元纵横比小于目标纵横比(CAR<TAR)并且如果所选择的单元处在水平分块中,则例程500进行到操作514,其中,所述分块被旋转,例如,将水平分块改变为垂直分块,并且将新单元被添加到最后一个分块。该操作的示例如在图4N中所示的。在该示例中,单元纵横比2:3小于目标纵横比7:9。结果,如在图4O中所示的,所述水平分块被转换为垂直分块411,其中,垂直分块411与每个现有的单元列对齐。在生成垂直分块411之后,将诸如单元G 412G的新单元添加到最后一个分块。所述最后一个分块能够包括右侧和/或底部分块。在操作514之后,例程500返回到操作504,其中,一个或多个设备确定流的数量是否等于用户界面中的单元的数量。
在一些实施例中,在操作510处,如果所选择的单元的纵横比大于目标纵横比(CAR>TAR)并且如果所选择的单元处在水平分块中,则例程500进行到操作512,其中,新单元被添加到最后一个分块,例如,所述最后一个分块能够被垂直地划分。该操作的示例如在图5D中所示的。在该特定示例中,由于所选择的单元在水平分块中并且由于所选择的单元的纵横比2:1大于目标纵横比4:3,因此例程500进行到操作512,其中,新单元(单元C 412C)被添加到最后一个分块,如在图5E中所示的。在操作512之后,例程500返回到操作504,其中,一个或多个设备确定流的数量是否等于用户界面中的单元的数量。
应当意识到,上文所描述的主题可以被实现为计算机控制的装置、计算机进程、计算系统,或者被实现为诸如计算机可读存储介质的制品。示例性方法的操作在个体框中说明并且参考这些框进行总结。所述方法被图示为框的逻辑流,所述框中的每个框能够表示能够在硬件、软件或者其组合中实现的一个或多个操作。在软件的上下文中,操作表示被存储在一个或多个计算机可读介质上的计算机可执行指令,所述计算机可执行指令当由一个或多个处理器运行时,使得所述一个或多个处理器能够执行所列举的操作。
通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。描述操作的次序并不旨在被解释为限制,并且任何数量的描述操作可以以任何次序执行、以任何次序组合、细分为多个子操作和/或并行执行以实施所描述的过程。所描述的过程可以由与一个或多个设备相关联的资源执行,例如一个或多个内部或外部CPU或GPU,和/或一个或多个硬件逻辑,例如现场可编程门阵列(“FPGA”)、数字信号处理器(“DSP”)或其他类型的加速器。
上述所有方法和过程都可以体现在由一个或多个通用计算机或处理器执行的软件代码模块中并经由软件代码模块完全自动化。代码模块可以存储在任何类型的计算机可读存储介质或其他计算机存储设备中,例如下文描述的那些。一些或所有方法可以替代地体现在专用计算机硬件中,例如下文描述的那些。
在本文中所描述和/或在附图中描绘的流程图中的任何例程描述、元件或框应当被理解为潜在地表示包括用于实现例程中的特定逻辑功能或元素的一个或多个可执行指令的模块、段或代码部分。替代实现方式包含于在本文中所描述的示例的范围内,其中元件或功能可以被删除,或者与所示出或讨论的次序不同地执行,包括基本上同步或以相反的次序执行,这取决于所涉及的功能,如本领域技术人员将理解的。
图8是图示了系统602能够在其中实施在本文中所公开的技术的示例性环境600的图。在一些实现方式中,系统602可以用于收集、分析和共享定义被显示给通信会话604的用户的一个或多个对象的数据。
如所图示的,通信会话603可以在与系统602相关联或者作为系统602的一部分的多个客户端计算设备606(1)至606(N)(其中,N值为二或更大的数字)之间实现。客户端计算设备606(1)至606(N)使得用户(也被称为个体)能够参与通信会话603。
在该示例中,由系统602通过一个或多个网络608托管通信会话603。亦即,系统602能够提供使得客户端计算设备606(1)至606(N)的用户能够参与通信会话603的服务(例如,经由实况查看和/或录制查看)。因此,通信会话603的“参与者”能够包括用户和/或客户端计算设备(例如,多个用户可以在房间中经由使用单个客户端计算设备参与通信会话),每个参与者能够与其他参与者进行通信。作为替代,通信会话603能够由利用对等技术的客户端计算设备606(1)至606(N)之一托管。系统602也能够托管聊天对话以及其他团队协作功能(例如,作为应用套件的一部分)。
在一些实现方式中,这样的聊天对话以及其他团队协作功能被认为是与通信会话603不同的外部通信会话。在通信会话603中收集参与者数据的计算系统602能够链接到这样的外部通信会话。因此,所述系统可以接收使得能够连接到这样的外部通信会话的信息,诸如日期、时间、会话细节等。在一个示例中,能够根据通信会话603进行聊天对话。另外,系统602可以托管通信会话603,通信会话603至少包括共同位于会议地点(诸如会议房间或礼堂)或者位于不同的位置的多个参与者。
在本文中所描述的示例中,参与通信会话603的客户端计算设备606(1)至606(N)被配置为接收并且渲染通信数据以在显示屏的用户界面上显示。通信数据能够包括实况内容和/或记录内容的各种实例或流的集合。实况内容和/或记录内容的各种实例或流的集合可以由诸如摄像机的一个或多个相机来提供。例如,实况或记录内容的个体流能够包括与由摄像机提供的视频馈送相关联的媒体数据(例如,捕获参与通信会话的用户的外观和语音的音频和视觉数据)。在一些实现方式中,视频馈送可以包括这样的音频和视觉数据、一幅或多幅静止图像和/或一个或多个化身。一幅或多幅静止图像也可以包括一个或多个化身。
实况或记录内容的个体流的另一示例能够包括媒体数据,所述媒体数据包括参与通信会话的用户的化身以及捕获用户的语音的音频数据。实况或记录内容的个体流的又一示例能够包括媒体数据,所述媒体数据包括被显示在显示屏上的文件以及捕获用户的语音的音频数据。因此,在通信数据内的实况或记录的内容的各种流使得能够在一组人之间促进远程会议并且在该组人内共享内容。在一些实现方式中,在通信数据内的实况或记录的内容的各种流可以源自位于诸如房间的空间中的多个共同定位的摄像机,以实况记录或流送包括呈现所呈现的内容的一个或多个个体和消费所呈现内容的一个或多个个体。
参与者或出席者能够在活动发生时实时查看通信会话603的内容,或者替换地,在活动发生之后的稍后时间经由记录来查看通信会话603的内容。在本文中所描述的示例中,参与通信会话603的客户端计算设备606(1)至606(N)被配置为接收并且渲染通信数据以在显示屏的用户界面上显示。所述通信数据能够包括实况内容和/或记录内容的各种实例或流的集合。例如,内容的个体流能够包括与视频馈送相关联的媒体数据(例如,捕获参与通信会话的用户的外观和语音的音频和视觉数据)。内容的个体流的另一示例能够包括媒体数据,所述媒体数据包括参与会议会话的用户的化身以及捕获用户的语音的音频数据。内容的个体流的又一示例能够包括媒体数据,所述媒体数据包括被显示在显示屏上的内容项和/或捕获用户的语音的音频数据。因此,在通信数据内的内容的各种流使得能够在分散在远程位置的一组人之间促进会议或广播演示。
通信会话的参与者或出席者是处于相机或者其他图像和/或音频捕获设备范围内的人,使得在该人查看和/或收听经由通信会话共享的内容时产生的人的动作和/或声音能够被捕获(例如,记录)。例如,参与者可能正坐在人群中,在发生舞台演示的广播位置查看共享内容。或者,参与者可能正坐在办公室会议室中,经由显示屏查看与其他同事的通信会话的共享内容。更进一步,参与者可能正坐在或者站在个人设备(例如,平板计算机、智能电话、计算机等)前,在其办公室或家中单独查看通信会话的共享内容。
图8的系统602包括设备610。设备610和/或系统602的其他组件可以包括经由一个或多个网络608彼此通信和/或与客户端计算设备606(1)至606(N)通信的分布式计算资源。在一些示例中,系统602可以是独立系统,其任务是管理一个或多个通信会话(例如,通信会话603)的各方面。作为示例,系统602可以由诸如SLACK、WEBEX、GOTOMEETING、GOOGLEHANGOUTS等实体管理。
网络608可以包括例如诸如互联网的公共网络、诸如机构和/或个人内联网的私有网络,或者私有和公共网络的某种组合。网络608还可以包括任何类型的有线和/或无线网络,包括但不限于局域网(“LAN”)、广域网(“WAN”)、卫星网络、有线网络、Wi-Fi网络、WiMax网络、移动通信网络(例如,3G、4G等)或其任何组合。网络608可以利用通信协议,包括基于分组和/或基于数据报的协议,例如互联网协议(“IP”)、传输控制协议(“TCP”)、用户数据报协议(“UDP”)或其他类型的协议。此外,网络608还可以包括促进网络通信和/或形成网络硬件基础的多个设备,例如交换机、路由器、网关、接入点、防火墙、基站、中继器、骨干设备等。
在一些示例中,网络608还可以包括能够连接到无线网络的设备,例如无线接入点(“WAP”)。示例支持通过在各种电磁频率(例如射频)上发送和接收数据的WAP的连接,包括支持电气和电子工程师协会(“IEEE”)802.11标准(例如802.11g、802.11n、802.11ac等)和其他标准的WAP。
在各种示例中,设备610可以包括一个或多个计算设备,其在集群或其他分组配置中操作以共享资源、平衡负载、提高性能、提供故障转移支持或冗余,或用于其他目的。例如,设备610可以属于各种设备类别,例如传统服务器型设备、台式计算机型设备和/或移动型设备。因此,尽管被示为单一类型的设备或服务器类型的设备,但设备610可以包括多种设备类型并且不限于特定类型的设备。设备610可以代表但不限于服务器计算机、台式计算机、网络服务器计算机、个人计算机、移动计算机、膝上型计算机、平板计算机或任何其他类型的计算设备。
客户端计算设备(例如,客户端计算设备606(1)至606(N)中的一个)(其中的每一个在本文中也被称为“数据处理系统”)可以属于多种类别的设备,其可以与设备610相同或不同,例如传统的客户端型设备、台式计算机型设备、移动型设备、专用型设备、嵌入式设备和/或可穿戴设备。因此,客户端计算设备可以包括但不限于台式计算机、游戏控制台和/或游戏设备、平板计算机、个人数据助理(“PDA”)、移动电话/平板混合器、膝上型计算机、电信设备、计算机导航型客户端计算设备(例如基于卫星的导航系统,包括全球定位系统(“GPS”)设备)、可穿戴设备、虚拟现实(“VR”)设备、增强现实(“AR”)设备、植入式计算设备、汽车计算机、支持网络的电视、瘦客户端、终端、物联网(“IoT”)设备、工作站、媒体播放器、个人录像机(“PVR”)、机顶盒、相机、包含于计算设备中的集成组件(例如,外围设备)、电器或任何其他类型的计算设备。此外,客户端计算设备可以包括前面列出的客户端计算设备的示例的组合,例如台式计算机型设备或与可穿戴设备组合的移动型设备等。
各种类别和设备类型的客户端计算设备606(1)至606(N)可以表示具有可操作地例如经由总线616连接到计算机可读介质694的一个或多个数据处理单元692的任何类型的计算设备,在一些情况下,总线616可以包括系统总线、数据总线、地址总线、PCI总线、Mini-PCI总线和任何多种本地、外围和/或独立总线中的一种或多种。
被存储在计算机可读介质694上的可执行指令可以包括例如操作系统619、客户端模块620、简档模块622以及可由数据处理单元692加载和执行的其他模块、程序或应用。
客户端计算设备606(1)至606(N)还可以包括一个或多个接口624以实现通过网络608在客户端计算设备606(1)至606(N)与其他联网设备(例如设备610)之间的通信。这样的网络接口624可以包括一个或多个网络接口控制器(NIC)或其他类型的收发器设备以通过网络发送和接收通信和/或数据。此外,客户端计算设备606(1)至606(N)可以包括输入/输出(“I/O”)接口(设备)626,其支持与输入/输出设备进行通信,例如包括外围输入设备(例如,游戏控制器、键盘、鼠标、笔、诸如麦克风的语音输入设备、用于获得和提供视频馈送和/或静止图像的摄像机、触摸输入设备、手势输入设备等)的用户输入设备和/或包括外围输出设备(例如,显示器、打印机、音频扬声器、触觉输出设备等)的输出设备。图8图示了客户端计算设备606(1)以某种方式连接到显示设备(例如,显示屏629(N)),该显示设备可以根据在本文中所描述的技术显示UI。
在图8的示例环境600中,客户端计算设备606(1)至606(N)可以使用其各自的客户端模块620来相互连接和/或与其他外部设备连接以便参与通信会话603,或者以便向协作环境贡献活动。例如,第一用户可以利用客户端计算设备606(1)与另一客户端计算设备606(2)的第二用户通信。当执行客户端模块620时,用户可以共享数据,这可以使客户端计算设备606(1)通过网络608连接到系统602和/或其他客户端计算设备606(2)至606(N)。
客户端计算设备606(1)至606(N)可以使用其各自的简档模块622来生成参与者简档(在图8中未示出),并且将参与者简档提供给其他客户端计算设备和/或提供给系统602的(一个或多个)设备610。参与者简档可以包括以下中的一项或多项:用户或者一组用户的身份(例如,名称、独有标识符(“ID”)等),用户数据(诸如个人数据),机器数据(诸如位置(例如,IP地址、建筑物中的房间等))和技术能力等。参与者简档可以被用于注册参与者以进行通信会话。
如在图8中所示的,系统602的(一个或多个)设备610包括服务器模块630和输出模块632。在该示例中,服务器模块630被配置为从个体客户端计算设备(诸如客户端计算设备606(1)至606(N))接收媒体流634(1)至634(N)。如上文所描述的,媒体流能够包括视频馈送(例如,与用户相关联的音频和视频数据)、要与用户的化身的呈现一起输出的音频数据(例如,其中未传输用户的视频数据的纯音频体验)、文本数据(例如,文本消息)、文件数据和/或屏幕共享数据(例如,显示屏幕上显示的文档、幻灯片、图像、视频等),等等。因此,服务器模块630被配置为在通信会话603的实况查看期间接收各种媒体流634(1)至634(N)的集合(所述集合在本文中被称为“媒体数据634”)。在一些场景中,并非参与通信会话603的所有客户端计算设备都提供媒体流。例如,客户端计算设备可能仅是消费或“收听”设备,从而其仅接收与通信会话603相关联的内容,但是不向通信会话603提供任何内容。
在各种示例中,服务器模块630能够选择要与参与客户端计算设备606(1)至606(N)中的个体客户端计算设备共享的媒体流634的各方面。因此,服务器模块630可以被配置为基于流634生成会话数据636和/或将会话数据636传递到输出模块632。然后,输出模块632可以将通信数据639传送到客户端计算设备(例如,参与通信会话的实况查看的客户端计算设备606(1)至606(3))。通信数据639可以包括由输出模块632基于与输出模块632相关联的内容650和基于接收到的会话数据636提供的视频、音频和/或其他内容数据。内容650能够包括流634或者其他共享数据,诸如图像文件、电子表格文件、幻灯片、文档等。流634能够包括描绘由每个客户端计算机上的I/O设备626捕获的图像的视频分量。
如所示的,输出模块632向客户端计算设备606(1)传输通信数据639(1),并且向客户端计算设备606(2)传输通信数据639(2),并且向客户端计算设备606(3)传输通信数据639(3),等等。被传输到客户端计算设备的通信数据639能够相同或不同(例如,在用户界面内的内容流的定位可以从一个设备到下一设备而不同)。
在各种实现方式中,(一个或多个)设备610和/或客户端模块620能够包括GUI呈现模块640。GUI呈现模块640可以被配置为分析用于递送给一个或多个客户端计算设备606的通信数据639。具体而言,在(一个或多个)设备610和/或客户端计算设备606处的UI呈现模块640可以分析通信数据639以确定在相关联的客户端计算设备606的显示屏上显示视频、图像和/或内容的适当方式。在一些实现方式中,GUI呈现模块640可以向在相关联的客户端计算设备606的显示屏629上渲染的呈现GUI 646提供视频、图像和/或内容。GUI呈现模块640可以使得呈现GUI 646在显示屏629上被渲染。呈现GUI 646可以包括由GUI呈现模块640分析的视频、图像和/或内容。
在一些实现方式中,呈现GUI 646可以包括多个部分或网格,其可以渲染或包括视频、图像和/或内容用于在显示屏629上显示。例如,呈现GUI 646的第一部分可以包括呈现者或个体的视频馈送,呈现GUI 646的第二部分可以包括消费由呈现者或个体提供的会议信息的个体的视频馈送。GUI呈现模块640可以以适当地模仿呈现者和个体可能正在共享的环境体验的方式来填充呈现GUI 646的第一和第二部分。
在一些实现方式中,GUI呈现模块640可以放大或提供由视频馈送表示的个体的缩放视图,以便突出个体对呈现者的反应,诸如面部特征。在一些实现方式中,呈现GUI 646可以包括与会议相关联的多个参与者的视频馈送,诸如一般通信会话。在其他实现方式中,呈现GUI 646可以与诸如聊天信道、企业团队信道等的信道相关联。因此,呈现GUI 646可以与不同于一般通信会话的外部通信会话相关联。
图9图示了示出示例性设备700(在本文中也被称为“计算设备”)的示例性组件的图,该设备700被配置为生成用于本文中公开的一些用户界面的数据。设备700可以生成包括一个或多个部分的数据,这些部分可以渲染或包括视频、图像、虚拟对象和/或用于在显示屏629上显示的内容。设备700可以代表本文所描述的设备之一。另外或替代地,设备700可以代表客户端计算设备606之一。
如所图示的,设备700包括一个或多个数据处理单元702、计算机可读介质704和通信接口706。设备700的组件例如经由总线709可操作的连接,该总线709可以包括系统总线、数据总线、地址总线、PCI总线、Mini-PCI总线和任何多种本地、外围和/或独立总线中的一种或多种。
如在本文中所使用的,数据处理单元(例如,数据处理单元702和/或数据处理单元692)可以表示例如CPU型数据处理单元、GPU型数据处理单元、现场可编程门阵列(“FPGA”)、另一类DSP或在一些情况下可由CPU驱动的其他硬件逻辑组件。例如但不限于,可以利用的说明类型的硬件逻辑组件包括专用集成电路(“ASIC”)、专用标准产品(“ASSP”)、片上系统(“SOC”)、复杂可编程逻辑设备(“CPLD”)等。
如在本文中所使用的,计算机可读介质(例如,计算机可读介质704和计算机可读介质694)可以存储可由数据处理单元执行的指令。计算机可读介质还可以存储可由外部数据处理单元(例如,由外部CPU、外部GPU)和/或由外部加速器(例如,FPGA类型加速器、DSP类型加速器或任何其他内部或外部加速器)可执行的指令。在各种示例中,至少一个CPU、GPU和/或加速器被并入计算设备中,而在一些示例中,CPU、GPU和/或加速器中的一个或多个在计算设备外部。
计算机可读介质(在本文中也可被称为计算机可读介质)可包括计算机存储介质和/或通信介质。计算机存储介质可以包括以下一种或多种:易失性存储器、非易失性存储器和/或其他持久性和/或辅助计算机存储介质、可移动和不可移动计算机存储介质,其以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术实现。因此,计算机存储介质包括有形和/或物理形式的介质,其包含于设备和/或作为设备的一部分或在设备外部的硬件组件中,包括但不限于随机存取存储器(“RAM”)、静态随机存取存储器(“SRAM”)、动态随机存取存储器(“DRAM”)、相变存储器(“PCM”)、只读存储器(“ROM”)、可擦除可编程只读存储器(“EPROM”)、电可擦除可编程只读存储器(“EEPROM”)、闪存、光盘只读存储器(“CD-ROM”)、数字多功能磁盘(“DVD”)、光卡或其他光存储介质、盒式磁带、磁带、磁盘存储、磁卡或其他磁性存储设备或介质、固态存储器设备、存储阵列、网络附加存储、存储区域网络、托管计算机存储设备或任何其他存储存储器、存储设备和/或可用于存储和维护信息以供计算设备访问的存储介质。
与计算机存储介质相比,通信介质可以将计算机可读指令、数据结构、程序模块或其他数据体现在已调制数据信号中,例如载波或其他传输机制。如本文定义的,计算机存储介质不包括通信介质。亦即,计算机存储介质不包括本身仅由已调制数据信号、载波或传播信号组成的通信介质。
通信接口706可以表示例如网络接口控制器(“NIC”)或其他类型的收发器设备以通过网络发送和接收通信。此外,通信接口706可以包括一个或多个摄像机和/或音频设备722以实现视频馈送和/或静止图像等的生成。
在所示示例中,计算机可读介质704包括数据存储708。在一些示例中,数据存储708包括数据存储设备,例如数据库、数据仓库或其他类型的结构化或非结构化数据存储设备。在一些示例中,数据存储708包括具有一个或多个表、索引、存储过程等的语料库和/或关系数据库以实现数据访问,包括例如一个或多个超文本标记语言(“HTML”)表、资源描述框架(“RDF”)表、网络本体语言(“OWL”)表和/或可扩展标记语言(“XML”)表。
数据存储708可以存储用于存储在计算机可读介质704中和/或由数据处理单元702和/或加速器执行的进程、应用、组件和/或模块的操作的数据。例如,在一些示例中,数据存储708可以存储会话数据710(例如,如图8所示的会话数据636)、简档数据712(例如,与参与者简档相关联)和/或其他数据。会话数据710可以包括通信会话中的参与者(例如,用户和/或客户端计算设备)的总数、在通信会话中发生的活动、通信会话的受邀者列表和/或与何时以及如何进行或托管通信会话有关的其他数据。数据存储708还可以包括内容数据714,例如包括视频、音频或用于在一个或多个显示屏629上渲染和显示的其他内容的内容。
替代地,一些或所有上述数据可以存储在一个或多个数据处理单元702上的单独存储器716上,例如CPU型处理器、GPU型处理器、FPGA型加速器、DSP型加速器和/或其他加速器上的存储器。在该示例中,计算机可读介质704还包括操作系统718和被配置为将设备700的功能和数据暴露给其他设备的应用编程接口710(API)。此外,计算机可读介质704包括一个或多个模块,例如服务器模块730、输出模块732和GUI呈现模块740,但是所示模块的数量只是示例,并且数量可以变得更高或更低。亦即,本文结合所示模块描述的功能可以由一个设备上的或跨多个设备的更少数量的模块或更多数量的模块执行。
在本文中所呈现的公开内容也涵盖在以下条款中所阐述的主题。
条款A:一种由计算系统110执行的方法,所述方法包括:接收多个流111,所述多个流中的个体流包括视频分量;分析所述多个流111以识别具有描绘至少阈值118数量的个体119A的至少一个视频分量的选定流111A;从多个预设纵横比中选择第一纵横比131,为具有描绘至少所述阈值118数量的个体119A的一个或多个视频分量的所述选定流111A保留所述第一纵横比;从所述多个预设纵横比中选择第二纵横比132,为具有描绘少于阈值118数量的个体119B的一个或多个视频分量的其他流保留第二纵横比,其中,所述第一纵横比131大于所述第二纵横比132;使得通信会话数据113和所述多个流111传输到多个客户端计算设备101,所述通信会话数据113使得所述多个客户端计算设备101显示用户界面120,所述用户界面120包括具有描绘至少所述阈值118数量的个体119A的视频分量的所述选定流111A的第一集合的个体渲染111A',使用利用所述多个描绘的个体选择的所述第一纵横比显示所述第一集合的个体渲染,以及具有描绘少于所述阈值118数量的个体119B-119E的所述一个或多个视频分量的所述其他流111B-111E的第二集合的个体渲染111B'-111E',所述第二集合的个体渲染具有小于所述第一纵横比131的第二纵横比132。
条款B:条款A的方法,还包括:分析具有描绘少于所述阈值118数量的个体119B-119E的所述一个或多个视频分量的所述其他流111B-111E以确定所述其他流111B-111E的一个或多个视频分量是否开始描绘所述阈值数量的个体;以及响应于确定所述其他流111B-111E的一个或多个视频分量是否开始描绘所述阈值数量的个体,来修改所述通信会话数据113以使得所述用户界面120将所述其他流中开始描绘所述阈值数量的个体的至少一个流的显示从所述第二纵横比转换为所述第一纵横比。
条款C:条款A和B的方法,还包括:分析具有描绘至少所述阈值118数量的个体119E的视频分量的所述选定流111E以确定所述选定流111E的一个或多个视频分量是否开始描绘少于所述阈值数量的个体;以及响应于确定所述选定流111E的一个或多个视频分量是否开始描绘少于所述阈值数量的个体,来修改通信会话数据113以使得所述用户界面120将开始描绘少于所述阈值数量的个体的选定流111E的显示从所述第一纵横比转换到所述第二纵横比。
条款D:条款A至C的方法,还包括:分析所述多个流以确定在每个流的所述视频分量中描绘的人的数量;以及配置所述用户界面以基于在每个流的所述视频分量中描绘的所述人的数量来对每个流的个体渲染进行排序。
条款E:条款A至D的方法,其中,目标纵横比是基于与计算系统通信的显示设备的一个或多个维度来选择的,其中,所述第一纵横比大于所述目标纵横比并且所述第二纵横比小于所述目标纵横比。
条款F:条款A至E的方法,其中,所述第一纵横比大于第一目标纵横比,并且所述第二纵横比小于第二目标纵横比。
条款G:条款A至F的方法,其中,所述第一目标纵横比和所述第二目标纵横比是基于与计算系统通信的显示设备的一个或多个维度来选择的。
条款H:条款A至G的方法,还包括:接收用户输入以调整所述第一纵横比;生成定义基于用于调整所述第一纵横比的所述输入的经调整的目标纵横比的使用数据,如果所述用户输入增加所述第一纵横比,则所述经调整的目标纵横比大于所述目标纵横比;以及存储所述经调整的目标纵横比,使得所述方法的后续执行将所述第一纵横比设置为大于或等于所述经调整的目标纵横比的值。
条款I:条款A至H的方法,还包括:接收用户输入以调整所述第二纵横比;生成定义基于用于调整所述第二纵横比的所述输入的经调整的目标纵横比的使用数据,如果所述用户输入减小所述第二纵横比,则所述经调整的目标纵横比小于所述目标纵横比;以及存储所述经调整的目标纵横比,使得所述方法的后续执行将所述第二纵横比设置为小于或等于所述经调整的目标纵横比的值。
条款J:一种系统101,包括:一个或多个处理单元692;以及在其上编码有计算机可执行指令的计算机可读介质694,所述计算机可执行指令用于使得所述一个或多个处理单元692用于:分析多个流111以识别具有描绘至少阈值118数量的个体119A的至少一个视频分量的选定流111A;从多个预设纵横比中选择第一纵横比131,所述第一纵横比是为具有描绘至少所述阈值118数量的个体119A的一个或多个视频分量的所述选定流111A保留的;从所述多个预设纵横比中选择第二纵横比132,所述第二纵横比是为具有描绘少于所述阈值118数量的个体119B的一个或多个视频分量的其他流保留的,其中,所述第一纵横比131大于所述第二纵横比132;使得显示用户界面120,所述用户界面120包括具有描绘至少所述阈值118数量的个体119A的视频分量的所述选定流111A的第一集合的个体渲染111A',所述第一集合的个体渲染是使用利用所述多个描绘的个体选择的所述第一纵横比显示的,以及具有描绘少于所述阈值118数量的个体119B-119E的所述一个或多个视频分量的所述其他流111B-111E的第二集合的个体渲染111B'-111E',所述第二集合的个体渲染具有小于所述第一纵横比131的第二纵横比132。
条款K:条款J的系统,其中,所述指令还使得所述一个或多个处理单元用于:分析具有描绘少于所述阈值118数量的个体119B-119E的所述一个或多个视频分量的所述其他流111B-111E以确定所述其他流111B-111E的一个或多个视频分量是否开始描绘所述阈值数量的个体;并且响应于确定所述其他流111B-111E的一个或多个视频分量是否开始描绘所述阈值数量的个体,来修改所述用户界面120以使用所述第一纵横比来显示所述其他流中开始描绘所述阈值数量的个体的至少一个流。
条款L:条款J和K的系统,其中,所述指令还使得所述一个或多个处理单元用于:分析具有描绘至少所述阈值118数量的个体119E的视频分量的所述选定流111E以确定所述选定流111E的一个或多个视频分量是否开始描绘少于所述阈值数量的个体;以及响应于确定所述选定流111E的一个或多个视频分量是否开始描绘少于所述阈值数量的个体,来修改所述通信会话数据113以使得所述用户界面120将使用所述第二纵横比来显示开始描绘少于所述阈值数量的个体的所述选定流111E。
条款M:条款J至L的系统,其中,所述指令还使得所述一个或多个处理单元用于:分析所述多个流以确定在每个流的所述视频分量中描绘的人的数量;以及配置所述用户界面以基于在每个流的所述视频分量中描绘的所述人的数量来对每个流的个体渲染进行排序。
条款N:条款J至M的系统,其中,目标纵横比是基于与计算系统通信的显示设备的一个或多个维度来选择的,其中,所述第一纵横比大于所述目标纵横比并且所述第二纵横比小于所述目标纵横比。
条款O:一种系统110,包括:用于接收多个流111的单元,所述多个流中的个体流包括视频分量;用于分析所述多个流111以识别具有描绘至少阈值118数量的个体119A的至少一个视频分量的选定流111A的单元;用于从多个预设纵横比中选择第一纵横比131的单元,所述第一纵横比是为具有描绘至少所述阈值118数量的个体119A的一个或多个视频分量的所述选定流111A保留的;用于从所述多个预设纵横比中选择第二纵横比132的单元,所述第二纵横比是为具有描绘少于所述阈值118数量的个体119B的一个或多个视频分量的其他流保留的,其中,所述第一纵横比131大于所述第二纵横比132;用于使得显示用户界面120的单元,所述用户界面120具有所述选定流111A的第一集合的个体渲染111A',使用所述第一纵横比来显示每个个体渲染,以及所述其他流111B-111E的第二集合的个体渲染111B'-111E',其使用小于所述第一纵横比131的第二纵横比132进行显示。
条款P:条款O的方法,还包括:用于分析具有描绘少于阈值118数量的个体119B-119E的所述一个或多个视频分量的所述其他流111B-111E以确定所述其他流111B-111E的一个或多个视频分量是否开始描绘所述阈值数量的个体的单元;以及用于修改所述通信会话数据113以使得所述用户界面120将所述其他流中至少一个流的所述显示从所述第二纵横比转换为所述第一纵横比的单元,所述转换响应于确定所述其他流111B-111E的一个或多个视频分量是否开始描绘所述阈值数量的个体。
条款Q:条款O和P的系统,还包括:用于分析具有描述至少所述阈值118数量的个体119E的视频分量的所述选定流111E以确定所述选定流111E的一个或多个视频分量是否开始描绘少于所述阈值数量的个体的单元;以及用于修改所述通信会话数据113以使得所述用户界面120将显示所述选定流111E从所述第一纵横比转换到使用所述第二纵横比的单元,其中,所述转换的发生响应于确定所述选定流111E的一个或多个视频分量是否开始描绘少于所述阈值数量的个体
条款R:条款O至Q的系统,还包括:用于分析所述多个流以确定在每个流的所述视频分量中描绘的人的数量的单元;以及用于配置所述用户界面以基于在每个流的所述视频分量中描绘的所述人的数量来对每个流的个体渲染进行排序的单元。
条款S:条款O至R的系统,其中,目标纵横比是基于与计算系统通信的显示设备的一个或多个维度来选择的,其中,所述第一纵横比大于所述目标纵横比并且所述第二纵横比小于所述目标纵横比。
条款T:条款O至S的系统,其中,所述第一纵横比大于所述第一目标纵横比,并且所述第二纵横比小于第二目标纵横比。
还应当意识到,可以对上文所描述的示例进行许多变化和修改,其元素应当被理解为在其他可接受的示例中。所有这样的修改和变化都旨在被包含在本公开的范围内并且受以下权利要求保护。
最后,尽管各种配置已经以特定于结构特征和/或方法行为的语言进行了描述,但是应当理解,在所附的表示中定义的主题不一定限于所描述的特定特征或行为。相反,具体特征和动作被公开为实现要求保护的主题的示例形式。

Claims (15)

1.一种由计算系统执行的方法,所述方法包括:
接收多个流,所述多个流中的个体流包括视频分量;
接收基于目标纵横比来定义目标纵横比条件的配置数据;
通过以下操作来配置定义用户界面的用户界面数据:
如果可用显示区域的纵横比不满足所述目标纵横比条件,则垂直地划分可用显示区域,以创建第一垂直分块和第二垂直分块,或者
如果所述可用显示区域的所述纵横比满足所述目标纵横比条件,则水平地划分所述可用显示区域,以创建第一水平分块和第二水平分块;
递归地划分所述垂直分块或所述水平分块以插入与流的数量相等数量的单元,其中,个体单元基于所述目标纵横比条件以及在所述垂直分块内的所述个体单元的纵横比或者在所述水平分块内的个体单元的纵横比中的至少一个而被布置在所述垂直分块或所述水平分块内;以及
使得显示所述用户界面,所述用户界面具有通过所述目标纵横比条件以及在所述垂直分块内的个体单元的纵横比或者在所述水平分块内的个体单元的纵横比中的至少一个而布置的多个单元,其中,所述多个单元中的个体单元各自包括所述多个流中的个体流的渲染,其中,每个单元的纵横比是基于所述水平分块或所述垂直分块的划分数量的。
2.根据权利要求1所述的方法,其中,如果所述可用显示区域的所述纵横比大于目标纵横比,则所述可用显示区域的所述纵横比不满足所述目标纵横比条件。
3.根据权利要求1所述的方法,其中,如果所述可用显示区域的所述纵横比大于或等于目标纵横比,则所述可用显示区域的所述纵横比不满足所述目标纵横比条件。
4.根据权利要求1所述的方法,其中,递归地划分所述垂直分块或所述水平分块包括:
确定所述垂直分块被均等地填充有单元;以及
响应于确定所述垂直分块被均等地填充有单元,并且如果在所选择的垂直分块内存在的所述个体单元的纵横比小于目标纵横比,则将新单元添加到所选择的垂直分块,以使得水平划分所选择的垂直分块。
5.根据权利要求4所述的方法,还包括:
确定所述第一垂直分块和所述第二垂直分块是否被均等地填充有单元;以及
响应于确定所述第一垂直分块和所述第二垂直分块没有被均等地填充有单元,将新单元添加到具有最少数量的单元的垂直分块。
6.根据权利要求5所述的方法,还包括:
确定所述垂直分块被均等地填充有单元;以及
响应于确定所述垂直分块被均等地填充有单元,并且如果在所选择的垂直分块内存在的个体单元的纵横比大于所述目标纵横比,则生成定义从所述垂直分块到新的水平分块的转换的数据,并且将新单元添加到所述新的水平分块之一。
7.根据权利要求1所述的方法,其中,如果可用显示区域的所述纵横比小于目标纵横比,则所述可用显示区域的所述纵横比满足所述目标纵横比条件。
8.根据权利要求1所述的方法,其中,递归地划分所述垂直分块或所述水平分块包括:
确定所述第一水平分块和所述第二水平分块被均等地填充有单元;以及
响应于确定所述第一水平分块和所述第二水平分块被均等地填充有单元,并且如果在所选择的水平分块内存在的所述个体单元的纵横比大于目标纵横比,则将新单元添加到所选择的水平分块,以使得垂直划分所选择的水平分块。
9.根据权利要求8所述的方法,还包括:
确定所述第一水平分块和所述第二水平分块是否被均等地填充有单元;以及
响应于确定所述第一水平分块和所述第二水平分块没有被均等地填充有单元,将新单元添加到具有最少数量的单元的水平分块。
10.根据权利要求9所述的方法,还包括:
确定所述第一水平分块和所述第二水平分块是否被均等地填充有单元;以及
响应于确定所述第一水平分块和所述第二水平分块被均等地填充有单元,并且如果在所选择的水平分块内存在的个体单元的纵横比小于所述目标纵横比,则生成定义从所述水平分块到新的垂直分块的转换的数据,并且将新单元添加到所述新的垂直分块之一。
11.一种由计算系统执行的方法,所述方法包括:
接收多个流,所述多个流中的个体流包括视频分量;
接收定义目标纵横比的配置数据;
通过以下操作来配置定义用户界面的用户界面数据:
如果可用显示区域的纵横比大于所述目标纵横比,则垂直地划分所述可用显示区域,以在所述可用显示区域内生成第一垂直分块和第二垂直分块,或者
如果所述显示区域的所述纵横比小于所述目标纵横比,则水平地划分所述可用显示区域,以在所述可用显示区域内生成第一水平分块和第二水平分块;
利用个体单元来配置所述垂直分块或所述水平分块;以及
基于所述目标纵横比与在所述垂直分块内的个体单元的纵横比或者在所述水平分块内的个体单元的纵横比中的至少一个的比较,使得显示所述用户界面,所述用户界面具有被布置在所述垂直分块或所述水平分块内的所述单元,其中,所述个体单元各自包括所述多个流中的个体流的渲染。
12.根据权利要求11所述的方法,还包括:
确定所述第一垂直分块和所述第二垂直分块被均等地填充有单元;以及
确定所述第一垂直分块和所述第二垂直分块被均等地填充有单元,并且如果在所选择的垂直分块内存在的个体单元的纵横比小于所述目标纵横比,则将新单元添加到所选择的垂直分块,以使得水平划分所选择的垂直分块。
13.根据权利要求12所述的方法,还包括:
确定所述第一垂直分块和所述第二垂直分块是否被均等地填充有单元;以及
响应于确定所述第一垂直分块和所述第二垂直分块没有被均等地填充有单元,将新单元添加到具有最少数量的单元的垂直分块。
14.根据权利要求11所述的方法,还包括:
确定所述第一垂直分块和所述第二垂直分块是否被均等地填充有单元;以及
响应于确定所述第一垂直分块和所述第二垂直分块是否被均等地填充有单元,并且如果在所选择的垂直分块内存在的个体单元的纵横比大于所述目标纵横比,则生成定义从所述垂直分块到新的水平分块的转换的数据,并且将新单元添加到所述新的水平分块之一,以使得垂直划分所述新的水平分块中的所选择的水平分块。
15.根据权利要求11所述的方法,其中,递归地划分所述垂直分块或所述水平分块包括:
确定所述第一水平分块和所述第二水平分块被均等地填充有单元;以及
响应于确定所述第一水平分块和所述第二水平分块被均等地填充有单元,并且如果在所选择的水平分块内存在的所述个体单元的纵横比大于目标纵横比,则将新单元添加到所选择的水平分块,以使得垂直划分所选择的水平分块。
CN202080093271.XA 2020-01-15 2020-11-19 基于可用显示区域的纵横比的通信视频流布置的动态配置 Pending CN114946175A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/743,391 2020-01-15
US16/743,391 US11064256B1 (en) 2020-01-15 2020-01-15 Dynamic configuration of communication video stream arrangements based on an aspect ratio of an available display area
PCT/US2020/061145 WO2021145951A1 (en) 2020-01-15 2020-11-19 Dynamic configuration of communication video stream arrangements based on an aspect ratio of an available display area

Publications (1)

Publication Number Publication Date
CN114946175A true CN114946175A (zh) 2022-08-26

Family

ID=73835775

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080093271.XA Pending CN114946175A (zh) 2020-01-15 2020-11-19 基于可用显示区域的纵横比的通信视频流布置的动态配置

Country Status (4)

Country Link
US (1) US11064256B1 (zh)
EP (1) EP4091320A1 (zh)
CN (1) CN114946175A (zh)
WO (1) WO2021145951A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11050973B1 (en) 2019-12-27 2021-06-29 Microsoft Technology Licensing, Llc Dynamically controlled aspect ratios for communication session video streams
USD982605S1 (en) * 2020-04-02 2023-04-04 Basf Coatings Gmbh Display screen or portion thereof with graphical user interface
US11995776B2 (en) * 2021-01-19 2024-05-28 Samsung Electronics Co., Ltd. Extended reality interaction in synchronous virtual spaces using heterogeneous devices
US11736660B2 (en) 2021-04-28 2023-08-22 Zoom Video Communications, Inc. Conference gallery view intelligence system
CN113691602B (zh) * 2021-08-17 2024-04-05 北京百度网讯科技有限公司 基于云手机的业务处理方法、系统、装置、设备及介质
US11695808B2 (en) * 2021-08-31 2023-07-04 Cisco Technology, Inc. Virtual collaboration with multiple degrees of availability
US11843898B2 (en) 2021-09-10 2023-12-12 Zoom Video Communications, Inc. User interface tile arrangement based on relative locations of conference participants
US11778004B2 (en) * 2022-01-10 2023-10-03 Zoom Video Communications, Inc. Dynamic presentation of attentional elements within a communication session
US11882383B2 (en) 2022-01-26 2024-01-23 Zoom Video Communications, Inc. Multi-camera video stream selection for in-person conference participants
US20230412656A1 (en) * 2022-06-20 2023-12-21 Zoom Video Communications, Inc. Dynamic Aspect Ratio Adjustment During Video Conferencing

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030095663A (ko) 2002-06-14 2003-12-24 삼성전자주식회사 트리플 윈도우 구현이 가능한 영상처리장치 및 그의구현방법
US7113200B2 (en) * 2004-05-21 2006-09-26 Polycom, Inc. Method and system for preparing video communication image for wide screen display
US7554571B1 (en) 2005-03-18 2009-06-30 Avaya Inc. Dynamic layout of participants in a multi-party video conference
US8436889B2 (en) * 2005-12-22 2013-05-07 Vidyo, Inc. System and method for videoconferencing using scalable video coding and compositing scalable video conferencing servers
US20070300165A1 (en) 2006-06-26 2007-12-27 Microsoft Corporation, Corporation In The State Of Washington User interface for sub-conferencing
US8446454B2 (en) 2007-05-21 2013-05-21 Polycom, Inc. Dynamic adaption of a continuous presence videoconferencing layout based on video content
US9154730B2 (en) 2009-10-16 2015-10-06 Hewlett-Packard Development Company, L.P. System and method for determining the active talkers in a video conference
US8350891B2 (en) 2009-11-16 2013-01-08 Lifesize Communications, Inc. Determining a videoconference layout based on numbers of participants
US8451994B2 (en) 2010-04-07 2013-05-28 Apple Inc. Switching cameras during a video conference of a multi-camera mobile device
US9538229B2 (en) 2010-09-15 2017-01-03 Verizon Patent And Licensing Inc. Media experience for touch screen devices
US8379077B2 (en) 2010-11-24 2013-02-19 Cisco Technology, Inc. Automatic layout and speaker selection in a continuous presence video conference
US20120182384A1 (en) 2011-01-17 2012-07-19 Anderson Eric C System and method for interactive video conferencing
US20120249877A1 (en) 2011-03-28 2012-10-04 Hernandez Costa Fabio J Determining video stream display positioning
US20130106988A1 (en) * 2011-10-28 2013-05-02 Joseph Davis Compositing of videoconferencing streams
CN102857732B (zh) 2012-05-25 2015-12-09 华为技术有限公司 一种多画面视讯会议中的画面控制方法、设备及系统
US9369672B2 (en) 2013-03-14 2016-06-14 Polycom, Inc. Intelligent layouts for call scaling and layout persistence
US9781385B2 (en) 2013-03-15 2017-10-03 Blue Jeans Network User interfaces for presentation of audio/video streams
US9088694B2 (en) 2013-10-03 2015-07-21 Avaya, Inc. Adjusting video layout
GB2522453A (en) 2014-01-24 2015-07-29 Barco Nv Dynamic display layout
US9876989B2 (en) 2014-05-23 2018-01-23 Polycom, Inc. Method and system for new layout experience in video communication
US9602771B2 (en) 2014-12-10 2017-03-21 Polycom, Inc. Automated layouts optimized for multi-screen and multi-camera videoconferencing calls
US20160308920A1 (en) 2015-04-16 2016-10-20 Microsoft Technology Licensing, Llc Visual Configuration for Communication Session Participants
US9800831B2 (en) 2015-06-18 2017-10-24 Jie Diao Conveying attention information in virtual conference
US20180014049A1 (en) 2016-07-08 2018-01-11 Tastemade, Inc. Orientation Based, Aspect Ratio Switching Video Playback System
US10140675B2 (en) * 2016-11-28 2018-11-27 Google Llc Image grid with selectively prominent images
US9819877B1 (en) 2016-12-30 2017-11-14 Microsoft Technology Licensing, Llc Graphical transitions of displayed content based on a change of state in a teleconference session
TWI622291B (zh) 2017-08-03 2018-04-21 鴻海精密工業股份有限公司 電子設備及視訊框排列方法
DK201870364A1 (en) 2018-05-07 2019-12-03 Apple Inc. MULTI-PARTICIPANT LIVE COMMUNICATION USER INTERFACE

Also Published As

Publication number Publication date
US11064256B1 (en) 2021-07-13
WO2021145951A1 (en) 2021-07-22
EP4091320A1 (en) 2022-11-23
US20210218927A1 (en) 2021-07-15

Similar Documents

Publication Publication Date Title
US11064256B1 (en) Dynamic configuration of communication video stream arrangements based on an aspect ratio of an available display area
US10237496B2 (en) Graphical transitions of displayed content based on a change of state in a teleconference session
US10863227B2 (en) Event conditioned views for communication sessions
US10996839B2 (en) Providing consistent interaction models in communication sessions
US20190230310A1 (en) Intelligent content population in a communication system
US10917608B1 (en) Dynamically controlled aspect ratios based on a number of participants depicted in communication video streams
US11888633B2 (en) Concurrent display of multiple content views during a communication session
US11785194B2 (en) Contextually-aware control of a user interface displaying a video and related user text
CN114902629A (zh) 用于在通信会话期间提供动态控制的视图状态以改进参与的方法和系统
US11425334B2 (en) Dynamically controlled aspect ratios for communication session video streams
CN113302581A (zh) 交互式查看系统
CN109314761B (zh) 用于媒体通信的方法和系统
US11431665B1 (en) Dynamically controlled permissions for managing the communication of messages directed to a presenter
CN116762332A (zh) 用于专用中断通信会话的受控用户界面转换
CN113711618B (zh) 创作包括引用视频内容的键入的超链接的评论
US9924136B1 (en) Coordinated display transitions of people and content
US20230385767A1 (en) Agenda driven control of user interface environments
US20240146779A1 (en) Persistent participant prioritization across communication sessions
US11949526B1 (en) Dynamic video layout design during online meetings
US20230403367A1 (en) Customization of a user interface displaying a rendering of multiple participants of a hybrid communication session

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