System and method for managing synchronization in conference calls

CN122514933APending Publication Date: 2026-08-04SAMSUNG ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SAMSUNG ELECTRONICS CO LTD
Filing Date
2025-01-24
Publication Date
2026-08-04

AI Technical Summary

Technical Problem

关于以上内容中的任何内容是否可用作关于本公开的现有技术,尚未做出确定,也没有做出断言

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122514933A_ABST
    Figure CN122514933A_ABST
Patent Text Reader

Abstract

A method for managing synchronization in a conference call is disclosed. The method includes establishing, by a first user equipment (UE), a call session associated with a conference call with one or more second UEs. Further, the method includes determining, by the first UE, a latency value associated with the call session for each of the one or more second UEs. The method also includes determining, by the first UE, a user experience score for the call session associated with each of the one or more second UEs. Further, the method includes modifying, by the first UE, a first size of one or more data packets to a second size for each of the one or more second UEs based on respective user experience scores for the call session associated with the one or more second UEs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to communication technologies; for example, this disclosure relates to a system and method for managing synchronization in conference calls. Background Technology

[0002] In a fast-paced world of technological advancement, video calling has become a cornerstone of modern communication, reshaping how individuals and businesses connect globally. The increased use of video calling services is largely attributed to new circumstances, such as remote work during and after the pandemic and the need for emotional connections with family. To meet this demand, several over-the-top (OTT) solutions exist to enable video calls. However, these existing OTT solutions still fall short in terms of user experience (UX) and seamless collaboration between different devices, such as mobile devices and televisions, making it difficult to achieve a better viewing experience.

[0003] Furthermore, several existing synchronization solutions exist for multi-party video calls to align audio and video streams between participants. However, several challenges are associated with these existing synchronization solutions. For example, existing synchronization solutions expose a sender-centric approach, where all receivers synchronize the sender's video, potentially resulting in content being missed at the receiver's location. This leads to a poor viewing experience at the receiver's location where some content is missing. Additionally, the synchronization server is aware of the playback time / content availability time at the receiver's location. Currently, the synchronization server is not integrated with the content server to control the content server's transmission attributes (how much data to transmit). This results in long buffering times at the receiver's location during periods of poor network performance. Furthermore, in video conferencing, the communication server relays both video and audio data types, while the content server relays the content data type. When senders share and discuss content, these two data types (video / audio and content) should be synchronized. Currently, this is not supported in existing synchronization solutions.

[0004] Figure 1a A block diagram 100 illustrating the problems of utilizing existing synchronization solutions according to related technologies is shown. In existing synchronization solutions, content, communication, and synchronization occur independently. Furthermore, as shown, a content server is used for content storage, a communication server is used for video conferencing, a synchronization server is configured to keep the content synchronized, the sender is a device sharing the content, and the receiver is a device receiving the content. In existing synchronization solutions, content transmission is not controlled or adjusted based on synchronization. Furthermore, content latency and video conferencing latency are not synchronized.

[0005] Furthermore, existing synchronization solutions offer sender-centric synchronization rather than continuous synchronization. Additionally, video synchronization only occurs with user actions such as play / pause. In scenarios with network fluctuations, the playback position may differ continuously for two users. Moreover, existing synchronization solutions lack functionality for joint local file sharing. The only option offered in existing synchronization solutions is screen sharing, which has significant limitations, such as being non-interactive (other participants cannot control the video). Furthermore, the original video quality and aspect ratio are not preserved when sharing the screen. Therefore, existing synchronization solutions provide a poor viewing experience and increased latency. Furthermore, in existing synchronization solutions, redundant content is streamed along with screen sharing options not intended for the receiver (such as notifications, toolbars, etc.). Additionally, the sender's device cannot be used for other tasks while using screen sharing. Finally, existing synchronization solutions do not offer the option to apply custom synchronization mechanisms.

[0006] Furthermore, to provide users with an immersive shared viewing experience, perfect synchronization is required when content is played across all user devices. For example, users might want to share videos from their devices with their friends or family. However, existing synchronization solutions suffer from content omission issues because they cannot provide synchronization with an ongoing meeting. For instance, if synchronization is performed based on a single user (primarily the sender / broadcaster) without considering the playback position of other users, all other users will miss content because they are behind the broadcaster's playback position.

[0007] Furthermore, in existing solutions, content streaming and synchronization are independent, meaning content delivery attributes (e.g., chunk size) cannot be adjusted based on the synchronization experience. Under varying network conditions for users, without adjustment, different users have different amounts of data, resulting in different playback positions (some users have started playback, while others have not yet downloaded data) because content downloading and playback occur in parallel.

[0008] Figure 1bA block diagram 102 illustrates a playback delay problem using existing synchronization solutions according to related technologies. As shown, the receivers are in good condition, and the initial transmission size is 10 megabytes (MB) (maximum size). Now, all receivers have 10MB (e.g., 10 seconds) of content to play, and all users begin playing content segment - 110MB (10 seconds). Furthermore, one user moves to a low-bandwidth location. Therefore, to download the 10MB content segment -2, the user may spend 12 seconds. The remaining users may spend less time. Thus, after playing the 10MB (10 seconds) segment -1, segment -2 is only available 2 seconds after playing the complete segment -1. Therefore, there is a 2-second playback delay due to the lack of available content.

[0009] Furthermore, existing synchronization solutions fail to account for the latency of ongoing video conferencing. Synchronization between video conferencing and content viewing is essential. Video conferencing is real-time, and content streaming is near real-time, but in a shared scenario, both need to be synchronized for the experience to be considered good. For example, when users are watching a movie together in a video conference and one user claps in the scene, existing synchronization solutions cannot synchronize the clapping with the scenes of other users. Additionally, existing synchronization solutions do not work in peer-to-peer (P2P) mode (due to the mandatory synchronization server). Therefore, existing synchronization solutions are costly and have extremely low latency.

[0010] The above information is presented as background information only to aid in understanding this disclosure. No determination or assertion has been made regarding whether any of the above content can be used as prior art in relation to this disclosure. Summary of the Invention

[0011] Technical solution In an example embodiment, a method for managing synchronization in a conference call is disclosed. The method includes: establishing a call session associated with the conference call by a first user equipment (UE) and one or more second UEs. Furthermore, the method includes: determining a latency value associated with the call session for each of the one or more second UEs by the first UE. The method also includes: determining a user experience provider (UXP) for the call session associated with each of the one or more second UEs by the first UE. Additionally, the method includes: modifying a first size of one or more data packets to a second size for each of the one or more second UEs based on the corresponding UXP of the call session associated with the one or more second UEs.

[0012] In an example embodiment, a first user equipment (UE) for managing synchronization in a conference call is disclosed. A first UE memory stores instructions and one or more processors, wherein the instructions, when executed individually or jointly by the one or more processors, cause the first UE to: establish a call session associated with the conference call with one or more second UEs; determine a latency value associated with the call session for each of the one or more second UEs; determine a user experience metric for the call session associated with each of the one or more second UEs; and modify a first size of one or more data packets to a second size for each of the one or more second UEs based on the corresponding user experience metric of the call session associated with the one or more second UEs.

[0013] In an example embodiment, a non-transitory computer-readable storage medium storing one or more programs is disclosed, wherein the one or more programs include instructions. When executed individually or jointly by at least one processor of a first user equipment (UE), the instructions cause the first UE to: establish a call session associated with a conference call with one or more second UEs; determine a latency value associated with the call session for each of the one or more second UEs; determine a user experience metric for the call session associated with each of the one or more second UEs; and modify a first size of one or more data packets to a second size for each of the one or more second UEs based on the corresponding user experience metric of the call session associated with the one or more second UEs.

[0014] To further illustrate the advantages and features of this disclosure, a more specific description of the disclosure will be presented with reference to specific embodiments of the disclosure shown in the accompanying drawings. It is understood that these drawings depict only exemplary embodiments of the disclosure and are therefore not intended to limit its scope. The disclosure will be described and explained with additional features and details in conjunction with the accompanying drawings. Attached Figure Description

[0015] These and other features, aspects, and advantages of this disclosure will become better understood when the following detailed description is read with reference to the accompanying drawings, in which the same characters denote the same parts, wherein: Figure 1a A block diagram illustrating the problems of utilizing existing synchronization solutions according to relevant technologies is shown; Figure 1b A block diagram illustrating the playback latency problem using existing synchronization solutions, based on relevant technologies, is shown. Figure 2 A block diagram of a system for managing synchronization in a conference call according to an embodiment of the present disclosure is shown; Figure 3A block diagram of multiple modules of a system for managing synchronization in a conference call at a sending user equipment (UE) according to an embodiment of the present disclosure is shown; Figure 4 A block diagram is shown for processing distributed synchronization sessions and playback sessions at a sending UE and one or more receiving UEs according to embodiments of the present disclosure; Figure 5 A schematic representation of a playback session state transition based on synchronization messages according to an embodiment of the present disclosure is shown; Figure 6 A sequence diagram depicting the operation of a system for managing synchronization in a conference call, according to an embodiment of the present disclosure, is shown. Figure 7a and Figure 7b A sequence diagram depicting the operation of a system for managing synchronization in a conference call, according to another embodiment of the present disclosure, is shown; Figure 8 A flowchart depicting the operation of a system at the sending UE for managing synchronization in a conference call, according to an embodiment of the present disclosure, is shown. Figure 9 A flowchart depicting the operation of a system at the receiving UE for managing synchronization in a conference call, according to an embodiment of the present disclosure, is shown. Figure 10 A block diagram illustrating a use case scenario of a system for managing synchronization in a conference call, according to an embodiment of the present disclosure; Figure 11 A flowchart illustrating a use case scenario of a system for managing synchronization in a conference call, according to an embodiment of the present disclosure, is shown. Figure 12 The diagram illustrates a use case scenario of a system for managing synchronization in a conference call, according to embodiments of the present disclosure; and Figure 13 An exemplary processing flow depicting a method for managing synchronization in a conference call, according to embodiments of the present disclosure, is shown.

[0016] Furthermore, those skilled in the art will understand that the elements in the accompanying drawings are shown for simplicity and may not necessarily be drawn to scale. For example, flowcharts illustrate the method based on the most prominent steps / operations involved to aid in understanding various aspects of this disclosure. Additionally, regarding the construction of the apparatus, one or more components of the apparatus may have already been represented by conventional symbols in the drawings, and the drawings may show only specific details relevant to understanding embodiments of this disclosure so as not to obscure the drawings with details readily understood by those of ordinary skill in the art who benefit from the description herein. Detailed Implementation

[0017] It may be advantageous to define specific words and phrases used throughout this patent document. The term “coupled” and its derivatives refer to any direct or indirect communication between two or more elements, regardless of whether those elements are physically in contact with each other. The terms “transmit,” “receive,” and “communicate,” and their derivatives encompass both direct and indirect communication. The terms “comprise” and “include,” and their derivatives refer to, but are not limited to, those included in. The term “or” is inclusive, indicating and / or. The phrase “associated with” and its derivatives mean including, being included in, interconnected with, containing, being contained within, connected to or connected with, coupled to or coupled with, communicable with, cooperating with, interleaved, juxtaposed, proximate, bound to or bound with, having, possessing the properties of, having a relationship with, etc. The term “controller” refers to any device, system, or part thereof that controls at least one operation. Such a controller may be implemented in hardware or a combination of hardware and software and / or firmware. The functionality associated with any particular controller may be centralized or distributed, local or remote. When used with a list of items, the phrase “at least one of…” indicates that different combinations of one or more of the listed items may be used, and that only one item from the list may be required. For example, “at least one of A, B, and C” includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C.

[0018] Furthermore, the various functions described below may be implemented or supported by one or more computer programs, each of which is formed by computer-readable program code and embodied in a computer-readable medium. The terms "application" and "program" refer to one or more computer programs, software components, instruction sets, procedures, functions, objects, classes, instances, associated data, or portions thereof suitable for implementation in appropriate computer-readable program code. The phrase "computer-readable program code" includes any type of computer code (including source code, object code, and executable code). The phrase "computer-readable medium" includes any type of medium accessible by a computer, such as read-only memory (ROM), random access memory (RAM), hard disk drive, optical disc (CD), digital video disc (DVD), or any other type of storage. "Non-transitory" computer-readable media does not include wired communication links, wireless communication links, optical communication links, or other communication links that transmit transient electrical or other signals. Non-transitory computer-readable media includes media that permanently store data and media that store data and can subsequently be rewritten (such as rewritable optical discs or erasable memory devices).

[0019] Definitions of other specific words and phrases are provided throughout this patent document. It will be understood by those skilled in the art that, in many cases (if not most), such definitions apply to the prior and future use of the words and phrases defined in this way.

[0020] Figure 2 A block diagram of a system 200 for managing synchronization in a conference call according to an embodiment of the present disclosure is shown. In embodiments of the present disclosure, system 200 is implemented in a sending user equipment (UE) 202 and one or more receiving UEs 203. The sending UE 202 is communicatively coupled to one or more receiving UEs 203 to participate in the conference call. In embodiments of the present disclosure, the sending UE 202 is a user equipment (device) from which audio and / or video data is transmitted in the conference call. Furthermore, one or more receiving UEs 203 are user equipment (devices) that receive audio and / or video data transmitted by the sending UE 202 in the conference call. For example, the sending UE 202 and one or more receiving UEs may be, but are not limited to, smartphones, tablets, laptops, smartwatches, etc. For brevity, system 200 is explained with reference to the sending UE 202.

[0021] System 200 may include one or more processors / controllers (e.g., including processing circuitry) 204, input / output (I / O) interfaces 206, multiple modules 208, and memory 210.

[0022] In an exemplary embodiment, one or more processors / controllers 204 may be operatively coupled to each of a corresponding I / O interface 206, a plurality of modules 208, and memory 210. In one embodiment, one or more processors / controllers 204 may include at least one data processor for performing processing in a virtual memory area network. One or more processors / controllers 204 may include dedicated processing units, such as integrated system (bus) controllers, memory management control units, floating-point units, graphics processing units, digital signal processing units, etc. In one embodiment, one or more processors / controllers 204 may include a central processing unit (CPU), a graphics processing unit (GPU), or both. One or more processors / controllers 204 may be one or more general-purpose processors, digital signal processors, application-specific integrated circuits, field-programmable gate arrays, servers, networks, digital circuits, analog circuits, combinations thereof, or other means now known or developed for analyzing and processing data. One or more processors / controllers 204 may run software programs (such as manually generated (i.e., programmed) code) to perform desired operations. In embodiments of this disclosure, processor / controller 204 may be a general-purpose processor (such as a CPU, application processor (AP), etc.), a graphics processing unit only (such as a GPU, visual processing unit (VPU)), and / or an artificial intelligence (AI) dedicated processor (such as a neural processing unit (NPU)). Furthermore, processor 202 may include various processing circuitry and / or multiple processors. For example, as used herein (including the claims), the term "processor" may include various processing circuitry (including at least one processor), wherein one or more of the at least one processor may be configured individually and / or collectively in a distributed manner to perform the various functions described herein. As used herein, when "processor," "at least one processor," and "one or more processors" are described as being configured to perform a number of functions, these terms cover, for example, but not limited to, a situation where one processor performs some of the described functions while another processor performs other functions, and a situation where a single processor can perform all the described functions. Additionally, at least one processor may include, for example, a combination of processors performing various described / disclosed functions in a distributed manner. At least one processor may execute program instructions to implement or perform various functions.

[0023] Furthermore, one or more processors / controllers 204 control the processing of input data according to specified operating rules or machine learning (ML) models stored in non-volatile memory and volatile memory. The specified operating rules or ML models are provided through training or learning.

[0024] Here, the representation is provided by applying learning techniques to multiple learning data to formulate specified operational rules or ML models for desired characteristics. Learning can be performed within the sending UE 202 itself, which executes ML according to the embodiment, and / or can be implemented via a separate server / system.

[0025] One or more processors / controllers 204 may be configured to communicate with one or more input / output (I / O) devices via corresponding I / O interfaces 206. The I / O interfaces 206 may employ communication methods such as Code Division Multiple Access (CDMA), High-Speed ​​Packet Access (HSPA+), Global System for Mobile Communications (GSM), Long Term Evolution (LTE), and WiMax.

[0026] One or more processors / controllers 204 may be configured to communicate with a communication network via a network interface. In an embodiment, the network interface may be an I / O interface 206. The network interface may be connected to the communication network to enable connection between the sending UE 202 and one or more receiving UEs 203. The network interface may employ connection protocols, including but not limited to direct connection, Ethernet (e.g., twisted pair 10 / 100 / 1000 Base T), Transmission Control Protocol / Internet Protocol (TCP / IP), Token Ring, IEEE 802.11a / b / g / n / x, etc. The communication network may include, but is not limited to, direct interconnect, local area network (LAN), wide area network (WAN), wireless network (e.g., using Wireless Application Protocol), Internet, etc.

[0027] In some embodiments, memory 210 may be communicatively coupled to one or more processors / controllers 204. Memory 210 may be configured to store data and instructions executable by one or more processors / controllers 204. Memory 210 may include, but is not limited to, non-transitory computer-readable storage media, such as various types of volatile and non-volatile storage media, including but not limited to random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory, electrically erasable read-only memory, flash memory, magnetic tape or disk, optical media, etc. In one example, memory 210 may include a cache or random access memory for one or more processors / controllers 204. In alternative examples, memory 210 may be a portion of one or more processors / controllers 204 (such as a processor's cache memory), system memory, or other memory. In some embodiments, memory 210 may be an external storage device or database for storing data. Memory 210 may be operable to store instructions executable by one or more processors / controllers 204. Functions, actions, or tasks shown or described in the figures may be performed by a programmable processor / controller that executes the instructions stored in memory 210. Functions, actions, or tasks are independent of a specific type of instruction set, storage medium, processor, or processing strategy, and can be executed by software, hardware, integrated circuits, firmware, microcode, etc., operating individually or in combination. Similarly, processing strategies can include multiprocessing, multitasking, parallel processing, etc.

[0028] In some embodiments, multiple modules 208 may be included within memory 210. Memory 210 may also include a system database 212 for storing data. The multiple modules 208 may include an instruction set that can be executed to cause one or more processors 102 of system 200 to perform any one or more of the methods / processes disclosed herein. As discussed herein, the multiple modules 208 may be configured to use data stored in system database 212 to perform the steps / operations of this disclosure to manage synchronization in a conference call. In embodiments, each of the multiple modules 208 may be a hardware unit that may be external to memory 210. Furthermore, memory 210 may include an operating system 214 for performing one or more tasks of system 200, such as those performed by a general-purpose operating system 214 in a communications domain. In one embodiment, system database 212 may be configured to store information required by the multiple modules 208 and one or more processors / controllers 204 to manage synchronization in a conference call.

[0029] In embodiments of this disclosure, at least one of the plurality of modules 208 may be implemented via an ML model. ML-related functions may be performed via non-volatile memory, volatile memory, and one or more processors 204.

[0030] In an embodiment, the I / O interface 206 may use suitable devices (such as, but not limited to, a display, keyboard, mouse, touch screen, microphone, speaker, etc.) to enable input to and output from the system 200.

[0031] Furthermore, this disclosure also envisions a computer-readable medium that includes instructions or receives and executes instructions in response to a propagated signal. Additionally, instructions can be sent or received over a network via a communication port or interface or using a bus. The communication port or interface may be part of one or more processors / controllers 204, or may be a separate component. The communication port may be created in software or may be a physical connection in hardware. The communication port may be configured to connect to a network, external media, a display, or any other component or combination thereof of the device 202. The connection to the network may be a physical connection (such as a wired Ethernet connection) or may be established wirelessly. Similarly, additional connections to other components of the device 202 may be physical or may be established wirelessly. The network may optionally be directly connected to a bus. For brevity, the architecture and standard operation of the operating system 214, memory 210, system database 212, one or more processors / controllers 204, and I / O interface 206 are not discussed in detail.

[0032] Figure 3 A block diagram of multiple modules of a system 200 for managing synchronization in a conference call at the sending UE 202 according to an embodiment of the present disclosure is shown. In embodiments of the present disclosure, the multiple modules 208 may include, but are not limited to, an establishment module 302, a calculation module 304, a determination module 306, a modification module 308, a sending module 310, and a removal module 312. The multiple modules 208 may be implemented through suitable hardware and / or software applications.

[0033] In embodiments of this disclosure, the establishment module 302 may be configured to establish a call session associated with a conference call between a sending UE 202 and one or more receiving UEs 203.

[0034] Furthermore, the calculation module 304 can be configured by the sending UE 202 to determine a latency value associated with an established call session for each of one or more receivers. In embodiments of this disclosure, the latency value refers to the amount of delay between the initiation of a communication event and the time it takes for the communication event to be received or perceived by one or more receiver UEs 203. In determining the latency value, the calculation module 304 can be configured by the sending UE 202 to send one or more data packets of a first size to one or more receiver UEs 203. Furthermore, the calculation module 304 can be configured by the sending UE 202 to receive a transmission report, a conference report, or a combination thereof from one or more receivers when the first size data packets are sent to one or more receiver UEs 203. In embodiments of this disclosure, the transmission report is a control message containing values ​​such as round-trip time. The transmission report is used to determine the channel latency between the sending UE 202 and one or more receiver UEs 203. Furthermore, the transmission report determines the current state of media playback at one or more receiver UEs. In embodiments of this disclosure, the transmission report is per receiver. In addition, the conference report is a control message containing the average real-time video conferencing latency determined by the conference server for the entire video conferencing session. The transmission report represents the entire video conferencing session. The calculation module 304 can be configured to determine the latency value for each of one or more receiver UEs 203 based on at least one of the received transmission report or conference report, by the sending UE 202.

[0035] Furthermore, the determining module 306 can be configured to determine the user experience quotient (UX) of a call session associated with each of one or more receivers by the sending UE 202. In embodiments of this disclosure, the UX corresponds to a metric of user experience quality during a conference call. When determining the UX, the determining module 306 can be configured to determine the UX based on playback time, buffering time, and the number of transitions between session states for one or more receiver UEs 203. In embodiments of this disclosure, the UX is a value derived by the sending UE 202 for the session, representing the smoothness of playback collectively for all users. The UX varies between 0 and 1, with 1 being the best experience and 0 being the worst. In embodiments of this disclosure, a threshold is set between 0 and 1. For example, the threshold could be 0.8, with values ​​below 0.8 considered a poor viewing experience.

[0036] At least referenced Figure 5 The following paragraphs elaborate on the details of identifying user experience providers.

[0037] Furthermore, the modification module 308 can be configured by the sending UE 202 to modify the first size of the data packet to a second size for each of the one or more receivers based on the corresponding user experience provider of the call session associated with one or more receivers.

[0038] Furthermore, the sending module 310 can be configured to send a state session synchronization message and a data packet of a first size to one or more receiving UEs 203 based on a determined latency value. In embodiments of this disclosure, the data packet is associated with media to be played on each of the sending UE 202 and one or more receiving UEs 203. When sending the state session synchronization message, the sending module 310 can be configured to determine the media state of the media session for one or more receiving UEs 203 based on the latency value. In embodiments of this disclosure, the media state is playing, pausing, or resuming the media session on one or more receiving UEs 203. Furthermore, the sending module 310 can be configured to send a state session synchronization message associated with the determined media state to one or more receiving UEs 203 to play, pause, or resume the media session on one or more receiving UEs 203. In embodiments of this disclosure, the session state synchronization message is a control message (e.g., play, continue, buffer, etc.) that ensures the playback state is consistent across all users in the session.

[0039] At least referenced Figure 4 and Figure 5 The following paragraphs elaborate on the details of managing media sessions.

[0040] Furthermore, the removal module 312 can be configured to determine that the user experience quotient (UX) of a call session associated with one or more receiving UEs 203 is below a specified threshold. The removal module 312 can be configured to remove the receiving UE from the call session when it is determined that the UX of the call session associated with the receiving UE is below the specified threshold.

[0041] Figure 4 A block diagram depicting the operation of a system 200 for performing thermal imaging-based frame interpolation according to an embodiment of the present disclosure is shown. (See reference...) Figure 2 and Figure 3 The explanation given is the synchronization in the system 200 management conference call.

[0042] As depicted, the sending UE 202 (the broadcaster, i.e., the sender of the content) is communicatively coupled to the first receiving UE 402 and the second receiving UE 404 (i.e., the receiver of the content) via relay server 406. Furthermore, the sending UE 202 includes a playback session unit 408, a content session unit 410, and a synchronization session unit 412. The relay server 406 includes a latency manager 414, a content repeater 416, and a synchronization repeater 418. In embodiments of this disclosure, the relay server 406 relays messages when P2P is not feasible. Furthermore, the latency manager 414 checks latency based on Real-Time Transmission Control Protocol (RTCP) reports between the sending UE 202 and the first receiving UE 402 and the second receiving UE 404. In embodiments of this disclosure, the content relay 416 relays content (data, information, media, etc.) from the sender UE 202 to the first receiver UE 402 and the second receiver UE 404 via the relay server 406. Furthermore, the synchronization relay 418 performs data synchronization between the sender UE 202, the first receiver UE 402, and the second receiver UE 404.

[0043] In embodiments of this disclosure, each of the first receiving UE 402 and the second receiving UE 404 includes synchronization session units 420, 422, playback session units 424, 426, and content session units 428, 430. Synchronization session units 412, 420, and 422 manage the synchronization session to generate synchronization messages based on reports (such as RTCP reports) from the content session and the conference session (external to them). On the receiving side (first receiving UE 402 and second receiving UE 404), synchronization session units 420 and 422 process incoming synchronization messages. The synchronization session units 420, 422 of the receiving sides 402, 404 communicate with the playback session units 424, 426 of the receiving sides 402, 404 to instruct buffer management queues for playback content. In addition, the synchronous session units 420 and 422 on the receiver side 402 and 404 also deduce the required transmission unit (block) size considering all receivers based on the playback position and content availability at the receiver side 420 and 424.

[0044] In addition, playback session units 408, 424, and 426 manage the content buffer received in the content session and interact with the media player based on synchronization session buffer management instructions. Playback session units 408, 424, and 426 report content availability and the player's current position to synchronization session units 412, 420, and 422. Furthermore, content session units 410, 428, and 430 manage content transmission. Content session units 410, 428, and 430 adjust the transmission (block) unit size based on synchronization session feedback to achieve a better playback experience.

[0045] Figure 5 A schematic representation of playback session state transitions based on synchronization messages according to embodiments of the present disclosure is shown. (See reference...) Figure 2 and Figure 3 The explanation given is the synchronization in the system 200 management conference call.

[0046] As shown, there are multiple transition states associated with the UEs involved in the conference call, such as idle state 502, playback state 504, and buffering state 506. Idle state 502 is the content transmission start state when the media player is initialized. Playback state 504 is the state where all users are watching content. Users are in playback state 504 after data availability and the synchronization session message is in the "play" or "continue" state. Furthermore, when a "pause" message is received from the synchronization session, all users are buffered in buffering state 506. In embodiments of this disclosure, state transitions occur simultaneously for all users.

[0047] Initially, playback state 504 is idle for all receivers (i.e., no content is played). The sender's synchronization unit can send a "play" synchronization message to the receivers, and the states of all receivers and the sender can transition to playback state 504. Due to network problems at one or more receiver UEs 203, the sender's synchronization unit can send a "pause" synchronization message to one or more receiver UEs. Therefore, the states of the sender UE and one or more receiver UEs 203 can transition to buffer state 506. Furthermore, the sender UE 202 can send a "continue" synchronization message to one or more receiver UEs 203 to maintain its current state.

[0048] In embodiments of this disclosure, a user experience quotient (UXQ) is determined for a call session associated with each of one or more receivers. The UXQ is a function of continuous playback, continuous buffering time, and buffer count. In embodiments of this disclosure, the UXQ is a quotient derived from the number of times playback switches to buffering (X) and the continuous playback time of the content (Y). In embodiments of this disclosure, the network latency of the terminal is a constant factor. Therefore, the UXQ is based on a trade-off. Furthermore, X and Y are inversely proportional. System 200 needs to find the exact Y that minimizes X. The UXQ is determined using equation (1): User experience rating = Playback time / (Playback time + Conversion count × α + Buffering time × β) ... (1) Here, playback time and buffering time represent the playback session in playback and buffering states, respectively. Furthermore, the transition count corresponds to the number of times the playback content switches from the playback state to the transition state. Additionally, buffering α and β are penalties for the time spent transitioning to the buffering state and remaining in the unbuffered state.

[0049] Furthermore, the user experience quality is perceived based on continuous playback time. In cases of network fluctuations, video may buffer while downloading content. Therefore, optimizing buffering and playback times is necessary. Buffering and playback times can be optimized by balancing buffering time, playback time, and state transitions. Therefore, System 200 needs to handle these three aspects (buffering time, playback time, and state transitions) within the synchronous session, as it cumulatively affects the experience of all users (determined by the user experience quotient). System 200 adjusts the block size to improve the quotient. When this quotient for a particular receiver falls below a specified threshold (e.g., 0.6), System 200 removes that receiver from the synchronous session so that it does not significantly hinder the viewing experience of other receivers.

[0050] Furthermore, the user experience quotient ranges between 0 and 1, where 1 indicates a good experience and 0 indicates the worst user experience. In embodiments of this disclosure, α and β are penalties given for the state transition from the playback state to the buffering state and the buffering time at the user's location. For example, when the total playback time of the content is 100 seconds, the penalties α and β are 5 and 1, respectively. Case-1: Good experience: No buffering at the user's location, i.e., the time in the buffering state = 0 and the transition count = 0. Based on equation (1), the user experience quotient is 1. Case-2: Best experience: Minimal buffering at the user's location. Considering the time in the buffering state = 10 and the transition count = 3, the user experience quotient is 0.8. Case-3: Poor experience (<0.75 threshold): Considering the time in the buffering state = 15 and the transition count = 5, the user experience quotient is 0.71.

[0051] Figure 6 A sequence diagram depicting the operation of a system 200 for managing synchronization in a conference call, according to an embodiment of the present disclosure, is shown. (Refer to...) Figure 2 and Figure 3 The system 200 used to manage synchronization in conference calls is explained.

[0052] Figure 6The complete signaling process is illustrated. The sender (i.e., sender UE 202) and receivers (receiver 1 and receiver 2) join the video conference call, and the sender attempts to share the video with all receivers. Furthermore, in operation 602, a synchronization session is established. Content streaming and the synchronization session are established with the receivers. Additionally, synchronization session units, playback session units, and content session units are initialized. The content is divided into transmission units (or blocks) by the sender. Furthermore, receivers 1 and 2 (also referred to as the first receiver UE and the second receiver UE) can receive transmission units from the sender. Based on this, receivers 1 and 2 can generate transmission reports (including receiver timestamps and round-trip times). These individual reports from all receivers can be sent to the sender. Furthermore, the sender can generate content streaming latency values ​​for each receiver separately.

[0053] Furthermore, the sender can generate video conferencing latency based on RTCP reports received from the media server (used to maintain the video call session). Based on these two latencys, the sender can generate cumulative latency separately for each receiver. In embodiments of this disclosure, the content streaming latency is the latency of the file transfer delay at each receiver, i.e., the delay from the sender to the receiver receiving the entire transmission unit (block). Furthermore, because video conferencing is real-time media, the conferencing latency is the sender / receiver latency utilizing the media (voice / video) server. The conferencing latency is substantially the same at all receivers. In the case where a repeater is used between the sender and receiver, a latency manager 414 is required at the repeater unit to determine the latency between the sender and the repeater or between the repeater and the receiver. In P2P mode and in direct communication between the sender and receiver, no repeater is required.

[0054] In operation 604, the sender may send a "playback" synchronization message and a cumulative delay value (based on a report indicating data availability at each receiver) to each receiver based on a cumulative delay determined by the sender. Furthermore, the sender may receive acknowledgments of the playback synchronization message from the receivers. In embodiments of this disclosure, playback occurs simultaneously at all receivers based on the indicated delay value for each receiver.

[0055] In operation 606, the sender's synchronization session unit can issue a "transmission unit modification" (block size adjustment) instruction to the content session within the sender based on the user experience metric determined by the sender, to improve the playback experience in scenarios with network fluctuations. Therefore, the block size is adjusted to improve the user experience. Furthermore, if the user experience metric is less than a specified threshold at a particular receiver, that receiver can be selected to exit the synchronization session.

[0056] Figure 7a and Figure 7bA sequence diagram depicting the operation of a system 200 for managing synchronization in a conference call, according to another embodiment of this disclosure, is shown. (Refer to...) Figure 2 and Figure 3 The system used to manage synchronization in conference calls is explained.

[0057] In operation 702 (i.e., operations 702A and 702B), system 200 establishes a meeting session and a content session. Specifically, in operation 702A, users (such as friends and family) establish a video conference by creating a meeting room and sharing an invitation link with all users. Furthermore, each user joins using the meeting link. Additionally, in operation 702B, a user who wants to discuss a video in their local file storage uses system 200 and opens the file from their local storage, sharing it with all recipients in the meeting. Thus, a distributed synchronous session is established between all users (senders / broadcasters and receivers) in the meeting, along with the content session and playback session. This synchronous session is key to achieving a seamless sharing experience by precisely keeping all recipients in the same position during the content session, matching their mood in the video conference with the video being viewed. Furthermore, this synchronous session is responsible for matching video conference latency with content viewing latency.

[0058] In operation 704, content streaming begins with an initial transfer size (e.g., 10 Mb). In embodiments of this disclosure, the transfer size corresponds to a buffer unit considered as a single unit for playback. Based on this, the content file is divided into N units. The transfer unit (or block) C1 is streamed to other participants (via P2P or a relay server). Supporting P2P in system 200 is crucial for achieving low latency and low deployment costs for synchronization.

[0059] In operation 706, the sender receives a transmission report from receiver 2, which contains information about the downloaded content (such as bytes, receiver timestamps, and round-trip times). The sender determines the delay based on this information. For example, the end-to-end delay between the sender and receiver 2 is α1.

[0060] Similarly, in operation 708, a transmission report is received from receiver 1. For example, the delay with receiver -1 is α2.

[0061] Furthermore, in operation 710, the synchronous session unit at the sender can receive the video conference latency from the media server. At this point, the conference latency is considered to be measured as... 1. In embodiments of this disclosure, video conferencing latency is also included in the synchronization of content viewing, which greatly enhances the user experience when the emotions displayed in the video match the content being viewed.

[0062] In operation 712, the synchronization session unit at the sender sends a synchronization message (playback) to other receivers. A playback session state transition occurs, utilizing the various delays received by the receivers. Similarly, a playback session transition occurs at the sender. Here, synchronization implemented using synchronization session technology ensures that this state transition occurs simultaneously at all users, including the sender. This is achieved by reporting content availability at all receivers before generating the synchronization message.

[0063] In operation 714, the synchronous session calls the playback session with the transmission data C1.

[0064] In addition, during operation 716, the content session begins sending transmission unit C2.

[0065] In operation 718, the receiver begins video playback together with the client based on the latency provided (which is calculated based on conference latency, content availability, and streaming latency).

[0066] In operation 720, the transmitted data C2 report is received from receiver-2. For example, the delay with receiver-2 is α11.

[0067] In operation 722, the transmitted data C2 report is received from receiver-1. For example, the delay with receiver-1 is α21.

[0068] In operation 724, the transmission report received along with the data bytes indicates the availability of content (availability of all transmission units (complete blocks)) at the receiver. Based on content availability, all receivers send a playback session transition for all receivers. Therefore, the playback message (sent to the receiver for the portion of content available at all receivers) makes synchronization feasible for all users (receivers). Currently, transmission data C2 is available to all receivers, and C1 is still playing; the sender issues a "synchronization message continue" to all receivers to continue the playback session in the playback state. In embodiments of this disclosure, content availability corresponds to the availability of complete transmission units (complete blocks) at the receiver.

[0069] In addition, in operation 726, the sender begins transmitting the content of data C3.

[0070] In operation 728, the transmitted data C3 report is received from receiver-1. For example, the delay with receiver-1 is α31.

[0071] Furthermore, in operation 730, the playback session completes playback C2 at all users (sender and receiver). Due to network fluctuations, receivers at the sender's location report indicating that a few receivers have not yet received transmitted data C3. The sender's synchronization session can send a buffer message to all participants to indicate the state transition from the playback session to the buffered state for all users. At this stage, the user experience metric is determined. Whenever a buffered state transition occurs, system 200 continuously checks the user experience metric to utilize new mechanisms (such as block adjustment) to improve the experience. Therefore, the playback experience can be smooth for all users.

[0072] After a period of time, in operation 732, a transmission report for C3 is received from receiver 2. For example, the delay with receiver-2 is α32, and the conference delay is also measured as... 3.

[0073] Furthermore, in operation 734, the synchronous session message playback is sent to other receivers. Therefore, the state of all user-side receivers transitions to the playback state, and the user experience metric updates with the playback session duration in the buffered state. Additionally, the transition count increments.

[0074] In operation 736, all users play videos based on the latency indication in the playback message.

[0075] After several iterations, in operation 738, the user experience quotient (UX) is continuously varied based on the function (playback time / (playback time + conversion count × α + buffering time × β). Furthermore, α and β are penalties for conversions and buffering time. If there is no buffering and no conversions, the UX is 1. This parameter is crucial for maintaining the best user experience even during network fluctuations. If the experience cannot be improved, a particular receiver chooses to exit the synchronous session that is affecting the experience. Therefore, the receiver does not affect other receivers in the synchronous session.

[0076] In operation 740, if the user experience quotient (UX) is determined to be below 0.8, the sender modifies the size of the transmitted data. Furthermore, the sender notifies all receivers of this property, and the transmitted data C4 is shared in a smaller size to adjust and continue playback even during network degradation, while awaiting network recovery.

[0077] After operation 740, if the user experience is still declining, the sender identifies which receiver is affecting the synchronization session based on the transmission report and removes the user from the synchronization session to prevent further decline in user experience within the session.

[0078] Figure 8 A flowchart depicting the operation of system 200 at the sending UE for managing synchronization in a conference call, according to an embodiment of this disclosure, is shown. (Refer to...) Figure 2 and Figure 3 The system 200 used to manage synchronization in conference calls is explained.

[0079] As described, Figure 8 The communication at the sender UE 202 / broadcaster / relay end is illustrated. Once the sender UE 202 begins content transmission at the transmission unit size (block size), a synchronization session 802 is established, and the synchronization session 802 controls the playback session 804 based on reports received from N / W 806 (network / receiving UE). Furthermore, content sent to the receiver enters a waiting buffer 808 for playback, and the sender UE 202 waits for the playback session 804 to instruct the media player 810 to resume playback.

[0080] Furthermore, the delay unit 812 determines the end-to-end receiver delay of the content stream transmission and conference based on the RTCP report received from the media server and notifies the synchronization session 802 of it. Based on the report received from the receiving UE (via N / W 806) and the details of the delay unit 812, the synchronization session 802 in the sending UE 202 sends a message to the receiving UE regarding the playback transition and delay parameters. Subsequently, the playback session 804 transitions to the playback state and notifies the waiting buffer 808 to resume playback of the content available in the waiting buffer 808.

[0081] In addition, the synchronization session 802 continuously determines the user experience metric and controls the transmission size used for transmission by the content session 814 to optimize the "user experience metric". In operation 816, this process is repeated until the entire file is transmitted from the sending UE 202 to the receiving UE and playback is completed.

[0082] Figure 9 A flowchart depicting the operation of a system 200 at the receiving UE for managing synchronization in a conference call, according to an embodiment of this disclosure, is shown. (Refer to...) Figure 2 and Figure 3 The system 200 used to manage synchronization in conference calls is explained.

[0083] As described, Figure 9 The communication at the receiving UE is illustrated. Once the sending UE 202 begins content transmission, the receiving UE initializes the content session 814 with the negotiated transmission data (block size). Furthermore, a synchronization session 802 is established and controls the playback session 804 based on the synchronization message received from N / W 806 (from the sending UE).

[0084] Furthermore, content received from content session 814 enters waiting buffer 808 for playback, and the receiving UE waits for playback session 804 to instruct media player 810 to resume playback. Delay unit 812 determines an RTCP report and sends it to sending UE 202. Based on the synchronization message received from sending UE 202, synchronization session 802 analyzes and instructs playback session 804 to transition. After playback session 804 transitions to playback state, the receiving UE notifies waiting buffer 808 to resume playback of content available in waiting buffer 808.

[0085] Figure 10 A block diagram 1000 illustrating a use case scenario of a system 200 for managing synchronization in a conference call, according to an embodiment of the present disclosure, is shown. (Refer to...) Figure 2 and Figure 3 The system 200 used to manage synchronization in conference calls is explained.

[0086] In embodiments of this disclosure, system 200 facilitates distributed content synchronization sessions for lossless content viewing (no content is missed during playback) in multi-party conference calls with varying network capabilities. The playback content positions of all users are synchronized. System 200 considers content transmission latency and exchanges a series of synchronization messages among users. In embodiments of this disclosure, playback content, availability, and playback are controlled by a synchronization session, and continuous synchronization can exist among users. Furthermore, system 200 performs content streaming and synchronization session coordination to modify the transmission size based on the playback positions and content availability of all users, thereby improving the smooth playback experience under variable network conditions at the receiving UE.

[0087] As depicted, the receiving UE is in good condition, and the initial transmission size is 10MB (maximum size). Now, all receivers have 10MB (e.g., 10 seconds) of content to play. Furthermore, all users (sender and receiver) begin playing content segment-1, 10MB (10 seconds). Additionally, one user is in a low-bandwidth state to download content segment-2, which may take 13 seconds. The remaining users may take less time. Therefore, after playing 10MB (10 seconds) of segment-1, segment-2 is only available 3 seconds after the complete segment-1 has played. To improve the user viewing experience, block adjustment is applied, where the size of segment-2 is reduced to 8MB. Furthermore, the receiver takes <10 seconds to download the content. Therefore, when segment-1 finishes playing, all receivers have data to play for the next 8 seconds. Thus, continuous synchronous playback is provided to all users. This is called adjustment based on group capacity. This block degradation can continue until it reaches the minimum block size (e.g., 3MB). Similarly, as user bandwidth increases, the transmission size continues to grow until it reaches a maximum. Here, content delivery and synchronized sessions provide an enhanced user experience. Synchronized messages take into account the latency aspects of the video conference to determine the streaming delay. Therefore, the user experience (what the user is watching and what the user is expressing in the video conference) is improved.

[0088] Figure 11 A flowchart illustrating a use case scenario of a system 200 for managing synchronization in a conference call, according to an embodiment of this disclosure, is shown. (Refer to...) Figure 2 and Figure 3 The system 200 used to manage synchronization in conference calls is explained.

[0089] In the current use case scenario, in operation 1102, a service is initiated. In 1102, user A has a local video that they want to share with friends (users B and C). All users are already registered in system 200. Furthermore, user A creates a room invitation and shares the created room invitation with users B and C. Additionally, users B and C join the meeting. After users B and C join the meeting using the room invitation, user A browses files in the local file system 200 and begins live video sharing. Furthermore, user A selects the synchronization function.

[0090] In operation 1104, content streaming sessions and synchronization sessions are established for all three users in the conference. Additionally, receiver reports are exchanged for the content sessions and conference sessions.

[0091] Furthermore, in operation 1106, the sender's synchronization session (User-A) communicates with the receivers (User-B, C) regarding playback time and receiver latency based on receiver reports and conference latency. At this point, all receivers and senders begin playing the video.

[0092] In operation 1108, if network fluctuations occur at the receiving end (one or more), this results in frequent playback transitions between playback and buffering states. The user experience quotient (UX) is determined, and transmission adjustments are made to improve the experience. If the UX exceeds a threshold, the user chooses to exit the synchronization session.

[0093] Figure 12 Figure 1200 illustrates a use case scenario of a system 200 for managing synchronization in a conference call, according to an embodiment of this disclosure. (Refer to...) Figure 2 and Figure 3 The system 200 used to manage synchronization in conference calls is explained.

[0094] As depicted, the use case scenario illustrates a situation where content is shared together during an ongoing conference session. A user shares a local file from their phone / TV to share recorded content. System 200 achieves an immersive experience by providing perfect synchronization of content viewing. In addition to synchronization, this disclosure also adjusts conditions (transmission size adjustment) based on all users' network capabilities. Furthermore, user experience providers are used to track the playback experience. System 200 also maintains the same latency for content streaming and conferencing to synchronize user mood based on the content being viewed. Furthermore, System 200 can be applied to LTE video (ViLTE) conferencing and IP Multimedia Subsystem (IMS) data channels to provide users with a unique experience that allows them to watch local content on their phone without having to share / upload the video to others.

[0095] Figure 13 An exemplary processing flow depicting a method for managing synchronization in a conference call, according to embodiments of the present disclosure, is shown. Method 900 can be performed by system 200 implemented in sending user equipment (UE) 202, such as... Figure 2 and Figure 3 As shown.

[0096] In operation 1302, method 1300 includes: establishing a call session associated with a conference call by a sending UE 202 and one or more receiving UEs 203.

[0097] In operation 1304, method 1300 includes: determining a latency value associated with an established call session for each of one or more receivers by a sending UE 202. In determining the latency value, method 1300 includes: sending one or more data packets of a first size to one or more receivers UE 203 by the sending UE 202. Furthermore, method 1300 includes: receiving at least one of a transmission report from one or more receivers or a conference report from a server while the first size of one or more data packets has been sent to one or more receivers UE 203. Method 1300 includes: determining the latency value for each of the one or more receivers UE 203 based on at least one of the received transmission report or conference report.

[0098] In operation 1306, method 1300 includes: determining, by the sending UE 202, a user experience qualifier for a call session associated with each of one or more receivers. In determining the user experience qualifier, method 1300 includes: determining the user experience qualifier based on playback time, buffer time, and the number of transitions between session states of one or more receiver UEs 203.

[0099] Furthermore, in operation 1308, method 1300 includes: the sending UE 202 modifying the first size of the data packet to a second size for each of the one or more receivers based on the corresponding user experience provider of the call session associated with one or more receivers.

[0100] Furthermore, method 1300 includes: sending a state session synchronization message and a data packet of a first size to one or more receiving UEs 203 based on a determined latency value by a sending UE 202. In embodiments of this disclosure, the data packet is associated with media to be played on each of the sending UE 202 and one or more receiving UEs 203. When sending the state session synchronization message, method 1300 includes: determining a media state for a media session for one or more receiving UEs 203 based on the latency value by the sending UE 202. In embodiments of this disclosure, the media state is playing, pausing, or resuming the media session on one or more receiving UEs 203. Furthermore, method 1300 includes: sending a state session synchronization message associated with the determined media state to one or more receiving UEs 203 by the sending UE 202, playing, pausing, or resuming the media session on one or more receiving UEs 203.

[0101] Furthermore, method 1300 includes: determining that the user experience quotient (UX) of a call session associated with one or more receiving UEs 203 is below a specified threshold. Method 1300 also includes: removing the receiving UE from the call session when the UX of a call session associated with the receiving UE is determined to be below the specified threshold.

[0102] Although described in a specific sequence Figure 13 The operations described above are illustrated, but according to various embodiments of this disclosure, the operations can occur in variations of the sequence. Furthermore, for the sake of brevity, details regarding [the specific operations] will not be discussed further here. Figure 13 The details of various operations, these details are already in the context of... Figures 2 to 12 The relevant description has been covered.

[0103] This disclosure provides various technical advancements based on the key features discussed above. This disclosure discloses a system 200 and method for distributed synchronous sessions of content streaming and viewing in multi-party shared conferences. Adjustable content streaming blocks are provided to the shared conference based on group capabilities to improve the user viewing experience. This disclosure defines user experience quotients and identifies experience degradation (if any) to take necessary measurements. Furthermore, this disclosure provides a synchronous shared viewing experience for content sharing in the UE. Additionally, this disclosure provides a synchronous experience without a server when sharing / viewing local files from participants. This disclosure provides new experiences in video conferencing, such as shared viewing, in which participants can share their personal videos and engage in conversation.

[0104] In a shared connection service, during a video conference, one user wants to share content (e.g., personal video content or OTT) with other users. This disclosure achieves an immersive shared connection experience by providing perfect synchronization of content being viewed at all users under different conditions (network throughput at the sender / receiver and user actions such as play / pause). Furthermore, this disclosure provides content synchronization and transmission adaptability based on user group (sender / receiver) capabilities (network throughput), which provides an improved shared connection experience for TV / mobile users during video conferences. In addition, this disclosure addresses several problems in conventional solutions for conference calls that cause content skipping, lag, and stuttering during the call session (i.e., continuous synchronization of both content and call latency, transport block adjustment, P2P transmission).

[0105] Furthermore, unlike traditional synchronization that works after user interaction (such as pausing / resumeing video), this disclosure promotes continuous content synchronization (periodic synchronization along with content transmission). Therefore, this disclosure benefits lossless (no content omission) content streaming / synchronization, whereas traditional solutions synchronize all participants' videos to the broadcaster, resulting in video omissions at a few users, which is problematic. This disclosure implements synchronization that takes into account video conferencing latency, thereby improving the viewing experience (playback content viewing latency and meeting latency should be the same for a better user experience). This disclosure implements content streaming based on synchronization session feedback to adjust transmission attributes (e.g., chunk size) to improve the user experience. Furthermore, this disclosure discloses a "synchronous content streaming + viewing mechanism" in multi-party conferencing that considers the latency aspects of both content streaming and the ongoing meeting. The method defines a new synchronization mechanism in which content availability and playback are controlled in a distributed manner at all users. Playback occurs when content is available at all users. Thus, all users are synchronized with all other users without missing playback data. This is achieved through reports transmitted via the content stream of a synchronized session, which enables continuous playback position awareness.

[0106] Furthermore, the synchronized video sharing experience of this disclosure provides an immersive viewing experience, particularly in video conferencing. Compared to the >2-second synchronization observed in existing methods, this disclosure optimizes the latency equivalent to <200ms of the meeting latency. Users watch all content without missing any parts. Because this disclosure applies to the network at all user locations, users can experience seamless video sharing even during network fluctuations. This disclosure facilitates the feasibility of video sharing experiences in P2P because it achieves low latency (minimal end-to-end latency due to the absence of relays) and low-cost deployment (no need for content server and synchronization server deployments). Furthermore, this disclosure considers the appropriate user experience quotient factor to align block transmission based on the network capabilities of users in a meeting call. This disclosure discloses a distributed synchronized session technique for lossless content viewing based on content reporting and meeting latency. Additionally, this disclosure performs cross-channel latency synchronization to optimize the video sharing experience based on content synchronization and video conferencing latency.

[0107] Furthermore, this disclosure proposes a "synchronized content streaming and viewing mechanism" for multi-party conferencing, taking into account the latency aspects of both content streaming and the ongoing meeting. This disclosure defines a novel synchronization mechanism in which content availability and playback are controlled in a distributed manner at all users. Playback occurs when content is available at all users. Therefore, all users are synchronized with all other users without missing playback data. This is achieved through reporting of content streaming during the synchronized session, enabling continuous playback position awareness. Furthermore, this disclosure performs perfect synchronization (without stuttering) between participants watching content together in a video conferencing session. This disclosure performs streaming adaptation based on the content viewing position of the participant group and dynamic call conditions. This disclosure synchronizes content streaming and the meeting, whereas user sentiment related to content viewing might otherwise not be synchronized in the video conference. This disclosure performs continuous synchronization throughout the call, unlike existing synchronization methods that work after user interactions (such as pausing / resume video).

[0108] Multiple modules 208 can be implemented using any suitable hardware and / or instruction set. Furthermore, Figure 3 The sequential flow shown is exemplary, and embodiments may include the addition / omission of operations as required. In some embodiments, one or more operations performed by multiple modules 208 may be performed by a processor / controller on a request.

[0109] While this disclosure has been shown and described with reference to various exemplary embodiments, it will be understood that these exemplary embodiments are intended to be illustrative and not restrictive. Those skilled in the art will also understand that various changes in form and detail may be made without departing from the true spirit and full scope of this disclosure, including the appended claims and their equivalents. It will also be understood that any embodiment described herein may be used in conjunction with any other embodiment described herein.

Claims

1. A method (1300) for managing synchronization in a conference call, the method (1300) comprising: A call session associated with the conference call is established (1302) by a first user equipment (UE) (202) and one or more second UEs (203); The delay value associated with the call session is determined (1304) by the first UE (202) for each of the one or more second UEs (203); The user experience provider (UMP) of the call session associated with each of the one or more second UEs (203) is determined (1306) by the first UE (202); and The first UE (202) modifies (1308) the first size of one or more data packets to a second size for each of the one or more second UEs (203) based on the corresponding user experience provider of the call session associated with the one or more second UEs (203).

2. The method (1300) as described in claim 1, wherein, Determining the delay value includes: The first UE (202) sends the one or more data packets of the first size to the one or more second UEs (203); When the first UE (202) sends the first one or more data packets of the first size to the first or more second UEs (203), the first UE (202) receives at least one of a transmission report from the first or more second UEs (203) or a conference report from the server; and The delay value for each of the one or more second UEs (203) is determined by the first UE (202) based on at least one of the received transmission reports or conference reports.

3. The method (1300) as described in claim 1, further comprising: The first UE (202) sends a state session synchronization message and the one or more data packets of the first size to the one or more second UEs (203) based on a determined delay value, wherein the one or more data packets are associated with media to be played on each of the first UE (202) and the one or more second UEs (203).

4. The method (1300) as described in claim 3, wherein, Sending the state session synchronization message includes: The first UE (202) determines the media state of a media session for the one or more second UEs (203) based on the latency value, wherein the media state is determined by performing one of the following operations on the one or more second UEs (203): playing the media session, pausing the media session, or continuing the media session; and The first UE (202) sends a state session synchronization message associated with the media state to the one or more second UEs (203) to perform one of the following operations on the one or more second UEs (203): play the media session, pause the media session, or continue the media session.

5. The method (1300) as claimed in claim 1, wherein, The user experience provider is determined by: The user experience quotient is determined based on the playback time, buffer time, and number of transitions between session states of the one or more second UEs (203).

6. The method (1300) as claimed in claim 1, further comprising: The user experience quotient of the call session associated with the second UE from one or more second UEs (203) is determined to be below a specified threshold; as well as When it is determined that the user experience quotient of the call session associated with the second UE is lower than the specified threshold, the second UE is removed from the call session.

7. A first user equipment (UE) (202) for managing synchronization in a conference call, the first UE (202) comprising: Memory (210), stores instructions; as well as One or more processors (204). The instructions, when executed individually or jointly by the one or more processors (204), cause the first UE to perform the following operations: Establish a call session associated with the conference call with one or more second UEs (203); Determine the latency value associated with the call session for each of the one or more second UEs (203); Determine the user experience provider for the call session associated with each of the one or more second UEs (203); and Based on the corresponding user experience provider of the call session associated with the one or more second UEs (203), the first size of one or more data packets is modified to a second size for each of the one or more second UEs (203).

8. The first UE (202) as claimed in claim 7, wherein, When determining the delay value, the instruction, when executed individually or jointly by the one or more processors (204), causes the first UE to perform the following operations: Send the one or more data packets of the first size to the one or more second UEs (203); When the first size of the one or more data packets is sent to the one or more second UEs (203), at least one of a transmission report from the one or more second UEs (203) or a conference report from the server is received; as well as The delay value for each of the one or more second UEs (203) is determined based on at least one of the received transmission reports or conference reports.

9. The first UE (202) as claimed in claim 7, wherein, When the instructions are executed individually or jointly by the one or more processors (204), the first UE performs the following operations: Based on a determined delay value, a state session synchronization message and one or more data packets of the first size are sent to the one or more second UEs (203), wherein the one or more data packets are associated with media to be played on each of the first UE (202) and the one or more second UEs (203).

10. The first UE (202) as claimed in claim 8, wherein, When sending the state session synchronization message, the instruction, when executed individually or jointly by the one or more processors (204), causes the first UE to perform the following operations: The first UE (202) determines the media state of a media session for the one or more second UEs (203) based on the latency value, wherein the media state is determined by performing one of the following operations on the one or more second UEs (203): playing the media session, pausing the media session, or continuing the media session; and The first UE (202) sends a state session synchronization message associated with the media state to the one or more second UEs (203) to perform one of the following operations on the one or more second UEs (203): play the media session, pause the media session, or continue the media session.

11. The first UE (202) as claimed in claim 7, wherein, When determining the user experience provider, the instructions, when executed individually or jointly by the one or more processors (204), cause the first UE to perform the following operations: The user experience quotient is determined based on the playback time, buffer time, and number of transitions between session states of the one or more second UEs (203).

12. The first UE (202) as claimed in claim 7, wherein, When the instructions are executed individually or jointly by the one or more processors (204), the first UE performs the following operations: The user experience quotient of the call session associated with the second UE from one or more second UEs (203) is determined to be below a specified threshold; as well as When it is determined that the user experience quotient of the call session associated with the second UE is lower than the specified threshold, the second UE is removed from the call session.

13. A non-transitory computer-readable storage medium for storing one or more programs, wherein, The one or more programs include instructions that, when executed individually or jointly by at least one processor of the first user equipment (UE), cause the first UE to perform the following operations: Establish a call session associated with the conference call with one or more second UEs (203); Determine the latency value associated with the call session for each of the one or more second UEs (203); Determine the user experience provider for the call session associated with each of the one or more second UEs (203); and Based on the corresponding user experience provider of the call session associated with the one or more second UEs (203), the first size of one or more data packets is modified to a second size for each of the one or more second UEs (203).

14. The non-transitory computer-readable storage medium of claim 13, wherein, When determining the delay value, the instruction also causes the first UE to perform the following operations: Send the one or more data packets of the first size to the one or more second UEs (203); When the first size of the one or more data packets is sent to the one or more second UEs (203), at least one of a transmission report from the one or more second UEs (203) or a conference report from the server is received; as well as The delay value for each of the one or more second UEs (203) is determined based on at least one of the received transmission reports or conference reports.

15. The non-transitory computer-readable storage medium of claim 13, wherein, The instruction also causes the first UE to perform the following operations: Based on a determined delay value, a state session synchronization message and one or more data packets of the first size are sent to the one or more second UEs (203), wherein the one or more data packets are associated with media to be played on each of the first UE (202) and the one or more second UEs (203).