System and method for stream analysis

The system analyzes live streaming performance using interaction parameters and content tags to enhance broadcaster performance and viewer engagement by identifying and addressing suboptimal content periods.

JP2024176619AActive Publication Date: 2024-12-1917LIVE JAPAN INC
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2023095326
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-09
Publication Date
2024-12-19
Estimated Expiration
2043-06-09

AI Technical Summary

Technical Problem

Existing live streaming platforms lack effective tools for broadcasters to analyze their past performance and improve future streams, leading to suboptimal user engagement and content quality.

Method used

A system and method for stream analysis that includes obtaining interaction parameters and content tags, generating performance scores, and associating them to identify good and bad content periods, providing real-time feedback and suggestions for improvement.

Benefits of technology

Enhances broadcaster performance by identifying poor content moments, suggesting adjustments, and improving viewer engagement through targeted recommendations and real-time analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024176619000001_ABST
    Figure 2024176619000001_ABST
Patent Text Reader

Abstract

To provide a system and a method for live stream analysis which helps a distributor in improvement in next live streaming.SOLUTION: A method comprises: acquiring a first interaction parameter set of a first stream executed by a distributor; generating a first performance score set of the first stream on the basis of the first interaction parameter set; acquiring a first content tag set of the first stream; and associating the first performance score set with the first content tag set.SELECTED DRAWING: Figure 13
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to stream analysis in the streaming field. [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] Patent Document 1 discloses a system and method for monitoring the quality of live video distribution. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] China Patent Application Publication No. 113747188 Summary of the Invention

[0005] A method according to one embodiment of the present invention is a method for stream analysis executed by one or more computers, comprising steps of obtaining a first set of interaction parameters for a first stream executed by a broadcaster, generating a first set of performance scores for the first stream based on the first set of interaction parameters, obtaining a first set of content tags for the first stream, and associating the first set of performance scores with the first set of content tags.

[0006] A method according to one embodiment of the invention is a method for stream analysis implemented by one or more computers, comprising: obtaining a first set of interaction parameters for a first stream executed by a broadcaster, generating a first set of performance scores for the first stream based on the first set of interaction parameters, obtaining a second set of interaction parameters for a second stream executed by the broadcaster, generating a second set of performance scores for the second stream based on the second set of interaction parameters, determining that the second stream has a shorter period of poor performance than the first stream, and increasing a recommendation priority for the broadcaster, where the period of poor performance corresponds to a performance score below a poor performance score threshold or a performance score decline rate greater than a performance score decline rate threshold.

[0007] A system according to one embodiment of the present invention is a system for stream analysis including one or more processors, the one or more computer processors executing machine-readable instructions to perform functions such as obtaining a first set of interaction parameters for a first stream performed by a broadcaster, generating a first set of performance scores for the first stream based on the first set of interaction parameters, obtaining a first set of content tags for the first stream, and associating the first set of performance scores with the first set of content tags. [Brief description of the drawings]

[0008] [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] 6 is a block diagram illustrating the functionality and configuration of the user terminal 30 of FIG. 5 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 parameter DB 350 of FIG. 3. [Figure 8] 4 is a table showing an example data structure of the performance score DB 352 of FIG. 3. [Figure 9] 4 is a table showing an example data structure of the content tag DB 354 of FIG. 3. [Figure 10] 1 is an example illustrating an association or correlation of performance scores to content tags of a stream. [Figure 11] 4 is a table showing an exemplary data structure of the analysis result DB 356 of FIG. 3. [Figure 12] FIG. 1 is a schematic diagram illustrating an example of content suggestion during live streaming. [Figure 13] 1 is an exemplary flow chart illustrating a method according to some embodiments of the present invention. [Figure 14] 1 is an example of input and output of a machine learning model 370. [Figure 15] 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

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

[0010] It is desirable for content platforms to provide content distributors (or streamers, live streamers) with tools that help them review their past performance and improve their performance in the future. The present invention provides a system or method that helps a distributor analyze their stream archive and improve the distributor's next live stream.

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

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

[0013] The term "live streaming" may refer to a data transmission mode that allows the content recorded at the user terminal 20 of the distributor LV to be played back and viewed at 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), MPEG DASH, etc. Live streaming includes a transmission mode that allows the viewer AU to view the content with a predetermined delay at the same time as the content is recorded by the distributor LV. The length of the delay may be a delay that allows interaction between the distributor LV and the viewer AU. 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.

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

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

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

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

[0018] FIG. 2 is a block diagram showing the functions and configuration of the user terminal 30 of FIG. 5 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.

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

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

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

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

[0023] FIG. 3 shows a block diagram illustrating the functions and configurations of the server 10 of FIG. 1 according to some embodiments of the present invention. The server 10 includes a delivery 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, a performance score calculator 330, a stream analysis unit 332, an interaction parameter DB 350, a performance score DB 352, a content tag DB 354, and an analysis result DB 356. The server 10 communicates with a machine learning (ML) DB 370 and an anomaly record DB 372. In some embodiments, the machine learning DB 370 and / or the anomaly record DB 372 may be implemented in the server 10.

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

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

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

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

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

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

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

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

[0032] 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 value circulated within the live streaming platform. In some embodiments, when a broadcaster receives a gift from a viewer during a live stream, the broadcaster's points are increased 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.

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

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

[0035] The interaction parameters DB 350 is configured to store interaction parameters of streams (live streams and / or archive streams) performed by broadcasting. The interaction parameters of a stream are related to viewers of the stream or viewers' actions performed on the stream. The interaction parameters may include number of comments, number of gifts received, number of snacks received, number of viewers, etc. The interaction parameters may include time-varying (rate of change, normalized rate, etc.) of the above parameters. For example, the interaction parameters may include number of gifts received per minute, increase rate of gifts received, decrease rate of gifts received, etc. The interaction parameters may vary over time and be stored in the interaction parameters DB 350 in a time-series format. In some embodiments, the interaction parameters may be received from a platform monitoring unit or monitoring database within or outside the server 10.

[0036] The performance score calculator 330 is configured to generate / calculate a performance score for a stream (live stream and / or archive stream) based on the interaction parameters of the stream. The performance score may be calculated in various ways depending on the actual operation (or emphasis) of the stream platform. In some embodiments, the performance score at time T1 of a stream is calculated based on the interaction parameters of the stream at time T1. In some embodiments, the performance score may be equal to one interaction parameter. In some embodiments, the performance score may be a weighted sum of multiple interaction parameters. In some embodiments, the performance score may be proportional to one or more parameters. In some embodiments, the performance score increases when one or more interaction parameters increase. In some embodiments, the performance score decreases when one or more interaction parameters decrease. The performance scores may change over time and be stored in the performance score DB 352 in a time series format.

[0037] In some embodiments, the performance score calculator 330 also generates a percentage increase and / or decrease of the performance score. For example, the performance score calculator 330 may generate an average performance score increase or an average performance score decrease over a period of time.

[0038] The content tag DB 354 is configured to store content tags (or labels) for streams (live and / or archived streams). The content of a stream changes over time and the content tags may be stored in a time-sequential format in the content tag DB 354. In some embodiments, the content tags may be received from a content detection unit within or outside the server 10. The content detection unit detects the content tags from a stream.

[0039] The stream analysis unit 332 is configured to analyze the performance of the stream for the broadcaster. The stream analysis unit 332 may associate the performance score of a stream (or the rate of change of the performance score) with the content tag of the stream. The stream analysis unit 332 may calculate a correlation coefficient between the performance score (or the rate of change of the performance score) and the content tag. The analysis result is stored in the analysis result DB 356.

[0040] The stream analysis unit 332 is configured to determine (or detect) whether the content that the broadcaster performs on the broadcaster's stream is good or bad. In some embodiments, the stream analysis unit 332 determines a good content tag corresponding to a performance score above a good performance score threshold based on the result of the correlating step. In some embodiments, the stream analysis unit 332 determines a bad content tag corresponding to a performance score below a bad performance score threshold based on the result of the correlating step. In some embodiments, the stream analysis unit 332 determines a good content tag corresponding to a time period in which an average performance score increase rate is greater than a performance score increase rate threshold based on the result of the correlating step. In some embodiments, the stream analysis unit 332 determines a bad content tag corresponding to a time period in which an average performance score decrease rate is greater than a performance score decrease rate threshold based on the result of the correlating step. The threshold may vary from broadcaster to broadcaster. For example, a broadcaster with a higher level may have a higher good performance score threshold.

[0041] The abnormality record DB 372 is configured to store abnormality records of the server 10. For example, crash records and delay records of various function endpoints (such as endpoints for comments, gifts, and following) may be stored.

[0042] Fig. 7 is a table showing an example data structure of the interaction parameter DB 350 in Fig. 3. The interaction parameter DB 350 holds information about an archive stream performed by the distributor D1. The interaction parameter DB 350 stores the distributor ID, the stream ID, the interaction parameter, and the time slot in association with each other.

[0043] Fig. 8 is a table showing an exemplary data structure of the performance score DB 352 of Fig. 3. The performance score DB 352 stores the distributor ID, the stream ID, the performance score in each time slot, and the average performance score in association with each other. In the embodiment shown in Fig. 7 and Fig. 8, the performance score is defined as the number of comments. Therefore, the performance score for each stream shown in Fig. 8 corresponds to the number of comments shown in Fig. 7.

[0044] Fig. 9 is a table showing an exemplary data structure of the content tag DB 354 in Fig. 3. The content tag DB 354 stores the distributor ID, the stream ID, and the content tag for each time slot in association with each other.

[0045] 10 is an example showing the association or correlation of performance scores to content tags of a stream. In this embodiment, the performance scores are the number of comments, gifts, snacks, or viewers at each timing (or time slot). The tag sequence shows the content tags detected in different time ranges.

[0046] Before time t1, the performance score is below the bad performance score threshold, and therefore the corresponding content tag "singing" is determined to be a bad tag.

[0047] Between time t1 and time t2, the performance score is still below the poor performance score threshold, but the performance score increase rate is greater than the performance score increase rate threshold. Therefore, in this embodiment, the corresponding content tag "Workout" is determined to be a good tag. By determining the change rate, it is possible to prevent "Workout" from being erroneously determined to be poor content.

[0048] Between time t2 and time t3, the performance score is between the poor performance score threshold and the good performance score threshold, and the performance score increase rate is greater than the performance score increase rate threshold, so the corresponding content tag "workout" is determined to be a good content tag.

[0049] Between time t3 and time t4, the performance score is above the good performance score threshold, and therefore the corresponding content tag "cooking" is determined to be a good content tag.

[0050] Between time t4 and time t5, the performance score is still above the good performance score threshold, but the performance score decline rate is greater than the performance score decline rate threshold. Therefore, in this embodiment, the corresponding content tag "Makeup" is determined to be a bad tag. By determining the change rate, it is possible to prevent "Makeup" from being erroneously determined to be a good content.

[0051] Between time t5 and time t6, the performance score is between the poor performance score threshold and the good performance score threshold, and the performance score decline rate is greater than the performance score decline rate threshold, so the corresponding content tags “makeup” and “chat” are determined to be poor content tags.

[0052] After time t6, the performance score falls below the bad performance score threshold, and the corresponding content tag "chat" is therefore determined to be a bad content tag.

[0053] As shown in FIG. 10, highlight moments corresponding to the highest performance scores and worst moments corresponding to the lowest performance scores may be determined (eg, by the stream analysis unit 332).

[0054] In some implementations, the rate of change of the performance score may be given higher priority in determining good or bad content tags than the absolute value of the performance score, which may more accurately and timely reflect viewer engagement or viewer satisfaction.

[0055] Fig. 11 is a table showing an exemplary data structure of the analysis result DB 356 of Fig. 3. The analysis result DB 356 stores the distributor ID, the stream ID (or archive stream ID), the stream score, the highlight moment, the highlight moment tag, the worst moment, and the worst moment tag in association with each other.

[0056] The stream score may be the average performance score of the stream. The highlight moment may be the time range where the performance score is highest. The highlight moment tag is the content tag corresponding to the highlight moment. The worst moment may be the time range where the performance score is lowest. The worst moment tag is the content tag corresponding to the worst moment. Information in (or extracted from) the analysis results DB 356 may be displayed to the broadcaster, for example, each time a new stream ends.

[0057] A summary of the analysis results is displayed to the broadcaster D1, as shown in FIG. 11. The results show that the worst moment of the stream ST13 is 30% shorter than the streams S12 and S11. In some embodiments, the stream analysis unit 332 may display (or trigger a notification unit to send to) the broadcaster a message such as "Great! You reduced your worst moment by 30% and gained additional exposure on your genre page!"

[0058] In some embodiments, if the stream analysis unit 332 determines that a later stream has a shorter period of poor performance than a previous stream, the stream analysis unit 332 increases the recommendation priority for the streamer (and notifies the streamer). In some embodiments, if the stream analysis unit 332 determines that a later stream has a longer period of poor performance than a previous stream, the stream analysis unit 332 decreases the recommendation priority for the streamer (with notification) or sends a reminder message to the streamer. The period of poor performance corresponds to a performance score below a poor performance score threshold or a performance score decline rate greater than a performance score decline rate threshold. The recommendation priority corresponds to a higher likelihood that the streamer will be viewed by viewers of the streaming platform. For example, a higher recommendation priority may result in a better placement on a recommendation page or a higher frequency of display on the recommendation page. This mechanism can encourage the streamer to take their performance improvement more seriously.

[0059] In some embodiments, on the analysis results page, the streamer can click on an object to play a particular piece of their performance contained in the archive stream. For example, in the report shown in FIG. 11, streamer D1 may click on the "Worst Moments" area of ​​ST11, ST12, or ST13 to trigger a playback of the corresponding stream data. The playback process may utilize hyperlinks to the stream data (or portions of the stream data). The playback feature allows the streamer to look back on their performance (to know exactly what they were doing at the time) and improve efficiently.

[0060] In some embodiments, the broadcaster may be provided with feedback or corrections on the analysis results. For example, the broadcaster D1 may review the playback of the worst moment of the archive stream ST12 and determine that the reason the content tag "singing" was determined to be bad was accidental and should not be counted. For example, the singing was done by a friend of the broadcaster, or the broadcaster had a sore throat at the time. The broadcaster may click the "Reject" button to delete the record and prevent the "singing" tag from being marked as a bad content tag.

[0061] In some embodiments, the stream analysis unit 332 may provide automated feedback or corrective actions on the analysis results. For example, the stream analysis unit 332 may access system anomaly records from the anomaly records DB 372. If it is determined that anomalies have biased the good or bad tag determinations, the determinations may be rejected. For example, if there is a crash in the gift endpoint during a period, the bad content tag determinations due to low gifts during that period may be rejected. This mechanism can ensure more robust stream analysis.

[0062] In some embodiments, interaction parameters of an ongoing live stream are detected in real time and stored in the interaction parameters DB 350. The performance score calculator 330 calculates the performance score in real time with the interaction parameters of the live stream. The content tags of the live stream are detected in real time and stored in the content tags DB 354. The stream analysis unit 332 may provide real-time feedback or suggestions to the broadcaster during live streaming based on the content tags, the performance scores, and / or past analysis results.

[0063] For example, the stream analysis unit 332 may determine a bad content tag (or a content tag that is frequently determined to be bad) of the broadcaster based on the analysis of the archive stream. The bad content tag may correspond to a performance score below a bad performance score threshold or a period of time where the average performance score decline rate is greater than a performance score decline rate threshold. The stream analysis unit 332 then determines (or detects) that the broadcaster has started a new live stream. The stream analysis unit 332 may continuously perform a matching (or comparison) process between the bad content tag and the newly detected tag of the live stream. If the stream analysis unit 332 determines (or detects) in real time that the content of the live stream matches a bad content tag, the stream analysis unit 332 may suggest a content change to the broadcaster while the live stream is being broadcast. The suggested content may be a good content tag determined from the archive stream analysis. An example of a suggestion during live streaming is shown in FIG. 12.

[0064] In some embodiments, before generating the performance score, pre-processing may be performed to remove influence or bias from veteran contributors. A veteran contributor is a viewer determined by the server to be willing to contribute to the streamer regardless of the content topic performed by the streamer. For example, the performance score calculator 330 may determine that a portion of the interaction parameters of a stream are contributions from veteran contributors (or frequent fans) of the streamer. The performance score calculator 330 then excludes that portion of the interaction parameters when generating the performance score for the stream. This mechanism may improve the accuracy of the performance analysis. In some embodiments, the interaction parameter DB 350 holds information about who contributed to those interaction parameters. The information may be extracted from a monitoring unit internal or external to the server 10.

[0065] FIG. 13 is an exemplary flow chart illustrating a method according to some embodiments of the present invention.

[0066] In step S1300, the interaction parameters of the archive stream of the distributor D1 are obtained by the server 10.

[0067] In step S1302, interaction parameters from veteran contributors of distributor D1 are filtered out by the server 10 (or a filtering unit within the server 10).

[0068] In step S1304, a performance score is generated by the performance score calculator 330 for the archive stream based on those interaction parameters.

[0069] In step S1306, the content tags of those archive streams of distributor D1 are obtained by the server 10.

[0070] In step S1308, the stream analysis unit 332 associates or correlates the performance scores with the content tags.

[0071] In step S1310, good and / or bad content tags are determined based on the association results (eg, based on the corresponding performance scores or the corresponding performance score rate of change).

[0072] In step S1312, the analysis result is notified to the distributor D1. The distributor D1 may provide feedback or perform corrective action on the analysis result.

[0073] In step S1314, the stream analysis unit 332 determines whether the later stream has improved performance over the previous stream, e.g., longer duration of good content, longer highlight moments, shorter duration of bad content, shorter worst moments, etc. If so, flow proceeds to step S1316.

[0074] In step S1316, the broadcaster D1 is rewarded. The reward may be, for example, a higher priority on the recommendation page for the broadcaster D1's subsequent streams (or live streams).

[0075] In step S1318, the stream analysis unit 332 detects or monitors the content of the newly started live stream by the broadcaster D1.

[0076] In step S1320, the stream analysis unit 332 determines in real time whether any content of the live stream matches a bad content tag. If yes, flow proceeds to step S1332. Steps S1318 and S1320 are repeated to continue monitoring the content of the live stream.

[0077] In step S1322, content changes are proposed to distributor D1.

[0078] In some embodiments, step S1324 may be implemented. In step S1324, the stream analysis unit 332 refers to the interaction parameter DB 350, the performance score DB 352, the content tag DB 354, and the anomaly record DB 372 to eliminate bias due to system anomalies.

[0079] As shown in FIG. 3, the machine learning DB 370 includes various machine learning algorithms and may be used by the server 10 to analyze the performance of streams.

[0080] FIG. 14 is an example of inputs and outputs of the machine learning model 370. The input data includes various information (or features) about each archive stream, such as video data, audio data, comments (total number and / or change over time), gifts (total number, change over time and / or normalized rate (gifts / minute)), snacks (total number and / or change over time), tags (average and / or change over time), broadcast time, and viewers (total number and / or change over time). The output data includes analysis results about each archive stream, such as an archive score (e.g., 5 out of 10), highlight moment (e.g., 3:05-3:15), worst moment, rising start moment, and falling moment.

[0081] The hardware configuration of the information processing device will be described with reference to Fig. 15. Fig. 15 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 wired or wireless local area network (LAN), Bluetooth (registered trademark), or a communication card for 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 330 Performance Score Calculator 332 Stream Analysis Unit 350 Interaction Parameter DB 352 Performance Score DB 354 Content Tag DB 356 Analysis result DB 370 Machine Learning DB 372 Abnormal Record DB S1300, S1302, S1304, S1306, S1308, S1310, S1312, S1314, S1316, S1318, S1320, S1322, S1324 Process 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 method of stream analysis executed by a server, comprising: Obtaining a first set of interaction parameters for a first stream executed by a distributor; generating a first set of performance scores for the first stream based on the first set of interaction parameters; obtaining a first set of content tags for the first stream; associating the first set of performance scores with the first set of content tags; A method for stream analysis comprising:

2. The method of claim 1 , further comprising the step of determining, based on the results of the associating step, quality content tags corresponding to performance scores above a quality performance score threshold.

3. The stream analysis method according to claim 1 , further comprising the step of determining, based on a result of the associating step, a quality content tag corresponding to a period in which an average performance score increase rate is greater than a performance score increase rate threshold.

4. The method of claim 1 , further comprising the step of determining, based on the results of the associating step, bad content tags that correspond to performance scores below a bad performance score threshold.

5. The stream analysis method according to claim 1 , further comprising the step of determining, based on a result of the associating step, a bad content tag corresponding to a period during which an average performance score decline rate is greater than a performance score decline rate threshold.

6. generating a first set of performance scores for the first stream based on the first set of interaction parameters, further comprising: determining that a portion of the first set of interaction parameters are contributions from veteran contributors of the publisher; excluding a portion of the interaction parameters from the first set of interaction parameters when generating the first set of performance scores for the first stream; The stream analysis method of claim 1, wherein the server determines that the veteran contributor is willing to contribute to the distributor regardless of the content topic provided by the distributor.

7. determining, based on the results of the associating step, bad content tags corresponding to performance scores below a bad performance score threshold or corresponding to time periods during which an average performance score decline rate is greater than a performance score decline rate threshold; determining that the broadcaster has started a new live stream; determining in real time that the new live streaming content matches the bad content tag; proposing content changes to the broadcaster while the new live stream is being broadcast; The method of claim 1 , further comprising:

8. 2. The method of claim 1, further comprising the step of displaying to the distributor a result of the associating step, wherein the result includes a good content tag or a bad content tag.

9. A method of stream analysis executed by a server, comprising: Obtaining a first set of interaction parameters for a first stream executed by a distributor; generating a first set of performance scores for the first stream based on the first set of interaction parameters; obtaining a second set of interaction parameters for a second stream performed by the distributor; generating a second set of performance scores for the second stream based on the second set of interaction parameters; determining that the second stream has a shorter period of poor performance than the first stream; increasing the recommendation priority of the publisher; wherein the poor performance period corresponds to a performance score below a poor performance score threshold or a performance score decline rate greater than a performance score decline rate threshold.

10. 1. A system for stream analysis, comprising: one or more processors, wherein the one or more processors execute machine-readable instructions to: Obtaining a first set of interaction parameters for a first stream executed by a distributor; generating a first set of performance scores for the first stream based on the first set of interaction parameters; obtaining a first set of content tags for the first stream; associating the first set of performance scores with the first set of content tags; 1. A system for stream analysis comprising:

Citation Information

Patent Citations

  • Device, system, server device and terminal device for content evaluation

    JP2016218658A

  • Video distribution system, video distribution method, and video distribution program

    JP2020039029A

  • Information processing device, information processing method, and program

    JP2021022085A

  • Online video distribution support method, online video distribution support apparatus, and online video distribution support system

    JP2022152631A

  • Selectively incorporating feedback from a remote audience

    US20150074698A1