System and method for stream distribution

By determining an idle score for broadcasters and calculating a priority score for stream recommendations, the method and system enhance viewer engagement and interaction on live streaming platforms by prioritizing active streams.

JP2025115213AActive Publication Date: 2025-08-0617LIVE JAPAN INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024009628
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-25
Publication Date
2025-08-06
Estimated Expiration
2044-01-25

AI Technical Summary

Technical Problem

Streaming platforms face challenges in recommending live streams that maximize viewer engagement and interaction, as inactive or idle streams can decrease viewer engagement.

Method used

A method and system that determine an idle score for broadcasters based on their activity levels, calculating a priority score for recommending streams to viewers, ensuring that less active streams are deprioritized in recommendations.

Benefits of technology

Enhances viewer engagement and interaction by prioritizing active streams, thereby improving the overall user experience on live streaming platforms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025115213000001_ABST
    Figure 2025115213000001_ABST
Patent Text Reader

Abstract

To provide a method, a system, and a program which increase the overall engagement and interaction of a viewer on a live distribution platform.SOLUTION: The method comprises: a step S1206 of determining an idle score of a distributor in a live stream of the distributor; and a step S1208 of determining a priority score of recommending the live stream to a first viewer based on the determined idle score of the distributor. The idle score increases with the decrease of activities by the distributor in the live stream.SELECTED DRAWING: Figure 12
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 online interactions have become a part of everyday life. A variety of platforms and providers offer live streaming services, creating fierce competition. It is important for platforms to provide the services users desire.

[0003] Japanese Patent Application Laid-Open Publication No. 2019-164617 discloses a system that recommends live video to users. Summary of the Invention

[0004] A method according to one embodiment of the present invention is a method for stream distribution executed by one or more computers, comprising steps of determining an idle score for a broadcaster in the broadcaster's live stream, and determining a priority score for recommending the live stream to a first viewer based on the idle score for the broadcaster, wherein the idle score increases the less active the broadcaster is in the live stream.

[0005] A system according to one embodiment of the present invention is a system for stream distribution, including one or more processors, wherein the one or more computer processors execute machine-readable instructions to perform functions of determining an idle score for a broadcaster in the broadcaster's live stream, and determining a priority score for recommending the live stream to a first viewer based on the idle score for the broadcaster, wherein the idle score increases the less active the broadcaster is in the live stream.

[0006] A non-transitory computer-readable medium according to one embodiment of the present invention is a non-transitory computer-readable medium including a program for streaming, the program causing one or more computers to perform the functions of determining an idle score for a broadcaster in the broadcaster's live stream, and determining a priority score for recommending the live stream to a first viewer based on the idle score for the broadcaster, the idle score increasing the less active the broadcaster is in the live stream. [Brief explanation of the drawings]

[0007] [Figure 1] 1 is a schematic diagram illustrating the configuration of a live streaming system 1 according to some embodiments of the present invention. [Figure 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. [Figure 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 illustrating an exemplary data structure of the stream DB 310 of FIG. 3. [Figure 5] 4 is a table illustrating an exemplary data structure of the user DB 312 of FIG. 3. [Figure 6] 4 is a table illustrating an example data structure of the gift DB 314 of FIG. 3. [Figure 7] 10 is a table showing an exemplary data structure of the behavior DB 330. [Figure 8] 10 is a table showing an exemplary data structure of the behavior DB 330. [Figure 9] 10 is a table showing an exemplary data structure of an idle score DB 332. [Figure 10] 10 is a table showing an exemplary data structure of the priority score DB 334. [Figure 11] FIG. 2 is a schematic diagram illustrating an example of stream recommendations for a user according to some embodiments of the present invention. [Figure 12]1 is an exemplary flow chart according to some embodiments of the present invention. [Figure 13] FIG. 2 is a schematic diagram of an exemplary user interface according to some embodiments of the present invention. [Figure 14] 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 INVENTION

[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 redundant explanations will be omitted as appropriate. In addition, some parts that are not important in the explanation of each drawing will be omitted.

[0009] Streaming platforms want to recommend good streams to viewers and avoid recommending bad streams to viewers. A good stream is one that has the potential to increase viewer engagement and interaction with that stream. A bad stream is one that has the potential to decrease viewer engagement and interaction with that stream. What is needed is a method or system that increases overall viewer engagement and interaction on the platform.

[0010] FIG. 1 is a schematic diagram illustrating the 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 referred to as livestreamers, anchors, distributors, or livestreamers) LV and viewers (also referred to as 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, laptops, recorders, portable game consoles, and wearable devices, 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 broadcaster LV, a viewer AU, and an administrator (or app provider, not shown) who manages the server 10. The broadcaster LV records content on his / her user terminal 20 and directly or indirectly uploads it to the server 10, thereby broadcasting the content in real time. Examples of the content include the broadcaster's own singing, talking, performance, gameplay, 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 broadcaster LV and the viewer AU. The viewer AU accesses the platform with his / her user terminal 30, selects and watches desired content, and performs operations such as leaving comments, cheering, or sending gifts via the user terminal 30 during the live streaming of the selected content. The broadcaster LV, who is broadcasting the content, may respond to the comments, cheers, or gifts. The response is transmitted to the viewer AU via video and / or audio, establishing two-way communication.

[0012] The term "live streaming" may refer to a data transmission mode that allows content recorded by a user terminal 20 of the distributor LV to be played back and viewed on a user terminal 30 of the viewer AU in substantially real time, or may refer to live broadcasting realized by such a transmission mode. The live streaming may be realized using existing live streaming technologies such as HTTP live streaming, CMAF (Common Media Application Format), WebRTC (Web Real-Time Communications), RTMP (Real-Time Messaging Protocol), etc. Live streaming includes a transmission mode that allows the viewer AU to view content simultaneously with a predetermined delay as the content is recorded by the distributor LV. The delay may be long enough to allow interaction between the distributor LV and the viewer AU. Note that live streaming is distinguished from so-called on-demand distribution, in which all recorded data of the content is stored on a server and then provided to users from the server upon their request.

[0013] The term "video data" as used herein refers to data including image data (also referred to as 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 or 30 so that the user can view the content. In some embodiments, it is assumed that processing to change the format, size, or data specifications of the video data, such as compression, decompression, encoding, decoding, or transcoding, is performed on the video data 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 remains substantially unchanged before and after such processing, the video data after such processing is referred to herein as being identical to the video data before such processing. In other words, when video data is generated on the distributor's user terminal and then played on the viewer's user terminal via the server 10, the video data generated on the distributor's user terminal, the video data passing through the server 10, and the video data received and played on 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 produced by the distributor LV.

[0015] The user terminals 30a and 30b of the viewers AU1 and AU2 who have requested to view the live streaming of the distributor LV on the platform 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 and VD2 on the display, and output audio from speakers. The videos VD1 and VD2 displayed on the user terminals 30a and 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 and 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 about the content provided by the distributor LV to the user terminal 30a, the server 10 displays the comment in real time on the user terminal 20 of the distributor LV and also displays the comment on the user terminals 30a and 30b of the viewers AU1 and AU2, respectively. When the distributor LV reads the comment and engages in a conversation corresponding to the comment, the video and audio of the conversation are displayed on the user terminals 30a and 30b of the viewers AU1 and AU2, respectively. This interactive behavior is recognized as a conversation between the distributor LV and the viewer AU1. This allows the live streaming system 1 to realize live streaming that enables two-way communication rather than one-way communication.

[0017] FIG. 2 is a block diagram illustrating 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 in FIG. 2 and the subsequent 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 cooperative operations between these elements. Therefore, those skilled in the art will understand that these functional blocks may be realized in various forms using a combination of 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 are 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 written in a programming language such as HTML (HyperText Markup Language), transmitted from the server 10 to a web browser on the user terminals 20 and 30 via the network NW, and implemented by a computer program 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 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 viewing video. The user terminal on which the distribution unit 100 is started is the distributor's terminal, i.e., the user terminal that generates the video data. The user terminal on which the viewing unit 200 is started is the viewer's terminal, i.e., the user terminal on which the video data is reproduced and played.

[0020] The distribution 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 audio data from the microphone. The video transmission unit 106 transmits video data including the image data acquired by the imaging control unit 102 and 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-side UI control unit 108 controls the UI (user interface) of the distributor. The distributor-side 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-side UI control unit 108 may display an operation object or an instruction permission object on the display and receive 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 generation unit 204, and an input information transmission unit 206. The viewing unit 200 receives video data related to live streaming, in which the broadcaster, 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 viewer's UI. The viewer-side UI control unit 202 is connected to a display and a speaker (not shown in FIG. 2 ) and 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 referred to as a state in which the video data is being played. The viewer-side UI control unit 202 is also connected to an input means (not shown in FIG. 2 ), such as a touch panel, keyboard, or display, and acquires user input via the input means. The overlay information generation 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 transmission unit 206 transmits the user input acquired by the viewer-side UI control unit 202 to the server 10 via the network NW.

[0022] 3 shows a block diagram illustrating the functions and configuration of the server 10 of FIG. 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 processing unit 322, a determination unit 324, a behavior DB 330, an idle score DB 332, and a priority score DB 334.

[0023] When receiving a notification or request to start live streaming 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 this 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 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 sends 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 viewer's selection 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 broadcaster side to the user terminal 30 on the viewer side during the live streaming initiated by the broadcast 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 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 the viewer ID of the viewer, the broadcaster ID of the broadcaster of the live stream being viewed by the viewer, 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 broadcaster during playback of the video data (or during live streaming) from the broadcast 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 containing a comment entered by the viewer into 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 contained 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 received viewer ID.

[0028] The gift processing unit 306 increases the points of the broadcaster based on the points of the gift identified 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 identify points to be assigned 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 identified points to the points of the broadcaster ID (or corresponding to the broadcaster ID) included in the object designation signal.

[0029] In response to receiving the object designation signal, the payment processing unit 308 processes payment for 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 illustrating an exemplary data structure of the stream DB 310 in FIG. 3. The stream DB 310 holds information about currently running live streams. The stream DB 310 stores a stream ID, a broadcaster ID, and a viewer ID in association with each other. The stream ID is an ID for identifying a live stream in the live streaming platform provided by the live streaming system 1. The broadcaster ID is a user ID for identifying the broadcaster who provides the live stream. The viewer ID is a user ID for identifying a viewer of the live stream. In the 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 broadcast 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 illustrating 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 user IDs and points in association with each other. The user ID identifies a user. The points correspond to points held by the corresponding user. The points are electronic value circulated within the live streaming platform. In some embodiments, when a streamer receives a gift from a viewer during a live broadcast, the streamer's points increase by a value corresponding to the gift. The points are used, for example, to determine the amount of compensation (e.g., money) that the streamer receives from an administrator of the live streaming platform. In some embodiments, when the streamer 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 illustrating an exemplary data structure of the gift DB 314 of FIG. 3. The gift DB 314 stores 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. Viewers may give gifts to the broadcaster. Giving a gift to a broadcaster is also referred to as using a gift, sending a gift, or throwing a gift. Some gifts can be used immediately upon purchase, while others can be used later by the viewer who purchased them. When a viewer gives a gift to a broadcaster, the broadcaster is awarded a number of points corresponding to the gift. When a gift is used, an effect associated with the gift may be generated. For example, an effect (such as a visual or auditory effect) corresponding to the gift may be displayed on the live streaming screen.

[0033] The gift DB 314 stores gift IDs, awarded points, and price points in association with one another. The gift ID is used to identify a gift. The awarded points are the amount of points awarded to a broadcaster when the gift is given to the broadcaster. The price points are the amount of points paid for using (purchasing) the gift. While watching a live stream, a viewer can give a desired gift to a broadcaster by paying the price points of the desired gift. The price points can be paid using an appropriate electronic payment method. For example, the viewer may pay the price points to the administrator. Alternatively, payment may be made by bank transfer or credit card. The administrator can arbitrarily set the relationship between the awarded points and the price points. For example, the awarded points may be set to equal the price points. Alternatively, the price points may be set to the points obtained by multiplying the awarded points by a predetermined coefficient such as 1.2, or the price points may be set to the points obtained by adding a predetermined fee to the awarded points.

[0034] 7 is a table showing an exemplary data structure of the behavior DB 330. The behavior DB 330 stores the viewer ID, the number of views, the broadcaster ID, the broadcaster idol score, the interaction parameter, and the interaction score in association with each other.

[0035] The view count is a count or index of the viewer's viewing record. In some embodiments, different view counts correspond to different viewing sessions at different times.

[0036] The streamer's idle score indicates the degree (or level) of idle status of the streamer (or the streamer's stream) at the timing (or time range) corresponding to the number of views. A higher idle score means that the streamer (or the stream) is closer to idle status or has less activity. A lower idle score means that the streamer is more active in the stream. Details of idle status will be explained later.

[0037] The interaction parameters include viewing time, gifts, comments, follows, shares, etc. The viewing time is the length of time the viewer spends on the corresponding stream of the broadcaster for the number of views. The gifts may be the amount or number of gifts the viewer gives to the broadcaster for the number of views. The comments may be the number of comments the viewer sends to the broadcaster for the number of views. The "follow" indicates whether the viewer follows the broadcaster for the number of views. If "yes," a predetermined score (50 in this embodiment) is assigned. If not, the score is zero. The "share" indicates whether the viewer shares the broadcaster's stream for the number of views. If "yes," a predetermined score (50 in this embodiment) is assigned. If not, the score is zero.

[0038] The interaction score is calculated based on the interaction parameters. Various calculation methods can be used depending on the actual operation and the focus of the platform. For example, in this embodiment, the interaction score is the sum of the values of the interaction parameters.

[0039] 8 is a table showing an exemplary data structure of the behavior DB 330. The behavior DB 330 stores the viewer ID, the broadcaster ID, and the idol acceptance score in association with each other.

[0040] The idle acceptance score indicates the viewer's acceptance of the idle status of the corresponding broadcaster. The idle acceptance score may be calculated using the data shown in FIG. 7. In some embodiments, the idle acceptance score may be a correlation coefficient between the broadcaster idle score and the viewer interaction score for the same broadcaster. In some embodiments, the broadcaster idle score and the interaction score may be calculated in real time. Thus, the idle acceptance score may change in real time.

[0041] For example, in Figure 7, between viewer V1 and streamer D1, at view count VC11, the streamer's idle score is low (15) and the viewer's interaction score is high (456). At view count VC12, the streamer's idle score is high (85) and the viewer's interaction score is low (7). This means that when streamer D1 is more active (or less idle), viewer V1's interactions increase. Therefore, the idle acceptance score (or correlation coefficient) is negative (-0.8) in Figure 8.

[0042] For example, in Figure 7, between viewer V2 and streamer D3, the streamer's idle score is high (91) and the viewer's interaction score is high (344) at the number of views VC21. At the number of views VC22, the streamer's idle score is low (13) and the viewer's interaction score is low (2). This means that when streamer D3 is less active (or more idle), viewer V3's interaction increases. Therefore, the idle acceptance score (or correlation coefficient) is positive (0.9) in Figure 8.

[0043] In some embodiments, for new viewers of a broadcaster, the idle acceptance score is set low because the viewer has never watched a stream of the broadcaster and there are no interaction parameters between the two.

[0044] 9 is a table showing an exemplary data structure of the idle score DB 332. The idle score DB 332 stores the broadcaster ID, time, video similarity score, audio similarity score, and broadcaster idle score in association with each other.

[0045] The times t1, t2, . . . may be different timings or different time ranges.

[0046] The video similarity score indicates the degree of similarity between video data (or image data) of adjacent frames of the stream of the broadcaster. The adjacent frames may be frames around time t1 (or within a time range t1). For example, in some embodiments, the processing unit 322 may take 24 screenshots of the stream within a time range t1 (e.g., 4 minutes). The processing unit 322 then calculates how similar each image is to every other image, and assigns a similarity score to each combination. An average video similarity score for the time range t1 may also be calculated. A higher score indicates that the frames are more similar to each other, i.e., there is less change in the stream images (or less change in the broadcaster's actions). Various methods may be used to calculate the video similarity score, such as RMSE, PSNR, SSIM, UQI, SIFT, or deep learning.

[0047] The audio similarity score indicates the degree of similarity between audio data of adjacent audio clips (or audio data of the broadcaster) of the broadcaster's stream. The adjacent audio clips may be audio clips around the time t1 (or within the time range t1). For example, in some embodiments, the processing unit 322 may sample the audio clips of the stream 15 times within the time range t1 (which may be, for example, 4 minutes). The processing unit 322 then calculates how similar each audio clip is to every other audio clip, and assigns a similarity score to each combination. An average audio similarity score for the time range t1 may also be calculated. A higher score indicates that the audio clips are more similar to each other, i.e., the stream's audio varies less (or the broadcaster's audio varies less). Various methods, such as deep learning, may be used to calculate the audio similarity score.

[0048] The broadcaster idle score indicates the idleness of the broadcaster (or the broadcaster's live stream) and is calculated by the video similarity score and / or the audio similarity score. The broadcaster idle score may increase with the video similarity score and / or the audio similarity score. A higher score indicates a more idle status or less activity of the broadcaster. For example, if the broadcaster is absent (not in the stream) and the background is unchanged, the video similarity score will be very high, leading to a high broadcaster idle score. For example, if the broadcaster does not speak and remains silent, the audio similarity score will be very high, leading to a high broadcaster idle score. In the embodiment of FIG. 9, the broadcaster idle score is the average of the video similarity score and the audio similarity score. The broadcaster idle score may be calculated in real time and may change based on the actual idle status of the stream.

[0049] 10 is a table showing an exemplary data structure of the priority score DB 334. The priority score DB 334 stores the viewer ID, the broadcaster ID, the broadcaster idle score, the idle acceptance score, and the priority score in association with each other.

[0050] The broadcaster idle scores may be accessed from the idle score DB 332 in real time.

[0051] The idle acceptance score may be accessed from the behavior DB 330 .

[0052] The priority score indicates the priority of recommending the stream (or live stream) of the broadcaster to the viewer. The priority score is calculated based on the broadcaster idle score and the idle acceptance score. For example, in this embodiment, the priority score is the product of the broadcaster idle score and the idle acceptance score. That is, the priority score is the broadcaster idle score multiplied by the idle acceptance score.

[0053] For example, in FIG. 10, at the time of the calculation (or recommendation), the broadcaster idle score for broadcaster D1 is high (80), indicating that broadcaster D1 is in idle status, and the negative idle acceptance score (−0.8) indicates that viewer V1 has low acceptance of broadcaster D1's idle status, and therefore the priority score is low (−64).

[0054] For example, in FIG. 10, at the time of the calculation (or recommendation), the broadcaster idle score for broadcaster D2 is high (70), indicating that broadcaster D2 is in idle status, and the positive idle acceptance score (0.7) indicates that viewer V1 is highly receptive to broadcaster D2's idle status, and therefore the priority score is higher (49).

[0055] The acquiring unit 320 is configured to acquire values to be stored in the behavior DB 330, the idle score DB 332, and / or the priority score DB 334. For example, the acquiring unit 320 may acquire viewing time data, gift data, comment data, follow data, and / or sharing data from a monitoring unit (inside or outside the server 10) or a viewer's user terminal, and store them in the behavior DB 330.

[0056] The processing unit 322 is configured to calculate or determine values in the behavior DB 330, the idle score DB 332, and / or the priority score DB 334. For example, the processing unit 322 may calculate the interaction score, the idle acceptability score, the video similarity score, the audio similarity score, the publisher idle score, and / or the priority score.

[0057] The determining unit 324 is configured to determine a position to display the broadcaster's live stream on the recommendation page of the viewer's user terminal based on the priority score associated between the broadcaster and the viewer. A stream with a higher priority score for the viewer is placed in a higher or top position. In some embodiments, a stream with a priority score below a threshold is not displayed to the viewer.

[0058] FIG. 11 illustrates a schematic diagram of an example of stream recommendations to a user according to some embodiments of the present invention.

[0059] An idle model may include the processing unit 322 and / or the determining unit 324 and may determine whether a stream is idle based on the broadcaster idle score of the stream. For example, the idle model may determine that a stream is idle if the broadcaster idle score (or the video similarity score or the audio similarity score) of the stream exceeds a predetermined threshold. In some embodiments, if the broadcaster idle score exceeds a certain threshold for a predetermined length of time, the model tags the stream as idle.

[0060] At timing t1, streams S1, S2, S3, S4, S5, and S6 are displayed on the recommendation page on the screens of viewers V1 and V2. Stream S3 is distributed by broadcaster D3. Viewer V1 has never watched a stream from broadcaster D3 before. Viewer V2 has watched a stream from broadcaster D3 before. The idol model detects stream S3 as an idol.

[0061] At time t2, the idle model removes stream S3 from viewer V1's on-screen recommendation page and replaces it with stream S14. Stream S14 is streamed by mid-level streamer D14, who is believed to be generally popular with the majority of viewers. Because viewer V1 is a new viewer of streamer D3, the idle acceptance score associated between viewer V1 and streamer D3 is low, and therefore, when stream S3 is marked as idle, the recommendation priority of stream S3 to viewer V1 is low.

[0062] At time t2, the idle model leaves stream S3 on the recommendation page on viewer V2's screen. Because viewer V2 is not a new viewer of streamer D3, the idle acceptance score associated between viewer V2 and streamer D3 may be high, and therefore, even when stream S3 is marked as idle, the recommendation priority of stream S3 to viewer V2 will not be low.

[0063] At time t3, the idle model detects stream S3 as non-idle (its broadcaster idle score has dropped below the threshold), and the idle model restores the recommended location of stream S3 for viewer V1. The recommended location may also be determined based on other logic, such as affinity matching between the stream and viewer V1.

[0064] In some embodiments, for streams marked as idle, the idle model continuously detects whether the idled broadcaster returns.

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

[0066] In step S1200, the obtaining unit 320 obtains viewer interaction parameters for the broadcaster's past streams.

[0067] In step S1202, the processing unit 322 calculates a broadcaster idle score for a past stream (or a broadcaster idle score for a past portion of a live stream) based on the video / audio similarity data of the stream.

[0068] In step S1204, the processing unit 322 calculates the idle acceptance score of each viewer for each broadcaster based on the interaction parameters and the broadcaster idle score.

[0069] In step S1206, the processing unit 322 calculates a broadcaster idle score for the broadcaster's live stream based on the video / audio similarity data of the live stream. In some embodiments, step S1206 may be part of step S1202.

[0070] In step S1208, the processing unit 322 calculates the priority score of each live stream for each viewer based on the viewer's acceptability score and the broadcaster idle score of the broadcaster.

[0071] In step S1210, the determining unit 324 recommends streams to each viewer in a customized manner based on the priority score of each stream for that viewer.

[0072] Traditionally, even if a stream is idle, it may remain high on a recommendation page for some viewers based on the broadcaster's past performance. In some embodiments of the present invention, an idle stream may be deprioritized for viewers who have not previously watched the broadcaster. Such viewers may not have had previous experience with the broadcaster and may not be happy with the broadcaster's idle status.

[0073] Some viewers may want to surprise the streamer when they return from idle status by sending them gifts during their idle time. Alternatively, some viewers may not want to give gifts when many viewers are giving gifts or interacting with the streamer, and may be more likely to send gifts or comment during their idle time. The present invention can identify viewers who are likely to enjoy the streamer's idle time and not lower the priority of idle streams for those viewers.

[0074] 13 is a schematic diagram of an exemplary user interface according to some embodiments of the present invention. The interface is a view of a streaming room from the broadcaster's perspective. As shown, when a broadcaster is detected to be idle, a visual and / or audio message pops up to remind the broadcaster that most viewers are not enjoying their current idle status (e.g., most viewers' idle acceptance scores for the broadcaster are below a threshold). The processing unit 322 may be configured to perform the reminding process. For example, a broadcaster may be detected to be idle if the broadcaster continues to use a mobile phone in a stationary position without interacting with viewers.

[0075] In some embodiments, the processing unit 322 may create a whitelist of broadcasters who are mostly in idle status but whose streams are enjoyed by most viewers while they are idle (e.g., 80% of viewers have an idle acceptance score above a threshold for those broadcasters), and whose streams are not deprioritized for all viewers.

[0076] In some embodiments, the processing unit 322 may create a blacklist of broadcasters who are almost always in idle status and whose idle streams are not enjoyed by most viewers (e.g., if 80% of viewers have an idle acceptance score below a threshold for those broadcasters). When a broadcaster is classified as blacklisted, the broadcaster's streams will not appear on the recommendation page for all viewers.

[0077] The hardware configuration of the information processing device will be described with reference to Fig. 14. Fig. 14 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.

[0078] 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 also 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.

[0079] The CPU 901 functions as an arithmetic processing device and control device, controlling all or part of the operation of the information processing device 900 in accordance with 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 calculation parameters used by the CPU 901. The RAM 905 functions as a main storage device that stores programs used during execution by the CPU 901 and parameters that change appropriately during execution. The CPU 901, ROM 903, and 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.

[0080] The input device 915 may be a device operated by a user, such as a mouse, keyboard, touch panel, button, switch, or lever, or a device that converts a physical quantity into an electrical signal, such as a sound sensor typified 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, or an external connection device 927 such as a mobile phone that supports 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 signal to the CPU 901. The user operates the input device 915 to input various data to the information processing device 900 and instruct it to operate.

[0081] 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, PDP, or OLED, an audio output device such as a speaker or headphones, or a printer. The output device 917 outputs the processing results of the information processing device 900 as video such as text or an image, or audio such as voice.

[0082] 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 programs executed by the CPU 901, various data, various data acquired from the outside, and the like.

[0083] The drive 921 is a reader / writer of a removable recording medium 923 such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory, and is built into or externally attached to the information processing device 900. The drive 921 reads 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.

[0084] 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.

[0085] 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., over the Internet or with other communication devices using a predetermined protocol such as TCP / IP. The communication network NW connected to the communication device 929 is a wired or wireless network, such as the Internet, a home LAN, infrared communication, radio wave communication, or satellite communication. The communication device 929 functions as a communication device.

[0086] 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 components 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 either a still image or a moving image.

[0087] The above describes the configuration and operation of the live streaming system 1 according to this embodiment. 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.

[0088] The processes and procedures described in the present invention, in addition to those explicitly described, can be implemented by software, hardware, or any combination thereof. For example, the processes and procedures described herein can be implemented by implementing logic corresponding to the processes and procedures in media such as integrated circuits, volatile memory, non-volatile memory, non-transitory computer-readable media, magnetic disks, etc. Furthermore, the processes and procedures described herein can be implemented as computer programs corresponding to the processes and procedures, and can be executed by various types of computers.

[0089] 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.

[0090] 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]

[0091] 1. Communication Systems 10 Servers 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 Streamer 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 Provision 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 Processing Unit 324 Judgment Unit 330 Behavior DB 332 Idol Score DB 334 Priority Score DB 900 Information Processing Equipment 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. 1. A method for streaming performed by a server, comprising: determining an idol score for a broadcaster in the broadcaster's live stream; determining a priority score for recommending the live stream to a first viewer based on the idle score of the broadcaster; 10. The method of claim 9, wherein the idle score increases the less active the broadcaster is in the live stream.

2. further determining a first idol acceptance score for the first viewer with respect to the broadcaster; determining the priority score based on the idle score of the broadcaster and the idle acceptance score of the first viewer; 10. The method of claim 1, wherein the first idle acceptance score increases as the first viewer becomes more accepting of the broadcaster's idle status.

3. 10. The method of claim 1, further comprising determining a location to display the live stream on a recommendation page on the user terminal of the first viewer based on the priority score.

4. 2. The method of claim 1, wherein the priority score is determined to be lower when the idle score is higher.

5. 3. The method of claim 2, wherein the priority score is determined to be high when the idle score is high and the first idle acceptance score is high.

6. The method of claim 1 , wherein determining the idle score comprises calculating a similarity score between at least two frames of the live stream.

7. further determining a second idle acceptance score for a second viewer with respect to the broadcaster, the second idle acceptance score increasing as the second viewer becomes more accepting of the idle status of the broadcaster; determining that the broadcaster is in the idle status based on the idle score; determining that the first idle acceptance score is greater than a threshold; determining that the second idle acceptance score is less than the threshold; determining to recommend the live stream to the first viewer; and determining not to recommend the live stream to the second viewer.

8. further determining that the idle score is greater than an idle score threshold; determining that the first idle acceptance score is less than an acceptance score threshold; and reminding the broadcaster of the idle status in the live stream.

9. 1. A system for streaming delivery, comprising: one or more processors, the one or more processors executing machine-readable instructions to: determining an idol score for a broadcaster in the broadcaster's live stream; determining a priority score for recommending the live stream to a first viewer based on the idle score of the broadcaster; The system, wherein the idle score increases the less active the broadcaster is in the live stream.

10. A non-transitory computer-readable medium containing a program for streaming, the program being configured to run on one or more computers: determining an idol score for a broadcaster in the broadcaster's live stream; determining a priority score for recommending the live stream to a first viewer based on the idle score of the broadcaster; 10. A non-transitory computer-readable medium, wherein the idle score increases the less active the broadcaster is in the live stream.