Group calling method, recording medium and computer device using unicast and multicast
By setting media sessions between the server and the client and using extended RTP, unicast or multicast data transmission for specific participants or groups in group calls is realized, and the problem of broadcasting in the data transmission in the prior art is solved. , improve resource utilization and transmission efficiency.
Patent Information
- Application Number
- CN202010816739.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-08-14
- Filing Date
- 2020-08-14
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2040-08-14
AI Technical Summary
In the existing group call technology, data transmission is broadcast-style and cannot be unicast or multicast transmission for specific participants or groups, resulting in waste of resources and inefficiency.
Unicast or multicast data transmission to specific participants or groups is achieved by setting up media sessions between the server and the client, using the extended real-time transmission protocol (RTP) to generate and transmit data packets containing destination information.
In the group call example, the data can be flexibly transmitted to some participants in unicast or multicast form to a certain participant, which improves resource utilization and transmission efficiency.
Smart Images

Figure CN112399266B_ABST
Abstract
Description
Technical Field
[0001] The following description relates to a group calling method, a recording medium, and a computer device using unicast and multicast. Background Art
[0002] A call between multiple people refers to a group call in which multiple people talk at the same time. For example, Korean Patent Publication No. 10-2005-0034455 discloses a group call server and a mode conversion method with a mode conversion function. Group calls, which are one form of real-time call service, can transmit media such as audio data and images to the other party of the call. However, the data transmitted in the above group call is transmitted to all the people participating in the corresponding instance of the group call. For example, in a group call instance in which five users, including the first user, the second user, the third user, the fourth user and the fifth user, participate, the audio / video data of the first user is transmitted to the remaining second user, the third user, the fourth user and the fifth user. In other words, in the group call of the prior art, data is always transmitted. Summary of the invention
[0003] The present invention provides the following group calling method and system: that is, in the process of performing a group calling instance, data can be transmitted to a part of the participants participating in the corresponding instance in the form of unicast or multicast.
[0004] The present invention provides a group call method, which is a group call method of a computer device including at least one processor, and is characterized in that it includes: a step of setting a media session between a server providing a group call service through the at least one processor so that a first client of the computer device participates in an instance of the group call service; a step of transmitting at least one first data packet including a source identifier of the first client to the server through the at least one processor so as to deliver data for the group call of the first client to multiple second clients participating in the instance through the media session; a step of providing a user interface for receiving a selection of a part of the second clients from the multiple second clients through the at least one processor; and a step of transmitting at least one second data packet including the source identifiers of the part of the second clients selected through the user interface as destination information to the server through the at least one processor.
[0005] According to one embodiment, the present invention is characterized in that the at least one first data packet can be transmitted through the server in a broadcast form to each second client participating in the above instance, and the at least one second data packet can be transmitted through the server in a unicast or multicast form to a part of the second clients corresponding to the above destination information.
[0006] According to another embodiment, the present invention is characterized in that the at least one second data packet can be generated according to an extended real-time transport protocol (RTP) and transmitted to the server, and the at least one second data packet generated according to the extended real-time transport protocol includes a field for recording at least one destination synchronization source corresponding to the destination information.
[0007] According to another embodiment, the present invention is characterized in that the at least one second data packet transmitted according to the extended real-time transport protocol may further include a field for counting the number of the target synchronization sources.
[0008] According to another embodiment, the present invention is characterized in that, in the step of transmitting the at least one second data packet to the server, source identifiers of multiple second clients participating in the instance through communication with the server or source identifiers of a part of second clients selected through the user interface can be received from the server and added to the at least one second data packet.
[0009] The present invention provides a group calling method, which is a group calling method of a computer device including at least one processor, and is characterized in that it includes: a step of setting a media session with a first client through the at least one processor so that the first client participates in an instance of a group calling service; a step of receiving at least one first data packet including a source identifier of the first client from the first client through the media session through the at least one processor; a step of transmitting the at least one first data packet in a broadcasting form to each second client participating in the instance through the at least one processor; a step of receiving at least one second data packet including source identifiers of a part of a plurality of second clients participating in the instance through the media session from the first client through the at least one processor as destination information; and a step of transmitting the at least one second data packet in a unicast or multicast form to a second client corresponding to the source identifier included in the second data packet through the at least one processor.
[0010] According to one embodiment, the present invention is characterized in that the at least one second data packet can be generated in the first client in a manner including source identifiers of a portion of second clients selected by the first client from among a plurality of second clients participating in the instance.
[0011] The present invention provides a recording medium, characterized in that it records a computer program for executing the above-mentioned group calling method in a computer device.
[0012] The present invention provides a computer device, characterized in that it includes at least one processor configured to execute computer-readable instructions, through the at least one processor, a media session between a server providing a group call service is set up to enable a first client to participate in an instance of the group call service, through the at least one processor, at least one first data packet containing a source identifier of the first client is transmitted to the server to deliver data for the group call of the first client to multiple second clients participating in the instance through the media session, through the at least one processor, a user interface for receiving selection of a part of second user terminals from the multiple second user terminals is provided, and through the at least one processor, at least one second data packet containing the source identifiers of the part of second clients selected through the user interface as destination information is transmitted to the server.
[0013] The present invention provides a computer device, characterized in that it includes at least one processor configured to execute computer-readable instructions, through the at least one processor, a media session between a first client is set to enable the first client to participate in an instance of a group call service, through the at least one processor, at least one first data packet containing a source identifier of the first client is received from the first client through the media session, through the at least one processor, the at least one first data packet is transmitted in a broadcast form to each second client participating in the instance, through the at least one processor, at least one second data packet containing source identifiers of a part of a plurality of second clients participating in the instance through the media session is received from the first client, through the at least one processor, as destination information, and through the at least one processor, the at least one second data packet is transmitted in a unicast or multicast form to a second client corresponding to the source identifier contained in the second data packet.
[0014] The present invention has the following effect: that is, in the process of performing a group call instance, data can be transmitted to a part of the participants participating in the corresponding instance in the form of unicast or multicast. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 A diagram showing an example of a network environment according to an embodiment of the present invention.
[0016] Figure 2 This is a block diagram showing an example of a computer device according to an embodiment of the present invention.
[0017] Figure 3 FIG. 1 is a diagram showing an example of a simplified form of a group calling system according to an embodiment of the present invention.
[0018] Figures 4 to 7A diagram showing an example of a group paging process according to an embodiment of the present invention.
[0019] Figure 8 A diagram showing an example of a container format extended based on an extended transport protocol according to an embodiment of the present invention.
[0020] Fig. 9 The flowchart is a diagram showing an example of a group calling method of a client according to an embodiment of the present invention.
[0021] Fig.10 The flowchart is a diagram showing an example of a group calling method of a server according to an embodiment of the present invention. DETAILED DESCRIPTION
[0022] Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
[0023] The group calling system of the embodiment of the present invention can be implemented by at least one computer device, and the group calling method of the embodiment of the present invention can be executed by at least one computer device included in the group calling system. In this case, a computer program of an embodiment of the present invention can be installed and driven in the computer device, and the computer device can execute the group calling method of the embodiment of the present invention under the control of the driven computer program. The above-mentioned computer program can be stored in a computer-readable recording medium in order to be combined with the computer device to execute the group calling method in the computer.
[0024] Figure 1 A diagram showing an example of a network environment according to an embodiment of the present invention. Figure 1 The network environment includes multiple electronic devices 110 , 120 , 130 , 140 , multiple servers 150 , 160 and a network 170 . Figure 1 For the purpose of illustrating an example of the present invention, the number of electronic devices or the number of servers is not limited to Figure 1 .and, Figure 1 The network environment is used to illustrate an example of multiple environments applicable to this embodiment. The environment applicable to this embodiment is not limited to Figure 1 network environment.
[0025] The multiple electronic devices 110, 120, 130, 140 may be fixed terminals or mobile terminals implemented by a computer device. Examples of the multiple electronic devices 110, 120, 130, 140 include smart phones, mobile phones, navigation devices, computers, notebook computers, digital broadcast terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), tablet computers, etc. As an example, Figure 1, the shape of a smart phone is shown as an example of the electronic device 110. In the embodiment of the present invention, the electronic device 110 may be one of a variety of physical computer systems that can communicate with other electronic devices 120, 130, 140 and / or servers 150, 160 via a network 170 using wireless or wired communication.
[0026] The communication method is not limited, and may include not only the communication method using the communication network that the network 170 can include (for example, a mobile communication network, a wired Internet, a wireless Internet, a broadcast network), but also short-range wireless communication between multiple devices. For example, the network 170 may include any one or more of a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a broadband network (BBN), the Internet, and the like. Furthermore, the network 170 may include any one or more of the network topologies including a bus network, a star network, a ring network, a mesh network, a star bus network, a tree or hierarchical network, but is not limited thereto.
[0027] The servers 150 and 160 may be implemented by a computer device or multiple computer devices that communicate with multiple electronic devices 110, 120, 130, and 140 through a network 170 to provide instructions, codes, files, content, services, etc. For example, the server 150 may be a system that provides services (for example, group call services (or voice conference services), message services, mail services, social network services, map services, translation services, financial services, settlement services, search services, content services, etc.) to multiple electronic devices 110, 120, 130, and 140 connected through the network 170.
[0028] Figure 2 1 is a block diagram showing an example of a computer device according to an embodiment of the present invention. The plurality of electronic devices 110, 120, 130, 140 or the plurality of servers 150, 160 may be respectively Figure 2 The computer device 200 shown is implemented.
[0029] like Figure 2As shown, the computer device 200 may include a memory 210, a processor 220, a communication interface 230, and an input / output interface 240. The memory 210 is a computer-readable recording medium, and may include a random access memory (RAM), a read only memory (ROM), and a permanent mass storage device such as a disk drive. Among them, the permanent mass storage device such as the read only memory and the disk drive may also be included in the computer device 200 as an additional permanent storage device distinguished from the memory 210. In addition, the memory 210 may store an operating system and at least one program code. The above-mentioned software structural elements may be loaded into the memory 210 from a computer-readable recording medium different from the memory 210. Such additional computer-readable recording medium may include a computer-readable recording medium such as a floppy disk drive, a disk, a tape, a DVD / CD-ROM drive, a memory card, etc. In another embodiment, the software structural elements may be loaded into the memory 210 via the communication interface 230, rather than being loaded via a computer-readable recording medium. For example, the software components are loaded into the memory 210 of the computer device 200 based on a computer program installed as a file received through the network 170 .
[0030] The processor 220 may be configured to perform basic arithmetic, logic, and input / output operations to process instructions of a computer program. The instructions may be provided to the processor 220 via the memory 210 or the communication interface 230. For example, the processor 220 may be configured to execute the received instructions according to a program code stored in a recording device such as the memory 210.
[0031] The communication interface 230 may provide a function of enabling the computer device 200 to communicate with other devices (for example, the above-mentioned storage device) through the network 170. For example, the processor 220 of the computer device 200 generates a request or instruction, data, file, etc. according to a program code stored in a recording device such as the memory 210, and the request or instruction, data, file, etc. may be transmitted to other devices through the network 170 according to the control of the communication interface 230. Conversely, signals, instructions, data, files, etc. from other devices may pass through the network 170 and be transmitted to the computer device 200 through the communication interface 230 of the computer device 200. The signals, instructions, data, etc. received through the communication interface 230 may be transmitted to the processor 220 or the memory 210, and the files, etc. may be stored in a storage medium (the above-mentioned permanent storage device) that the computer device 200 may also include.
[0032] The input / output interface 240 may be a unit for coupling with the input / output device 250. For example, the input device may include a device such as a microphone, a keyboard, or a mouse, and the output device may include a device such as a display, a speaker, etc. As another example, the input / output interface 240 may be a unit for coupling with a device that combines input and output functions into one such as a touch screen. The input / output device 250 may also constitute a single device with the computer device 200.
[0033] Furthermore, in another embodiment, the computer device 200 may further include Figure 2 The computer device 200 may include more or fewer structural elements of the structural elements of the present invention. However, it is not necessary to explicitly show most of the structural elements of the prior art. For example, the computer device 200 may include at least a part of the above-mentioned input and output device 250, or may also include other structural elements such as a radio transceiver, a database, etc.
[0034] Figure 3 1 is a diagram showing an example of a simplified form of a group call system according to an embodiment of the present invention. The group call system according to the present embodiment may be composed of a server 310 providing a group call service and a client device 320 for a plurality of participants. In this case, unlike in the past, according to an embodiment of the present invention, communication may be performed between the server 310 and the plurality of client devices 320 through an extended transmission protocol capable of including destination information in a data packet. For example, a situation in which a first client device 321, a second client device 322, and a third client device 323 among the plurality of client devices 320 participate in a group call instance may be considered. In this case, the plurality of client devices 321, 322, 323 participating in the group call instance may specify a specific participant to transmit a data packet. For example, the first client device 321 may specify the third client device 323 to transmit media such as audio or video.
[0035] In other words, the participants of the group call service of this embodiment may transmit data to all the participants of the group call instance, or may transmit data only to specific participants or a group of specific participants.
[0036] Figures 4 to 6 A diagram showing an example of a group paging process according to an embodiment of the present invention.
[0037] Figure 4 The example of a first user 410 (User1), a second user 420 (User2) and a third user 430 (User3) participating in a group call. Figure 3In this case, as shown in Table 440, the server 310 may manage a table including source identifiers (Srcid) and connection information for multiple users 410, 420, and 430. The source identifier is a unique value for each group call, and is generally used to identify the source of which user (for example, the audio source of user A or the video source of user B, etc.) the data received by the server 310 is transmitted. In addition, according to some embodiments of the present invention, the source identifier may be associated with the connection information and used to identify the source of which user the data transmitted from one of the multiple user-end devices 320 to the server 310 should be delivered, that is, the destination information for identifying the data. Although not shown, such source identifiers and connection information may also be managed in a table together with other information about the multiple users 410, 420, and 430. If a request to initiate or participate in a group call is received from the client terminal device of each user together with call-related information such as the type of media to be sent and received, the server 310 may allocate more than one source identifier based on the call-related information received from the client device, thereby managing a table such as Table 440. Afterwards, the server 310 may transmit the source identifier assigned to the client device that initiated or participated in the group call. Furthermore, in the case where there are other users who have participated in the group call, the server 310 may transmit the source identifier related to at least a part of the other users who have participated in the group call to the client device of the user participating in the group call. Furthermore, during the group call, the server 310 transmits the source identifier related to at least a part of the other users who participated in the group call to the client device of the user participating in the group call based on the request from the client device or based on the judgment of the server 310. For example, assume that during the group call of the first user 410 and the second user 420 who both use video and audio, the third user 430 uses the third client device 323 with only an audio device to participate in the group call with the first user 410 and the second user 420. If the server 310 receives call-related information of the third user 430 and a request to participate in the group call from the third user 430, the server 310 assigns a source identifier Src5 to the third user 430, and associates the source identifier Src5 with the connection information ip3 / port1 corresponding to the source identifier Src5 to store them in the table. In this case, the server 310 can transmit the source identifier Src5 assigned to the third user 430 and the source identifier information of the first user 410 and the second user 420 who have participated in the group call to the third client device 323 of the third user 430. In addition, the server 310 can inform the first user 410 and the second user 420 who have participated in the group call that the source identifier of the third user 430 is Src5.
[0038] Assume that when the first user 410, the second user 420 and the third user 430 participate in a group call, the first user 410 does not specify at least one part of the users, such as Figure 4 As shown, a case where a data packet "P1" and a data packet "P2" are transmitted to a server 310. In this case, the data packet "P1" and the data packet "P2" may include source identifiers, respectively. For example, in the case where the data packet "P1" includes audio data and the data packet "P2" includes video data, the data packet "P1" may include a source identifier Src1 of the first user 410 for audio, and the data packet "P2" may include a source identifier Src2 of the first user 410 for video. In this case, the server 310 can know that the data packet "P1" includes audio data through the source identifier Src1 included in the data packet "P1", and use the table 440 to pass the data packet "P1" to the user devices of the second user 420 and the third user 430 having the audio source through ip2 / port1 and ip3 / port1. In addition, the server 310 can know that the data packet "P2" includes video data through the source identifier Src2 included in the data packet "P2", and use the table 440 to pass the data packet "P2" to the user device of the second user 420 having the video source through ip2 / port2. The third user 430 is not assigned a video source, and therefore, the data packet “ P2 ” is not delivered to the third user 430 .
[0039] Figure 5 An example of a process in which the first user 410 transmits only his / her own audio and video to the second user 420 during a group call is shown. When the first user 410 inputs a request to transmit only the audio and video to the second user 420 during a group call, the data packet can be transmitted by including the destination information in the data packet transmitted from the first user 410, unlike the case where the destination is not specified. As the first user 410 inputs a request to transmit only the audio and video to the second user 420 during a group call, based on the source identifiers of other users received from the server (e.g., referring to Figure 5 510), the source identifier Src3 as the destination information may be specified in the data packet "P3" containing the audio of the first user 410, and the source identifier Src4 as the destination information may be specified in the data packet "P4" containing the video of the first user 410. In this case, refer to Figure 4Table 440, the server 310 can transfer the data packet "P3" to the ip2 / port1 of the second user 420 corresponding to the source identifier Src3 specified in the data packet "P3", and transfer the data packet "P4" to the ip2 / port2 of the second user 420 corresponding to the source identifier Src4 specified in the data packet "P4". During the group call process, until the request from the first user 410 to transfer only the audio or video of the second user 420 is released, the above source identifiers can be specified in the data packets from the first user 410.
[0040] Figure 6 An example of a process in which the first user 410 transmits only his / her own video to the second user 420 and transmits only his / her own audio to the third user 430 during a group call is shown. When the first user 410 inputs a request to transmit only his / her own video to the second user 420 and transmits only his / her own audio to the third user 430 during a group call, the data packet transmitted from the first user 410 may include the destination information to transmit the data packet, unlike the case where no destination is specified. As the first user 410 inputs a request to transmit only his / her own video to the second user 420 and transmit only his / her own audio to the third user 430 during a group call, based on the source identifiers of other users received from the server 310 (e.g., referring to Figure 6 Table 510), the source identifier Src4 as the destination information can be specified in the data packet "P5" related to the video of the first user 1, and the source identifier Src5 as the destination information can be specified in the data packet "P6" related to the audio of the first user. In this case, refer to Figure 4 Table 440, the server 310 can pass the data packet "P5" to the ip2 / port2 of the second user 420 corresponding to the source identifier Src4 specified in the data packet "P5", and pass the data packet "P6" to the ip3 / port1 of the third user 430 corresponding to the source identifier Src5 specified in the data packet "P6".
[0041] As described above, in order to specify the destination information, the existing transmission protocol can be extended. The existing transmission protocol transmits data packets to all participants in the form of broadcasting, so there is no need to specify the destination, and there is no field for containing the destination information in the existing transmission protocol. Therefore, in this embodiment, the existing transmission protocol can be extended by using a reserved field in the header of the data packet based on the existing transmission protocol to add a field for specifying the destination information.
[0042] On the other hand, more than two users may be assigned to one data packet. Figure 7In the example, consider that in addition to the first user 410, the second user 420 and the third user 430, the fourth user 710 (User4) and the fifth user 720 (User5) also participate in the group call instance. And, Figure 7 An example is shown in which the first user 410 specifies the second user 420 and the fifth user 720 to transmit audio data. When the first user 410 inputs a request to transmit audio only to the second user 420 and the fifth user 720 during a group call, the data packet may be transmitted by including the destination information in the data packet transmitted from the first user 410, unlike the case where no destination is specified. When the first user 410 inputs a request to transmit audio only to the second user 420 and the fifth user 720 during a group call, based on the source identifiers of other users received from the server 310 (e.g., referring to Figure 7 Table 730), source identifiers Src3 and Src8 as destination information may be specified in data packet "P7" containing the audio of the first user 410. In this case, the server 310 may transmit the data packet "P7" to the second user 420 and the fifth user 720 respectively through the connection information of the second user 420 corresponding to the source identifier Src3 specified in the data packet "P7" and the connection information of the fifth user 720 corresponding to the source identifier Src8.
[0043] Figure 8 A diagram showing an example of a container format extended based on an extended transport protocol according to an embodiment of the present invention. Figure 8 The container format 800 of the extended real-time transport protocol (RTP) is shown. In this case, in the extended real-time transport protocol, the target synchronization source (dSSRC, destination synchronization source) for managing the destination can be redefined in a manner corresponding to the synchronization source (SSRC, synchronization source) for managing the source. In this case, the first dotted box 810 may present a field for recording the target synchronization source (D-SSRC) in the header of the real-time transport protocol data packet. Among them, recording the target synchronization source may refer to recording the identifier of the target synchronization source. And, D-CNT for counting the number of target synchronization sources can be redefined in a manner corresponding to CC for counting the number of synchronization sources. Figure 8 In the example, the second dotted box 820 may represent a field for counting the number of target synchronization sources. In this case, the client may specify other clients to transmit the data packet by adding the target synchronization source in the data packet, and the server 310 may confirm the destination of the data packet through the target synchronization source included in the data packet received from the client and transmit the data packet to the destination.
[0044] Fig. 9 2 is a flowchart showing an example of a group calling method of a client according to an embodiment of the present invention. The group calling method of this embodiment can be executed by a computer device 200 that implements a client participating in a group calling service. In this case, the processor 220 of the computer device 200 can be configured to execute control instructions of the operating system code or at least one program code contained in the memory 210. The processor 220 can control the computer device 200 according to the control instructions provided by the code stored in the computer device 200, so that the computer device 200 executes Fig. 9 The method includes multiple steps (step 910 to step 940).
[0045] In step 910, the computer device 200 may set up a media session with a server providing a group call service so that the first client participates in an instance of the group call service. In order to perform a group call, the first client may be implemented in the computer device 200 through a computer program installed and driven in the computer device 200. In order to participate in a specific instance for the group call, the computer device 200 may set up a media session with the server.
[0046] In step 920, the computer device 200 may transmit at least one first data packet including a source identifier of the first client to the server, so as to deliver data for the group call of the first client to multiple second clients participating in the instance through the media session. The first data packet may be a data packet without specifying a destination. For example, Figure 8 In the container format 800, when D-CNT is 0 (zero), the target synchronization source is not included in the data packet, and the data packet may be a first data packet without specifying a destination. The at least one first data packet may be transmitted to each second client participating in the instance in a broadcast form by the server.
[0047] In step 930, the computer device 200 may provide a user interface for receiving a selection of a portion of the second clients from the plurality of second clients. The plurality of second clients participating in the instance may correspond to the participants participating in the group call instance. The user interface may include a function for selecting a portion of the participants participating in the instance of the group call service. According to an embodiment, a portion of the participants participating in the instance may be formed into a group, and a portion of the participants may be selected by selecting the group.
[0048] In step 940, the computer device 200 may transmit to the server at least one second data packet including the source identifiers of a portion of the second clients selected through the user interface as destination information. In this case, the source identifier may be information received from the server, and the second data packet may be a data packet with a specified destination. For example, Figure 8 In the embodiment, in the container format 800, when D-CNT is not 0, it may be a case where the target synchronization source has been recorded, and the recorded target synchronization source may be the destination of the data packet. At least one second data packet may be transmitted to a portion of second clients corresponding to the destination information by the server in a unicast or multicast form. In the case where the computer device 200 does not know the source identifiers of the plurality of second clients, the computer device 200 may receive from the server the source identifiers of the plurality of second clients participating in the instance through communication with the server or the source identifiers of a portion of second clients selected through a user interface to add to the at least one second data packet.
[0049] As described above, at least one second data packet may be generated according to the extended real-time transport protocol and transmitted to the server. In this case, at least one second data packet generated according to the extended real-time transport protocol may include a field for recording at least one target synchronization source corresponding to the destination information. According to an embodiment, at least one second data packet transmitted according to the extended real-time transport protocol may also include a field for counting the number of target synchronization sources.
[0050] Fig.10 2 is a flowchart showing an example of a group calling method of a server according to an embodiment of the present invention. The group calling method of this embodiment can be executed by a computer device 200 that implements a server providing a group calling service. In this case, the processor 220 of the computer device 200 can be configured to execute control instructions of the code of the operating system or the code of at least one program contained in the memory 210. The processor 220 can control the computer device 200 according to the control instructions provided by the code stored in the computer device 200, so that the computer device 200 executes Fig.10 The method includes multiple steps (step 1010 to step 1050).
[0051] In step 1010, the computer device 200 may set up a media session with the first client so that the first client participates in an instance of the group call service. The first client may be implemented on the first participant's terminal for the group call through a computer program set and driven on the first participant's terminal. In order to participate in a specific instance for the group call, the server and the first participant may set up a media session.
[0052] In step 1020, the computer device 200 may receive at least one first data packet including a source identifier of the first client from the first client through the media session. The first data packet may be a data packet without specifying a destination. Figure 8In the container format 800, when D-CNT is 0 (zero), the target synchronization source is not included in the data packet, and the above data packet may be the first data packet without specifying a destination.
[0053] In step 1030, the computer device 200 transmits at least one first data packet to multiple second clients participating in the instance in a broadcasting form. In other words, the first data packet can be transmitted to all participants participating in the instance.
[0054] In step 1040, the computer device 200 may receive at least one second data packet from the first client, including source identifiers of some second clients among the plurality of second clients participating in the instance through the media session as destination information. The second data packet may be a data packet specifying a destination. For example, Figure 8 In the embodiment of the container format 800, when D-CNT is not 0, it may be a case of recording the target synchronization source, and the recorded target synchronization source may be the destination of the data packet. In the case where the first client does not know the source identifier of the second client, the first client may request the source identifiers of multiple second clients from the computer device 200. In this case, the computer device 200 may transmit the source identifiers of multiple second clients participating in the instance or the source identifiers of a part of the second clients selected by the first client to the first client according to the request of the first client.
[0055] In step 1050, the computer device 200 may transmit at least one second data packet to the second client corresponding to the source identifier included in the second data packet in a unicast or multicast form. Therefore, the second data packet may be transmitted to a portion of the second clients specified by the first client, rather than to all the second clients participating in the instance of the group call service.
[0056] On the other hand, in the above embodiments, an example of a participant specifying a destination (source identifier) is described. According to the embodiments, the server can also arbitrarily specify the destination of a specific data packet. For example, when a specific participant in a group call needs to load any audio or video, the server specifies the destination of the data packet for the audio or video as the specific participant, thereby transmitting the audio or video to the specific participant.
[0057] As described above, according to an embodiment of the present invention, during a group call instance, data may be transmitted to a portion of participants participating in the corresponding instance in a single-active or multicast form.
[0058] The system or device described above can be embodied by hardware structural elements, software structural elements, or a combination of hardware structural elements and software structural elements. For example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor (digital signal processor), a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device that can execute instructions and respond. The device and structural elements described in the embodiment can be embodied using more than one common computer or special purpose computer. The processing device can execute an operating system (OS) and one or more software applications executed on the above operating system. In addition, the processing device can also access, store, operate, process and generate data in response to the execution of the software. For ease of understanding, sometimes a processing device is used as an example for explanation, but ordinary technicians in the technical field of the present invention can be familiar with the processing device can include multiple processing elements and / or multiple types of processing elements. For example, the processing device may include multiple processors or a processor and a controller. In addition, other processing configurations such as parallel processors may also be included.
[0059] Software may include a computer program, code, instructions, or a combination of more than one of them, which can configure a processing device to operate in a desired manner or issue instructions to a processing device independently or collectively. Software and / or data are embodied in any type of machine, component, physical device, virtual device, computer storage medium or device for interpretation by a processing device or for providing instructions or data to a processing device. Software may also be distributed on computer systems connected by a network and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
[0060] The method of the embodiment can be implemented as a program instruction form that can be executed by a variety of computer units and recorded on a computer-readable medium. The above-mentioned computer-readable medium may contain program instructions, data files, data structures, etc. alone or in combination. The medium can continuously store computer executable programs, or can be temporarily stored for execution or downloading. In addition, the medium can be a variety of recording units or storage units in the form of a single or multiple hardware combinations, and is not limited to a medium directly connected to a certain computer system, but can also be dispersed on the network. As an example of the medium, it can include magnetic media such as hard disks, floppy disks, and tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floppy disks (magneto-optical medium) and read-only memories, random access memories, flash memories, etc. for storing program instructions. In addition, as an example of other media, it can be an application store for circulating applications, a web page that supplies and circulates other various software, and a recording medium or storage medium managed in a server, etc. In the example of program instructions, machine language codes formed by a compiler and high-level language codes executed by a computer using an interpreter, etc. are included.
[0061] As described above, although the embodiments are described by limited embodiments and drawings, a person skilled in the art of the present invention may make various modifications and variations from the above description. For example, even if the described techniques are performed in a different order than the described method, and / or the structural elements of the described systems, structures, devices, circuits, etc. are combined or combined in a different form than the described method, or are replaced or substituted by other structural elements or equivalent technical solutions, appropriate results can be achieved.
[0062] Therefore, other implementations, other embodiments and contents equivalent to the claims also fall within the scope of the claims.
Claims
1. A group calling method, the group calling method being a group calling method of a computer device including at least one processor, It is characterized in that include: The step of setting, by the at least one processor, a media session with a server providing a group call service so that a first client as the computer device participates in an instance of the group call service; The step of transmitting, by the at least one processor, at least one first data packet including a source identifier of the first client to the server, so as to deliver data for the group call of the first client to a plurality of second clients participating in the instance through the media session; By means of the at least one processor, a step of providing a user interface for receiving a selection of a part of the second clients from the plurality of the second clients is provided; as well as a step of transmitting, by the at least one processor, to the server at least one second data packet including source identifiers of a portion of second clients selected by the user interface as destination information; The at least one second data packet is generated according to the extended real-time transport protocol and transmitted to the server, The at least one second data packet generated according to the extended real-time transport protocol comprises a field for recording at least one target synchronization source corresponding to the destination information.
2. The group calling method according to claim 1, It is characterized in that The at least one first data packet is transmitted to each second client participating in the instance in a broadcasting form through the server. The at least one second data packet is transmitted by the server in a unicast or multicast manner to a portion of second clients corresponding to the destination information.
3. The group calling method according to claim 1, It is characterized in that The at least one second data packet transmitted according to the extended real-time transport protocol further comprises a field for counting the number of the target synchronization sources.
4. The group calling method according to claim 1, It is characterized in that In the step of transmitting the at least one second data packet to the server, source identifiers of a plurality of second clients participating in the instance through communication with the server or source identifiers of a portion of second clients selected through the user interface are received from the server and added to the at least one second data packet.
5. A group calling method, the group calling method being a group calling method of a computer device including at least one processor, It is characterized in that include: The step of setting, by the at least one processor, a media session with a first client so that the first client participates in an instance of a group call service; Receiving, by the at least one processor, at least one first data packet including a source identifier of the first client from the first client through the media session; The step of transmitting the at least one first data packet in a broadcasting form to each second client participating in the above instance through the at least one processor; A step of receiving, by the at least one processor, from the first client, at least one second data packet including, as destination information, source identifiers of some second clients among a plurality of second clients participating in the instance through the media session; and The step of transmitting the at least one second data packet to a second client corresponding to the source identifier included in the second data packet in a unicast or multicast manner by the at least one processor, The at least one second data packet is generated and transmitted in the first client according to the extended real-time transport protocol, The at least one second data packet generated according to the extended real-time transport protocol comprises a field for recording at least one target synchronization source corresponding to the destination information.
6. The group calling method according to claim 5, It is characterized in that The at least one second data packet is generated in the first client in a manner of including source identifiers of a portion of second clients selected by the first client from among a plurality of second clients participating in the instance.
7. The group calling method according to claim 5, It is characterized in that The at least one second data packet transmitted according to the extended real-time transport protocol further comprises a field for counting the number of the target synchronization sources.
8. The group calling method according to claim 5, It is characterized in that The method further includes the following step: transmitting to the first client source identifiers of a plurality of second clients participating in the instance according to a request from the first client or source identifiers of a portion of second clients selected by the first client.
9. A recording medium, It is characterized in that A computer program for executing the group paging method according to any one of claims 1 to 8 in a computer device is recorded.
10. A computer device, It is characterized in that comprising at least one processor configured to execute computer-readable instructions, By means of the at least one processor, a media session is set with the first client so that the first client participates in an instance of the group call service. receiving, by the at least one processor, at least one first data packet including a source identifier of the first client from the first client through the media session, transmitting the at least one first data packet to each second client participating in the instance in a broadcasting manner through the at least one processor; receiving, by the at least one processor, from the first client, at least one second data packet including, as destination information, source identifiers of some second clients among a plurality of second clients participating in the instance through the media session, The at least one second data packet is generated according to the extended real-time transport protocol and transmitted to the server, The at least one second data packet generated according to the extended real-time transport protocol comprises a field for recording at least one target synchronization source corresponding to the destination information. The at least one second data packet is transmitted to a second client corresponding to the source identifier included in the second data packet in a unicast or multicast manner through the at least one processor.
