Server, computer program, and terminal

JP2024133435A5Pending Publication Date: 2026-03-2517LIVE JAPAN INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-13
Publication Date
2026-03-25

AI Technical Summary

Technical Problem

Live streaming on smartphones is prone to unexpected interruptions, leading to sudden ends that can frustrate broadcasters and result in lost efforts and accumulated gains.

Method used

A server system that relays live broadcast data, determines unexpected terminations, and allows broadcasters to restart the stream within a predetermined period, maintaining the live distribution state and minimizing losses.

Benefits of technology

Reduces losses by enabling broadcasters to resume live streams after unexpected interruptions, preserving viewer engagement and accumulated scores.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide a server, a computer program, and a terminal which reduce a loss caused by the finish of live distribution even when the live distribution is finished by an unexpected reason.SOLUTION: In a live distribution system 1, a server 10 comprises: means of relaying transmission of moving image data related with live distribution from a terminal 20 of a distributor LV of the live distribution to terminals 30a, 30b of viewers AU1, AU2; means of determining whether the live distribution is finished by an unexpected reason; means of keeping the state of the live distribution when it is determined that the live distribution is finished; and means which when an instruction of restarting the live distribution is received from the terminal of the distributor within a predetermined period after the determination of the finish, restarts the live distribution in the kept state.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a server, a computer program, and a terminal. [Background technology]

[0002] With the development of IT technology, the way information is exchanged has also changed. In the Showa era, one-way information transmission such as newspapers and television was the norm. In the Heisei era, mobile phones and personal computers became widespread and Internet communication speeds improved significantly, leading to the rise of instant two-way communication services such as chat services, and on-demand video distribution services became more popular as storage costs decreased. Now, in the Reiwa era, with the increasing functionality of smartphones and further improvements in network speeds such as 5G, services that enable real-time communication through video, especially live streaming services, are rapidly gaining recognition. Live streaming services are seeing an increase in users, especially among young people, as they allow everyone to share the same fun time even when they are far apart.

[0003] The equipment on the distribution side for live streaming is required to have relatively high specifications in order to generate high-quality video in real time. Therefore, in the past, distribution terminals were configured by installing dedicated software on high-spec stationary PCs. However, with the recent improvement in the performance of mobile terminals such as smartphones, it has become realistic to perform live streaming with a single smartphone (for example, see Non-Patent Document 1). [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] "Seven things you should know if you want to stream games live on iPhone / Android only", New VIP for beginners to stream games live, URL: https: / / vip-jikkyo.net / live-stream-from-a-smartphone Summary of the Invention [Problem to be solved by the invention]

[0005] When live streaming is done on a smartphone, the performance of the smartphone varies widely and the connection is relatively unstable, so it is easy for the live streaming to end suddenly for unexpected reasons. Unlike online meetings, in live streaming, the streamer uses their ingenuity and effort to increase their score, gifts, popularity, and excitement. If the live streaming ends unintentionally, the streamer will lose all of these accumulated efforts in an instant. This can frustrate the streamer and discourage them from continuing the live streaming.

[0006] The present disclosure has been made in consideration of these problems, and its purpose is to provide technology that can reduce losses caused when a live broadcast ends for an unexpected reason. [Means for solving the problem]

[0007] One aspect of the present invention relates to a server, which includes: a means for relaying transmission of video data relating to live streaming from a terminal of a live stream distributor to a terminal of a viewer, a means for determining whether the live streaming has ended for an unexpected reason, a means for maintaining the state of the live streaming if it is determined that the live streaming has ended, and a means for resuming the live streaming in the maintained state if an instruction to resume the live streaming is received from the terminal of the distributor within a predetermined period after it is determined that the live streaming has ended.

[0008] Another aspect of the present invention is a computer program that causes a terminal of a live stream distributor to perform a function of transmitting video data related to the live stream to a server via a network, and a function of displaying, when the live stream ends for an unexpected reason, a screen for inquiring the distributor whether or not to resume the live stream on a display.

[0009] Yet another aspect of the present invention is a computer program that provides a function for receiving video data related to the live streaming from a server via a network on a terminal of a viewer of the live streaming, a function for displaying a wait request screen on a display of the viewer's terminal without ending the live streaming when the live streaming ends for an unexpected reason on the terminal of the live streaming distributor, a function for displaying the remaining time on the wait request screen, and a function for ending the live streaming on the viewer's terminal when the remaining time runs out without the live streaming being resumed.

[0010] In addition, any combination of the above components, or mutual substitution of the components or expressions of the present invention between an apparatus, a method, a system, a computer program, a recording medium storing a computer program, etc., are also valid aspects of the present invention. Effect of the Invention

[0011] According to the present invention, even if a live distribution is terminated for an unexpected reason, loss due to the termination can be reduced. [Brief description of the drawings]

[0012] [Figure 1] FIG. 1 is a schematic diagram illustrating a configuration of a live distribution system according to an embodiment of the present disclosure. [Diagram 2] 2 is a block diagram showing the functions and configuration of the user terminal of FIG. 1. [Diagram 3] 2 is a block diagram showing the functions and configuration of the server in FIG. 1. [Figure 4]4 is a data structure diagram showing an example of a stream DB in FIG. 3. [Diagram 5] FIG. 13 is a status transition diagram of live distribution. [Figure 6] 4 is a data structure diagram showing an example of a user DB in FIG. 3. [Figure 7] 4 is a data structure diagram showing an example of a gift DB in FIG. 3. [Figure 8] 11 is a flowchart showing a series of processes in a server when live distribution ends for an unexpected reason. [Figure 9] 11 is a flowchart showing the flow of a series of processes in a user terminal when a live distribution application is launched. [Figure 10] FIG. 13 is a representative screen diagram of a live streaming room screen displayed on the display of a user terminal of a broadcaster. [Figure 11] FIG. 13 is a representative screen diagram of a resumption inquiry screen displayed on the display of a distributor's user terminal. [Figure 12] A representative screen diagram of a live streaming room screen with a resume success message display area superimposed thereon, which is displayed on the display of the broadcaster's user terminal. [Figure 13] FIG. 13 is a representative screen diagram of a live distribution selection screen with an end message display area superimposed thereon, which is displayed on the display of a distributor's user terminal. [Figure 14] FIG. 13 is a representative screen diagram of a live streaming room screen with a restart inquiry area superimposed thereon, which is displayed on the display of a broadcaster's user terminal. [Figure 15] FIG. 13 is a representative screen diagram of a live streaming room screen displayed on the display of a viewer's user terminal. [Figure 16] FIG. 13 is a representative screen diagram of a standby request screen displayed on the display of a viewer's user terminal. [Figure 17] FIG. 13 is a representative screen diagram of a push notification screen displayed on the display of a user terminal of an active user. [Figure 18] 1 is a block diagram showing an example of a hardware configuration of an information processing device according to an embodiment of the present invention; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] Hereinafter, the same or equivalent components, members, processes, and signals shown in each drawing will be given the same reference numerals, and duplicated explanations will be omitted as appropriate. Also, some of the members that are not important for the explanation will be omitted in each drawing.

[0014] In a live streaming system according to an embodiment, if a live streaming ends for an unexpected reason, the server maintains the state of the live streaming for the period during which the live streaming can be resumed. The user terminal of the streamer inquires of the streamer whether or not to resume the ended live streaming. If an instruction to resume is given within the period during which the live streaming can be resumed, the ended live streaming is resumed from the state it was in immediately before it ended. This allows the streamer to prevent viewers from leaving and to continue the live streaming while maintaining the accumulated scores, other live streaming parameters, and the degree of excitement.

[0015] Unexpected reasons include, for example, a failure in the distributor's user terminal (forced termination (crash) of the live streaming app, unintentional or erroneous termination of the live streaming app, etc.), a failure in the network (network delay, network disconnection, poor wireless connection, etc.), and a failure in the server (server error, overload, power outage, forced termination due to incorrect recognition by a monitor, etc.). In this embodiment, a case where a forced termination of the live streaming app occurs in the distributor's user terminal will be mainly described. Those skilled in the art who have read this specification will understand that the technical ideas of this embodiment can also be applied to other types of reasons. Receiving an instruction to stop live streaming from the distributor is not included in unexpected reasons.

[0016] FIG. 1 is a schematic diagram showing a configuration of a live distribution system 1 according to an embodiment of the present disclosure. The live distribution system 1 provides an interactive live distribution service in which a distributor (also called a live streamer) LV and a viewer (also called an audience) AU (AU1, AU2, ...) can communicate in real time. As shown in FIG. 1, the live distribution system 1 includes a server 10, a user terminal 20 on the distributor side, and a user terminal 30 (30a, 30b, ...) on the viewer side. In addition to distributors who distribute live distribution and viewers who watch live distribution, there are also users who log in to the live distribution platform but do not distribute or watch. Such users are called active users. The distributors, viewers, and active users may be collectively called users. The server 10 may be configured by one or more information processing devices connected to a network NW. The user terminals 20 and 30 may be, for example, mobile terminals such as smartphones, tablet terminals, laptop PCs, recorders, portable game consoles, and wearable devices, or may be stationary devices such as desktop PCs. The server 10, the user terminal 20, and the user terminal 30 are connected to each other so as to be able to communicate with each other via various wired or wireless networks NW.

[0017] The live distribution system 1 involves a distributor LV, a viewer AU, and an administrator (not shown) who manages the server 10. The distributor LV is a person who transmits content in real time by recording and filming his / her own songs, talks, performances, fortune telling, game commentary, etc. on his / her own user terminal 20 and uploading the content to the server 10 as is. The administrator provides a platform for live distribution of content on the server 10, and also mediates or manages real-time exchanges between the distributor LV and the viewer AU. The viewer AU accesses the platform with the user terminal 30, selects desired content, and views it. During the live distribution of this content, the viewer AU performs operations to make comments, cheer, or request fortune telling through the user terminal 30, and the distributor LV providing the content responds to such comments, cheers, or requests, and the reactions are transmitted to the viewer AU by video and / or audio, thereby establishing two-way communication.

[0018] In this specification, "live distribution" may mean a data transmission mode that realizes a state in which content recorded on a user terminal 20 of a distributor LV is played back and made viewable on a user terminal 30 of a viewer AU in substantially real time, or may mean distribution itself realized by such a transmission mode. Live distribution may be realized using existing live distribution technologies such as HTTP Live Streaming, Common Media Application Format, Web Real-Time Communications, Real-Time Messaging Protocol, and MPEG DASH. Live distribution includes a transmission mode in which a viewer AU can view content with a predetermined delay while a distributor LV is recording the content. The amount of delay is at least as large as the amount of communication between the distributor LV and the viewer AU. However, live distribution is distinguished from so-called on-demand distribution in which the entire recorded data of the content is temporarily stored on a server, and the data is provided to a user from the server at any time thereafter in response to a request from the user.

[0019] In this specification, "moving image data" refers to data including image data (also called video data) generated by the imaging function of the user terminals 20 and 30, and audio data (also called audio data) generated by the audio input function of the user terminals 20 and 30. The moving image data is played back on the user terminals 20 and 30, allowing users to view the content. In this embodiment, it is assumed that processing such as compression, decompression, encoding, decoding, transcoding, and other processing is performed to change the format, size, and specifications of the data from when the moving image data is generated on the distributor's user terminal until it is played back on the viewer's user terminal. Since the contents (e.g., moving images and audio) represented by the moving image data before and after such processing are substantially unchanged, this embodiment will be described assuming that the moving image data after such processing is the same as the moving image data before such processing. In other words, when moving image data is generated on the distributor's user terminal and then played back on the viewer's user terminal via the server 10, the moving image data generated on the distributor's user terminal, the moving image data passing through the server 10, and the moving image data received and played on the viewer's user terminal are all the same moving image data.

[0020] As used herein, "stream duration" is a parameter associated with a live stream and refers to the length of time that the live stream lasts. Stream duration is calculated regardless of whether the live stream has an audience.

[0021] In the example of Fig. 1, a broadcaster LV is live-streaming a talk. The user terminal 20 of the broadcaster LV records and records the image and audio of the broadcaster LV while he or she is talking, generating video data, and transmits the video data to the server 10 via the network NW. The user terminal 20 also displays the recorded video image VD of the broadcaster LV on the display of the user terminal 20, thereby enabling the broadcast content by the broadcaster LV to be confirmed.

[0022] The user terminals 30a, 30b of the viewers AU1, AU2 who have requested the platform to watch the live broadcast of the broadcaster LV each receive video data related to the live broadcast via the network NW, and play the received video data to display the videos VD1, VD2 on the display and output audio from the speaker. The videos VD1, VD2 displayed on each user terminal 30a, 30b are substantially identical to the video VD captured by the user terminal 20 of the broadcaster LV, and the audio output from each user terminal 30a, 30b is also substantially identical to the audio recorded by the user terminal 20 of the broadcaster LV.

[0023] The recording and recording in the user terminal 20 of the distributor LV and the playback of the video data in the user terminals 30a and 30b of the viewers AU1 and AU2 are performed substantially simultaneously. When one viewer AU1 inputs a comment on the content of the talk of 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 on the user terminals 30a and 30b of each viewer AU1 and AU2. When the distributor LV reads the comment and develops a talk that overlaps the content, the video and audio of the talk are output on the user terminals 30a and 30b of each viewer AU1 and AU2, and it is recognized that a conversation between the distributor LV and the viewer AU1 has been established. In this way, the live distribution system 1 realizes live distribution that enables two-way communication, not one-way.

[0024] Fig. 2 is a block diagram showing the functions and configuration of the user terminal 20 in Fig. 1. The user terminal 30 has the same functions and configuration as the user terminal 20. Each block shown in Fig. 2 and the following block diagrams can be realized in hardware terms by elements and mechanical devices such as a computer CPU, and in software terms by a computer program, etc., but here, functional blocks realized by the cooperation of these are depicted. Therefore, those skilled in the art who have read this specification will understand that these functional blocks can be realized in various ways by combining hardware and software.

[0025] The distributor LV and the viewer AU download and install a live distribution application program (referred to as a live distribution app in this specification) according to this embodiment from a download site to the user terminals 20 and 30 via the network NW. Alternatively, the live distribution app may be pre-installed in the user terminals 20 and 30. When the live distribution app is executed by the user terminals 20 and 30, the user terminals 20 and 30 communicate with the server 10 via the network NW to realize various functions. Hereinafter, functions realized by the user terminals 20 and 30 (processors such as CPUs) executing the live distribution app will be described as functions of the user terminals 20 and 30. These functions are actually functions that the live distribution app causes the user terminals 20 and 30 to realize. Note that in other embodiments, these functions may be realized by a computer program written in a programming language such as HTML (HyperText Markup Language), which is 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.

[0026] The user terminal 20 includes a distribution unit 100 that generates video data recording the user's image and voice and provides it to the server 10, a viewing unit 200 that acquires the video data from the server 10 and plays it, and a non-distribution processing unit 400 that processes requests from active users. The user activates the distribution unit 100 when distributing, the viewing unit 200 when viewing, and the non-distribution processing unit 400 when searching for a live distribution they want to watch, viewing a distributor's profile, viewing archives, or starting a live distribution.

[0027] The delivery unit 100 includes an imaging control unit 102, an audio control unit 104, a video transmission unit 106, a delivery-side UI control unit 108, and a delivery-side communication unit 110. The imaging control unit 102 is connected to a camera (not shown in FIG. 2) and controls imaging 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 by 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 transmission unit 106 transmits the video data in real time. That is, the generation of 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 substantially performed simultaneously.

[0028] The distribution side UI control unit 108 controls the UI for the distributor. The distribution side UI control unit 108 is connected to a display not shown in FIG. 2, and displays a moving image on the display by playing back the moving image data to be transmitted by the moving image transmission unit 106. The distribution side UI control unit 108 is connected to input means such as a touch panel, a keyboard, and a display not shown in FIG. 2, and acquires input from the distributor via the input means. The distribution side UI control unit 108 superimposes a predetermined frame image on the moving image. The frame image includes various user interface objects (hereinafter simply referred to as objects) for receiving input from the distributor, comments input by the viewer, and information acquired from the server 10. The distribution side UI control unit 108 accepts, for example, a tap input on an object by the distributor.

[0029] The delivery-side communication unit 110 controls communication with the server 10 during live delivery. The delivery-side communication unit 110 transmits the contents of the input by the distributor acquired by the delivery-side UI control unit 108 to the server 10 via the network NW. The delivery-side communication unit 110 receives various information associated with the live delivery from the server 10 via the network NW. During live delivery, the delivery-side communication unit 110 periodically generates a keep alive signal including a stream ID of the live delivery at a transmission interval of, for example, once every 10 seconds, and transmits the signal to the server 10 via the network NW. The keep alive signal is repeatedly transmitted while live delivery is being performed on the user terminal 20 of the distributor. When live delivery is not being performed on the user terminal 20, the keep alive signal is not generated.

[0030] The viewing unit 200 includes a viewing side UI control unit 202 and a viewing side communication unit 204. The viewing side communication unit 204 controls communication with the server 10 during live distribution. The viewing side communication unit 204 receives video data related to the live distribution in which the distributor and the viewers participate from the server 10 via the network NW.

[0031] The viewer-side UI control unit 202 controls the UI for the viewer. 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 to display a video image on the display and output audio from the speaker. The output of an image on the display and audio from the speaker can be collectively referred to as "video data being played". The viewer-side UI control unit 202 is connected to input means (not shown in FIG. 2), such as a touch panel, a keyboard, or a display, and acquires input by the viewer through the input means. The viewer-side UI control unit 202 superimposes a predetermined frame image on the image of the video data acquired from the server 10. The frame image includes various objects for receiving input from the viewer, comments input by the viewer, and information acquired from the server 10. The viewer-side communication unit 204 transmits the contents of the input by the viewer acquired by the viewer-side UI control unit 202 to the server 10 via the network NW.

[0032] The non-broadcast processing unit 400 includes a non-broadcast UI control unit 402, a non-broadcast communication unit 404, an end mode determination unit 406, a broadcast start unit 408, and a broadcast resumption unit 410. The non-broadcast UI control unit 402 controls a UI for active users. For example, the non-broadcast UI control unit 402 generates a live broadcast selection screen that displays a list of live broadcasts that can currently be joined and accepts the selection of a live broadcast by an active user, and displays it on the display. The non-broadcast UI control unit 402 generates a profile screen of an arbitrary user and displays it on the display. The non-broadcast UI control unit 402 plays back an archive generated by recording and filming past live broadcasts.

[0033] The non-broadcast communication unit 404 controls communication with the server 10 outside of live broadcasting. The non-broadcast communication unit 404 receives information for generating a live broadcast selection screen, information for generating a profile screen, and archive data from the server 10 via the network NW. The non-broadcast communication unit 404 transmits the contents of input by active users to the server 10 via the network NW.

[0034] The end mode determination unit 406 determines the end mode of the previous live streaming performed by the user of the user terminal 20 as a broadcaster immediately after the live streaming application is started in the user terminal 20. The end mode determination unit 406 inquires of the server 10 via the network NW about the status of the previous live streaming performed by the user of the user terminal 20. The end mode determination unit 406 makes this inquiry by generating a status request including the user ID of the user of the user terminal 20 and sending it to the server 10. The server 10 searches for information on live streaming in which the user ID included in the status request is the broadcaster ID, and if there is no information, generates a status response including the status "Ended" indicating that the live streaming has ended normally, and sends it to the user terminal 20 that originated the inquiry. If there is, the server 10 acquires the status of the live streaming. In this case, the acquired status is "resumable" or "unstable", which will be described later. The server 10 generates a status response including the acquired status and the stream ID of the found live streaming, and sends it to the user terminal 20 that originated the inquiry. If the status included in the status response is "resumable", the end mode determination unit 406 determines that the previous live streaming ended for an unexpected reason. If the status included in the status response is "ended", the end mode determination unit 406 determines that the previous live streaming ended normally.

[0035] If the end mode determination unit 406 determines that the live streaming has ended normally, the distribution start unit 408 waits for an instruction from the user to start a new live streaming. Upon receiving the instruction, the distribution start unit 408 performs processing to start a new live streaming. The distribution start unit 408 generates a start request including the user ID of the user, and transmits the request to the server 10 via the network NW.

[0036] When the end mode determination unit 406 determines that the live streaming ended for an unexpected reason, the distribution resuming unit 410 generates a resume inquiry screen for inquiring of the distributor as to whether or not to resume the previous live streaming, and displays the screen on the display. When the distribution resuming unit 410 receives an instruction to resume on the resume inquiry screen, the distribution resuming unit 410 generates a resume request including the stream ID of the live streaming to be resumed (the stream ID included in the status response), and transmits the request to the server 10 via the network NW. The distribution resuming unit 410 performs processing to resume the previous live streaming in cooperation with the server 10.

[0037] Fig. 3 is a block diagram showing the functions and configuration of the server 10 in Fig. 1. The server 10 includes a distribution information providing unit 302, a relay unit 304, a gift processing unit 308, a payment processing unit 310, a normal end detection unit 322, an abnormal end detection unit 324, a resume processing unit 326, a termination processing unit 328, a stream DB 314, a user DB 318, and a gift DB 320.

[0038] Fig. 4 is a data structure diagram showing an example of the stream DB 314 in Fig. 3. The stream DB 314 holds information on live streaming that has not yet ended. The stream DB 314 holds, in association with each other, a stream ID that identifies a live streaming on a live streaming platform provided by the live streaming system 1, a broadcaster ID that is a user ID that identifies a broadcaster of the live streaming, a viewer ID that is a user ID that identifies a viewer of the live streaming, a state of the live streaming, a count value (described later) of the live streaming, a value of a server-side timer (described later) for the live streaming, and a status of the live streaming.

[0039] The status of the live stream includes a score, a stream time, the number of gifts acquired, which is the number of gifts used in the live stream, the number of points acquired, which is the number of points acquired by the streamer in the live stream, a participating event ID that identifies an event in which the streamer of the live stream is participating, the streamer's event score in the event, a history of comments posted in the live stream, a tag that represents the content of the live stream, the number of cheers sent in the live stream, and the number of times the live stream has been shared. The score is an index that indicates the popularity of the live stream. A live stream with a high score is recognized as "popular" or "popular." The score varies depending on, for example, the number of viewers, the stream time, the number of comments, the number of shares, the number of gifts acquired, the number of viewers who sent gifts, the number of cheers, etc. The higher the score, the higher or more prominent the thumbnail of the live stream is displayed on the live stream selection screen. Therefore, the higher the score, the more active users will notice it. The score is reset when the live stream ends. The tag of a live stream may be a tag specified by the streamer when the streamer starts the live stream, or may be a tag obtained by a model generated by machine learning analyzing the live stream in real time. Cheers are digital items that viewers give to streamers, and unlike gifts, they do not require a fee to be given. Once a cheer is given, a viewer must wait a certain period of time before being able to give another cheer. The score, the number of gifts acquired, the number of points acquired, the event score, the number of tags and cheers, and the number of shares are examples of indicators that indicate the performance of a streamer in a live stream.

[0040] In the live streaming platform provided by the live streaming system 1 according to the present embodiment, when a user performs live streaming, the user becomes a streamer, and when the same user watches a live stream by another user, the user becomes a viewer. Therefore, the distinction between streamer and viewer is not fixed, and a user ID registered as a streamer ID at one time may be registered as a viewer ID at another time.

[0041] The status of live streaming is set to any one of "streaming" which indicates that live streaming is in progress with a normal connection to the streamer's user terminal 20, "unstable" which indicates that live streaming is in progress but the connection to the streamer's user terminal 20 cannot be confirmed, and "resumable" which indicates that live streaming ended for an unexpected reason in the streamer's user terminal 20 or server 10 but can be resumed. When live streaming ends and cannot be resumed, the information about the live streaming is deleted from the stream DB 314.

[0042] FIG. 5 is a status transition diagram for live streaming. If keep alive fails, the status transitions from "streaming" to "unstable". If keep alive is restored, the status transitions from "unstable" to "streaming". If the number of keep alive failures exceeds a threshold while the status remains "unstable", the status transitions from "unstable" to "resumable". In "resumable", keep alive monitoring is not performed. If a resume request occurs before the resumable period expires, the status transitions from "resumable" to "streaming". If the resumable period expires (timeout) without a resume request being issued, the status transitions from "resumable" to "end" (deleted from the stream DB 314). If the broadcaster intentionally gives an instruction to end live streaming, the status transitions from "streaming" to "end".

[0043] FIG. 6 is a data structure diagram showing an example of the user DB 318 in FIG. 3. The user DB 318 holds information about users. The user DB 318 holds a user ID for identifying a user, points owned by the user, and rewards given to the user in association with each other. Points are electronic value circulated within the live streaming platform. Users purchase points by credit card or other payment means. Rewards are electronic value defined within the live streaming platform, and are an index for determining the amount of money that a broadcaster receives from the administrator of the live streaming platform. In the live streaming platform, when a viewer gives a gift to a broadcaster during or outside of a live streaming, the viewer's points are consumed, and the broadcaster's reward increases accordingly.

[0044] Fig. 7 is a data structure diagram showing an example of the gift DB 320 in Fig. 3. The gift DB 320 holds information about gifts that can be used by viewers in live distribution. A gift is electronic data that has the following characteristics. -Can be purchased with points or money, or given free of charge. Something that viewers can give to the streamer. Giving a gift to a streamer is also called using a gift or throwing a gift. In some cases, the purchase and use of the gift occur simultaneously as a set, while in other cases the viewer can use the gift at any time after purchasing it. When a viewer gives a gift to a streamer, the streamer will receive a corresponding reward. When a gift is used, an effect associated with the gift may occur. For example, an effect corresponding to the gift may appear on the live streaming room screen.

[0045] The gift DB320 stores a gift ID that identifies a gift, a given reward that is given to a broadcaster when the gift is given to the broadcaster, and a value point that is a value to be paid when the gift is used, in association with each other. A viewer can give a gift to a broadcaster by paying the value points of a desired gift while watching a live broadcast. The payment of the value points may be made by an appropriate electronic payment means, for example, the viewer may pay the value points to the administrator. Alternatively, payment may be made by bank transfer or credit card. The relationship between the given reward and the value points can be arbitrarily set by the administrator. For example, the given reward may be set to the value points. Alternatively, the value points may be set to points obtained by multiplying the given reward by a predetermined coefficient such as 1.2, or the value points may be set to points obtained by adding a predetermined commission point to the given reward.

[0046] Returning to FIG. 3, when the distribution information providing unit 302 receives a request to start live distribution from the user terminal 20 of the distributor via the network NW, it registers a stream ID that identifies the live distribution and a distributor ID of the distributor of the live distribution in the stream DB 314. The stream ID is newly generated in response to the reception of the start request. The distributor ID is set to the user ID included in the start request. When the distribution information providing unit 302 receives a request to provide information about live distribution from the non-distribution communication unit 404 of the user terminal of the active user via the network NW, it refers to the stream DB 314 and generates a list of live distributions that can be currently viewed. The distribution information providing unit 302 transmits the generated list to the user terminal that made the request via the network NW. The non-distribution UI control unit 402 of the user terminal that made the request generates a live distribution selection screen based on the received list and displays it on the display of the user terminal.

[0047] When the non-delivery UI control unit 402 of the user terminal accepts the selection of live streaming by the active user on the live streaming selection screen, it generates a delivery request including the stream ID of the selected live streaming and transmits it to the server 10 via the network NW. The delivery information providing unit 302 starts providing the live streaming identified by the stream ID included in the received delivery request to the requesting user terminal. The delivery information providing unit 302 updates the stream DB 314 so that the viewer ID of the stream ID includes the user ID of the active user of the requesting user terminal. As a result, the active user becomes a viewer of the selected live streaming.

[0048] The relay unit 304 relays the transmission of video data from the user terminal 20 of the distributor to the user terminal 30 of the viewer in the live distribution started by the distribution information providing unit 302. The relay unit 304 receives a signal indicating a user input by the viewer during the live distribution, i.e., during the playback of the video data, from the viewing side communication unit 204. The signal indicating the user input may be an object designation signal indicating the designation of an object displayed on the display of the user terminal 30, and the object designation signal includes the viewer ID of the viewer, the distributor ID of the distributor performing the live distribution that the viewer is viewing, and an object ID that identifies the object. If the object is a gift icon, the object ID is a gift ID. In that case, the object designation signal is a gift use signal indicating the use of a gift by the viewer for the distributor. Similarly, the relay unit 304 receives a signal indicating a user input by the distributor during the playback of the video data, for example, an object designation signal, from the distribution side communication unit 110 of the distribution unit 100 of the user terminal 20.

[0049] The gift processing unit 308 updates the user DB 318 so as to increase the distributor's reward according to the reward for the gift specified by the gift ID included in the gift use signal. The gift processing unit 308 refers to the gift DB 320 and specifies the reward corresponding to the gift ID included in the received gift use signal. The gift processing unit 308 updates the user DB 318 so as to add the specified reward to the reward corresponding to the distributor ID included in the gift use signal.

[0050] In response to receiving the gift use signal, the payment processing unit 310 processes the payment of the value of the gift by the viewer. The payment processing unit 310 refers to the gift DB 320 and identifies the value points of the gift identified by the gift ID included in the gift use signal. The payment processing unit 310 updates the user DB 318 so as to subtract the identified value points from the points of the viewer identified by the viewer ID included in the gift use signal.

[0051] The normal end detection unit 322 and the abnormal end detection unit 324 function as means for determining whether or not the live streaming has ended for an unexpected reason. When the normal end detection unit 322 receives a request to end the live streaming from the user terminal 20 of the distributor, it detects the normal end of the live streaming, that is, the end due to a reason other than an unexpected reason.

[0052] The abnormal end detection unit 324 detects that the live streaming has ended for an unexpected reason by monitoring the communication state with the user terminal 20 of the live streaming distributor. The abnormal end detection unit 324 monitors the keep alive signal periodically sent from the user terminal 20 of the distributor during the live streaming. If the abnormal end detection unit 324 fails to receive the keep alive signal, it updates the stream DB 314 so that the status of the live streaming is changed from "distributing" to "unstable". If the abnormal end detection unit 324 fails to receive the keep alive signal N times in succession (N is an integer of 2 or more), it detects that the live streaming has ended for an unexpected reason. The abnormal end detection unit 324 updates the stream DB 314 so that the status of the live streaming is changed from "unstable" to "resumable". N is a threshold or upper limit value that determines the length of the "unstable" period, and may be set appropriately by the administrator. For example, N may be set to 5, 10, 20, 100, etc. The length of the "unstable" period can be considered as a judgment period for determining whether or not to change the live streaming status to "resumable." If it is "unstable," the live streaming can be continued by checking the keep alive signal, but if it is "resumable," restarting the live streaming app or re-entering (rejoining) the live streaming is required to resume the live streaming.

[0053] When it is determined that the live distribution has ended for an unexpected reason, the abnormal end detection unit 324 transmits a standby request notification to the user terminal 30 of the viewer of the live distribution to cause the user terminal 30 to display a standby request screen.

[0054] When it is determined that the live streaming has ended for an unexpected reason, the resume processing unit 326 maintains the state of the live streaming registered in the stream DB 314. The resume processing unit 326 does not delete the entry of the live streaming related to the end. This can be said to maintain the state of the live streaming, in contrast to the end processing unit 328 described below, which immediately deletes the entry of a live streaming that has ended normally. The resume processing unit 326 may set the entry of the live streaming to be prohibited from being updated at the time when it is determined that the live streaming has ended for an unexpected reason.

[0055] When the resume processing unit 326 receives an instruction to resume the live streaming from the user terminal 20 of the distributor within a resumable period after it is determined that the live streaming has ended for an unexpected reason, the resume processing unit 326 resumes the live streaming in a maintained state. When the resume processing unit 326 receives a resume request from the user terminal 20 of the distributor, the resume processing unit 326 identifies an entry (live streaming to be resumed) corresponding to the stream ID included in the resume request in the stream DB 314. The resume processing unit 326 updates the stream DB 314 so that the status of the live streaming to be resumed is changed from "resumable" to "distributing". The resume processing unit 326 resumes receiving video data from the user terminal 20 that sent the resume request, and transmits the received video data to the user terminal 30 of the viewer of the live streaming to be resumed. The resumable period may be appropriately set by an administrator. For example, the resumable period may be set to 5 minutes, 10 minutes, 1 hour, or the like.

[0056] When the live streaming is resumed, the resume processing unit 326 transmits a push notification to the user terminals 30 of the viewers who have left the live streaming during the period from when it was determined that the live streaming had ended for an unexpected reason until the live streaming was resumed, to inform them that the live streaming has resumed. This is achieved by creating a list of such viewers in the server 10.

[0057] When the normal end of live streaming is detected, the end processing unit 328 deletes the entry for that live streaming from the stream DB 314. When the end processing unit 328 does not receive an instruction to resume within a period in which live streaming can be resumed, or receives an instruction not to resume, the end processing unit 328 deletes the entry for that live streaming from the stream DB 314, thereby discarding the state of that live streaming maintained in the stream DB 314.

[0058] The operation of the live distribution system 1 configured as above will now be described. 8 is a flowchart showing a series of processing steps in the server 10 when live streaming ends for an unexpected reason. When live streaming starts in response to a start request received from the user terminal 20 of the broadcaster, the abnormal end detection unit 324 initializes a count value corresponding to the live streaming (S202). The abnormal end detection unit 324 updates the stream DB 314 so that the count value of the started live streaming (hereinafter, referred to as the target live streaming) is set to 0. The abnormal end detection unit 324 updates the stream DB 314 so that 1 is added to the count value of the target live streaming (S204). The abnormal end detection unit 324 determines whether the count value of the target live streaming has reached a threshold value N (S206).

[0059] If the threshold value N has not been reached (N in S206), the abnormal end detection unit 324 waits for a unit period (S208). The length of the unit period may be, for example, 10 seconds, 20 seconds, or 30 seconds. The length of the unit period may be set to correspond to or be the same as the transmission interval of the keep alive signal. In other words, the generation and detection of the keep alive signal may be synchronized. The abnormal end detection unit 324 determines whether or not a keep alive signal has been received from the user terminal 20 of the broadcaster of the target live broadcast during the waiting period of step S208 (S210). If not received (N in S210), the abnormal end detection unit 324 accesses the stream DB 314 and sets the status of the target live broadcast to "unstable". After that, the process returns to step S204. If received (Y in S210), the abnormal end detection unit 324 accesses the stream DB 314 to reset the count value of the target live broadcast and set the status to "broadcasting" (S212). For example, the abnormal end detection unit 324 updates the stream DB 314 so that the count value of the target live distribution is set to 0. After that, the process returns to step S204. Steps S202 to S212 are one form of realizing the idea of ​​providing a counter that is incremented every unit period and resetting the counter value when a keep alive signal is received.

[0060] If it is determined in step S206 that the count value has reached the threshold value (Y in S206), the abnormal end detection unit 324 accesses the stream DB 314 and sets the status of the target live streaming to "resumable" (S214). The resume processing unit 326 starts a countdown-type server-side timer (S216). The initial value of the server-side timer is set to the length of the resumable period (e.g., 10 minutes). The resume processing unit 326 updates the stream DB 314 so that the value of the server-side timer for the target live streaming is set to the initial value.

[0061] The resume processing unit 326 determines whether or not a resume request has been received from the user terminal 20 of the broadcaster of the target live broadcast (S218). If a resume request has been received (Y in S218), the resume processing unit 326 performs resume processing for the target live broadcast (S222). The resume processing unit 326 causes the broadcaster who made the request to reconnect or rejoin the target live broadcast. Since the stream ID and state remain the same before and after the resume, the state of the target live broadcast is maintained. In this way, the target live broadcast is restored.

[0062] If a resume request has not been received in step S218 (N in S218), the resume processing unit 326 determines whether the resumeable period has expired (S220). In particular, the resume processing unit 326 determines whether the server-side timer has reached its lower limit of 0. If the server-side timer has not reached 0 (N in S220), the process returns to step S218. If the server-side timer has reached 0 (Y in S220), the termination processing unit 328 performs termination processing for the target live streaming (S224). For example, the termination processing unit 328 discards the state of the target live streaming.

[0063] FIG. 9 is a flowchart showing a series of processes in a user terminal when a live streaming application is started. When an icon of the live streaming application displayed on the display is specified, the user terminal starts the live streaming application (S302). The end mode determination unit 406 generates a status request including the user ID of the user of the user terminal and transmits it to the server 10 via the network NW (S304). The resume processing unit 326 of the server 10 identifies an entry in the stream DB 314 that has the user ID included in the received status request as a distributor ID. The resume processing unit 326 generates a status response including the stream ID and status of the identified entry and transmits it to the user terminal that issued the request. If the status is "resumable", the status response includes the value of the server-side timer. If the resume processing unit 326 fails to identify the entry, that is, if the user ID included in the status request is not registered in the distributor ID of the stream DB 314, it generates a status response including the status "end" and transmits it to the user terminal that issued the request. The end mode determination unit 406 of the user terminal receives the status response via the network NW (S306).

[0064] The end mode determination unit 406 detects the status included in the status response received in step S306 (S308). If the status is "unstable" (unstable in S308), the delivery side communication unit 110 transmits a keep alive signal to the server 10 (S312). Upon receiving the keep alive signal, the abnormal end detection unit 324 of the server 10 returns the status of the corresponding live delivery to "delivering" as described above, and continues the live delivery. The user terminal activates the delivery unit 100 and resumes transmission of video data to the server 10 (S316).

[0065] If the status is "End" (End in S308), the non-broadcast UI control unit 402 displays the live broadcast selection screen, which is the landing page of the live broadcast application, on the display (S310). On this live broadcast selection screen, an object is arranged that causes a transition to a screen for starting a new live broadcast. The user can start a new live broadcast by tapping this object.

[0066] If the status is "resumable" (resumable in S308), the distribution resuming unit 410 displays a resume inquiry screen on the display (S314). In addition, the distribution resuming unit 410 starts a countdown type application side timer based on the value of the server side timer included in the status response received in step S306. The countdown of the application side timer in the server 10 and the countdown of the application side timer in the user terminal are set to be synchronized. If a resume instruction is received on the resume inquiry screen (Y in S318), the distribution resuming unit 410 generates a resume request including the stream ID included in the status response received in step S306, and transmits it to the server 10 via the network NW (S320). The distribution resuming unit 410 activates the distribution unit 100 and resumes transmission of video data to the server 10 (S316).

[0067] If the instruction to resume is not received on the resume inquiry screen (N in S318) but an instruction to end is received (Y in S322), the distribution resumer 410 generates an end request including the stream ID included in the status response received in step S306, and transmits it to the server 10 via the network NW (S326). After that, the process proceeds to step S310.

[0068] If the restart instruction is not received on the restart inquiry screen (N in S318) and the end instruction is also not received (N in S322), the distribution restart unit 410 determines whether the application-side timer has reached the lower limit of 0. If the application-side timer has not reached 0 (N in S324), the process returns to step S318. If the application-side timer has reached 0 (Y in S324), the process proceeds to step S326.

[0069] 10 is a representative screen diagram of a live streaming room screen 608 displayed on the display of the user terminal 20 of the broadcaster. The live streaming room screen 608 displays a video image 610 of the broadcaster generated by the user terminal 20 of the broadcaster in real time. The live streaming room screen 608 has a video image 610 of the broadcaster, a comment display area 618, a broadcast end button 622, an event icon 624 representing an event in which the broadcaster is participating, a broadcast time display area 626 displaying the broadcast time in text, a score display area 628 displaying the score of the live streaming, and a cheer rank display area 630 displaying a cheer rank based on the number of cheers for the live streaming. The live streaming room screen 608 is generated by the broadcasting side UI control unit 108 superimposing other objects on the video image 610.

[0070] The comment display area 618 may include comments entered by viewers and notifications from the system. The notifications from the system include information indicating who gave which gifts to the broadcaster. The broadcasting side UI control unit 108 generates a comment display area 618 including the viewers' comments received from the server 10 and notifications from the system, and includes the generated comment display area 618 in the live broadcasting room screen 608. The comments displayed in the comment display area 618 are also registered and stored in the corresponding comment history in the stream DB 314.

[0071] The distribution end button 622 is an object for receiving an instruction to stop live distribution from the distributor. When the distribution side communication unit 110 detects a tap or click on the distribution end button 622, it generates an end request including the stream ID of the live distribution and transmits it to the server 10 via the network NW. As described above, the server 10 that receives the end request normally ends the live distribution. In this case, the state of the normally ended live distribution is discarded, and it cannot be resumed later.

[0072] The delivery-side communication unit 110 refers to the stream DB 314 via the network NW, and acquires the status of the live delivery being performed on the live delivery room screen 608. The delivery-side UI control unit 108 generates an event icon 624, a delivery time display area 626, a score display area 628, and a cheer rank display area 630 based on the acquired status.

[0073] Fig. 11 is a representative screen diagram of the resume inquiry screen 632 displayed on the display of the distributor's user terminal 20. Suppose that the live streaming app is forcibly terminated on the distributor's user terminal 20 while live streaming related to the live streaming room screen 608 in Fig. 10 is being performed. Then, the live streaming room screen 608 is no longer displayed. After that, when the distributor restarts the live streaming app on the user terminal 20, the resume inquiry screen 632 shown in Fig. 11 is displayed.

[0074] The resume inquiry screen 632 is a screen in which a resume inquiry dialog 634 is superimposed on a live streaming selection screen 600, which is a landing page of the live streaming app. The live streaming selection screen 600 includes thumbnails 602 indicating each live streaming in a list of currently viewable live streaming received from the server 10, and a streaming start button 604 for receiving an instruction from the user to start a new live streaming. When the streaming start unit 408 detects a tap or click on the streaming start button 604, it generates a start request including the user's user ID and transmits it to the server 10 via the network NW.

[0075] The resume inquiry dialog 634 has text 642 inquiring whether to resume the previous live distribution, a remaining time display area 636 displaying the remaining time which is the current value of the application side timer, a resume button 638 for receiving an instruction to resume, and an end button 640 for receiving an instruction to end. The remaining time displayed in the remaining time display area 636 is updated every second.

[0076] 8, if the resumable period expires without a resume request being received, the entry for the live distribution that ended unexpectedly is deleted from the stream DB 314. Therefore, the resume inquiry screen 632 is shown on the display only within the resumable period after the previous live distribution ended unexpectedly.

[0077] When the resume button 638 is tapped or clicked on the resume inquiry screen 632 in FIG. 11, the distribution resuming unit 410 generates a resume request and transmits it to the server 10. In response to the server 10 receiving the resume request, the live distribution related to the live distribution room screen 608 in FIG. 10 is resumed. FIG. 12 is a representative screen diagram of the live distribution room screen 608 displayed on the display of the user terminal 20 of the distributor, with a resume success message display area 644 superimposed thereon. FIG. 12 shows the live distribution room screen 608 on the user terminal 20 of the distributor immediately after the live distribution is resumed. The distribution side UI control unit 108 causes the live distribution room screen 608 to display the resume success message display area 644 superimposed thereon. The contents of the comment display area 618 of the live distribution room screen 608 in FIG. 12, the participating event represented by the event icon 624, the distribution time represented by the distribution time display area 626, the score represented by the score display area 628, and the cheer rank represented by the cheer rank display area 630 each inherit the state before the forced termination (the state in FIG. 10). Viewers also remain in the program, except for those who actively stopped watching after the forced termination on the distributor's user terminal 20.

[0078] When the end button 640 is tapped or clicked on the resume inquiry screen 632 of FIG. 11, the distribution resuming unit 410 generates an end request and transmits it to the server 10. In response to the server 10 receiving the end request, the live distribution related to the live distribution room screen 608 of FIG. 10 is ended. FIG. 13 is a representative screen diagram of the live distribution selection screen 600 displayed on the display of the user terminal 20 of the distributor, with an end message display area 646 superimposed thereon. FIG. 13 shows the live distribution selection screen 600 on the user terminal 20 of the distributor immediately after the live distribution is ended. The non-distribution UI control unit 402 causes the end message display area 646 to be superimposed on the live distribution selection screen 600. In the case where the application side timer reaches 0 without the resume button 638 or the end button 640 being specified on the resume inquiry screen 632 of FIG. 11, the live distribution is also ended in the same manner, and the live distribution selection screen 600 of FIG. 13 is displayed on the display.

[0079] FIG. 14 is a representative screen diagram of a live streaming room screen 608 on which a restart inquiry area 648 is superimposed and displayed on the display of the user terminal 20 of the distributor. If a failure occurs in the network NW or in the server 10 while the distributor is live streaming from the user terminal 20, a situation may occur in which the live streaming application is normally executed in the user terminal 20 of the distributor but the live streaming ends unexpectedly. For example, if a failure occurs in the network NW, the video data generated in the user terminal 20 of the distributor does not reach the user terminal 30 of the viewer, and the video image of the distributor is not played in the user terminal 30 of the viewer. Similarly, in the user terminal 20 of the distributor, the live streaming application is normally operating and transmits a keep alive signal to the server 10, but the keep alive signal does not reach the abnormal end detection unit 324 due to a failure in the network NW. If this state continues beyond the determination period, the abnormal end detection unit 324 determines that the live streaming has ended for an unexpected reason and changes the status of the live streaming to "resumable". If this happens, it will be impossible to continue the live distribution as is even if the network NW is later restored and the keep alive signal reaches the abnormal termination detection unit 324. In order to continue this live distribution, it will be necessary to restart the live distribution application once.

[0080] During live distribution, the distribution side communication unit 110 periodically acquires the status of the live distribution from the stream DB 314 via the network NW. If the acquired status is "resumable", the distribution side UI control unit 108 superimposes a restart inquiry area 648 on the live distribution room screen 608. The restart inquiry area 648 has text 654 indicating that live distribution is not being performed and that live distribution can be resumed by restarting the live distribution app within the resumable period, a restart button 650, and an end button 652. If the restart button 650 is tapped or clicked, the non-distribution UI control unit 402 performs a process to restart the live distribution app. As a result, if the resumable period has not expired, the screen transitions to the resume inquiry screen 632 in FIG. 11. If the end button 652 is tapped or clicked, the distribution resuming unit 410 generates a termination request and transmits it to the server 10. After that, the screen transitions to the live distribution selection screen 600 in FIG. 13.

[0081] 15 is a representative screen diagram of a live streaming room screen 660 displayed on the display of the viewer's user terminal 30. The live streaming room screen 660 displays a video image generated by the user terminal 20 of the broadcaster in real time. The live streaming room screen 660 includes a video image 662 of the broadcaster obtained by playing the video data received from the server 10, a gift object 612, a comment input area 616, a comment display area 618, a viewing end button 620, a broadcast time display area 626, an event icon 624, and a score display area 628. The viewer-side UI control unit 202 generates the live streaming room screen 660 by superimposing other objects on the video image 662 obtained by playing the video data.

[0082] The comment input area 616 accepts input of a comment by a viewer. The viewer-side communication unit 204 generates a comment input signal including the comment input in the comment input area 616, and transmits the signal to the server 10 via the network NW. Additionally, the viewer-side UI control unit 202 updates the comment display area 618 so as to display the comment input in the comment input area 616.

[0083] The view end button 620 is an object for receiving an instruction from the viewer to stop viewing the live broadcast. The gift object 612 is an object for enabling the viewer to give a gift to the broadcaster.

[0084] FIG. 16 is a representative screen diagram of a waiting request screen 664 displayed on the display of the viewer's user terminal 30. When a viewer is watching a live broadcast on the live broadcast room screen 660 of FIG. 15 and the live broadcast ends for an unexpected reason, the viewing side communication unit 204 of the user terminal 30 receives a waiting request notification from the server 10. When the waiting request notification is received, the viewing side UI control unit 202 displays a waiting request screen 664 on the display of the viewer's user terminal 30 without ending the live broadcast. The waiting request screen 664 has a comment display area 618, a viewing end button 620, a remaining time display area 668, text 666, a comment input area 616, a score display area 628, and a gift object 612. The viewing side UI control unit 202 stops displaying the video image 662 of the distributor because it is no longer possible to receive video data. Instead, the viewer-side UI control unit 202 displays text 666 indicating that the live distribution ended unexpectedly and that the distributor is attempting to resume it, and a remaining time display area 668. The remaining time displayed in the remaining time display area 668 corresponds to the remaining time displayed in the remaining time display area 636 in FIG.

[0085] When the remaining time runs out without the live distribution being resumed, the viewing unit 200 ends the live distribution on the viewer's user terminal 30. When the viewing unit 200 detects a tap or click on the end viewing button 620 on the waiting request screen 664 while there is still remaining time, the viewing unit 200 ends the live distribution on the viewer's user terminal 30.

[0086] Fig. 17 is a representative screen diagram of a push notification screen 670 displayed on the display of the user terminal of an active user. Fig. 17 shows one aspect of a push notification for notifying that the above-mentioned live streaming has been resumed. The push notification screen 670 has a push notification display area 672 that displays text indicating that the broadcaster has resumed a live streaming that ended for an unexpected reason. When the active user taps or clicks on the push notification display area 672, a live streaming room screen of the corresponding resumed live streaming is displayed.

[0087] In the above-mentioned embodiment, examples of the storage unit are a hard disk and a semiconductor memory. Furthermore, based on the description in this specification, it will be understood by those skilled in the art who have read this specification that each unit can be realized by a CPU (not shown), an installed application program module, a system program module, a semiconductor memory that temporarily stores the contents of data read from a hard disk, or the like.

[0088] According to the live distribution system 1 according to the present embodiment, even if a live distribution ends due to an unexpected reason such as a forced termination of a live distribution app, the distributor can resume the live distribution by inheriting the viewers, state, and atmosphere of the live distribution before the forced termination. This increases the distributor's sense of security and provides a more comfortable and fail-safe distribution environment.

[0089] In particular, when live streaming is performed using a mobile terminal such as a smartphone, forced termination is more likely to occur because the processing power and memory capacity are smaller than that of a stationary PC, and connection failures are more likely to occur because the connection to the network is wireless, such as 4G, 5G, or WiFi. In such situations, the live streaming system 1 according to the present embodiment is more suitable because it provides a fail-safe mechanism against termination due to unexpected reasons.

[0090] This embodiment does not prevent the live distribution from being terminated due to an unexpected reason, but reduces the loss when such an event occurs. In this embodiment, the state of the live distribution is maintained so that the live distribution can be resumed if the distributor is able to return in time.

[0091] Furthermore, in the live distribution system 1 according to the present embodiment, when an explicit instruction to stop live distribution is received from a distributor, the live distribution is immediately ended without being maintained, and the state of the live distribution is also immediately discarded, thereby reducing the processing load on the server 10 and the required data capacity.

[0092] The hardware configuration of an information processing device according to this embodiment will be described with reference to Fig. 18. Fig. 18 is a block diagram showing an example of the hardware configuration of an information processing device according to this embodiment. The illustrated information processing device 900 can realize, for example, each of the server 10 and the user terminals 20 and 30 in this embodiment.

[0093] The information processing device 900 includes a CPU 901, a ROM (Read Only Memory) 902, and a RAM (Random Access Memory) 903. 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 (not shown) such as a camera. The information processing device 900 may also have a processing circuit such as a DSP (Digital Signal Processor) or an ASIC (Application Specific Integrated Circuit) instead of or in addition to the CPU 901.

[0094] The CPU 901 functions as an arithmetic processing device and a control device, and controls the overall operation or a part of the operation in the information processing device 900 according to various programs recorded in the ROM 902, the RAM 903, 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 this embodiment. The ROM 902 stores programs and arithmetic parameters used by the CPU 901. The RAM 903 temporarily stores programs used in the execution of the CPU 901 and parameters that change appropriately during the execution. The CPU 901, the ROM 902, and the RAM 903 are mutually connected by a host bus 907 constituted by 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.

[0095] The input device 915 may be, for example, a device operated by a user, such as a mouse, a keyboard, a touch panel, a button, a switch, or a lever, or may be a device that converts a physical quantity into an electric signal, such as a sound sensor such as 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 infrared or other radio waves, 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 sensed 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 or to instruct a processing operation.

[0096] The output device 917 is configured with a device capable of visually or audibly notifying the user of acquired information. The output device 917 can be, for example, a display such as an LCD, a PDP, or an OELD, an audio output device such as a speaker or a headphone, or a printer device. The output device 917 outputs the results obtained by the processing of the information processing device 900 as a video such as text or an image, or as a sound such as audio.

[0097] The storage device 919 is a data storage device configured as an example of a storage unit of the information processing device 900. The storage device 919 is configured, for example, with 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 and various data executed by the CPU 901, and various data acquired from the outside.

[0098] The drive 921 is a reader / writer for 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 the information to the RAM 903. The drive 921 also writes information to the attached removable recording medium 923.

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

[0100] The communication device 929 is, for example, a communication interface configured with a communication device for connecting to a network NW. The communication device 929 can be, for example, a communication card for a wired or wireless LAN (Local Area Network), Bluetooth (registered trademark), or WUSB (Wireless USB). The communication device 929 may also 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, for example, between the Internet and 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, or satellite communication. The communication device 929 realizes a function as a communication unit.

[0101] An imaging device (not shown) such as a camera is a device that captures real space and generates a captured image 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. The imaging device may capture a still image or a moving image.

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

[0103] In the embodiment, the case where live streaming is resumed immediately when the resume button 638 is selected on the resume inquiry screen 632 has been described, but this is not limited thereto. For example, when the resume button 638 is selected, a transition may be made to a setting screen for performing various settings on the distributor side of live streaming. The setting screen may have a live streaming start button for making a resume request. In this case, the server 10 may store the setting values ​​before the forced termination in the stream DB 314, and automatically restore the setting values ​​on the setting screen. The server 10 may register the setting values ​​in the stream DB 314 when starting live streaming upon receiving a request to start live streaming. The server 10 may include a setting value corresponding to the status response. This can reduce the distributor's effort in resetting settings, and can resume live streaming more quickly. The count of the resumable period may be advanced or paused during the setting operation on the setting screen.

[0104] In an embodiment, the resumable period may be extended by the viewer giving a gift during the resumable period. For example, when the viewer uses a gift through the gift object 612 on the standby request screen 664 in Fig. 16, the server 10 may extend the resumable period by increasing or resetting the value of the server-side timer.

[0105] The conversion rates from gift points to given rewards in the embodiments are merely examples, and may be set appropriately by, for example, an administrator of the live distribution system.

[0106] The technical ideas of the embodiments may be applied to virtual live streaming and live commerce, in which an avatar that moves in sync with the streamer's movements is used instead of an image of the streamer.

[0107] In the processing procedures described in this specification, particularly in the processing procedures described using flow diagrams and flowcharts, it is possible to omit some of the steps that make up the processing procedures, to add steps that are not explicitly stated as steps that make up the processing procedures, and / or to rearrange the order of the steps, and processing procedures in which such omissions, additions, or changes in order have been made are included within the scope of this disclosure as long as they do not deviate from the spirit of this disclosure.

[0108] At least a part of the functions realized by the server 10 may be realized by a device other than the server 10, for example, the user terminals 20 and 30. At least a part of the functions realized by the user terminals 20 and 30 may be realized by a device other than the user terminals 20 and 30, for example, the server 10. For example, the superimposition of a predetermined frame image onto an image of video data performed at a viewer's user terminal may be performed at the server 10 or at a distributor's user terminal.

Claims

[Claim 1] A means for relaying the transmission of video data related to a live stream from the live streamer's device to the viewer's device, A means for determining whether the aforementioned live stream ended for an unexpected reason, If it is determined that the process has ended, means for maintaining the state of the live stream, A server comprising: means for restarting the live stream while maintaining its state, if it receives an instruction to restart the live stream from the streamer's terminal within a predetermined period after it has been determined that the live stream has ended.