CN114868107A - 针对通信会话视频流的动态控制的纵横比 - Google Patents

针对通信会话视频流的动态控制的纵横比 Download PDF

Info

Publication number
CN114868107A
CN114868107A CN202080090535.6A CN202080090535A CN114868107A CN 114868107 A CN114868107 A CN 114868107A CN 202080090535 A CN202080090535 A CN 202080090535A CN 114868107 A CN114868107 A CN 114868107A
Authority
CN
China
Prior art keywords
aspect ratio
stream
streams
rendering
orientation
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
CN202080090535.6A
Other languages
English (en)
Inventor
J·T·福尔克纳
R·阿斯塔范斯
K·D·莫里森
T·阿廖申
C·A·福斯
A·帕兰的卡尔
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 CN114868107A publication Critical patent/CN114868107A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1637Details related to the display arrangement, including those related to the mounting of the display in the housing
    • G06F1/1643Details related to the display arrangement, including those related to the mounting of the display in the housing the display being associated to a digitizer, e.g. laptops that can be used as penpads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • 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/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/04886Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/567Multimedia conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/568Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities audio processing specific to telephonic conferencing, e.g. spatial distribution, mixing of participants
    • H04M3/569Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities audio processing specific to telephonic conferencing, e.g. spatial distribution, mixing of participants using the instant speaker's algorithm
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • H04N7/0122Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal the input and the output signals having different aspect ratios
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/152Multipoint control units therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1637Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer
    • 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
    • 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/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0442Handling or displaying different aspect ratios, or changing the aspect ratio
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0492Change of orientation of the displayed image, e.g. upside-down, mirrored
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/20Details of the management of multiple sources of image data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/50Telephonic communication in combination with video communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/50Aspects of automatic or semi-automatic exchanges related to audio conference
    • H04M2203/5072Multiple active speakers
    • 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/142Constructional details of the terminal equipment, e.g. arrangements of the camera and the display
    • H04N2007/145Handheld terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

所公开的技术通过基于设备的物理朝向而为通信会话渲染提供动态控制的纵横比来改进用户参与并促进计算资源的高效使用。在一些配置中,当设备处于第一朝向时,例如纵向朝向时,系统可以为通信会话的各个视频流选择第一纵横比。此外,当设备处于第二朝向(例如,横向朝向)时,系统可以为各个视频流选择第二纵横比。在一些配置中,第一纵横比可以大于第二纵横比,或者可以基于可以随时间调整的目标纵横比来选择纵横比。通过为各个流渲染动态选择纵横比,可以在将设备保持在各种物理朝向的同时优化设备的屏幕空间。

Description

针对通信会话视频流的动态控制的纵横比
背景技术
存在许多不同的通信系统允许用户协作。例如,一些系统允许人们通过使用实况视频流、实况音频流和其他形式的基于文本或基于图像的媒体进行协作。通信会话的参与者可以共享视频流,该视频流显示单个人或一群人,并显示共享内容。这样的系统可以为通信会话的参与者提供模拟面对面会议的体验。
尽管存在允许用户协作的许多不同类型的系统,但一些现有系统具有许多缺点。例如,当在线会议包括多个视频流时,大多数现有系统以固定排列显示每个流。此类设计通常包括网格图案,其中每个渲染都具有固定的大小和形状。这样的设计还可能导致某些视频流没有以最佳方式显示给观看者的情景。例如,当移动设备被保持在一个朝向上时,例如,竖直的纵向朝向,每个视频流可以使用固定的纵横比来渲染。当设备旋转时,例如从纵向朝向旋转到横向朝向,每个视频渲染都可以重新排列和调整大小,但保持相同的固定纵横比。这样的设计可能无法最优地利用每个朝向的屏幕空间。具有固定纵横比的流渲染的集合可能适用于一组屏幕大小,例如,当处于纵向朝向时,但不适用于另一组屏幕大小,例如,当处于横向朝向时。
此外,当设备重新排列多个视频流的渲染时,如果每个渲染的移动没有以有序的方式进行,则多个视频流的移动可能会分散用户的注意力。此外,在渲染被调整大小时,此类调整可能会部分地将一些用户从渲染中切出,尤其是当用户处于多人视频流中时。这样的设计问题可能不会最优地促进用户参与,这是因为观看者可能无法清楚地看到每个人、跟踪一个流的进度或看到每个人进行的重要手势。
不促进用户参与的软件应用可能导致生产损失和关于计算资源的效率低下。例如,通信会话(例如在线会议)的参与者在错过或忽略内容时可能需要参考录音或其他资源。当用户在实况会议期间错过了要点时,则能需要重新发送内容。此类活动可能导致网络、处理器、存储器或其他计算资源的使用效率低下。此外,当会议期间参与者的参与水平受到负面影响时,这种生产损失可能会导致需要延长的会议或后续会议,这进而又会占用额外的计算资源。当系统用于为大量参与者提供协作环境时,这种与计算资源相关的生产损失和效率低下会更加严重。
除了用户参与方面的损失之外,当通信系统不能有效地显示一个人的实况视频或共享内容时,还可能导致许多其他低效率。参与者可能会错过重要的社交线索,例如,当一个人举手、开始说话、朝某个方向看时,等等。这些缺点有时需要用户通过使用单独的通信系统手动与他人交互。例如,如果错过提示或怀疑存在某种类型的误传,则在电话会议的同时一些用户仍然向其他参与者发送短信或电子邮件。在帮助一个人与一群人建立协作协议时,这样的手动步骤可能会破坏一个人的工作流程并且效率非常低。现有系统的这些缺点可能导致生产力损失以及计算资源的低效和冗余使用。
发明内容
本文公开的技术通过基于设备的物理朝向为通信会话渲染提供动态控制的纵横比来改进用户参与和更有效地使用计算资源。在一些配置中,当设备处于第一朝向(例如纵向朝向)时,系统可以为通信会话的各个视频流选择第一纵横比。此外,当设备处于第二朝向(例如,横向朝向)时,系统可以为各个视频流选择第二纵横比。在一些配置中,第一纵横比可以大于第二纵横比。在其他配置中,第一纵横比可以大于目标纵横比,并且第二纵横比可以小于目标纵横比。例如,当设备处于竖直朝向时,例如,当屏幕处于纵向朝向时,可以使用比目标纵横比一(1:1)更大的纵横比来显示各个流。因此,可以以4:3、16:9等的纵横比显示渲染。当设备处于第二朝向时,例如,当屏幕处于横向朝向时,可以使用比目标纵横比一(1:1)更小的纵横比显示各个流,例如,可以以3:4、5:9等的纵横比显示渲染。在一些实施例中,可以基于一个或更多的因素来选择目标纵横比,包括显示屏的纵横比、视频流中描绘的参与者的数量等。在其他实施例中,目标纵横比可以包括例如3:4到4:3的范围。因此,在一些实施例中,设备可以在设备处于纵向朝向时选择大于范围的第一纵横比,或者在设备处于横向朝向时选择小于范围的第二纵横比。通过针对各个流渲染而动态选择纵横比,在一些实施例中,纵横比可以基于目标纵横比,在设备被保持在各种物理朝向时屏幕空间可以被优化。
在一些配置中,设备可以针对描绘阈值数量的人的第一组流选择固定纵横比,并且纵横比可以针对描绘少于阈值数量的人的第二组流而基于设备的朝向来调整。在一个示例中,系统可以针对描述阈值数量的人的视频流选择固定的宽纵横比,并在设备转换到不同的物理朝向时保持该宽纵横比。虽然选定的渲染具有固定的纵横比,但可以根据设备的朝向调整单人(例如,少于阈值数量的人)视频流的渲染。通过在调整其他流的纵横比的同时针对描绘阈值数量的人的流渲染而附接(affix)纵横比,可以在将设备保持在各种物理朝向的同时进一步优化屏幕空间。
在一些配置中,系统可以分析通信会话的流并且选择具有阈值数量的人的流。该系统可以进一步分析所选择的流以识别具有阈值水平活动的个体。然后系统可以缩放图像以放大具有阈值水平活动的个体。这是对通常涉及用于移动设备的死板的用户界面布置的现有系统的改进。当前公开的技术的一个益处是使多人视频流中描绘的活跃人物看起来与单人视频流中描绘的人的大小相同。在调整其他流的纵横比的同时调整所选流的大小有助于系统提供对显示布置的更多控制,以均衡显示在用户界面内的每个人的表示。
本文公开的特征通过使多人视频中的每个人的动作更易于可视化来帮助促进呈现者和观看者的用户参与,并且在一些实施例中,使多人视频中的人的显示与单人视频流中人的显示相均衡。这些技术还可以应用于视频流内的任何识别对象,因为这些技术不仅限于识别视频流中描绘的人数。
本文描述的示例是在协作环境的上下文中提供的,例如私人聊天会话、多用户内容编辑会话、小组会议、实况广播等。为了说明性目的,可以意识到,计算机管理协作环境涉及管理通信会话的任何类型的计算机,其中两台或更多台计算机共享视频数据,包括录制的视频流和实况视频流。此外,可以意识到,本文公开的技术可以应用于用于显示内容的任何用户界面布置。本公开的范围不限于与协作环境相关联的实施例。
本文公开的技术提供了许多改进现有计算机的特征。例如,处理器周期、存储器、网络带宽和功率等计算资源的使用效率更高,因为系统可以动态控制视频流的大小、位置和形状。通过基于设备的物理朝向为各个流提供具有动态控制的纵横比的用户界面,用户界面可以提供感兴趣对象的更多视觉细节。因此,本文公开的技术可以通过提供优化用户参与的用户界面来提供计算资源的更有效使用。
本文公开的技术提供了改进现有计算机的许多特征。例如,处理器周期、存储器、网络带宽和功率等计算资源的使用效率更高,因为系统可以动态控制描绘阈值数量的人的视频流的大小、位置和形状。通过提供为感兴趣对象提供更多视觉细节的动态控制的用户界面,本文公开的技术可以提供计算资源的更高效的使用。该系统可以通过减轻对额外通信系统的需要来改进用户与计算设备的交互,因为所公开的系统可以减轻或消除对重新发送内容、重复内容等的请求的需要。改进用户与设备的交互还可以引起不必要的或冗余的输入的减少,从而减少无意的输入、更正的输入和利用计算资源的其他类型的用户交互。本文中未具体提及的其他技术益处也可以通过实施所公开的主题来实现。
本领域技术人员还将理解,本文描述的主题的方面可以在本文具体描述的那些之外的其他计算机系统配置上或结合其他计算机系统配置来实践,包括多处理器系统、基于微处理器的或可编程的消费电子产品、增强型现实或虚拟现实设备、视频游戏设备、掌上电脑、智能手机、智能电视、自动驾驶汽车、智能手表、电子阅读器、平板计算设备、专用硬件设备、联网设备等。
通过阅读以下详细说明和查看相关附图,将清楚上述明确描述的特征和技术优势之外的特征和技术优势。提供本概述以以简化形式介绍概念的选择,这些概念将在下面的详细描述中进一步描述。本发明内容不旨在识别所要求保护的主题的关键或基本特征,也不旨在用作确定所要求保护的主题范围的辅助。例如,术语“技术”可以指上面及整个文件所描述的上下文所允许的系统、方法、计算机可读指令、模块、算法、硬件逻辑和/或操作。
附图说明
参考附图来描述详细描述。在图中,参考编号的最左侧数字标识参考编号首次出现的图。不同图中相同的参考数字表示相似或相同的项目。对多个项目中的单个项目的引用可以使用带有字母序列中的字母的参考编号来指代每个单独的项目。对项目的通用引用可以使用没有字母序列的特定参考编号。
图1图示了用于基于设备的物理朝向来配置用户界面布置的设备的方面。
图2图示了用于基于设备的物理朝向和在视频流的渲染中描绘的至少一个用户的活动来配置用户界面布置的设备的方面。
图3图示了用于基于设备的物理朝向和视频流的渲染中描绘的人的数量来配置用户界面布置的设备的方面。
图4图示了用于基于设备的物理朝向和多个视频流的多个渲染中描绘的人的数量来配置用户界面布置的设备的方面。
图5A图示了基于在两个或更多个视频流中描绘的人的数量的两个用户界面布置的第一状态。
图5B图示了关于在由设备接收的视频流中描绘的人的数量的改变。
图5C图示了基于检测关于在由设备接收的视频流中描绘的人的数量的改变的两个用户界面布置的第二状态。
图6是说明用于计算高效地生成用户界面布置的例程的方面的流程图。
图7是计算系统图,示出了用于本文所公开的技术的说明性操作环境的方面。
图8是计算架构图,示出了可以实现本文公开的技术的方面的计算设备的配置和操作的方面。
具体实施方式
下面的具体实施方式针对用于通过基于设备的显示屏的物理朝向为通信会话的视频流的渲染提供动态控制的纵横比来改进用户参与和更高效地使用计算资源的技术。在一些配置中,系统可以基于多个因素控制多个视频渲染的维度、大小和位置,这些因素包括但不限于显示屏的物理朝向、视频流中描绘的个体数量和/或一个或多个视频流中描绘的人的活动水平。本文描述了用于确定排列流的顺序的系统的附加细节。
图1图示了用于配置用户界面布置的设备100的方面,该用户界面布置具有基于设备100的显示屏的物理朝向的具有特定纵横比的渲染。设备100可以从服务器接收流。服务器可以管理具有视频分量和音频分量的多个数据流,从而允许设备100与多个其他远程设备通信。下面参照图7所示的系统602提供管理设备100和其他远程设备之间的通信会话的服务器的额外细节。下面还参照在图7中所示的设备606更详细地描述设备100的额外方面。
在一些配置中,设备100(在本文中也称为“计算系统100”)可以接收多个流,每个流包括视频分量。设备100还可以从安装到设备100的传感器接收朝向数据。在下面关于图7提供关于传感器的额外细节。朝向数据可以指示计算系统100的显示屏101是纵向朝向或横向朝向。响应于确定显示屏101处于纵向朝向,设备100可以使得显示第一用户界面布置102A,该第一用户界面布置102A包括由设备100接收的各个流的各个渲染103(单独称为103A-103D)。在纵向朝向时,设备可以选择大于目标纵横比的第一纵横比。例如,目标纵横比可以是1:1(值为1)。在这样的示例中,第一纵横比可以是大于值1的任何纵横比,例如横向维度,例如16:9、4:3等。如图1的示例中所示,具有给定的目标纵横比为一(1),并且由于设备处于纵向朝向,每个渲染103A-103D的纵横比具有横向维度,例如16:9。
如图1所示,在操作期间,设备100还可以从传感器接收额外的朝向信息。设备100可以监视设备的朝向,或者设备的显示器101的朝向,并且响应于确定显示屏101从纵向朝向转换为横向朝向,设备100可以调用从第一用户界面布置102A到包括各个流的经更新的渲染103'(单独称为103A'-103D')的第二用户界面布置102B的显示器的转换,其中经更新的渲染103每个都具有小于目标纵横比的第二纵横比。在一些配置中,第二纵横比可以小于第一纵横比。因此,在一些配置中,可以不使用目标纵横比或目标纵横比范围。
目标纵横比的选择可以基于一个或多个因素。例如,目标纵横比或所选择的目标比率可以基于所分配的显示区域的维度。所分配的显示区域可以是在一个或多个显示屏内指定的显示区域。例如,所分配的显示区域可以是跨越多个显示设备的指定显示区域或单个显示设备的一部分的指定显示区域。在一个说明性示例中,可以基于与计算系统通信的显示设备的一个或多个维度来选择选定的纵横比。因此,如果显示屏具有16:9的显示区域,则目标纵横比或选定的纵横比可以包括可被显示屏的至少一个维度整除的值。在此示例中,纵向朝向上设备的纵横比可以是9:4,横向朝向上设备的纵横比可以是4:9。
在另一个说明性示例中,可以基于用于特定显示设备的维度的优选布局来选择目标纵横比。例如,如果用户优选在他们的设备处于纵向朝向时进行横向渲染,而在他们的设备处于横向朝向时进行纵向渲染,则用户可以将目标纵横比设置为一(1:1)。然而,如果他们希望将每个纵横比偏向于纵向朝向和横向朝向两者的更宽配置,则可以将目标纵横比调整为更高的值,例如4:3。类似地,如果他们希望将每个纵横比偏向于纵向朝向和横向朝向两者的更窄配置,则可以将目标纵横比调整为更低的值,例如3:4。
在一些中,目标纵横比可以包括纵横比的范围。例如,目标纵横比可以包括从3:4到4:3的范围。因此,目标纵横比可用于选择高于该范围的第一纵横比和低于该范围的第二纵横比。这样的实施例使设备能够对在每个朝向中使用的每个用户界面布置具有更精细的控制。
现在参考图2,以下示出和描述了用于基于设备的物理朝向和至少一个流的活动水平来配置用户界面布置的实施例的方面。在一些配置中,可以基于关于流的视频分量或音频分量的活动而满足的一个或多个标准的存在来应用各个纵横比以选择流。图2图示了用于基于设备的物理朝向和由设备100接收的至少一个流的活动来配置用户界面布置的实施例的方面。在该示例中,一旦设备确定显示屏10处于横向朝向,则针对描绘阈值数量的人的一个或多个选定流而确定缩放因子。为了说明的目的,从第一流生成的第一渲染103A具有描绘四个人的视频分量。如果设备100接收到定义三(3)人的阈值的配置数据,则设备将针对修改的缩放因子选择第一流的渲染。
可以基于具有阈值活动水平的人的大小来选择缩放因子。例如,如果视频内的人正在以阈值速率说话、以阈值音量说话或执行满足一个或多个标准的手势,则可以选择缩放因子以使设备能够聚焦该人的流的渲染103A',如图2所示。系统可以继续监视具有阈值数量的人的流的视频分量或音频分量的活动。因此,如果第一人具有阈值活动水平并且后来停止或减少了该活动,然后第二人开始了阈值活动水平,则设备可以将该流的渲染聚焦在第二人上,并且因此改变缩放因子以适应第二人的显示。
在一些配置中,可以将唯一的缩放因子应用于每个流的各个渲染。可以为每个流选择缩放因子以均衡在不同流中描绘的两个或更多个人的物理特征的至少一个维度。一个维度可以包括人的面部、头部、头顶的宽度和/或高度或可以通过对人的视频图像的分析来测量的任何其他维度。例如,考虑第一渲染描绘两个人而第二渲染描绘一个人的场景。在这个示例中,在不应用缩放因子的情况下,渲染显示两人视频中的人看起来更小,例如,只有单人视频中的人的一半大小。为了使每个人的显示大小相等,可以选择缩放因子来增加两人视频的渲染的大小,这可以包括从图像中裁剪掉边缘。另外或替代地,可以选择另一个缩放因子来减小单人视频的渲染的大小。
在一些配置中,可以基于在每个视频中描绘的人的数量来选择每个视频的缩放因子。缩放因子的选择可以是线性的或非线性的。例如,两人视频可以放大两倍,三人视频可以放大三倍,等等。可替代地,两人视频的大小可以放大1.75倍,三人视频的大小可以放大2.15倍,等等。在另一个实施例中,可以基于所描绘的人的至少一个物理特征的维度来选择每个视频的缩放因子。例如,如果两人视频中的一个人从他们的头顶到下巴的测量值为2个测量单位,而单人视频中的人从他的头顶到下巴的测量值为4个测量单位,则两人视频可以放大两个因子。根据期望的结果,可以基于测量值选择其他缩放因子。通过均衡或至少部分均衡每个流中描绘的各个用户的至少一个维度,通过允许观看者查看所显示手势的细节并减轻可能由于以不同大小显示的人导致的任何视觉偏爱,该系统可以帮助提高用户参与。
在一个说明性示例中,设备可以分析多个传入流以确定多个流中的至少一个流描绘了阈值数量的人。然后,该设备可以分析所识别的描绘阈值数量的人的流,以识别与阈值活动水平相关联的至少一个人。然后,设备可以确定适合于生成至少一个流的经修改的渲染的缩放因子,其中经修改的渲染的缩放因子被配置为将焦点移到与阈值活动水平相关联的至少一个人。将焦点移到一个人可以包括平移和缩放到描绘该一个人的视频渲染的一部分。
现在参考图3,示出和描述了该设备的其他实施例。在一些配置中,一个或多个特定渲染的纵横比可以是固定的,而其他渲染的纵横比被配置为随着设备的朝向而改变。在一个说明性示例中,对于描绘阈值数量的人的渲染,纵横比可以是固定的。未描述阈值数量的人的渲染的纵横比可能会根据设备的朝向而改变。这种实施例的方面在图3中示出。如图所示,第一渲染103A描绘了四个人。如果配置数据指示例如三个人的阈值,并且设备被旋转,则与第一渲染103A的内容相关联的纵横比可以是固定的。因此,如图所示,当显示屏101处于纵向朝向时,使用大于目标纵横比的纵横比来显示所有的渲染103A-103B,例如,使用横向视图来显示渲染103A-103B。
然后,当设备100被旋转使得显示屏101处于横向朝向时,使用与第一渲染103A相同的纵横比来显示经更新的渲染103A',因为纵横比针对此内容是固定的。还示出,当设备100旋转时,其他渲染(103B-103D)的纵横比减小到小于原始纵横比的纵横比,或者减小到目标纵横比以下。
在一个说明性示例中,设备可以分析多个传入流以确定多个流中的至少一个流描绘了阈值数量的人。响应于确定多个流中的至少一个流描绘了阈值数量的人,例如3人或4人,设备为至少一个流选择固定的纵横比。固定的纵横比可以被配置为覆盖所识别的流与第二纵横比之间的任何关联。因此,当显示屏处于纵向朝向或横向朝向时,使用固定的纵横比显示至少一个流的渲染。
现在参考图4,下面示出并描述了基于流中描绘的人数而对各个流的渲染进行排序的实施例。在该实施例中,如果第一流描绘四个人,第二流描绘两个人,第三流描绘一个人,则设备将配置用户界面布置,将流从上到下排序为:第一流,第二流和第三流。这样的布置有助于观看者将注意力集中在具有特定活动集中度的流上。
该示例是出于说明性目的而提供的并且不应被解释为限制性的。尽管这里描述的示例基于人数来对渲染从上到下进行排序,但是可以意识到,该顺序可以从下到上、从左到右、从右到左或任何其他有序配置来排列。还可以意识到,布置渲染的顺序可以基于其他因素,例如活动水平,例如,人说话的音量或速率或特定手势的表现。在这样的实施例中,可以为每个流生成活动水平,并且可以基于活动水平在用户界面布置102内对每个流的渲染进行排序。
本文公开的技术可以利用任何合适的技术来分析多个通信流以确定在一个或多个视频分量中描绘的人的数量。例如,面部识别、模式识别或运动识别技术可用于确定每个流的视频分量中描绘的人物数量。可替代地,远程计算机可以分析一个或多个流以确定每个流的视频分量中描绘的人的数量,并通过将结果传送给设备来提供每个流中描绘的人的数量。设备然后可以配置第一用户界面布置或第二用户界面布置以基于在每个流的视频分量中描绘的人的数量来对每个流的各个渲染进行排序。可以从用户界面的从左到右、从右到左、从上到下或从下到上排列参与者数量从最高到最低的顺序。该顺序还可以遵循用户界面中定义的任何其他线性路径。
图5A-5C图示了可以基于设备的物理朝向和在每个流中描绘的人数而布置的用户界面的另一个示例。在一些实施例中,设备可以持续监视每个流中描绘的人数,并随着每个流中人数的改变而改变每个流的顺序。图5A示出了第一流的渲染103A包括三个人并且第二流的渲染103B包括两个人。由于每个流中描绘的人数,当设备处于纵向朝向时,第一流的渲染显示在顶部位置,第二流的渲染显示在从顶部位置起的第二位置。当设备处于横向朝向时,第一流的渲染显示在左侧位置,第二流的渲染显示在从左侧位置起的第二位置。
随着第二流的内容改变,例如,第二流具有显示增加人数的视频分量,设备可以检测到这样的改变并修改显示渲染的顺序。如图5B所示,第二流的内容已经改变,使得第二渲染显示四个人。由于第二流现在比第一流描绘了更多的人,因此渲染流的顺序发生了改变,如图5C所示。如图所示,响应于检测到的改变,第二流比第一流描绘更多,当设备被保持在纵向朝向时,第一流的渲染103A从顶部移动到第二位置,并且第二流的渲染103B移动到顶部位置。此外,响应于检测到的改变,当设备以横向朝向保持时,第一流的渲染103A从左侧移动到第二位置,并且第二流的渲染103B被移动到左侧位置。
在一个说明性示例中,设备可以分析多个流以确定在每个流的视频分量中描绘的人数。设备可以配置第一用户界面布置或第二用户界面布置以将第一流的渲染定位在多个流的渲染序列的一端处并且将第二流的渲染定位在渲染序列的第二位置处。序列可以是一行渲染、按行列布置的有序列表等。在本示例中,第一流中描绘的人数大于第二流中描绘的人数,如图5A中所示。
设备可以继续监视流并确定每个流中的人数是否改变。如果第一流中描绘的人数发生改变或第二流中描绘的人数发生改变,其中第一流中描绘的人数变得小于第二流中描绘的人数,则设备可以重新配置渲染在每个用户界面布置中的定位的顺序。因此,响应于确定第一流中描绘的人数何时变得少于第二流中描绘的人数,设备可以配置第一用户界面布置或第二用户界面布置以将第二流的渲染移动到渲染序列的一端处,并将第一流的渲染定位在渲染序列的第二位置处。
图6是图示通过为视频流渲染提供动态控制的纵横比来提高用户参与和更高效地使用计算资源的例程500的方面的图。本领域普通技术人员应当理解,本文公开的方法的操作不必以任何特定顺序呈现,并且以替代顺序执行一些或所有操作是可能的并且是预期的。为了便于描述和说明,操作以按演示顺序呈现。在不偏离所附权利要求的范围的情况下,可以添加、省略、一起执行和/或同时执行操作。
还应该理解,所说明的方法可以在任何时候结束并且不需要全部执行。可以通过执行包括在计算机存储介质上的计算机可读指令来执行这些方法的一些或所有操作,和/或基本上等效的操作,如本文所定义的。如在描述和权利要求中使用的术语“计算机可读指令”及其变体在本文中广泛使用以包括例程、应用程序、应用程序模块、程序模块、程序、组件、数据结构、算法等。计算机可读指令可以在各种系统配置上实现,包括单处理器或多处理器系统、小型计算机、大型计算机、个人计算机、手持计算设备、基于微处理器的可编程消费电子产品、它们的组合等。
因此,应当意识到,本文描述的逻辑操作被实现为(1)作为在诸如本文描述的那些的计算系统上运行的计算机实现的动作或程序模块的序列)和/或(2)作为计算系统内的互连机器逻辑电路或电路模块。实现方式是取决于计算系统的性能和其他要求的选择问题。因此,逻辑操作可以用软件、固件、专用数字逻辑以及它们的任何组合来实现。
另外,图6和其他图中所示的操作可以与上述示例呈现UI相关联地实施。例如,这里描述的各种设备和/或模块可以生成、发送、接收和/或显示与通信会话的内容(例如,实况内容、广播事件、记录的内容等)相关联的数据)和/或包括远程计算设备、化身、频道、聊天会话、视频流、图像、虚拟对象和/或与通信会话相关联的应用程序的一个或多个参与者的渲染的呈现UI。
例程500开始于操作502,其中一个或多个计算模块接收多个流。如以下更详细地描述的,关于图7,系统可以管理从多个不同客户端设备接收的多个流。可以将流捆绑并传送到各个计算设备,这可以用于显示每个流的不同布置。每个流可以包括音频分量和视频分量。
接下来,在操作504,一个或多个计算模块可以从安装到计算设备的传感器接收朝向数据。朝向数据可以指示计算设备100的显示屏101处于纵向朝向或横向朝向。如下文更详细地描述的,关于图7,传感器可以包括加速度计、指南针或用于检测设备的物理朝向的任何其他设备,例如,设备是否位于竖直位置,例如纵向朝向,或侧向位置,例如横向朝向。
接下来,在操作506,一个或多个计算模块可以使得显示第一用户界面布置102A,该第一用户界面布置102A包括多个流中的各个流的各个渲染103。响应于确定显示屏101处于纵向朝向,各个渲染可各自具有大于目标纵横比的第一纵横比。例如,各个渲染可各自具有形成横向维度的第一纵横比16:9,其大于诸如1:1的目标纵横比。可以意识到,可以选择其他目标纵横比以提供关于每个布局的不同结果。此外,可以基于屏幕的特定维度、设备的模型或其他因素来选择目标纵横比。可以基于期望的结果选择任何目标纵横比。出于说明目的,纵横比被认为大于或小于彼此。这样的比较可以基于纵横比的每个数字分别作为分数的分子和分母来导出值。例如,4:3的纵横比具有1.33的值,其大于具有1.00的值的1:1的纵横比。
在一些实施例中,第一纵横比和第二纵横比分别基于第一目标纵横比和第二目标纵横比。第一目标纵横比和第二目标纵横比在本文中可以统称为目标纵横比范围或“范围”。第一目标纵横比在本文中可以被称为范围的低端(low end)并且第二目标纵横比在本文中可以被称为范围的高端(high end)。例如,目标纵横比范围可以包括从3:4到4:3的范围。因此,设备可以选择高于该范围的第一纵横比和低于该范围的第二纵横比。这样的实施例使设备能够对在每个朝向中使用的每个用户界面布置具有更精细的控制。
具体地,响应于确定显示屏101处于纵向朝向,一个或多个设备可以使得显示第一用户界面布置102A的,该第一用户界面布置102A包括多个流的各个流的各个渲染103,其中各个渲染各自具有大于第一目标纵横比或大于该范围的高端的第一纵横比。
接下来,在操作508,一个或多个计算模块可以从安装到计算设备的传感器接收经更新的朝向数据。朝向数据可以指示计算设备100的显示屏101处于纵向朝向或横向朝向。如下文更详细地描述的,关于图7,传感器可以包括加速度计、指南针或用于检测设备的物理朝向的任何其他设备,例如,设备是否位于竖直位置,例如纵向朝向,或侧向位置,例如横向朝向。
接下来,在操作510,一个或多个计算模块可以使得显示第二用户界面布置102B,该第二用户界面布置102B包括多个流中的各个流的各个渲染103。响应于确定显示屏101处于横向朝向,各个渲染可各自具有小于目标纵横比的第二纵横比。响应于确定显示屏101处于横向朝向,各个渲染可各自具有小于第一纵横比的第二纵横比。
例如,经更新的界面布置102B的各个渲染可各自使用形成纵向维度5:7的第二纵横比来显示,该纵横比小于诸如1:1的目标纵横比。可以意识到,可以选择其他目标纵横比以提供关于每个布局的不同结果。此外,可以基于屏幕的特定维度、设备的型号或其他因素来选择目标纵横比。可以基于期望的结果选择任何目标纵横比。
在操作510中,响应于确定显示屏101处于横向朝向,各个渲染可以各自具有小于第一纵横比的第二纵横比。因此,在一些配置中,在设备上以纵向朝向显示的图像的纵横比可以是16:9。当设备旋转到横向朝向时,设备上显示的图像的纵横比可以小于16:9,例如但不限于4:3、1:1或5:7。
在使用范围的实施例中,响应于确定显示屏101处于横向朝向,一个或多个设备可以使得显示第二用户界面布置102B,该第二用户界面布置102B包括多个流中的各个流的各个渲染103,其中各个渲染各自具有小于第二目标纵横比的第二纵横比,或小于所述范围的低端的第二纵横比。
接下来,在操作512,一个或多个计算模块可以分析用于调整渲染的纵横比的任何用户输入。例如,如果用户在旋转设备后调整特定渲染的大小,则系统可以分析输入以修改目标纵横比。因此,可以随时间修改目标纵横比以优化特定用户的用户界面布置。可以在每个用户和每个设备的基础上存储用于配置渲染的纵横比的输入数据和任何相应的机器学习数据。此外,可以在每个事件的基础上存储用于配置渲染的纵横比的输入数据和任何相应的机器学习数据。因此,可以针对设备的纵向朝向确定和存储第一目标纵横比,并且可以针对设备的横向朝向确定和存储第二目标纵横比。例程500的每次迭代可以随时间调整设备的目标纵横比或根据用户的输入模式在设备的单个目标纵横比与多个目标纵横比之间切换。
在一个说明性示例中,设备可以从单个目标纵横比开始,例如,一(1:1)的目标纵横比。然后,随着时间的推移,如果在设备处于横向朝向时用户调整纵横比,例如,用户偏好扩宽每个渲染,则设备可以转换到使用两个目标纵横比的模式,例如在设备保持在纵向朝向时设备的原始目标纵横比,以及在设备保持在横向朝向时设备的第二目标纵横比。
在一个说明性示例中,当设备处于纵向朝向时,设备可以接收用户输入以调整第一纵横比。用户可以在设备保持在纵向朝向时调整设备的纵横比,其中用户输入可以增加其中一个渲染的纵横比。当用户增加一个渲染的纵横比时,设备可以基于用户输入增加每个其他渲染的纵横比,使得每个渲染(103A-103D)具有相等的纵横比。响应于该输入,该设备可以生成定义经调整的目标纵横比的使用数据,该经调整的目标纵横比基于用于调整第一纵横比的输入。如果用户输入增加了第一用户界面布置的第一纵横比,则经调整的目标纵横比可以大于目标纵横比。如果用户减小第一用户界面布置的第一纵横比,则经调整的目标纵横比也可以小于目标纵横比。然后,设备可以存储经调整的目标纵横比,从而使得该方法的后续执行将第一纵横比设置为大于经调整的目标纵横比。出于说明目的,纵横比被认为大于或小于彼此。这种比较可以基于纵横比的每个数字分别作为分数的分子和分母来导出值。例如,4:3的纵横比具有1.33的值,其大于具有1.00的值的1:1的纵横比。
在另一个说明性示例中,当设备处于横向朝向时,设备可以接收用户输入以调整第二纵横比。然后,设备可以生成定义经调整的目标纵横比的使用数据,该经调整的目标纵横比基于用于调整第二纵横比的输入。如果用户输入增加第二纵横比,则经调整的目标纵横比可以大于目标纵横比,或者如果用户输入减小第二纵横比,则经调整的目标纵横比可以小于目标纵横比,例如,使每次渲染更窄。类似于上面的示例,如果用户调整一个渲染的纵横比,则设备可以调整每个渲染的纵横比,使得每个渲染具有基于输入的相同纵横比。然后,设备可以存储经调整的目标纵横比,从而使设备的后续使用将第二纵横比设置为小于经调整的目标纵横比的值。
应当意识到,上述主题可以实现为计算机控制的装置、计算机过程、计算系统,或者实现为诸如计算机可读存储介质之类的制品。示例方法的操作在各个块中说明并参考这些块进行总结。这些方法被图示为块的逻辑流,其中的每个块可以表示可以在硬件、软件或其组合中实现的一个或多个操作。在软件的上下文中,操作表示存储在一个或多个计算机可读介质上的计算机可执行指令,当由一个或多个处理器执行时,使一个或多个处理器能够执行所列举的操作。
通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。描述操作的顺序不旨在被解释为限制,并且任何数量的描述的操作可以以任何顺序执行、以任何顺序组合、细分为多个子操作和/或并行执行以实施所描述的过程。所描述的过程可以由与一个或多个设备相关联的资源执行,例如一个或多个内部或外部CPU或GPU,和/或一个或多个硬件逻辑,例如现场可编程门阵列(“FPGA”)、数字信号处理器(“DSP”)或其他类型的加速器。
上述所有方法和过程可以体现在由一个或多个通用计算机或处理器执行的软件代码模块中,并且通过由一个或多个通用计算机或处理器执行的软件代码模块完全自动化。代码模块可以存储在任何类型的计算机可读存储介质或其他计算机存储设备中,例如下面描述的那些。一些或所有方法可以替代地体现在专用计算机硬件中,例如下面描述的那些。
在此描述和/或在附图中描绘的流程图中的任何例程描述、元素或块应被理解为潜在地表示包括用于实现例程中的特定逻辑功能或元件的一个或多个可执行指令的模块、段或代码部分。替代实现方式包括在本文描述的示例的范围内,其中元件或功能可以被删除,或者与所示出或讨论的顺序无序执行,包括基本上同步或以相反的顺序执行,这取决于所涉及的功能,如本领域技术人员将理解的那样。
图7是图示系统602可以在其中实施本文公开的技术的示例环境600的图。在一些实施方式中,系统602可用于收集、分析和共享定义一个或多个对象的数据,这些对象显示给通信会话604的用户。
如图所示,通信会话603可以在与系统602相关联或作为系统602的一部分的多个客户端计算设备606(1)到606(N)(其中N是具有2或更大值的数字)之间实现。客户端计算设备606(1)到606(N)使用户(也称为个体)能够参与通信会话603。
在该示例中,通信会话603在一个或多个网络608上由系统602托管。也就是说,系统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)被配置为接收和渲染通信数据以在显示屏的用户界面上显示。通信数据可以包括实况和/或记录内容的各种实例或流的集合。例如,单独的内容流可以包括与视频馈送相关联的媒体数据(例如,捕获参与通信会话的用户的外观和语音的音频和视觉数据)。单独的内容流的另一个示例可以包括媒体数据,该媒体数据包括参与会议会话的用户的化身以及捕获用户语音的音频数据。单独的内容流的又一示例可以包括媒体数据,该媒体数据包括显示在显示屏上的内容项和/或捕获用户语音的音频数据。因此,通信数据内的各种内容流使得能够在分散在远程位置的一组人之间促进会议或广播呈现。
通信会话的参与者或出席者是处于相机或其他图像和/或音频捕获设备范围内的人,使得在该人观看和/或收听通过通信会话共享的内容时产生的人的动作和/或声音可以被捕获(例如,记录)。例如,参与者可能正坐在人群中,在发生舞台演示的广播位置观看共享内容。或者,参与者可能正坐在办公室会议室中,通过显示屏查看与其他同事的通信会话的共享内容。更进一步,参与者可能坐在或站在个人设备(例如,平板电脑、智能手机、计算机等)前,在他们的办公室或家中单独查看通信会话的共享内容。
图6的系统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.l lg、802.11h、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加载和执行的其他模块、程序或应用程序。传感器620可以是加速度计、指南针或任何其他可以检测设备的朝向、加速度或位置的固态设备。
客户端计算设备606(1)至606(N)还可以包括一个或多个接口624以实现客户端计算设备606(1)至606(N)与其他网络设备(例如设备610)之间通过网络608的通信。这样的网络接口624可以包括一个或多个网络接口控制器(NIC)或其他类型的收发器设备以通过网络发送和接收通信和/或数据。此外,客户端计算设备606(1)至606(N)可以包括输入/输出(“I/O”)接口(设备)626,其允许与输入/输出设备通信,输入/输出设备诸如为包括外围输入设备的用户输入设备(例如,游戏控制器、键盘、鼠标、笔、诸如麦克风之类的语音输入设备、用于获取和提供视频馈送和/或静止图像的摄像机、触摸输入设备、手势输入设备等)和/或包括外围输出设备的输出设备(例如,显示器、打印机、音频扬声器、触觉输出设备等)。图6说明了客户端计算设备606(1)以某种方式连接到显示设备(例如,显示屏629(N)),该显示设备可以根据本文描述的技术显示UI。
在图7的示例环境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来生成参与者简档(图7中未示出)并将参与者简档提供给其他客户端计算设备和/或系统602的设备610。参与者简档可以包括用户或用户组的身份(例如,名称、唯一标识符(“ID”)等)、诸如个人数据之类的用户数据、诸如位置(例如,IP地址、建筑物中的房间等)之类的机器数据和技术能力等。参与者资料可用于注册参与者以进行通信会话。
如图7所示,系统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可以包括模块622,其在本文中也可以称为GUI模块。GUI模块622可以被配置为分析用于传送到一个或多个客户端计算设备606的通信数据639。具体地,在设备610和/或客户端计算设备606处的UI模块622可以分析通信数据639以确定用于在关联的客户端计算设备606的显示屏629上显示视频、图像和/或内容的适当方式。在一些实现中,GUI模块622可以提供视频、图像和/或内容到在关联的客户端计算设备606的显示屏629上渲染的呈现GUI 646。GUI模块622可以使呈现GUI 646渲染在显示屏629上。呈现GUI 646可以包括视频、图像和/或由GUI模块622分析的内容。
在一些实施方式中,呈现GUI 646可以包括多个部分或网格,其可以渲染或包括视频、图像和/或用于在显示屏629上显示的内容。例如,呈现GUI 646的第一部分可以包括呈现者或个体的视频馈送,呈现GUI 646的第二部分可以包括消费由呈现者或个体提供的会议信息的个体的视频馈送。GUI模块622可以以适当地模仿演示者和个体可能正在共享的环境体验的方式填充呈现GUI 646的第一部分和第二部分。
在一些实施方式中,GUI模块622可以放大或提供由视频馈送表示的个体的缩放视图,以便突出个体对呈现者的反应,例如面部特征。在一些实施方式中,呈现GUI 646可以包括与会议相关联的多个参与者的视频馈送,例如一般通信会话。在其他实施方式中,呈现GUI 646可以与诸如聊天频道、企业团队频道等的频道相关联。因此,呈现GUI 646可以与不同于一般通信会话的外部通信会话相关联。
图8图示了示出示例设备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、简档数据712(例如,与参与者简档相关联)和/或其他数据。会话数据710可以包括通信会话中的参与者(例如,用户和/或客户端计算设备)的总数、在通信会话中发生的活动、通信会话的受邀者列表和/或其他与何时以及如何进行或托管通信会话相关的数据。数据存储库708还可以包括内容数据714,例如包括视频、音频或用于在一个或多个显示屏629上渲染和显示的其他内容的内容。
备选地,一些或所有上述数据可以存储在一个或多个数据处理单元702上的单独存储器716上,例如CPU型处理器、GPU型处理器、FPGA型加速器、DSP型加速器和/或其他加速器上的存储器。在该示例中,计算机可读介质704还包括操作系统718和被配置为将设备700的功能和数据暴露给其他设备的应用程序接口710(API)。此外,计算机可读介质704包括一个或多个模块,例如服务器模块730、输出模块732和GUI呈现模块740,尽管所示模块的数量只是示例,并且数量可以改变更高或降低。即,本文结合所示模块描述的功能可以由一个设备上的更少数量的模块或更多数量的模块执行,或者分布在多个设备上。
本文呈现的公开内容还涵盖以下条款中阐述的主题。
条款A:一种由计算系统100执行的方法,该方法包括:接收多个流,所述多个流中的各个流包括视频分量;从安装到所述计算系统100的传感器接收朝向数据,该朝向数据指示所述计算系统100的显示屏101处于纵向朝向;响应于确定所述显示屏101处于所述纵向朝向,使得显示包括所述多个流中的各个流的各个渲染103的第一用户界面布置102A,其中所述各个渲染各自具有大于目标纵横比的第一纵横比;从所述传感器接收额外的朝向数据,所述额外的朝向数据指示所述显示屏从纵向朝向转换为横向朝向;以及响应于确定所述显示屏101从纵向朝向转换为横向朝向,使得从所述第一用户界面布置102A转换到包括各个流的经更新的渲染103的第二用户界面布置102B的显示,其中经更新的渲染103各自具有小于所述目标纵横比的第二纵横比。
条款B:条款A的方法,进一步包括:分析所述多个流以确定所述多个流中的至少一个流描绘了阈值数量的人;分析描述所述阈值数量的人的至少一个流以识别与阈值活动水平相关联的至少一个人;以及确定用于生成所述至少一个流的经修改的渲染的缩放因子,经修改的渲染的缩放因子被配置为将焦点移到与所述阈值活动水平相关联的至少一个人。
条款C:条款A和B的方法,进一步包括:分析所述多个流以确定所述多个流中的至少一个流描绘了阈值数量的人;以及为所述至少一个流选择固定纵横比,其中所述固定纵横比覆盖与所述第二纵横比的关联和所述第二纵横比,其中当显示屏处于纵向朝向或横向朝向时,使用所述固定纵横比来显示所述至少一个流的渲染。
条款D:条款A至C的方法,进一步包括:分析所述多个流以确定在每个流的视频分量中描绘的人的数量;以及配置所述第一用户界面布置或所述第二用户界面布置以基于在每个流的视频分量中描绘的人的数量对每个流的各个渲染进行排序。
条款E:条款A至D的方法,进一步包括:分析所述多个流以确定在每个流的视频分量中描绘的人的数量;配置所述第一用户界面布置或所述第二用户界面布置以将第一流的渲染定位在多个流的渲染序列的一端处并且将第二流的渲染定位在所述渲染序列的第二位置,其中所述第一流中描绘的人的数量大于所述第二流中描绘的人的数量;分析所述多个流以确定所述第一流中描绘的人的数量是否少于所述第二流中描绘的人的数量;以及响应于确定在所述第一流中描绘的人的数量少于在第二流中描绘的人的数量,配置所述第一用户界面布置或所述第二用户界面布置以将所述第二流的渲染移动到所述渲染序列的一端处,并将第一流的渲染定位在所述渲染序列的第二位置。
条款F:条款A至E的方法,其中所述目标纵横比是基于与计算系统通信的显示设备的一个或多个维度来选择的,并且其中所述目标纵横比包括具有低比率和高比率的范围,其中所述第一纵横比大于所述范围的高比率,并且所述第二纵横比小于所述范围的低比率。
条款G:条款A至F的方法,进一步包括:在所述设备处于纵向朝向时接收用户输入以调整所述第一纵横比;基于用于调整第一纵横比的输入生成定义经调整的目标纵横比的使用数据,如果所述用户输入增加所述第一纵横比,则经调整的目标纵横比大于所述目标纵横比;以及存储经调整的目标纵横比,使该方法的后续执行将所述第一纵横比设置为大于所述经调整的目标纵横比。
条款H:条款A至G的方法,进一步包括:在所述设备处于横向朝向时接收用户输入以调整所述第二纵横比;基于用于调整所述第二纵横比的输入生成定义经调整的目标纵横比的使用数据,如果所述用户输入增加所述第二纵横比,则经调整的目标纵横比大于所述目标纵横比;以及存储经调整的目标纵横比,使该方法的后续执行将第二纵横比设置为小于经调整的目标纵横比的值。
条款I:系统100,包括:一个或多个处理692单元;以及计算机可读介质692,其上编码有计算机可执行指令以使一个或多个处理单元692:接收多个流,所述多个流中的各个流包括视频分量;从安装到所述计算系统100的传感器接收朝向数据,该朝向数据指示所述计算系统100的显示屏101处于横向朝向;响应于确定所述显示屏101处于横向朝向,使得显示包括所述多个流中的各个流的各个渲染103’的第一用户界面布置102B,其中各个渲染各自使用第一纵横比显示;从所述传感器接收额外的朝向数据,所述额外的朝向数据指示所述显示屏101从横向朝向转换为纵向朝向;以及响应于确定所述显示屏101从横向朝向转换为纵向朝向,使得从所述第一用户界面布置102B转换到包括所述各个流的经更新的渲染103的第二用户界面布置102A的显示,其中所述经更新的渲染103各自使用大于所述第一纵横比的第二纵横比显示。
条款J:条款I的系统,其中所述指令进一步使所述一个或多个处理单元:分析所述多个流以确定所述多个流中的至少一个流描绘了阈值数量的人;分析描述阈值数量的人的至少一个流以识别与阈值活动水平相关联的至少一个人;以及确定用于生成所述至少一个流的经修改的渲染的缩放因子,所述经修改的渲染的缩放因子被配置为将焦点移到与所述阈值活动水平相关联的所述至少一个人。
条款K:条款I和J的系统,其中指令进一步使一个或多个处理单元:分析所述多个流以确定所述多个流中的至少一个流描绘了阈值数量的人;以及为所述至少一个流选择固定纵横比,其中所述固定纵横比覆盖与所述第二纵横比的关联和所述第二纵横比,其中当所述显示屏处于纵向朝向或横向朝向时,使用所述固定纵横比来显示所述至少一个流的渲染。
条款L:条款I至K的系统,其中指令进一步使一个或多个处理单元:分析所述多个流以确定在每个流的视频分量中描绘的人的数量;以及配置所述第一用户界面布置或所述第二用户界面布置以基于在每个流的视频分量中描绘的人的数量对每个流的各个渲染进行排序。
条款M:条款I至L的系统,其中指令进一步使一个或多个处理单元:分析所述多个流以确定在每个流的视频分量中描绘的人的数量;配置所述第一用户界面布置或所述第二用户界面布置以将第一流的渲染定位在所述多个流的渲染序列的一端处并且将第二流的渲染定位在所述渲染序列的第二位置,其中所述第一流中描绘的人的数量大于所述第二流中描绘的人的数量;分析所述多个流以确定所述第一流中描绘的人的数量是否少于所述第二流中描绘的人的数量;以及响应于确定在所述第一流中描绘的人的数量少于在所述第二流中描绘的人的数量,配置所述第一用户界面布置或所述第二用户界面布置以将第二流的渲染移动渲染序列的一端处,并将所述第一流的渲染定位在所述渲染序列的第二位置。
条款N:一种系统110,包括:用于接收多个流的装置,多个流中的各个流包括视频分量;用于从安装到计算系统100的传感器接收朝向数据的装置,该朝向数据指示计算系统100的显示屏101处于纵向朝向;用于响应于确定显示屏101处于纵向朝向而使得显示包括多个流中的各个流的各个渲染103的第一用户界面布置102A的装置,其中各个渲染各自具有大于目标纵横比的第一纵横比;用于从传感器接收额外的朝向数据的装置,额外的朝向数据指示显示屏101从纵向朝向转换为横向朝向;以及用于响应于确定显示屏101从纵向朝向转换为横向朝向而使得从第一用户界面布置102A转换到包括各个流的经更新的渲染103'的第二用户界面布置102B的显示的装置,其中经更新的渲染103各自具有小于目标纵横比的第二纵横比。
条款O:条款N的系统,进一步包括:用于分析所述多个流以确定所述多个流中的至少一个流描绘了阈值数量的人的装置;用于分析描述所述阈值数量的人的至少一个流以识别与阈值活动水平相关联的至少一个人的装置;以及用于确定用于生成所述至少一个流的经修改的渲染的缩放因子的装置,经修改的渲染的缩放因子被配置为将焦点移到与所述阈值活动水平相关联的至少一个人。
条款P:条款N和O的系统,进一步包括:用于分析所述多个流以确定所述多个流中的至少一个流描绘了阈值数量的人的装置;以及用于为所述至少一个流选择固定纵横比的装置,其中所述固定纵横比覆盖与所述第二纵横比的关联和所述第二纵横比,其中当显示屏处于纵向朝向或横向朝向时,使用所述固定纵横比来显示所述至少一个流的渲染。
条款Q:条款N至P的系统,进一步包括:用于分析所述多个流以确定在每个流的视频分量中描绘的人的数量的装置;以及用于配置所述第一用户界面布置或所述第二用户界面布置以基于在每个流的视频分量中描绘的人的数量对每个流的各个渲染进行排序的装置。
条款R:条款N至Q的系统,进一步包括:用于分析所述多个流以确定在每个流的视频分量中描绘的人的数量的装置;用于配置所述第一用户界面布置或所述第二用户界面布置以将第一流的渲染定位在多个流的渲染序列的一端处并且将第二流的渲染定位在所述渲染序列的第二位置的装置,其中所述第一流中描绘的人的数量大于所述第二流中描绘的人的数量;用于分析所述多个流以确定所述第一流中描绘的人的数量是否少于所述第二流中描绘的人的数量的装置;以及响应于确定在所述第一流中描绘的人的数量少于在第二流中描绘的人的数量来配置所述第一用户界面布置或所述第二用户界面布置以将所述第二流的渲染移动到所述渲染序列的一端处并将第一流的渲染定位在所述渲染序列的第二位置的装置。
条款S:条款N至R的系统,还包括:用于在所述设备处于纵向朝向时接收用户输入以调整所述第一纵横比的装置;用于基于用于调整第一纵横比的输入生成定义经调整的目标纵横比的使用数据的装置,如果所述用户输入增加所述第一纵横比,则经调整的目标纵横比大于所述目标纵横比;以及用于存储经调整的目标纵横比而使该方法的后续执行将所述第一纵横比设置为大于所述经调整的目标纵横比的装置。
条款T:条款N至S的系统,进一步包括:用于在所述设备处于横向朝向时接收用户输入以调整所述第二纵横比的装置;用于基于用于调整所述第二纵横比的输入生成定义经调整的目标纵横比的使用数据的装置,如果所述用户输入增加所述第二纵横比,则经调整的目标纵横比大于所述目标纵横比;以及用于存储经调整的目标纵横比而使该方法的后续执行将第二纵横比设置为小于经调整的目标纵横比的值的装置。
还应该意识到,可以对上述示例进行许多改变和修改,其中的元素应被理解为在其他可接受的示例中。所有这样的修改和改变都旨在包括在本公开的范围内并受以下权利要求保护。
最后,尽管各种配置已经以结构特征和/或方法行为特定的语言进行了描述,但应理解,在所附表示中定义的主题不一定限于所描述的特定特征或行为。相反,具体特征和动作被公开为实现要求保护的主题的示例形式。

Claims (13)

1.一种由计算系统执行的方法,所述方法包括:
接收多个流,所述多个流中的各个流包括视频分量;
从安装到所述计算系统的传感器接收朝向数据,所述朝向数据指示所述计算系统的显示屏处于纵向朝向;
响应于确定所述显示屏处于所述纵向朝向,使得显示包括所述多个流中的各个流的各个渲染的第一用户界面布置,其中,所述各个渲染各自具有大于目标纵横比的第一纵横比;
从所述传感器接收额外的朝向数据,所述额外的朝向数据指示所述显示屏从所述纵向朝向转换为横向朝向;以及
响应于确定所述显示屏从所述纵向朝向转换为所述横向朝向,使得从所述第一用户界面布置转换到包括所述各个流的经更新的渲染的第二用户界面布置的显示,其中,所述经更新的渲染各自具有小于所述目标纵横比的第二纵横比。
2.如权利要求1所述的方法,还包括:
分析所述多个流以确定所述多个流中的至少一个流描绘阈值数量的人;
分析描绘所述阈值数量的人的所述至少一个流以识别与阈值活动水平相关联的至少一个人;以及
确定用于生成所述至少一个流的经修改的渲染的缩放因子,所述经修改的渲染的所述缩放因子被配置为将焦点移到与所述阈值活动水平相关联的所述至少一个人。
3.如权利要求1所述的方法,还包括:
分析所述多个流以确定所述多个流中的至少一个流描绘阈值数量的人;以及
为所述至少一个流选择固定纵横比,其中,所述固定纵横比覆盖与所述第二纵横比的关联以及所述第二纵横比,其中,所述至少一个流的渲染是当所述显示屏处于所述纵向朝向或所述横向朝向时使用所述固定纵横比来显示的。
4.如权利要求1所述的方法,还包括:
分析所述多个流以确定在每个流的视频分量中描绘的人的数量;以及
配置所述第一用户界面布置或所述第二用户界面布置以基于在每个流的视频分量中描绘的人的数量而对每个流的各个渲染进行排序。
5.如权利要求1所述的方法,还包括:
分析所述多个流以确定在每个流的视频分量中描绘的人的数量;
配置所述第一用户界面布置或所述第二用户界面布置以将第一流的渲染定位在所述多个流的渲染序列的一端处并且将第二流的渲染定位在所述渲染序列的第二位置处,其中,在所述第一流中描绘的人的数量大于在所述第二流中描绘的人的数量;
分析所述多个流以确定在所述第一流中描绘的人的数量是否少于在所述第二流中描绘的人的数量;以及
响应于确定在所述第一流中描绘的人的数量少于在所述第二流中描绘的人的数量,配置所述第一用户界面布置或所述第二用户界面布置以将所述第二流的渲染移动到所述渲染序列的一端处并且将所述第一流的渲染定位在所述渲染序列的所述第二位置处。
6.如权利要求1所述的方法,其中,所述目标纵横比是基于与所述计算系统通信的显示设备的一个或多个维度来选择的,并且其中,所述目标纵横比包括具有低比率和高比率的范围,其中,所述第一纵横比大于所述范围的所述高比率,并且所述第二纵横比小于所述范围的所述低比率。
7.如权利要求1所述的方法,还包括:
在所述设备处于所述纵向朝向时接收用于调整所述第一纵横比的用户输入;
生成定义经调整的目标纵横比的使用数据,所述经调整的目标纵横比是基于用于调整所述第一纵横比的输入的,如果所述用户输入增加所述第一纵横比,则所述经调整的目标纵横比大于所述目标纵横比;以及
存储所述经调整的目标纵横比,使得所述方法的后续执行将所述第一纵横比设置为大于所述经调整的目标纵横比。
8.如权利要求1所述的方法,还包括:
在所述设备处于所述横向朝向时接收用于调整所述第二纵横比的用户输入;
生成定义经调整的目标纵横比的使用数据,所述经调整的目标纵横比是基于用于调整所述第二纵横比的输入的,如果所述用户输入增加所述第二纵横比,则所述经调整的目标纵横比大于所述目标纵横比;以及
存储所述经调整的目标纵横比,使得所述方法的后续执行将所述第二纵横比设置为小于所述经调整的目标纵横比的值。
9.一种系统,包括:
一个或多个处理单元;以及
计算机可读介质,其上编码有计算机可执行指令以使得所述一个或多个处理单元:
接收多个流,所述多个流中的各个流包括视频分量;
从安装到所述计算系统的传感器接收朝向数据,所述朝向数据指示所述计算系统的显示屏处于横向朝向;
响应于确定所述显示屏处于所述横向朝向,使得显示包括所述多个流中的各个流的各个渲染的第一用户界面布置,其中,所述各个渲染各自使用第一纵横比显示;
从所述传感器接收额外的朝向数据,所述额外的朝向数据指示所述显示屏从所述横向朝向转换为所述纵向朝向;以及
响应于确定所述显示屏从所述横向朝向转换为所述纵向朝向,使得从所述第一用户界面布置转换到包括所述各个流的经更新的渲染的第二用户界面布置的显示,其中,所述经更新的渲染各自使用大于所述第一纵横比的第二纵横比显示。
10.如权利要求9所述的系统,其中,所述指令进一步使得所述一个或多个处理单元:
分析所述多个流以确定所述多个流中的至少一个流描绘阈值数量的人;
分析描绘所述阈值数量的人的所述至少一个流以识别与阈值活动水平相关联的至少一个人;以及
确定用于生成所述至少一个流的经修改的渲染的缩放因子,所述经修改的渲染的所述缩放因子被配置为将焦点移到与所述阈值活动水平相关联的所述至少一个人。
11.如权利要求9所述的系统,其中,所述指令进一步使得所述一个或多个处理单元:
分析所述多个流以确定所述多个流中的至少一个流描绘阈值数量的人;以及
为所述至少一个流选择固定纵横比,其中,所述固定纵横比覆盖与所述第二纵横比的关联以及所述第二纵横比,其中,所述至少一个流的渲染是当所述显示屏处于所述纵向朝向或所述横向朝向时使用所述固定纵横比来显示的。
12.如权利要求9所述的系统,其中,所述指令还使得所述一个或多个处理单元:
分析所述多个流以确定在每个流的视频分量中描绘的人的数量;以及
配置所述第一用户界面布置或所述第二用户界面布置以基于在每个流的视频分量中描绘的人的数量而对每个流的各个渲染进行排序。
13.如权利要求9所述的系统,其中,所述指令进一步使得所述一个或多个处理单元:
分析所述多个流以确定在每个流的视频分量中描绘的人的数量;
配置所述第一用户界面布置或所述第二用户界面布置以将第一流的渲染定位在所述多个流的渲染序列的一端处并且将第二流的渲染定位在所述渲染序列的第二位置处,其中,在所述第一流中描绘的人的数量大于在所述第二流中描绘的人的数量;
分析所述多个流以确定在所述第一流中描绘的人的数量是否少于在所述第二流中描绘的人的数量;以及
响应于确定在所述第一流中描绘的人的数量少于在所述第二流中描绘的人的数量,配置所述第一用户界面布置或所述第二用户界面布置以将所述第二流的渲染移动到所述渲染序列的一端处并且将所述第一流的渲染定位在所述渲染序列的所述第二位置处。
CN202080090535.6A 2019-12-27 2020-11-27 针对通信会话视频流的动态控制的纵横比 Pending CN114868107A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/729,272 US11050973B1 (en) 2019-12-27 2019-12-27 Dynamically controlled aspect ratios for communication session video streams
US16/729,272 2019-12-27
PCT/US2020/062469 WO2021133513A1 (en) 2019-12-27 2020-11-27 Dynamically controlled aspect ratios for communication session video streams

Publications (1)

Publication Number Publication Date
CN114868107A true CN114868107A (zh) 2022-08-05

Family

ID=73870203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080090535.6A Pending CN114868107A (zh) 2019-12-27 2020-11-27 针对通信会话视频流的动态控制的纵横比

Country Status (4)

Country Link
US (2) US11050973B1 (zh)
EP (1) EP4081901A1 (zh)
CN (1) CN114868107A (zh)
WO (1) WO2021133513A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024198158A1 (en) * 2023-03-31 2024-10-03 Beijing Xiaomi Mobile Software Co., Ltd. Method and system of playing video streams according to current orientation of a device's screen

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11422673B2 (en) 2020-06-12 2022-08-23 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
US11748845B2 (en) * 2021-01-27 2023-09-05 Nvidia Corporation Machine learning techniques for enhancing video conferencing applications
US11778004B2 (en) * 2022-01-10 2023-10-03 Zoom Video Communications, Inc. Dynamic presentation of attentional elements within a communication session
CN115933921A (zh) * 2022-11-29 2023-04-07 北京字跳网络技术有限公司 媒体内容的展示方法、装置、电子设备和存储介质

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030095663A (ko) 2002-06-14 2003-12-24 삼성전자주식회사 트리플 윈도우 구현이 가능한 영상처리장치 및 그의구현방법
US7948448B2 (en) * 2004-04-01 2011-05-24 Polyvision Corporation Portable presentation system and methods for use therewith
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
CA2727569C (en) 2008-06-09 2017-09-26 Vidyo, Inc. Improved view layout management in scalable video and audio communication systems
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
US8744420B2 (en) 2010-04-07 2014-06-03 Apple Inc. Establishing a video conference during a phone call
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
WO2016205748A1 (en) 2015-06-18 2016-12-22 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
US20180152737A1 (en) 2016-11-28 2018-05-31 Facebook, Inc. Systems and methods for management of multiple streams in a broadcast
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
US20200296462A1 (en) * 2019-03-11 2020-09-17 Wci One, Llc Media content presentation
US11064256B1 (en) 2020-01-15 2021-07-13 Microsoft Technology Licensing, Llc Dynamic configuration of communication video stream arrangements based on an aspect ratio of an available display area

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024198158A1 (en) * 2023-03-31 2024-10-03 Beijing Xiaomi Mobile Software Co., Ltd. Method and system of playing video streams according to current orientation of a device's screen

Also Published As

Publication number Publication date
US20210266501A1 (en) 2021-08-26
WO2021133513A1 (en) 2021-07-01
US11050973B1 (en) 2021-06-29
US20210203879A1 (en) 2021-07-01
EP4081901A1 (en) 2022-11-02
US11425334B2 (en) 2022-08-23

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
US10924709B1 (en) Dynamically controlled view states for improved engagement during communication sessions
US11785194B2 (en) Contextually-aware control of a user interface displaying a video and related user text
US11425334B2 (en) Dynamically controlled aspect ratios for communication session video streams
US10917608B1 (en) Dynamically controlled aspect ratios based on a number of participants depicted in communication video streams
US10754526B2 (en) Interactive viewing system
US20190230310A1 (en) Intelligent content population in a communication system
US20200201512A1 (en) Interactive editing system
CN113728591B (zh) 预览由评论中键入的超链接引用的视频内容
US10942633B2 (en) Interactive viewing and editing system
CN113711618A (zh) 创作包括引用视频内容的键入的超链接的评论
US20230388357A1 (en) 2d and 3d transitions for renderings of users participating in communication sessions
WO2023239467A1 (en) Customization of a user interface displaying a rendering of multiple participants of a hybrid communication session
WO2023229758A1 (en) Automation of visual indicators for distinguishing active speakers of users displayed as three-dimensional representations
US20230386145A1 (en) Automation of audio and viewing perspectives for bringing focus to relevant activity of a communication session
CN114902629B (zh) 用于在通信会话期间提供动态控制的视图状态以改进参与的方法和系统
US20240062457A1 (en) Adaptive adjustments of perspective views for improving detail awareness for users associated with target entities of a virtual environment
US20240146779A1 (en) Persistent participant prioritization across communication sessions

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