A method for arbitrarily adjusting the position and size of participants' windows in an online video conference

Through the combination of UI encapsulator and layout control unit, arbitrary adjustment of participants' windows in online video conferences is achieved, which solves the problem of fixed position and size in the existing technology, and improves the flexibility and user experience of video conferences.

CN115988253BActive Publication Date: 2025-07-04青岛云钉科技有限公司
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211622466.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-16
Publication Date
2025-07-04
Estimated Expiration
2042-12-16

AI Technical Summary

Technical Problem

The position and size of the participants’ windows in the existing online video conference software cannot be adjusted arbitrarily, which limits the creativity and flexibility of users and cannot meet the needs of scenarios such as online contract signing and online roundtable forums.

Method used

Through the UI encapsulator control unit and layout control unit, the adjustment handle and layer concepts are used to realize arbitrary adjustment of the participant's window, including the pulling of the video stream and the calculation of the adjustment rectangle information, and the UI elements are assigned to the X, Y, and Z axial vectors to realize the flexible layout of the participant's window.

Benefits of technology

It improves the flexibility of the participants' window display, realizes the free definition of the participants' window layout in the video conference, supports live screen projection and live broadcast, and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115988253B_ABST
    Figure CN115988253B_ABST
Patent Text Reader

Abstract

The present invention provides a method for arbitrarily adjusting the position and size of the windows of participants in an online video conference. The conference administrator can select a certain participant and display the participant on the video conference interface. A participant window surrounded by eight adjustment handles will appear on the video conference interface, and the size, position, and layer order of the video window of the participant can be selected. At the same time, the video stream of the participant will also be pulled from the video stream server and played synchronously in the participant window. The solution of the present invention is more flexible and has a higher degree of freedom, greatly improving the flexibility of the display of the participant window, realizing the free definition of the layout effect of the participant window in the video conference, and can provide strong support for on-site screen projection or on-site live broadcast in the video conference.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of information technology, and in particular to a method for arbitrarily adjusting the position and size of a participant's window in an online video conference. Background Art

[0002] As business activities become more frequent, meetings are playing an increasingly important role in a company's business activities. Ordinary offline meetings can no longer meet the needs of cross-regional business activities, so online meeting software has taken on a new mission - enabling leaders and employees from different regions to carry out company strategic planning and business activity arrangements. This highly efficient meeting design greatly saves meeting costs, including travel expenses, time, weather and other uncertain factors.

[0003] There are many online conference softwares available at present, all of which use built-in templates to define the layout of the participant interface in the meeting. The position and size of the participant windows in the templates are fixed, so users can only choose one layout style of the participant windows from the limited fixed templates, and there is no method to arbitrarily adjust the position and size of the participant windows.

[0004] Therefore, how to freely define the layout style of the participant window in the online conference software so that users can adjust the position and size of the participant window at will has become an urgent problem to be solved. Summary of the invention

[0005] The present invention provides a method for arbitrarily adjusting the position and size of a participant's window in an online video conference. The size, position, and layer order of the participant's video window are selectable. A conference administrator can select a certain participant and have him appear on the video conference interface. A corresponding "participant window" surrounded by eight adjustment handles will appear on the video conference interface. At the same time, the participant's video stream will also be pulled down from a video stream server and played synchronously in the "participant window".

[0006] The present invention provides a method for arbitrarily adjusting the position and size of a participant's window in an online video conference, comprising the following steps:

[0007] Step 1: The UI encapsulator control unit obtains the width and height of the video frame of each participant's video stream from the video stream server;

[0008] Step 2: The UI encapsulator control unit constructs an initial rectangle of each participant's window according to the width and height of each participant's video frame and the width and height of the preset layout area, sets eight adjustment handles around the initial rectangle of each participant's window, and assigns a layer value to the initial rectangle of each participant's window according to a preset order;

[0009] Step 3. The UI wrapper control unit determines the adjustment rectangle information of each participant window according to the operation conditions of the eight adjustment handles of each participant window by the conference administrator;

[0010] Step 4. The conference audio and video stream control unit pulls the video streams of each participant from the video stream server to the video player, and the UI wrapper control unit nests the video player into the adjustment rectangles of each participant window on the video conference interface and encapsulates it into the UI elements on the video conference interface;

[0011] Step 5. The layout control unit assigns three-dimensional coordinate values to the UI elements of each participant window according to the adjustment rectangle information of each participant window;

[0012] Step 6. The layout control unit renders each participant window in the form of UI elements onto the video conference interface according to the three-dimensional coordinate values of the UI elements of each participant window.

[0013] In an alternative embodiment, Step 2 includes:

[0014] Determine whether the width of each participant's video frame exceeds half of the width of the preset layout area;

[0015] If so, determine that the initial rectangle width of each participant window is half of the width of the preset layout area, and determine the initial rectangle height of each participant window according to the ratio of the width and height of each participant's video frame;

[0016] If not, determine that the initial rectangle width and height of each participant window are the width and height of each participant's video frame,

[0017] Construct the initial rectangle of each participant window according to the initial rectangle width and height of each participant window, and set eight adjustment handles at the four top corners and the middle positions of the four sides of the initial rectangle of each participant window.

[0018] In an alternative embodiment, the adjustment rectangle information includes the upper left corner coordinates of the rectangle, the rectangle width, and the rectangle height. Step 3 includes:

[0019] When the conference administrator drags the lower right adjustment handle of the participant window, the following algorithm is used to determine the adjustment rectangle information of the participant window:

[0020] The upper left corner coordinates of the adjustment rectangle of the participant window are the same as the upper left corner coordinates O(x, y) of the initial rectangle of the participant window;

[0021] The adjustment is divided into two cases:

[0022] When W changes, the adjusted W 调整后 = W 调整前 +(M2.x - P2.x), the adjusted H调整后 = H 调整前 *(1 + (M2.x - P2.x) / W 调整前 )); where W is the width of the participant window, H is the height of the participant window, P2(x, y) is the initial coordinate of the bottom - right adjustment handle, and M2(x, y) is the coordinate of the bottom - right adjustment handle after adjustment;

[0023] When H changes, the adjusted H 调整后 = H 调整前 + (M2.y - P2.y), and the adjusted W 调整后 = W 调整前 *(1 + (M2.y - P2.y) / H 调整前 ).

[0024] In an alternative embodiment, step three further includes:

[0025] When the conference administrator drags the upper - right adjustment handle of the participant window, the following algorithm is used to determine the adjustment rectangle information of the participant window:

[0026] The abscissa of the upper - left corner of the adjustment rectangle of the participant window is the same as the abscissa value O.x of the upper - left corner coordinate O(x, y) of the initial rectangle of the participant window, and the ordinate is M1.y;

[0027] The adjustment is divided into two cases:

[0028] When W changes, the adjusted W 调整后 = W 调整前 + (M1.x - P1.x), and the adjusted H 调整后 = H 调整前 *(1 + (M1.x - P1.x) / W 调整前 )); where W is the width of the participant window, H is the height of the participant window, P1(x, y) is the coordinate of the upper - right adjustment handle of the participant window, and M1(x, y) is the coordinate of the upper - right adjustment handle after adjustment;

[0029] When H changes, the adjusted H 调整后 = H 调整前 + (M1.y - P1.y), and the adjusted W 调整后 = W 调整前 *(1 + (M1.y - P1.y) / H 调整前 ).

[0030] In an alternative embodiment, step five includes:

[0031] Calculate the X - axis vector of the participant window based on the adjusted abscissa of the upper - left corner of the participant window and the width W of the participant window 调整后 and assign it to the UI elements of the participant window;

[0032] According to the ordinate of the upper left corner of the adjusted participant window and the width H of the participant window 调整后 Calculate the Y-axis vector of the participant window and assign it to the UI element of the participant window;

[0033] According to the layer value of the adjusted participant window, determine the Z-axis vector of the participant window and assign it to the UI element of the participant window.

[0034] In an alternative embodiment, step six includes:

[0035] Determine the positions of the participant windows on the video conference interface according to the X-axis vector, Y-axis vector, and Z-axis vector of the UI elements of the participant windows, and render and display the UI elements of the participant windows at the corresponding positions.

[0036] In an alternative embodiment, the method further includes:

[0037] Step seven, the sharing control unit shares the video conference interface;

[0038] The said step seven includes:

[0039] A. Push the current video conference interface to other conference terminals, lock the conference interface layout of the participants, so that the interface layouts of all participants are unified;

[0040] B. Record and save the current video conference interface locally or in the cloud;

[0041] C. Send the current video conference interface to the video stream server by live broadcast, so that the audience can watch the conference in real time through the Web page or the live broadcast APP.

[0042] A method for arbitrarily adjusting the position and size of a participant window in an online video conference provided by the present invention. The UI wrapper control unit performs proportional scaling and layer position adjustment on the participant window, making it more flexible and having a higher degree of freedom. It greatly improves the flexibility of the participant window display, realizes the free definition of the participant window layout effect in the video conference, and can provide strong support for on-site screen projection or on-site live broadcast in the video conference. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the following drawings are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.

[0044] Figure 1It is a system architecture diagram;

[0045] Figure 2 It is a schematic flowchart of a method for arbitrarily adjusting the position and size of participants' windows in an online video conference provided by an embodiment of the present disclosure;

[0046] Figure 3 It is a schematic diagram of the participant window layer setting;

[0047] Figure 4 It is a schematic diagram of the participant window adjustment. Detailed implementation manners

[0048] The present disclosure will be further described in detail below with reference to the accompanying drawings and embodiments. It can be understood that the specific embodiments described herein are only used to explain the present disclosure, rather than limiting the present disclosure. Additionally, it should be noted that for the convenience of description, only parts related to the present disclosure rather than all structures are shown in the drawings.

[0049] Before discussing the exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe the steps as sequential processes, many of the steps can be implemented in parallel, concurrently, or simultaneously. In addition, the order of the steps can be rearranged. The process can be terminated when its operations are completed, but it can also have additional steps not included in the drawings. The process can correspond to a method, function, procedure, subroutine, subprogram, etc.

[0050] In the following embodiments, optional features and examples are provided in each embodiment. The features recorded in the embodiments can be combined to form multiple alternative solutions. Each numbered embodiment should not be regarded as only one technical solution.

[0051] Among many video conferencing software, the layout of participants in the conference interface is limited by built-in templates, such as Tencent Meeting, ZOOM, etc. This way of allowing users to select a template to determine the layout of participants loses the characteristics of freedom and flexibility. Moreover, users can only arbitrarily select one from a limited number of templates, which restricts the creativity of users' use and limits the flexibility of some scenario applications. For example, online signing and online round-table forums both require freely defining the window positions of participants and matching corresponding scenario elements (background, animation, logo) to better integrate with the conference scenario. Obviously, the existing video conferencing software cannot meet the needs of users.

[0052] Regarding the problem that existing video conferencing software can only select built-in meeting templates, cannot drag the size and position of the "participant video window", and the interface layout remains fixed after the layout selection, the inventor designed a UI wrapper control unit through research. This unit plays the participant video stream through an embedded video player, and the video player itself is encapsulated inside a UI element that can be arbitrarily adjusted in position and size obtained through an algorithm. Therefore, the participant video has a concept similar to that of layers in image design software Photoshop. The size and position of its layers can be freely defined by dragging by the meeting administrator, and operations such as bringing the layer to the front, sending it to the back, moving it up or down can be performed, realizing a method for arbitrarily adjusting the position and size of the participant window.

[0053] Figure 1 The system architecture diagram based on the embodiments of the present disclosure is as Figure 1 shown. The definitions of each unit in the system are as follows:

[0054] 1) Conference audio and video stream control unit: The participant video stream is pushed to the video server for rebroadcasting. The meeting administrator pulls the participant video stream to the corresponding local elements in the form of video stream playback. Each element can be understood as a mini-player, and the number of video players is the number of participants accessing.

[0055] 2) Window capture unit: Captures the program windows of the operating system and allows participants to view them in the form of a shared electronic document.

[0056] 3) UI element unit: Interactive controls used in programs such as image controls, text controls, video controls, and report controls in a computer.

[0057] 4) Screen capture unit: The object captured is the entire screen.

[0058] 5) UI wrapper control unit: This unit is an important presentation part in the program. This unit plays the participant video stream through an embedded video player, and the video player itself is encapsulated inside a UI element that can be arbitrarily adjusted in position and size obtained through an algorithm. Therefore, the participant video has a concept similar to that of layers in image design software Photoshop. The size and position of its layers can be freely defined by dragging by the user, and operations such as bringing the layer to the front, sending it to the back, moving it up or down can be performed, realizing a method for arbitrarily adjusting the position and size of the participant window. This unit plays a role of connecting the front and the back. The "front" refers to the aforementioned four units, and the "back" refers to the "layout control unit" to be introduced immediately.

[0059] 6) Layout control unit: The function of this unit is to serve as a container for UI wrapper control units. All UI wrapper control units will have their positions in this unit. This unit assigns three important position parameters to UI elements, including the X-axis vector, Y-axis vector, and Z-axis vector. In a three-dimensional space, the positions of the participant video windows in the space can be uniquely determined using the three vectors X, Y, and Z. Based on the positions in a plane, the concept of layers is added, enabling different participant video windows to be stacked on top of each other.

[0060] 7) Sharing control unit: It can share the current video conference interface in three ways:

[0061] a. The conference administrator can forcefully push the current layout window to other conference terminals, locking the layout of the participants' conference interfaces to achieve the effect of unified interface layouts for all participants;

[0062] b. The conference administrator can record and save the current video conference interface locally or to the cloud;

[0063] c. The conference administrator can send the current video conference interface to a video stream server via live broadcast, and viewers can watch this conference in real time via a web page or a live broadcast APP.

[0064] Based on the above system architecture, Figure 2 The following is a schematic flowchart of a method for arbitrarily adjusting the positions and sizes of participant windows in an online video conference provided by an embodiment of the present disclosure, including the following steps:

[0065] Step 1: The UI wrapper control unit obtains the widths and heights of the video frames of the video streams of each participant from the video stream server;

[0066] Step 2: The UI wrapper control unit constructs the initial rectangles of the windows of each participant according to the widths and heights of the video frames of each participant and the width and height of the preset layout area, sets eight adjustment handles around the initial rectangles of the windows of each participant, and assigns layer values to the initial rectangles of the windows of each participant according to a preset order;

[0067] Specifically, Step 2 includes: determining whether the width of the video frame of each participant exceeds half of the width of the preset layout area; if so, determining that the width of the initial rectangle of the window of each participant is half of the width of the preset layout area, and determining the height of the initial rectangle of the window of each participant according to the ratio of the width and height of the video frame of each participant; if not, determining that the width and height of the initial rectangle of the window of each participant are the width and height of the video frame of each participant, constructing the initial rectangles of the windows of each participant according to the width and height of the initial rectangles of the windows of each participant, and setting eight adjustment handles at the four top corners and the middle positions of the four sides of the initial rectangles of the windows of each participant.

[0068] Step 3: The UI wrapper control unit determines the adjustment rectangle information of each participant window according to the operation of the eight adjustment handles of each participant window by the meeting administrator;

[0069] Among them, the adjustment rectangle information includes the upper left corner coordinates of the rectangle, the rectangle width, and the rectangle height.

[0070] Specifically, Step 3 includes: When the meeting administrator drags the lower right corner adjustment handle of the participant window, the following algorithm is used to determine the adjustment rectangle information of the participant window:

[0071] The upper left corner coordinates of the adjustment rectangle of the participant window are the same as the upper left corner coordinates O(x, y) of the initial rectangle of the participant window;

[0072] The adjustment is divided into two cases:

[0073] When W changes, the adjusted W 调整后 = W 调整前 +(M2.x - P2.x), and the adjusted H 调整后 = H 调整前 *(1 + (M2.x - P2.x) / W 调整前 ); where W is the width of the participant window, H is the height of the participant window, P2(x, y) is the initial coordinates of the lower right corner adjustment handle, and M2(x, y) is the coordinates of the lower right corner adjustment handle after adjustment;

[0074] When H changes, the adjusted H 调整后 = H 调整前 +(M2.y - P2.y), and the adjusted W 调整后 = W 调整前 *(1 + (M2.y - P2.y) / H 调整前 ).

[0075] When the meeting administrator drags the upper right corner adjustment handle of the participant window, the following algorithm is used to determine the adjustment rectangle information of the participant window:

[0076] The abscissa of the upper left corner of the adjustment rectangle of the participant window is the same as the abscissa value O.x of the upper left corner coordinates O(x, y) of the initial rectangle of the participant window, and the ordinate is M1.y;

[0077] The adjustment is divided into two cases:

[0078] When W changes, the adjusted W 调整后 = W 调整前 +(M1.x - P1.x), and the adjusted H 调整后 = H 调整前 *(1 + (M1.x - P1.x) / W 调整前); where W is the width of the participant window, H is the height of the participant window, P1(x, y) is the coordinates of the upper right corner adjustment handle of the participant window, and M1(x, y) is the coordinates of the upper right corner adjustment handle after adjustment;

[0079] When H changes, the adjusted H 调整后 = H 调整前 +(M1.y - P1.y), and the adjusted W 调整后 = W 调整前 *(1 + (M1.y - P1.y) / H 调整前 ).

[0080] Step 4: The conference audio - video stream control unit pulls the video streams of each participant from the video stream server to the video player, and the UI wrapper control unit nests the video player into the adjustment rectangles of each participant window on the video conference interface and encapsulates it into the UI elements on the video conference interface;

[0081] Step 5: The layout control unit assigns three - dimensional coordinate values to the UI elements of each participant window according to the adjustment rectangle information of each participant window;

[0082] Specifically, Step 5 includes: calculating the X - axis vector of the participant window and assigning it to the UI element of the participant window according to the abscissa of the upper left corner of the adjusted participant window and the width W of the participant window; calculating the Y - axis vector of the participant window and assigning it to the UI element of the participant window according to the ordinate of the upper left corner of the adjusted participant window and the height H of the participant window; determining the Z - axis vector of the participant window according to the layer value of the adjusted participant window and assigning it to the UI element of the participant window. 调整后 调整后 calculating the Y - axis vector of the participant window and assigning it to the UI element of the participant window according to the ordinate of the upper left corner of the adjusted participant window and the height H of the participant window; determining the Z - axis vector of the participant window according to the layer value of the adjusted participant window and assigning it to the UI element of the participant window.

[0083] Step 6: The layout control unit renders each participant window in the form of UI elements to the video conference interface according to the three - dimensional coordinate values of the UI elements of each participant window.

[0084] Specifically, Step 6 includes: determining the positions of each participant window on the video conference interface according to the X - axis vector, Y - axis vector and Z - axis vector of the UI elements of each participant window, and rendering and displaying the UI elements of each participant window at the corresponding positions.

[0085] Combined with the above - mentioned embodiments, the following specific examples are proposed. It can be understood that the following specific examples only exemplarily elaborate on the specific implementation of the above - mentioned embodiments, and do not limit the technical solutions of the above - mentioned embodiments.

[0086] ​The meeting administrator right-clicks on the attendee's avatar and selects the "Present" operation. The corresponding "Attendee Window" will appear in the meeting interface. The meeting administrator uses the eight adjustment handles to scale it to a size that they consider appropriate, and then drags each attendee window to the target position and releases the mouse. Use the function of sharing documents to add the documents to be shared to the "Online Meeting Layout Interface" in the form of an adjustment handle window, and add a background image for the meeting. In the meeting layout interface, the attendee windows, animations, and shared documents, as long as the elements encapsulated by the "UI Wrapper Control Unit" can be presented in this area, and the position and size can be adjusted. The implementation principle and algorithm are as follows:

[0087] 1. Obtain that the width of the video frame of the first attendee's video stream is 640 pixels and the height is 480 pixels. The width of the preset layout area is 1000 pixels and the height is 500 pixels;

[0088] 2. Let the initial rectangular size of the attendee window be the quantity to be determined T(w, h), the video frame size be S(w, h), and it is known that S(w, h) = S(640, 480). Since the width of the video frame 640 exceeds half of the width of the preset layout area 1000, then T.w = 1000 / 2 = 500. According to the ratio of the width and height of the video frame T.w / T.h = S.w / S.h, calculate T.h = T.w * S.h / S.w = (1000 / 2) * 480 / 640 = 375. That is, the initial rectangular width of the attendee window is 500 pixels and the height is 375 pixels. Set eight adjustment handles at the four top corners and the middle positions of the four sides of the initial rectangle of the attendee window, and regard the attendee window as Layer 1, and assign the layer value Z = 0. Other attendees construct the initial rectangles of the attendee windows in the same way in turn, and assign layer values in ascending order, as Figure 3 shown;

[0089] 3. The meeting administrator operates on the eight adjustment handles of each attendee window to adjust the position and size of each attendee window. The attendee window is scaled proportionally, with the principle of not modifying the aspect ratio. The layout principle of any element in the computer graphics interface is based on the coordinates (x, y) at the upper left corner of the window, and combined with the width and height of the element to uniquely determine the position and size of this element relative to its parent element, as Figure 4 shown. The operations of the meeting administrator are divided into two types, specifically as follows:

[0090] When the meeting administrator drags the lower right adjustment handle of the attendee window, the following algorithm is used to determine the adjustment rectangle information of the attendee window:

[0091] The upper left corner coordinates of the adjustment rectangle of the attendee window are the same as the upper left corner coordinates O(x, y) of the initial rectangle of the attendee window;

[0092] The adjustment is divided into two cases:

[0093] When W changes, the adjusted W 调整后 = W 调整前 + (M2.x - P2.x), and the adjusted H 调整后 = H 调整前 * (1 + (M2.x - P2.x) / W 调整前 ); where W is the width of the attendee window, H is the height of the attendee window, P2(x, y) is the initial coordinate of the bottom-right adjustment handle, and M2(x, y) is the coordinate of the bottom-right adjustment handle after adjustment;

[0094] When H changes, the adjusted H 调整后 = H 调整前 + (M2.y - P2.y), and the adjusted W 调整后 = W 调整前 * (1 + (M2.y - P2.y) / H 调整前 ).

[0095] When the conference administrator drags the top-right adjustment handle of the attendee window, the following algorithm is used to determine the adjustment rectangle information of the attendee window:

[0096] The abscissa of the upper-left corner of the adjustment rectangle of the attendee window is the same as the abscissa value O.x of the upper-left corner coordinate O(x, y) of the initial rectangle of the attendee window, and the ordinate is M1.y;

[0097] The adjustment is divided into two cases:

[0098] When W changes, the adjusted W 调整后 = W 调整前 + (M1.x - P1.x), and the adjusted H 调整后 = H 调整前 * (1 + (M1.x - P1.x) / W 调整前 ); where W is the width of the attendee window, H is the height of the attendee window, P1(x, y) is the coordinate of the top-right adjustment handle of the attendee window, and M1(x, y) is the coordinate of the top-right adjustment handle after adjustment;

[0099] When H changes, the adjusted H 调整后 = H 调整前 + (M1.y - P1.y), and the adjusted W 调整后 = W 调整前 * (1 + (M1.y - P1.y) / H 调整前 );

[0100] Only the origin coordinates change in the two methods, and the calculation methods for the corresponding width W value and height H value are the same. From this algorithm, the algorithms for the remaining handles can be deduced. However, note that adjusting to the left means adjusting to the left side of the X-axis, and pay attention to the positive and negative values. Because the further to the left, the larger the size of the conference video control, but the coordinate value M(x, y) of the origin becomes smaller (because it is closer to the coordinate origin (0, 0) or in the negative value area of the origin);

[0101] 4. Obtain the upper left corner coordinates O(x, y), rectangle width W, and rectangle height H of the adjusted rectangle according to the above algorithm;

[0102] 5. The results of step 4 are stored in memory. If the conference administrator adjusts the position or size of the participant window again, use the previously recorded O(x, y), W, and H, and re-run the algorithm in step 3, and loop through steps 3 - 5 until the conference administrator no longer adjusts the position or size of the participant window;

[0103] 6. The conference audio and video stream control unit pulls the video streams of each participant from the video stream server to the video player, and the UI encapsulation control unit nests the video player into the adjusted rectangles of each participant window on the video conference interface and encapsulates them into UI elements on the video conference interface

[0104] 7. The layout control unit assigns X-axis vectors, Y-axis vectors, and Z-axis vectors to the UI elements of the participant windows. The layout control unit maintains a FILO stack. When the first participant window is displayed in this unit, this unit will attach three-dimensional coordinate values (X = 0, Y = 0, Z = 0) to the object of the participant window. When the second participant window is displayed in this unit, the attached three-dimensional coordinate values are (X1 = X + offset coefficient, Y1 = Y + offset coefficient, Z1 = Z + 1). Here, the offset coefficient is used to make the participant windows expand hierarchically without overlapping. The offset coefficient can plan the stacking styles of subsequent "participant windows" to appear, or it can be set to zero, but the focus here should be Z, and so on;

[0105] 8. The layout control unit determines the positions of each participant window on the video conference interface according to the X-axis vectors, Y-axis vectors, and Z-axis vectors of the UI elements of each participant window, and renders and displays the UI elements of each participant window at the corresponding positions.

[0106] At this time, only the meeting layout is changed on the side of the meeting administrator. The participants still use the default built-in meeting template locally. The meeting administrator can share the current meeting layout interface to other participants' interfaces through the "shared control unit" and lock it, so that the meeting layouts of the participants are synchronized with the settings of the meeting administrator. Of course, any participant can also project the current screen onto the on-site large screen after going full screen to create the atmosphere of a meeting with a specific theme online, and can also conduct live broadcasts or recordings.

[0107] The meeting administrator can share the video conference interface, including:

[0108] A. Push the current video conference interface to other meeting terminals and lock the meeting interface layout of the participants, so that the interface layouts of all participants are unified;

[0109] B. Record and save the current video conference interface locally or in the cloud;

[0110] C. Send the current video conference interface to the video stream server through live broadcast, so that the audience can watch the meeting in real time through the Web page or the live broadcast APP.

[0111] The above description is only the preferred embodiment of the present disclosure and the description of the applied technical principles. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by the specific combination of the above technical features, and should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosure concept. For example, the technical solutions formed by mutually replacing the above features with the technical features (but not limited to) having similar functions disclosed in the present disclosure.

[0112] In addition, although the operations are depicted in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the present disclosure. Certain features described in the context of a single embodiment can also be implemented in combination in a single embodiment. On the contrary, the various features described in the context of a single embodiment can also be implemented separately or in any suitable sub-combination in multiple embodiments.

[0113] Although the subject matter has been described in language specific to structural features and / or methodological logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. On the contrary, the specific features and acts described above are only example forms of implementing the claims.

[0114] The above are only specific embodiments of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present invention can easily think of changes or substitutions, which should all be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims described above.

Claims

1. A method for arbitrarily adjusting the position and size of the windows of participants in an online video conference, characterized in that, The method includes the following steps: Step 1: The UI wrapper control unit obtains the width and height of the video frames of the video streams of each participant from the video stream server. Step 2: The UI wrapper control unit constructs the initial rectangles of the windows of each participant according to the width and height of the video frames of each participant and the width and height of the preset layout area, sets eight adjustment handles around the initial rectangles of the windows of each participant, and assigns layer values to the initial rectangles of the windows of each participant according to a preset order. Step 3: The UI wrapper control unit determines the adjustment rectangle information of the windows of each participant according to the operation conditions of the eight adjustment handles of the windows of each participant by the conference administrator. Step 4: The conference audio and video stream control unit pulls the video streams of each participant from the video stream server to the video player, and the UI wrapper control unit nests the video player into the adjustment rectangles of the windows of each participant on the video conference interface and encapsulates them into the UI elements on the video conference interface. Step 5: The layout control unit assigns three-dimensional coordinate values to the UI elements of the windows of each participant according to the adjustment rectangle information of the windows of each participant. Step 6: The layout control unit renders the windows of each participant onto the video conference interface in the form of UI elements according to the three-dimensional coordinate values of the UI elements of the windows of each participant. The Step 2 includes: Judging whether the width of the video frame of each participant exceeds half of the width of the preset layout area; If so, determining that the width of the initial rectangle of the window of each participant is half of the width of the preset layout area, and determining the height of the initial rectangle of the window of each participant according to the ratio of the width and height of the video frame of each participant; If not, determining that the width and height of the initial rectangle of the window of each participant are the width and height of the video frame of each participant, constructing the initial rectangles of the windows of each participant according to the width and height of the initial rectangles of the windows of each participant, and setting eight adjustment handles at the four top corners and the middle positions of the four sides of the initial rectangles of the windows of each participant; The adjustment rectangle information includes the upper left coordinate of the rectangle, the width of the rectangle, and the height of the rectangle. The Step 3 includes: When the conference administrator drags the lower right adjustment handle of the window of a participant, the following algorithm is used to determine the adjustment rectangle information of the window of the participant: The upper left coordinate of the adjustment rectangle of the window of the participant is the same as the upper left coordinate O(x, y) of the initial rectangle of the window of the participant; The adjustment is divided into two cases: When W changes, the adjusted W 调整后 = W 调整前 + (M2.x - P2.x), and the adjusted H 调整后 = H 调整前 * (1 + (M2.x - P2.x) / W 调整前 )); where W is the width of the participant window, H is the height of the participant window, P2(x, y) is the initial coordinate of the lower-right adjustment handle, and M2(x, y) is the coordinate of the lower-right adjustment handle after adjustment; When H changes, the adjusted H 调整后 = H 调整前 + (M2.y - P2.y), the adjusted W 调整后 = W 调整前 * (1 + (M2.y - P2.y) / H 调整前 ); The Step 3 further includes: When the conference administrator drags the upper right adjustment handle of the window of a participant, the following algorithm is used to determine the adjustment rectangle information of the window of the participant: The abscissa of the upper left corner of the adjustment rectangle of the window of the participant is the same as the abscissa value O.x of the upper left coordinate O(x, y) of the initial rectangle of the window of the participant, and the ordinate is M1.y; The adjustment is divided into two cases: When W changes, the adjusted W 调整后 = W 调整前 + (M1.x - P1.x), and the adjusted H 调整后 = H 调整前 * (1 + (M1.x - P1.x) / W 调整前 ); where W is the width of the participant window, H is the height of the participant window, P1(x, y) is the coordinate of the adjustment handle at the upper right corner of the participant window, and M1(x, y) is the coordinate of the adjusted adjustment handle at the upper right corner; When H changes, the adjusted H 调整后 = H 调整前 + (M1.y - P1.y), the adjusted W 调整后 = W 调整前 * (1 + (M1.y - P1.y) / H 调整前 ) 2. The method for arbitrarily adjusting the position and size of the windows of participants in an online video conference according to claim 1, characterized in that, The Step 5 includes: According to the abscissa of the upper left corner of the adjusted participant window and the width W of the participant window 调整后 Calculate the X-axis vector of the participant window and assign it to the UI elements of the participant window; According to the ordinate of the upper left corner of the adjusted participant window and the width H of the participant window 调整后 Calculate the Y-axis vector of the participant window and assign it to the UI elements of the participant window; Determining the Z-axis vector of the window of the participant according to the layer value of the adjusted window of the participant and assigning it to the UI element of the window of the participant.

3. The method for arbitrarily adjusting the position and size of the participant window in an online video conference according to claim 2, characterized in that, The Step 6 includes: Determining the positions of the windows of each participant on the video conference interface according to the X-axis vector, Y-axis vector, and Z-axis vector of the UI elements of the windows of each participant, and rendering and displaying the UI elements of the windows of each participant at the corresponding positions.

4. The method for arbitrarily adjusting the position and size of a participant's window in an online video conference according to any one of claims 1 to 3, characterized in that, The method further includes: Step 7: The sharing control unit shares the video conference interface; The said Step 7 includes: A. Push the current video conference interface to other conference terminals, lock the conference interface layout of the participants, so that the interface layouts of all participants are unified; B. Save the video recording of the current video conference interface locally or in the cloud; C. Send the current video conference interface to the video stream server by live broadcast, so that the audience can watch the conference in real time through the Web page or the live broadcast APP.

Citation Information

Patent Citations

  • Method and device for modifying a composite video signal layout

    CN102498717A