System and method for stream distribution

JP2025026086AActive Publication Date: 2025-02-2117LIVE JAPAN INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023131450
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-10
Publication Date
2025-02-21
Estimated Expiration
2043-08-10

Smart Images

  • Figure 2025026086000001_ABST
    Figure 2025026086000001_ABST
Patent Text Reader

Abstract

To provide a live stream distribution method and system that assists distributors in interacting with viewers.SOLUTION: A method includes determining that a viewer is a contributing viewer for a content type being live streamed, determining that a broadcaster is engaged with the content type in the stream, and suggesting to the broadcaster that the viewer be invited to the stream.SELECTED DRAWING: Figure 13
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to streaming distribution, and more particularly to live streaming distribution. [Background technology]

[0002] As exemplified by live streaming services, real-time communication over the Internet has become a part of everyday life. A variety of platforms and providers offer live streaming services, and competition is fierce. It is important for platforms to provide services that users want.

[0003] Taiwan Patent Application Publication No. 107105371 discloses a method for actively building a real-time social group on the Internet. Summary of the Invention

[0004] A method according to one embodiment of the invention is a stream distribution method executed by one or more computers, comprising steps of determining a viewer to be a supporting viewer for a content type, determining that a broadcaster is engaged in that content type in a stream, and suggesting to the broadcaster that the viewer be invited to the stream.

[0005] A method according to one embodiment of the present invention is a stream distribution method executed by one or more computers, comprising the steps of: receiving a first request with a first reward offer from a first broadcaster to invite a viewer to a first live stream; receiving a second request with a second reward offer from a second broadcaster to invite the viewer to a second live stream; sending the first request and the second request to the viewer; receiving a selection from the viewer; and inviting the viewer to the first live stream or the second live stream depending on the selection.

[0006] A system according to one embodiment of the present invention is a system for stream distribution including one or more processors, the one or more computer processors executing machine-readable instructions to perform functions such as determining a viewer to be a supporting viewer for a content type, determining that a broadcaster is involved in that content type in a stream, and suggesting to the broadcaster that the viewer be invited to the stream. [Brief description of the drawings]

[0007] [Figure 1] FIG. 1 is a schematic diagram showing a configuration of a live streaming system 1 according to some embodiments of the present invention. [Diagram 2] 2 is a block diagram illustrating the functionality and configuration of user terminal 30 of FIG. 1 in accordance with some embodiments of the present invention. [Diagram 3] 2 is a block diagram illustrating the functionality and configuration of the server of FIG. 1 in accordance with some embodiments of the present invention. [Figure 4] 4 is a table showing an example data structure of the stream DB 310 of FIG. 3. [Diagram 5] 4 is a table illustrating an example data structure of the user DB 312 of FIG. 3. [Figure 6] 4 is a table showing an example data structure of the gift DB 314 of FIG. 3. [Figure 7] 4 is a table showing an example data structure of the interaction DB 330 of FIG. 3. [Figure 8] 4 is a table showing an example data structure of the contribution impact DB 332 of FIG. 3. [Figure 9] 13 is an example of data stored in the contribution impact DB 332. [Figure 10] 13 is an example of data stored in the contribution impact DB 332. [Figure 11] 4 is a table showing an example data structure of the profile DB 334 of FIG. 3. [Figure 12] 4 is a table illustrating an example data structure of the confidence score DB 336 of FIG. 3. [Figure 13]4 is an exemplary flow diagram according to some embodiments of the present invention. [Figure 14] 2 is a schematic diagram of an exemplary user interface on a distributor side according to some embodiments of the present invention. [Figure 15] 1 is a schematic diagram of an exemplary viewer profile page according to some embodiments of the present invention. [Figure 16] 2 is a schematic diagram of an exemplary viewer-side user interface according to some implementations of the present invention; [Figure 17] 2 is a schematic diagram of an exemplary user interface on a distributor side according to some embodiments of the present invention. [Figure 18] 1 is a block diagram showing an example of a hardware configuration of an information processing device according to some embodiments of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0008] Hereinafter, the same or similar components, parts, steps, or signals shown in each drawing will be denoted by the same reference numerals in all drawings, and duplicated explanations will be omitted as appropriate. In addition, some parts that are not important in the explanation of each drawing will be omitted.

[0009] Distributors (or streamers) on streaming platforms want to maintain good engagement with their viewers in order to earn higher rewards. However, new distributors may not know how to engage with their viewers. Or, distributors may not know how to engage with their viewers in a certain field or topic. Therefore, a method or system to assist distributors in engaging with their viewers is desirable.

[0010] FIG. 1 is a schematic diagram showing a configuration of a live streaming system 1 according to some embodiments of the present invention. The live streaming system 1 provides a live streaming service for streaming streamers (also called live streamers, anchors, distributors, and live streamers) LV and viewers (also called audiences) AU (AU1, AU2, ...) to interact or communicate in real time. As shown in FIG. 1, the live streaming system 1 includes a server 10, a user terminal 20, and a user terminal 30 (30a, 30b, ...). In some embodiments, the streamers and viewers may be collectively referred to as users. The server 10 may include one or more information processing devices connected to a network NW. The user terminals 20 and 30 may be, for example, mobile terminal devices such as smartphones, tablets, notebook PCs, recorders, portable game consoles, and wearable terminals, or stationary devices such as desktop PCs. The server 10, the user terminals 20, and the user terminals 30 are connected to each other so as to be able to communicate with each other via various wired or wireless networks NW.

[0011] The live streaming system 1 includes a distributor LV, a viewer AU, and an administrator (or an app provider, not shown) who manages the server 10. The distributor LV is a person who distributes the content in real time by recording the content on his / her user terminal 20 and uploading it directly or indirectly to the server 10. Examples of the content may be the distributor's own song, talk, performance, game play, or any other content. The administrator provides a platform for live streaming the content on the server 10, and mediates or manages real-time interactions between the distributor LV and the viewer AU. The viewer AU accesses the platform with his / her user terminal 30, selects and watches desired content. During the live streaming of the selected content, the viewer AU performs operations such as sending comments, cheers, and gifts via the user terminal 30. The distributor LV who distributes the content may respond to those comments, cheers, or gifts. The response is transmitted to the viewer AU by video and / or audio, and two-way communication is established.

[0012] The term "live streaming" may refer to a data transmission mode that allows the content recorded by the user terminal 20 of the distributor LV to be played back and viewed by the user terminal 30 of the viewer AU in substantially real time, or may refer to a live broadcast realized by such a transmission mode. The live streaming may be realized by utilizing existing live streaming technologies such as HTTP live streaming, CMAF (Common Media Application Format), WebRTC (Web Real-Time Communications), RTMP (Real-Time Messaging Protocol), and the like. Live streaming includes a transmission mode that allows the viewer AU to view the content with a certain delay at the same time as the content is recorded by the distributor LV. The length of the delay may be such that the distributor LV and the viewer AU can communicate with each other. Note that the live streaming is distinguished from so-called on-demand distribution, in which all recorded data of the content is stored once on the server and then provided to the user from the server upon the user's request.

[0013] The term "video data" as used herein refers to data including image data (also called video data) generated using the imaging function of the user terminal 20 or 30, and audio data generated using the audio input function of the user terminal 20 or 30. The video data is played on the user terminal 20, 30 so that the user can view the content. In some embodiments, it is assumed that the video data is subjected to a process such as compression, decompression, encoding, decoding, transcoding, etc., to change its format, size, or data specifications between the generation of the video data on the distributor's user terminal and the playback of the video data on the viewer's user terminal. However, since the content (e.g., video and audio) represented by the video data does not substantially change before and after such a process, the video data after such a process is expressed in this specification as being the same as the video data before such a process. In other words, when video data is generated at the distributor's user terminal and then played at the viewer's user terminal via the server 10, the video data generated at the distributor's user terminal, the video data passing through the server 10, and the video data received and played at the viewer's user terminal are all the same video data.

[0014] In the example shown in Fig. 1, the distributor LV provides live streaming data. The user terminal 20 of the distributor LV records video and audio of the distributor LV to generate the streaming data, and the generated data is transmitted to the server 10 via the network NW. At the same time, the user terminal 20 displays the recorded video VD of the distributor LV on the display of the user terminal 20, allowing the user to check the live streaming content currently being provided by the distributor LV.

[0015] The user terminals 30a, 30b of the viewers AU1, AU2 who have requested the platform to view the live streaming of the distributor LV receive video data related to the live streaming (hereinafter, may be referred to as "live streaming video data") via the network NW, play the received video data, display the videos VD1, VD2 on the display, and output audio from the speaker. The videos VD1, VD2 displayed on the user terminals 30a, 30b are substantially the same as the video VD captured by the user terminal 20 of the distributor LV, and the audio output from the user terminals 30a, 30b is substantially the same as the audio recorded by the user terminal 20 of the distributor LV.

[0016] The recording of video and audio on the user terminal 20 of the distributor LV and the playback of video data on the user terminals 30a and 30b of the viewers AU1 and AU2 are performed substantially simultaneously. When the viewer AU1 inputs a comment on the content provided by the distributor LV to the user terminal 30a, the server 10 displays the comment on the user terminal 20 of the distributor LV in real time, and also displays the comment on the user terminals 30a and 30b of the viewers AU1 and AU2. When the distributor LV reads the comment and develops a talk corresponding to the comment, the video and audio of the talk are displayed on the user terminals 30a and 30b of the viewers AU1 and AU2, respectively. This interactive operation is recognized as a conversation being established between the distributor LV and the viewer AU1. As a result, the live streaming system 1 realizes live streaming that enables two-way communication, not one-way communication.

[0017] 2 is a block diagram showing the functions and configuration of the user terminal 30 of FIG. 1 according to some embodiments of the present invention. The user terminal 20 has the same or similar functions and configuration as the user terminal 30. Each block of FIG. 2 and the following block diagrams may be realized by hardware elements such as a computer CPU or a mechanical device, or by software elements such as a computer program. The functional blocks may be realized by the cooperation of these elements. Therefore, it will be understood by those skilled in the art that these functional blocks may be realized in various forms by combining hardware and software.

[0018] The distributor LV and the viewer AU may download a live streaming application program (hereinafter, referred to as a live streaming application) from a download site via the network NW and install it on the user terminals 20 and 30. Alternatively, the live streaming application may be pre-installed on the user terminals 20 and 30. When the live streaming application is executed on the user terminals 20 and 30, the user terminals 20 and 30 communicate with the server 10 via the network NW and implement or execute various functions. Hereinafter, functions implemented by the user terminals 20 and 30 (processors such as CPUs) on which the live streaming application is executed will be described as functions of the user terminals 20 and 30. These functions are actually realized by the live streaming application on the user terminals 20 and 30. In some embodiments, these functions may be realized by a computer program written in a programming language such as HTML (HyperText Markup Language), transmitted from the server 10 to a web browser of the user terminals 20 and 30 via the network NW, and executed by the web browser.

[0019] The user terminal 30 includes a distribution unit 100 and a viewing unit 200. The distribution unit 100 generates video data in which the video and audio of the user (or the user side) are recorded, and provides the video data to the server 10. The viewing unit 200 receives the video data from the server 10 and plays the video data. The user starts the distribution unit 100 when performing live streaming, and starts the viewing unit 200 when the user watches a video. The user terminal on which the distribution unit 100 is started is the terminal of the distributor, i.e., the user terminal that generates the video data. The user terminal on which the viewing unit 200 is started is the terminal of the viewer, i.e., the user terminal on which the video data is reproduced and played.

[0020] The delivery unit 100 includes an imaging control unit 102, an audio control unit 104, a video transmission unit 106, and a distributor-side UI control unit 108. The imaging control unit 102 is connected to a camera (not shown in FIG. 2) and controls imaging performed by the camera. The imaging control unit 102 acquires image data from the camera. The audio control unit 104 is connected to a microphone (not shown in FIG. 2) and controls audio input from the microphone. The audio control unit 104 acquires the audio data from the microphone. The video transmission unit 106 transmits the image data acquired by the imaging control unit 102 and the video data including the audio data acquired by the audio control unit 104 to the server 10 via the network NW. The video data is transmitted in real time by the video transmission unit 106. That is, the generation of the video data by the imaging control unit 102 and the audio control unit 104 and the transmission of the generated video data by the video transmission unit 106 are performed substantially simultaneously. The distributor's UI control unit 108 controls the UI (user interface) of the distributor. The distributor's UI control unit 108 may be connected to a display (not shown in FIG. 2) and displays a video on the display by playing the video data transmitted by the video transmission unit 106. The distributor's UI control unit 108 may display an operation object or an instruction permission object on the display and accept an input from the distributor who taps on the object.

[0021] The viewing unit 200 includes a viewer-side UI control unit 202, an overlay information generating unit 204, and an input information transmitting unit 206. The viewing unit 200 receives video data related to live streaming in which the distributor, the viewer who is the user of the user terminal 30, and other viewers participate from the server 10 via the network NW. The viewer-side UI control unit 202 controls the UI of the viewer. The viewer-side UI control unit 202 is connected to a display and a speaker (not shown in FIG. 2), plays the received video data, displays the video on the display, and outputs the audio from the speaker. The state in which the video is output to the display and the audio is output from the speaker can be called a "video data is being played" state. The viewer-side UI control unit 202 is also connected to an input means (not shown in FIG. 2) such as a touch panel, a keyboard, a display, etc., and acquires a user's input via the input means. The overlay information generating unit 204 overlays a predetermined frame image on an image generated from video data from the server 10. The frame image includes various user interface objects (hereinafter simply referred to as "objects") for receiving input from the user, comments entered by the viewer, and / or information acquired from the server 10. The input information transmitting unit 206 transmits the user input acquired by the viewer-side UI control unit 202 to the server 10 via the network NW.

[0022] Figure 3 shows a block diagram illustrating the function and configuration of the server 10 of Figure 1 according to some embodiments of the present invention. The server 10 includes a distribution information providing unit 302, a relay unit 304, a gift processing unit 306, a payment processing unit 308, a stream DB 310, a user DB 312, a gift DB 314, an acquisition unit 320, a sending unit 322, a determination unit 324, an interaction DB 330, a contribution impact DB 332, a profile DB 334, and a trust score DB 336.

[0023] When a notification or request to start live streaming is received from the user terminal 20 on the distributor side via the network NW, the distribution information providing unit 302 registers in the stream DB 310 a stream ID for identifying the live streaming and the distributor ID of the distributor performing the live streaming.

[0024] When the distribution information providing unit 302 receives a request for providing information about live streams from the viewing unit 200 of the user terminal 30 on the viewer side via the network NW, the distribution information providing unit 302 obtains or checks currently available live streams from the stream DB 310, and creates a list of available live streams. The distribution information providing unit 302 transmits the created list to the requesting user terminal 30 via the network NW. The viewer side UI control unit 202 of the requesting user terminal 30 generates a live stream selection screen based on the received list, and displays it on the display of the user terminal 30.

[0025] When the input information sending unit 206 of the user terminal 30 receives the selection result of the viewer on the live stream selection screen, the input information sending unit 206 generates a delivery request including the stream ID of the selected live stream and sends the request to the server 10 via the network NW. The delivery information providing unit 302 starts providing the live stream specified by the stream ID included in the received delivery request to the requesting user terminal 30. The delivery information providing unit 302 updates the stream DB 310 so that the viewer ID of (or the corresponding) the stream ID includes the user ID of the viewer of the requesting user terminal 30.

[0026] The relay unit 304 relays the video data from the user terminal 20 on the distributor side to the user terminal 30 on the viewer side in the live streaming started by the distribution information providing unit 302. The relay unit 304 receives a signal representing a user input by a viewer from the input information transmitting unit 206 during the live streaming or during playback of the video data. The signal representing the user input may be an object designation signal that designates an object displayed on the display of the user terminal 30. The object designation signal may include a viewer ID of the viewer, a distributor ID of the distributor of the live stream that the viewer is viewing, and an object ID that identifies the object. When the object is a gift, the object ID is a gift ID. Similarly, the relay unit 304 receives a signal representing a user input made by a distributor during playback (or live streaming) of the video data from the distribution unit 100 of the user terminal 20. The signal may be an object designation signal.

[0027] Furthermore, the signal representing the user input may be a comment input signal including a comment input by a viewer to the user terminal 30 and the viewer ID of the viewer. Upon receiving the comment input signal, the relay unit 304 transmits the comment and the viewer ID included in the signal to the user terminal 20 of the distributor and the user terminals 30 of other viewers. In these user terminals 20, 30, the viewer-side UI control unit 202 and the overlay information generation unit 204 display the received comment on a display associated with the viewer ID that has also been received.

[0028] The gift processing unit 306 increases the points of the distributor based on the points of the gift specified by the gift ID included in the object designation signal, and updates the user DB 312. Specifically, the gift processing unit 306 refers to the gift DB 314 to specify the points to be given to the gift ID included in the received object designation signal. Then, the gift processing unit 306 updates the user DB 312 and adds the specified points to the points of the distributor ID (or corresponding to the distributor ID) included in the object designation signal.

[0029] In response to receiving the object designation signal, the payment processing unit 308 processes the payment of the gift from the viewer. Specifically, the payment processing unit 308 refers to the gift DB 314 to determine the price points of the gift identified by the gift ID included in the object designation signal. Then, the payment processing unit 308 updates the user DB 312 and subtracts the determined price points from the points of the viewer identified by the viewer ID included in the object designation signal.

[0030] FIG. 4 is a table showing an exemplary data structure of the stream DB 310 of FIG. 3. The stream DB 310 holds information about a live stream currently being performed. The stream DB 310 stores a stream ID, a broadcaster ID, and a viewer ID in a mutually associated manner. The stream ID is an ID for identifying a live stream in a live streaming platform provided by the live streaming system 1. The broadcaster ID is a user ID for identifying a broadcaster providing the live stream. The viewer ID is a user ID for identifying a viewer of the live stream. In a live streaming platform provided by the live streaming system 1 according to some embodiments, when a user starts a live stream, the user becomes a broadcaster, and when the same user watches a live stream broadcasted by another user, the user also becomes a viewer. Therefore, the distinction between a broadcaster and a viewer is not fixed, and a user ID registered as a broadcaster ID at one time may be registered as a viewer ID at another time.

[0031] FIG. 5 is a table showing an exemplary data structure of the user DB 312 of FIG. 3. The user DB 312 holds information about users. The user DB 312 stores the user ID and the points in a mutually associated manner. The user ID identifies a user. The points correspond to points held by the corresponding user. The points are electronic values ​​circulating within the live streaming platform. In some embodiments, when a broadcaster receives a gift from a viewer during a live broadcast, the broadcaster's points increase by a value corresponding to the gift. The points are used, for example, to determine the amount of compensation (such as money) that the broadcaster receives from the administrator of the live streaming platform. In some embodiments, when the broadcaster receives a gift from a viewer, an amount corresponding to the gift may be given instead of the points.

[0032] FIG. 6 is a table showing an exemplary data structure of the gift DB 314 of FIG. 3. The gift DB 314 holds information about gifts available to the viewer during the live streaming. Gifts are electronic data. Gifts may be purchased with points or money, or may be provided free of charge. Gifts may be given to the broadcaster by the viewer. Giving a gift to the broadcaster is also called using a gift, sending a gift, throwing a gift, etc. Some gifts can be used immediately after purchase, while others can be used at any time after purchase by the viewer who purchased the gift. When a viewer gives a gift to a broadcaster, the broadcaster is given an amount of points corresponding to the gift. When a gift is used, an effect related to the gift may occur as a result of the use. For example, an effect (such as a visual effect or an auditory effect) corresponding to the gift is displayed on the live streaming screen.

[0033] The gift DB 314 stores a gift ID, an assignment point, and a price point in association with each other. The gift ID is for identifying a gift. The assignment point is the amount of points that is assigned to a broadcaster when the gift is given to the broadcaster. The price point is the amount of points paid for the use (purchase) of the gift. A viewer can give a desired gift to a broadcaster by paying the price points of the desired gift while watching a live stream. The payment of the price points can be made by an appropriate electronic payment means. For example, the viewer may pay the price points to the administrator. Alternatively, payment by bank transfer or credit card may be used. The administrator can arbitrarily set the relationship between the assignment points and the price points. For example, it may be set as assignment points = price points. Alternatively, it may be set as the price points obtained by multiplying the assignment points by a predetermined coefficient such as 1.2, or as the price points obtained by adding a predetermined fee point to the assignment points.

[0034] Fig. 7 is a table showing an exemplary data structure of the interaction DB 330 in Fig. 3. The interaction DB 330 stores a stream ID, a distributor ID, a viewer ID, interaction parameters at different times (or time ranges or periods), and a content type in association with each other.

[0035] t0 to t5 may be a timing, a time range, or a time period. For example, during a period t0, the content type (or topic that a broadcaster D1 is involved in) in stream ST1 is "cooking" and a viewer V1 performs a comment operation in the stream ST1. During a period t1, a viewer V2 joins the stream. During a period t2, a viewer V4 performs a gift operation. During a period t4, a viewer V5 leaves the stream.

[0036] In some embodiments, the interaction parameters may be obtained by the obtaining unit 320 from a monitoring unit (not shown) implemented inside or outside the server 10. In some embodiments, the content type may be detected by a detection unit (not shown) implemented inside or outside the server 10. The detection unit may perform an image detection process, an audio detection process, a comment detection process, or a motion detection process on the content of the stream. The detection of the content type may be performed in real time.

[0037] Fig. 8 is a table showing an example data structure of the contribution impact DB 332 of Fig. 3. The contribution impact DB 332 stores a viewer ID, a stream ID, an interaction performed by a viewer, a content type of the stream, a contribution from other viewers, other viewers in the same stream, a general correlation value, and a correlation value by content type, in association with each other.

[0038] The contribution from the other viewers may be the amount of gifts or rewards contributed to the stream broadcaster by all viewers other than the viewer V1 during each time period. By excluding the contribution of the viewer V1, the embodiment may determine the influence of the viewer V1 on the contributions of other viewers in a more accurate or reliable manner. For example, bias due to a large contribution of the viewer V1 may be eliminated. In some embodiments, the value of the contribution may be calculated based on the interaction parameters (such as gift operations and gift amounts) stored in the interaction DB 330 by the determining unit 324.

[0039] The "general correlation value" may be a correlation value (or correlation coefficient value) between the interaction of viewer V1 and the contributions from other viewers. In some embodiments, the correlation value indicates the trend of variation of the contributions from other viewers to the interaction of viewer V1. The calculation may be performed with respect to (or based on) all interaction operations of viewer V1 or specific interaction operations of viewer V1 (such as comments or gifts). In some embodiments, the correlation value may be normalized. In some embodiments, the correlation value may be between -1 and 1. A positive value means that the contributions from other viewers increase with the interaction of viewer V1, and a negative value means that the contributions from other viewers decrease with the interaction of viewer V1.

[0040] The “correlation value by content type” is the same as the “general correlation value” except that it is calculated for each content type. Thus, the value of the “correlation value by content type” indicates the correlation between viewer V1’s interaction and the contribution from other viewers in a particular content type.

[0041] For example, as shown in FIG. 8, according to data related to stream ST1, viewer V1 has a high correlation value in the topic of [Cooking]. This indicates that viewer V1 positively influences contributions from other viewers in the topic of [Cooking]. That is, when the topic is cooking, viewer V1's interactions (e.g., comments) may encourage or motivate other viewers to make more contributions (e.g., more gifts) to the broadcaster. Thus, viewer V1 may be determined (e.g., by the determining unit 324) to be a master influencer in the topic [Cooking].

[0042] For example, as shown in FIG. 8, according to data related to stream ST2, viewer V1 has a negative correlation value in the topic of [travel]. This indicates that viewer V1 negatively influences contributions from other viewers in the topic of [travel]. That is, when the topic is travel, viewer V1's interactions (e.g., comments) may hinder or prevent other viewers from making contributions (e.g., gifts) to the broadcaster. Therefore, viewer V1 may be determined to be an unwelcome viewer in the topic [travel].

[0043] The final score represents the average of the "general correlation value" and the "content type specific correlation value" calculated for the various streams in which viewer V1 participated. In some embodiments, calculations other than "average" may be used. In some embodiments, a threshold may be defined and a final score greater than the threshold may be used to determine viewer V1 as a guru influencer for the corresponding content type. In some embodiments, a threshold may be defined and a final score less than the threshold may be used to determine viewer V1 as an unwelcome viewer for the corresponding content type.

[0044] 9 is an example of data stored in the contribution impact DB 332. As shown in the figure, in the topic [cooking], the interaction parameters of viewer V1 and the contributions of viewers other than V1 show similar trends. Therefore, viewer V1 may be determined to be a master influencer with respect to the topic [cooking].

[0045] 10 is an example of data stored in the contribution impact DB 332. As shown in the figure, in the topic [workout], the interaction parameters of viewer V2 and the contributions of viewers other than V2 show opposite trends. Therefore, viewer V2 may be determined to be an unwelcome viewer with respect to the topic [workout].

[0046] The determining unit 324 is configured to determine a viewer as a guru influencer (or a helping viewer) for a certain content type. This determination may be based on, for example, a correlation value (or a final score) of the contribution impact DB 332. The determining unit 324 may determine that the viewer positively influences the contributions of other viewers for the content type based on the viewer's interaction data and the contribution data of other viewers.

[0047] The determining unit 324 is configured to determine that a broadcaster has engaged in a particular content type in a stream (or live stream) performed by the broadcaster. In some embodiments, the determining unit 324 may refer to the interaction DB 330 for the content type of each stream. The content type may be updated or monitored in real time.

[0048] The determining unit 324 is configured to suggest to the broadcaster to invite the helper viewer to the stream performed by the broadcaster. The determining unit 324 may trigger the sending unit 332 to send an invitation message to the viewer.

[0049] The obtaining unit 320 is configured to obtain a request from a broadcaster to invite a viewer (such as a helper viewer for an ongoing topic) to a stream (or a live stream) performed by the broadcaster. The sending unit 322 is configured to send the request to the viewer. The obtaining unit 320 is configured to obtain a selection result (such as agreeing or declining to participate in the stream) from the viewer regarding the invitation request. If the selection result is agreeing, the determining unit 324 may then invite the viewer to the stream, for example by triggering an inviting unit (not shown) in the server 10.

[0050] In some embodiments, the obtaining unit 320 may obtain a reward offer from the broadcaster to invite the viewer to the stream. The sending unit 322 may then send the reward offer to the viewer so that the viewer can decide whether to accept the invitation. The reward offer may be a gift, points (or electronic money) to be used on a streaming platform. In some embodiments, the reward received by the invited viewer is deducted from the points of the inviting broadcaster.

[0051] In some embodiments, after determining that an interaction parameter (e.g., an amount of comments or gifts) in the stream is less than a threshold, the determining unit 324 suggests the broadcaster to invite the viewer to the stream, and the viewer can encourage other viewers to contribute more to the broadcaster in the stream because the viewer is an expert influencer in the corresponding topic.

[0052] In some embodiments, once a viewer is determined to be an expert influencer in a particular content type, the determining unit 324 may mark the viewer as a contributing viewer for that content type on the viewer's profile page. In some embodiments, once a viewer is determined to be an unwelcome viewer for a particular content type, the determining unit 324 may mark the viewer as an unwelcome viewer for that content type on the viewer's profile page.

[0053] In some implementations, a broadcaster may check a viewer's profile page to understand the viewer's impact on the contributions of other viewers. For example, if the current topic is [Cooking], the broadcaster may want to invite a viewer who is a master influencer of [Cooking] to improve his / her own achievement. For example, if the current topic is [Travel] and the broadcaster learns that a new viewer who has joined the [Travel] topic is an unwelcome viewer, the broadcaster may want to change the topic because his / her own achievement may be negatively affected by the viewer.

[0054] In some embodiments, a popular helper viewer may receive multiple invitations from different broadcasters. The viewer may select the one offering the highest reward to join or support. For example, the acquisition unit 320 acquires a first request with a first reward offer from a first broadcaster to invite the viewer to a first live stream. The acquisition unit 320 acquires a second request with a second reward offer from a second broadcaster to invite the viewer to a second live stream. The sending unit 322 transmits the first request and the second request to the viewer. The viewer selects a live stream to join based on the reward offer included in the request. The acquisition unit 320 acquires the selection result from the viewer. Then, the determination unit 324 (or an invitation unit in the server 10) invites the viewer to the first live stream or the second live stream based on the selection result.

[0055] Fig. 11 is a table showing an exemplary data structure of the profile DB 334 in Fig. 3. The profile DB 334 stores content types, viewer IDs of expert influencers, viewer IDs of other viewers, attributes (or tags), attribute vectors, and viewer profile vectors in association with one another.

[0056] Data in the profile DB 334 may be derived from the contribution impact DB 332 and / or the interaction DB 330. For example, the acquisition unit 320 may identify “other viewers” ​​who contributed in the stream when viewer V1 was in the stream and the topic was “cooking” based on data in the interaction DB 330 and / or data in the contribution impact DB 332. Then, the acquisition unit 320 may store those “other viewers” ​​in the profile DB 334 as “other viewers who contributed.”

[0057] Once the "other contributing viewers" are identified, the acquisition unit 320 may acquire the respective attribute data, for example, from the user DB 312. The attribute data may include data entered by the viewers (such as gender) and / or data detected by a detection unit inside or outside the server 10 (such as preference data that may be detected based on the viewers' past comments). In some embodiments, a value "1" means "yes" and a value "0" means "no". In some embodiments, the value of the attribute data means the degree or intensity of the attribute. For example, viewer V14 has a high value of the attribute [cooking], which means that viewer V14 shows a strong preference for the topic [cooking].

[0058] The attribute vector is a vector form of the attribute data. The viewer profile vector is the average value of the attribute vectors, and may be considered as a profile vector for the "other contributing viewers" of viewer V1 in the topic [Cooking].

[0059] Figure 12 is a table illustrating an example data structure of the confidence score DB 336 of Figure 3. The confidence score DB 336 stores a broadcaster ID, a stream ID, timing, a content type, a viewer ID, an attribute vector, a stream viewer profile vector, a guru influencer, and a confidence score (or a similarity score) in association with each other. In some embodiments, the data in the confidence score DB 336 is stored, updated, and / or calculated in real time as time passes (t0, t1, t2, ...).

[0060] The viewer ID stores a viewer in the stream ST1 at a corresponding timing (or time range). The attribute vector of each viewer is obtained by the obtaining unit 320 and stored, for example.

[0061] The stream viewer profile vector is calculated from the attribute vectors of all viewers at the corresponding timing, for example, an average calculation may be used. In some embodiments, the calculation of the stream viewer profile vector is similar to the calculation of the viewer profile vector in the profile DB 334. The stream viewer profile vector may be calculated in real time for each timing.

[0062] The guru influencer stores viewers (or supporting viewers) who have a high impact (or positive impact) on the contributions of other viewers for the corresponding content type. The supporting viewers may be identified, for example, from the contribution impact DB 332.

[0063] The confidence score is calculated based on the stream viewer profile vector and the viewer profile vector of the guru influencer for the corresponding content type (in the profile DB 334). A similarity calculation between the vectors may be used. A normalization calculation may be included. The higher the confidence score, the higher the similarity between the stream viewer profile vector (at the corresponding time) and the viewer profile vector of the guru influencer (in the profile DB 334). Thus, the higher the confidence score, the higher the accuracy of the corresponding guru influencer recommendation and the higher the expected effect. In other words, the guru influencer is more likely to contribute to the achievement of the broadcaster. In some embodiments, the confidence score is determined based on the attributes of other viewers in past streams in which the helper viewer was involved and the attributes of other viewers in the ongoing live streams being performed by the broadcaster.

[0064] In some embodiments, when the determining unit 324 suggests the broadcaster to invite a viewer to a stream, the determining unit 324 provides the broadcaster with a confidence score of the determination that the viewer is a helper viewer for that content type. The broadcaster can then decide whether to invite the helper viewer based on that. Alternatively, the broadcaster may determine a reward offer for inviting the helper viewer based on the confidence score.

[0065] FIG. 13 illustrates an exemplary flow according to some embodiments of the present invention.

[0066] In step S1300, a broadcaster D1 starts a live stream.

[0067] In step S1302, interaction parameters (number of comments, number of gifts, number of viewers, etc.) within the live stream are detected or monitored.

[0068] In step S1304, the content type of the live stream is detected or monitored.

[0069] In step S1306, the helper viewers for each content type are determined according to the methods described above.

[0070] In step S1308, the decision unit 324 determines whether the interaction parameter is below a threshold value. If yes, the flow proceeds to step S1310. If no, the flow returns to step S1302.

[0071] In step S1310, the determining unit 324 may suggest to the distributor D1 to invite a helper viewer for the current content type of the live stream. The determining unit 324 may trigger the server 10 to send the information of the helper viewer to the distributor D1.

[0072] In step S1312, the acquiring unit 320 acquires a request from the broadcaster D1 to invite the helper viewer to the live stream.

[0073] In step S1314, the sending unit 322 sends the request to the helper viewer.

[0074] In step S1316, the acquisition unit 320 acquires consent from the helper viewer to participate in the live stream.

[0075] In step S1318, the determining unit 324 (or the server 10) invites the helper viewer to the live stream.

[0076] 14 is a schematic diagram of an exemplary user interface on the broadcaster side according to some embodiments of the present invention. As shown in the figure, a proposal to invite a helper viewer V1 is displayed to the broadcaster D1. A confidence score of the recommendation is also provided for the broadcaster D1's reference. The broadcaster D1 may enter a reward offer and send an invitation request.

[0077] 15 is a schematic diagram of an exemplary viewer profile page according to some embodiments of the present invention. As shown, viewer V1 is marked as a master influencer (or supporting viewer) for the content types [Cooking] and [Sports].

[0078] 16 is a schematic diagram of an exemplary user interface on the viewer side according to some embodiments of the present invention. As shown in the figure, the helper viewer V1 receives invitations from two broadcasters. The viewer V1 may select one based on the broadcaster, topic, and reward.

[0079] 17 is a schematic diagram of an exemplary user interface on the broadcaster side according to some embodiments of the present invention. As shown in the figure, if a viewer V2 is an unwelcome viewer with respect to the topic [workout] and the current topic of the stream room is [workout], a suggestion message (e.g., change the topic) is displayed to the broadcaster when the viewer V2 joins the stream.

[0080] In some embodiments, the live streaming platform may provide a virtual character that acts as a guru influencer. The virtual character may learn the interaction patterns of viewers who are guru influencers for a particular content type through machine learning models. Viewers may invite the virtual character to a live stream by paying points or using gifts to support the broadcaster. The virtual character may join a chat room to interact with the broadcaster (e.g., comment, talk, etc.) and motivate other viewers to contribute. The virtual character may learn different interaction patterns from different support viewers and act (e.g., comment, talk, etc.) based on those patterns for different content types. The virtual character may participate in different chat rooms simultaneously and act differently based on the content types of the chat rooms. The virtual character may refer to the viewer profiles of the chat rooms and act in a pattern that maximizes contributions from the viewers of the chat rooms.

[0081] The hardware configuration of the information processing device will be described with reference to Fig. 18. Fig. 18 is a block diagram showing an example of the hardware configuration of an information processing device based on some embodiments of the present invention. The information processing device 900 shown in the figure can realize, for example, the server 10 and / or the user terminals 20 and 30 in some embodiments.

[0082] The information processing device 900 includes a CPU 901, a ROM (read only memory) 903, and a RAM (random access memory) 905. The information processing device 900 may also include a host bus 907, a bridge 909, an external bus 911, an interface 913, an input device 915, an output device 917, a storage device 919, a drive 921, a connection port 925, and a communication device 929. The information processing device 900 further includes an imaging device such as a camera (not shown). The information processing device 900 may also include a DSP (digital signal processor) or an ASIC (application specific integrated circuit) in addition to or instead of the CPU 901.

[0083] The CPU 901 functions as an arithmetic processing device and a control device, and controls all or part of the operation of the information processing device 900 according to various programs stored in the ROM 903, the RAM 905, the storage device 919, or the removable recording medium 923. For example, the CPU 901 controls the overall operation of each functional unit included in the server 10 and the user terminals 20 and 30 in some embodiments. The ROM 903 stores programs and arithmetic parameters used by the CPU 901. The RAM 905 functions as a main storage device that stores programs used when the CPU 901 is executed, parameters that change appropriately during execution, and the like. The CPU 901, the ROM 903, and the RAM 905 are interconnected by a host bus 907, which may be an internal bus such as a CPU bus. Furthermore, the host bus 907 is connected to an external bus 911 such as a PCI (Peripheral Component Interconnect / Interface) bus via a bridge 909.

[0084] The input device 915 may be a device operated by a user, such as a mouse, a keyboard, a touch panel, a button, a switch, or a lever, or a device that converts a physical quantity into an electric signal, such as a sound sensor represented by a microphone, an acceleration sensor, a tilt sensor, an infrared sensor, a depth sensor, a temperature sensor, or a humidity sensor. The input device 915 may be, for example, a remote control device that uses radio waves such as infrared rays, or an external connection device 927 such as a mobile phone that supports the operation of the information processing device 900. The input device 915 includes an input control circuit that generates an input signal based on information input by the user or a detected physical quantity and outputs the input signal to the CPU 901. The user operates the input device 915 to input various data to the information processing device 900 and instruct the information processing device 900 to operate.

[0085] The output device 917 is a device that can visually or audibly notify the user of acquired information. The output device 917 may be, for example, a display such as an LCD, a PDP, or an OLED, an audio output device such as a speaker or a headphone, or a printer. The output device 917 outputs the processing result by the information processing device 900 as a video such as text or an image, or an audio such as a voice.

[0086] The storage device 919 is a data storage device and is configured as an example of a storage unit of the information processing device 900. The storage device 919 is, for example, a magnetic storage device such as a hard disk drive (HDD), a semiconductor storage device, an optical storage device, or a magneto-optical storage device. The storage device 919 stores the programs executed by the CPU 901, various data, various data acquired from the outside, and the like.

[0087] The drive 921 is a reader / writer of a removable recording medium 923 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and is built into or externally attached to the information processing device 900. The drive 921 reads out information recorded on the attached removable recording medium 923, and outputs it to the RAM 905. Furthermore, the drive 921 writes information to the attached removable recording medium 923.

[0088] The connection port 925 is a port for directly connecting a device to the information processing device 900. The connection port 925 may be, for example, a USB (Universal Serial Bus) port, an IEEE 1394 port, or a SCSI (Small Computer System Interface) port. Furthermore, the connection port 925 may be an RS-232C port, an optical audio terminal, an HDMI (High Definition Multimedia Interface) port, or the like. By connecting the external connection device 927 to the connection port 925, various data can be exchanged between the information processing device 900 and the external connection device 927.

[0089] The communication device 929 is, for example, a communication interface formed by a communication device for connecting to the network NW. The communication device 929 may be, for example, a communication card for a wired or wireless local area network (LAN), Bluetooth (trademark), or wireless USB (WUSB). Furthermore, the communication device 929 may be a router for optical communication, a router for ADSL (asymmetric digital subscriber line), or a modem for various communications. The communication device 929 transmits and receives signals, etc., on the Internet or between other communication devices using a predetermined protocol such as TCP / IP. The communication network NW connected to the communication device 929 is a network connected by wire or wirelessly, for example, the Internet, a home LAN, infrared communication, radio wave communication, satellite communication, etc. The communication device 929 realizes a function as a communication device.

[0090] The imaging device (not shown) is a device that captures an image of real space using an imaging element such as a CCD (charge-coupled device) or a CMOS (complementary metal-oxide semiconductor) and various members such as a lens for controlling the formation of a subject image on the imaging element, and generates a captured image. The imaging device may capture still images or moving images.

[0091] The configuration and operation of the live streaming system 1 according to this embodiment have been described above. This embodiment is merely an example, and it will be understood by those skilled in the art that various modifications are possible with respect to the combination of each component and each process, and that such modifications are also within the scope of the present invention.

[0092] The processes and procedures described in the present invention can be realized by software, hardware, or any combination thereof, in addition to those explicitly described. For example, the processes and procedures described herein can be realized by implementing logic corresponding to the processes and procedures in a medium such as an integrated circuit, a volatile memory, a non-volatile memory, a non-transitory computer-readable medium, a magnetic disk, etc. Furthermore, the processes and procedures described herein can be realized as a computer program corresponding to the processes and procedures, and can be executed by various computers.

[0093] Furthermore, the system or method described in the above embodiments may be integrated into a program stored in a non-transitory computer-readable medium such as a solid-state storage device, an optical disk storage device, a magnetic disk storage device, etc. Alternatively, the program may be downloaded from a server via the Internet and executed by a processor.

[0094] Although the technical contents and features of the present invention have been described above, those skilled in the art can still make many variations and modifications without departing from the teachings and disclosure of the present invention. Therefore, the scope of the present invention is not limited to the embodiments already disclosed, but is within the scope of the claims, including other variations and modifications that do not depart from the present invention. [Explanation of symbols]

[0095] 1. Communication Systems 10 Server 20 User terminal 30, 30a, 30b User terminal LV Streamer AU1, AU2 viewers VD, VD1, VD2 Video NW Network 30 User terminals 100 Delivery Units 102 Imaging control unit 104 Audio control unit 106 Video Transmission Unit 108 Provider UI Control Unit 200 viewing units 202 Viewer side UI control unit 204 Superposition Information Generation Unit 206 Input information transmission unit 302 Distribution Information Unit 304 Relay unit 306 Gift Processing Unit 308 Payment Processing Unit 310 Stream DB 312 User DB 314 Gift DB 320 Acquired Units 322 Transmitting Unit 324 Judgment Unit 330 Interaction DB 332 Contribution Impact DB 334 Profile DB 336 Trust Score DB 900 Information processing device 901 CPU 903 ROM 905 RAM 907 Host Bus 909 Bridge 911 External Bus 913 Interface 915 Input Device 917 Output Device 919 Storage Device 921 Drive 923 Removable Recording Media 925 Connection Port 927 External connection device 929 Communication Equipment

Claims

1. A stream distribution method executed by a server, comprising: determining that the viewer is a helper viewer with respect to a content type; determining that a publisher is involved in the content type in a stream; offering the broadcaster to invite the viewer to the stream; A stream distribution method comprising:

2. determining that the viewer is the helper viewer with respect to the content type, The stream distribution method of claim 1, further comprising a step of determining, based on the viewer's interaction data and contribution data of other viewers, that the viewer is a viewer who positively influences the contributions of the other viewers with respect to the content type.

3. further comprising the step of receiving a request from the broadcaster to invite the viewer to the stream; sending said request to said viewer; obtaining consent from said viewer to join said stream; inviting said viewers to said stream; 2. The stream distribution method according to claim 1, comprising:

4. further comprising obtaining a reward offer from the broadcaster for inviting the viewer to the stream; sending said reward offer to said viewer; 2. The stream distribution method according to claim 1, comprising:

5. The stream distribution method of claim 1 , further comprising the step of suggesting to the distributor to invite the viewer to the stream after determining that an interaction parameter in the stream is less than a threshold.

6. The method of claim 1, wherein the stream is a live stream, and the interaction parameter is a real-time number of comments or a real-time number of gifts in the stream.

7. 2. The method of claim 1, further comprising the step of marking said viewer as said contributing viewer for said content type on said viewer's profile page.

8. Further, the method includes providing the distributor with a confidence score for determining that the viewer is the helper viewer for the content type; The stream distribution method according to claim 1 , wherein the trust score is determined based on attributes of other viewers in past streams in which the viewer participated and attributes of other viewers in the stream.

9. A live stream distribution method executed by a server, comprising: receiving a first request with a first reward offer from a first broadcaster to invite a viewer to a first live stream; receiving a second request with a second reward offer from a second broadcaster to invite the viewer to a second live stream; transmitting the first request and the second request to the viewer; obtaining selections from said viewers; inviting the viewer to either the first live stream or the second live stream based on the selection; A live stream distribution method comprising:

10. 1. A system for streaming, comprising: one or more processors, the one or more processors executing machine-readable instructions to: A function for determining that a viewer is a helper viewer with respect to a content type; determining that a publisher is involved in the content type in a stream; suggesting to the broadcaster to invite the viewer to the stream; A system for streaming, comprising: