Rate control server, distribution system and rate control program
Patent Information
- Application Number
- JP2021019135
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-02-09
- Publication Date
- 2025-02-17
- Estimated Expiration
- 2041-02-09
Smart Images

Figure 0007630293000005 
Figure 0007630293000006 
Figure 0007630293000007
Abstract
Description
[Technical field]
[0001] The present invention relates to a system for distributing video to a plurality of viewing terminals. [Background technology]
[0002] In recent years, with the maturation of virtualized network technology, communication services that use different virtual networks depending on service requirements, such as 5G network slicing technology, have become commercially available. Services using virtualized networks are expected to increase in the future. For example, it is technically possible for content distributors to use communication services that allow them to occupy a virtually constructed bandwidth-guaranteed network. In such a network, content distributors can control all traffic flowing on the virtual distribution network because they are not affected by the traffic of other operators. Therefore, it is expected that it will be possible to manage the quality of experience (QoE) of viewers when watching videos more precisely than with conventional Internet distribution.
[0003] Research on video quality evaluation based on QoE is progressing, for example, in the international standard ITU-T,SG12,P1203. These evaluation indices estimate the Mean Opinion Score (MOS) value from encoding parameters such as video bit rate, resolution, and frame rate. However, because these indices calculate evaluation values from encoding parameters, they do not take into account image characteristics such as the intensity of motion in the video, and are merely average evaluation indices for all videos. On the other hand, although not an international standard, commonly used evaluation indices such as VMAF (Video Multimethod Assessment Fusion) and SSIM+ (Structural SIMilarity plus) calculate evaluation values by comparing with a reference image before encoding. Also, like P1203, these evaluation indices are evaluation values based on MOS values, and it is possible to evaluate QoE with a score from 0 to 100.
[0004] Meanwhile, the mainstream OTT streaming video delivery is a delivery method that uses the HTTP ABR (Adaptive-Bit-Rate) method, including MPEG-DASH. ABR is a technology that provides multiple quality streams with different bit rates for the same video content, and divides each stream into units called segments that are separated by a fixed time interval, allowing seamless viewing while switching between qualities. The viewing device measures the current network throughput and autonomously selects a segment with an appropriate quality for the throughput, thereby preventing video playback from freezing and allowing the user to watch high-bitrate videos according to the network conditions.
[0005] However, even if the encoding parameters such as bitrate, resolution, and frame rate are the same, the actual QoE varies from segment to segment depending on the video characteristics. In conventional ABR algorithms, the quality is selected based only on the bitrate, so the QoE is not taken into consideration when selecting the quality. Therefore, for example, Patent Document 1 proposes a method of selecting quality by taking into consideration QoE in addition to the bit rate of a segment. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] JP 2020-80547 A Summary of the Invention [Problem to be solved by the invention]
[0007] However, as mentioned above, conventional ABR algorithms (quality selection algorithms) are autonomously controlled by terminals based on the throughput and reception buffer capacity measured by each terminal. Such algorithms are generally implemented to select the highest possible quality rate when there is throughput margin, which results in competition for bandwidth with other viewing terminals. As a result, there is a problem that viewing quality varies randomly from terminal to terminal, impairing the QoE of the service as a whole. The method of Patent Document 1 also presupposes autonomous control of the terminal, and therefore cannot resolve the competition for bandwidth with other viewing terminals.
[0008] An object of the present invention is to provide a delivery system that can improve the QoE of the entire video delivery service. [Means for solving the problem]
[0009] In a system in which video content is divided into segments of fixed time intervals and a distribution server selectively distributes the content to viewing terminals at multiple qualities, the rate control server of the present invention comprises a data information management unit that manages the quality evaluation value and size of segment data for each content ID, segment number, and quality identification number; a data receiving unit that receives terminal notification information including the content ID and the segment number from each of the multiple viewing terminals; a quality calculation unit that determines the quality identification number of the segments for a specified period based on the quality evaluation value for the quality identification number for each segment, so as to maximize the quality of the entire segments distributed to the viewing terminal during the specified period, provided that the total sum of the sizes of segment data for a specified period from the segment number included in each of the multiple received terminal notification information is a size that can be distributed during the specified period within the available bandwidth of the system; and a quality sending unit that sends the determined quality identification number to the viewing terminal that requested the segment.
[0010] The rate control server may further include a terminal information management unit that notifies the quality calculation unit of terminal notification information received by the data receiving unit at a predetermined time after the quality sending unit has sent out the quality identification number of the segment for the predetermined period.
[0011] After the quality sending unit has sent out the quality identification number of the segment for the specified period, the terminal information management unit may, when it receives next terminal notification information from all of the viewing terminals, notify the quality calculation unit of the next terminal notification information received by the data receiving unit regardless of the elapsed time.
[0012] The quality calculation unit may determine the quality identification number for each segment so as to maximize a total sum of the quality assessment values for the predetermined period in a plurality of the viewing terminals.
[0013] The quality calculation unit may determine the quality identification number for each segment so as to maximize a minimum value of the quality evaluation values for the predetermined period in a plurality of the viewing terminals.
[0014] The quality calculation unit may increase the quality identification number for each segment by one step up to an upper limit until the minimum value exceeds a predetermined target value.
[0015] The distribution system according to the present invention comprises the rate control server, the distribution server, and a plurality of the viewing terminals that request and acquire from the distribution server the segments of the quality identification number received from the rate control server.
[0016] If the rate control server receives the terminal notification information from a new viewing terminal before finishing sending the quality identification number of the segment for the specified period, it may send a notification to the new viewing terminal instructing it to use a different line than the available bandwidth, and in response to the notification, the viewing terminal may request the segment from the distribution server via the different line.
[0017] A rate control program according to the present invention causes a computer to function as the rate control server. Effect of the Invention
[0018] According to the present invention, the QoE of the entire video distribution service can be improved. [Brief description of the drawings]
[0019] [Figure 1] 1 is a diagram showing an overall configuration of a distribution system and a video distribution flow in an embodiment. [Diagram 2] FIG. 2 is a diagram illustrating a functional configuration of a rate control server in an embodiment. [Diagram 3] FIG. 13 is a diagram illustrating a preprocessing algorithm in the embodiment. [Figure 4] FIG. 13 is a diagram illustrating an example of an initial state after completion of preprocessing by a quality calculation unit in the embodiment. [Diagram 5] 11 is a diagram illustrating a processing procedure for determining a quality identification number for each segment in an embodiment. FIG. [Figure 6] FIG. 11 is a diagram illustrating a processing flow of a rate control server in the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0020] An example of an embodiment of the present invention will now be described. FIG. 1 is a diagram showing the overall configuration of a distribution system 1 according to this embodiment and a video distribution flow.
[0021] The distribution system 1 is made up of a video distribution server 10, a switch 21 connected to the distribution server 10, a switch 22 connected to the switch 21, a group of viewing terminals 30 connected to the switch 22, and a rate control server 40. Here, it is assumed that the network between switch 21 and switch 22 is a network that can be occupied by the content provider, and that the bandwidth of other links is sufficient.
[0022] In addition, for one video content, the distribution server 10 stores streams of multiple qualities with different bit rates (e.g., 1500 kbps, 1000 kbps, 500 kbps) in segments separated by a certain time period (e.g., 2 seconds), and it is assumed that multiple different video contents exist. In order to distribute traffic on the distribution server 10 and on the links between the distribution servers 10 and the switches 21, a plurality of distribution servers 10 may be provided.
[0023] The rate control server 40 is connected to any network accessible from the audio-visual terminals 30, and in this embodiment, is connected to the switch 21. The rate control server 40 holds bit rate information (e.g., byte size of a segment) for every segment stored in the distribution server 10, and a predetermined quality evaluation value. For example, VMAF can be used as the quality evaluation value, but other evaluation indices such as PSNR, SSIM, and SSIM+ may also be used. In addition, the rate control server 40 is aware of the available bandwidth BW between the switch 21 and the switch 22.
[0024] First, the audio-visual terminal 30 notifies the rate control server 40 of the content ID and the segment number (1). When the rate control server 40 receives notifications from all the viewing terminals 30, it calculates the quality to be provided for each notification (2). However, if the quality has already been calculated, this step is omitted. Then, the rate control server 40 notifies all the viewing terminals 30 of the quality at the same time (3). The viewing terminal 30 requests a segment of the appropriate quality from the distribution server 10 (4), and the distribution server 10 transmits the requested segment (5).
[0025] FIG. 2 is a diagram showing the functional configuration of the rate control server 40 in this embodiment. The rate control server 40 is an information processing device equipped with a control unit, a memory unit, and various interfaces, and the various functions of this embodiment are realized by the control unit executing software (rate control program) stored in the memory unit.
[0026] The control unit of the rate control server 40 includes a data receiving unit 41, a terminal information management unit 42, a quality calculation unit 43, a data information management unit 44, a quality management unit 45, and a quality sending unit 46.
[0027] The data receiving unit 41 receives terminal notification information (content ID, segment number, terminal identification number) including the terminal identification number generated by the terminal information management unit 42 from the viewing terminal 30, and registers it in the terminal information management unit 42. Note that at the time of the first access, the terminal notification information does not include the terminal identification number.
[0028] When each viewing terminal 30 accesses the terminal 30 for the first time, the terminal information management unit 42 assigns a terminal identification number to the viewing terminal 30 and manages the terminal notification information obtained from the data receiving unit 41 by the terminal identification number. The terminal information management unit 42 notifies the quality management unit 45 of the terminal notification information and notifies the quality sending unit 46 of the terminal identification number.
[0029] Furthermore, when the terminal information management unit 42 detects that the quality information stored in the quality management unit 45 has been notified to all the viewing terminals 30, it sets a timer to measure a predetermined time. When the timer times out or when notifications are received from all the viewing terminals 30 that were previously notified, it notifies the quality calculation unit 43 of the currently held terminal notification information. At this time, if the timer was set, it is canceled.
[0030] The quality calculation unit 43 calculates the quality to be provided based on the terminal notification information notified by the terminal information management unit 42 and the quality evaluation value and size for each segment obtained from the data information management unit 44. The quality calculation unit 43 notifies the quality management unit 45 of the calculation result.
[0031] The data information management unit 44 manages the quality evaluation value and size of each segment using the content ID and segment number as keys, and notifies the quality calculation unit 43 of the management information in response to a request from the quality calculation unit 43 .
[0032] The quality management unit 45 manages the quality calculated by the quality calculation unit 43 using the terminal identification number and segment number as keys, and notifies the quality transmission unit 46 of the corresponding quality in response to a request from the terminal information management unit 42.
[0033] The quality sending section 46 sends the quality notified by the quality management section 45 to the audiovisual terminal 30 identified by the terminal identification number notified by the terminal information management section 42 .
[0034] Here, the method of quality calculation by the quality calculation unit 43 will be described in detail. First, define the following variables: id_c: Content ID notified by the viewing terminal 30 t'_c: Segment number notified by the audiovisual terminal 30 t': segment number, 1≦t'≦total number of segments per content q[id][t'][l]: Quality score for each content, segment, and quality ss[id][t'][l]: Size of each content, segment, and quality BW: Available bandwidth (bps) SD: Video length per segment (sec) c: Terminal identification number, 1≦c≦Csize t: Time identification number of the segment, 1≦t≦Tsize l: quality identification number, 1≦l≦lmax Tsize: Number of segments to calculate at once Csize: Total number of viewing devices 30 lmax: The number of video quality sets available for ABR.
[0035] Contents stored in the distribution server 10 are managed by content ID. A quality evaluation value is assigned to each content segment before the service starts. In this embodiment, VMAF is used as the evaluation index. The quality evaluation value and the size of the segment are stored in the arrays q[id][t'][l] and ss[id][t'][l], respectively.
[0036] The terminal identification numbers c are assigned to the audiovisual terminals 30 sequentially, starting from 1, in the order of access to the rate control server 40, for example. Furthermore, the quality identification number l is assigned sequentially from 1, for example, in the ABR video quality set, in order from the smallest bit rate.
[0037] When the quality calculation unit 43 receives notification of id_c (the content ID to be viewed) and t'_c (the segment number to be viewed) from all viewing terminals 30, as preprocessing, it initializes the following array to be used in the calculation for the terminal identification number c assigned to each viewing terminal 30. Q[c][t][l]: Quality evaluation value for each device, time, and quality used in the calculation SS[c][t][l]: Size (bits) of each device, time, and quality used in the calculation R[c][t]: Terminal to be calculated, quality identification number for each time, 1≦R≦lmax
[0038] FIG. 3 is a diagram showing a preprocessing algorithm in this embodiment. In the preprocessing, all quality identification numbers R[c][t] are initialized to 1, which is the minimum value, within the range of the total number Csize of audiovisual terminals 30 and the number Tsize of segments calculated at one time (in one cycle). In addition, for all quality identification numbers, the quality evaluation value Q[c][t][l] and size SS[c][t][l] are substituted with the corresponding values of the quality evaluation value q[id][t'][l] and size ss[id][t'][l] that are prepared in advance.
[0039] FIG. 4 is a diagram illustrating an initial state after the completion of preprocessing by the quality calculation unit 43 in this embodiment. This example shows a case where Csize (number of terminals) is 2, Tsize (number of segments to be calculated) is 4, and lmax (quality number) is 3. In this case, the quality calculation unit 43 determines quality identification numbers R[c][t] for four segments for two viewing terminals 30 in one quality calculation.
[0040] Once preprocessing is complete, for segments from time t:1 to 4 for each of the two viewing terminals 30, all eight elements of quality identification number R[c][t] are initially set to 1, and the 24 elements of Q[c][t][l] are set to quality evaluation values obtained from the data information management unit 44. Although the segment sizes SS[c][t][l] are not shown, values obtained from the data information management unit 44 are set in the 24 elements of the array, similar to Q[c][t][l].
[0041] Next, the details of the calculation process for obtaining each quality identification number R[c][t] will be shown. In the initial state, the quality identification numbers R[c][t] calculated by the quality calculation all store the value 1, which indicates the lowest quality. At this time, the quality calculation unit 43 increases any of the elements of R[c][t] by one step at a time within the range that satisfies the following conditional formula (1) to calculate the optimal quality.
number
[0042] By determining R[c][t] within the range of conditional formula (1), it becomes possible to complete one cycle (from receiving terminal notification information from the viewing terminal 30 to finishing delivering segments t:1 to t:4) within (Tsize·SD) seconds, enabling stable viewing without freezing when playing video on the viewing terminal 30.
[0043] FIG. 5 is a diagram illustrating a specific processing procedure for determining the quality identification number R[c][t] for each segment in this embodiment. This example shows the processing procedure when the objective is to "maximize the average QoE of all terminals".
[0044] In step S1, the quality calculation unit 43 extracts the pairs of c and t that satisfy R[c][t]<lmax and for which R[c][t] is not determined in step S4.
[0045] In step S2, the quality calculation unit 43 determines whether the pair (c,t) was extracted in step S1. If this determination is YES, the process proceeds to step S3; if the determination is NO, the process ends.
[0046] In step S3, for the extracted (c,t), the quality calculation unit 43 executes the following calculation formula (2) to obtain a pair (result_c,result_t) with a high QoE improvement effect.
Equation
[0047] In step S4, the quality calculation unit 43 uses the obtained (result_c,result_t) to increment R[result_c][result_t] by one (R[result_c][result_t]++).
[0048] In step S5, the quality calculation unit 43 determines whether the conditional expression (1) is satisfied by the updated R[c][t] in step S2. If this determination is YES, the process proceeds to step S1; if the determination is NO, the process proceeds to step S6.
[0049] In step S6, the quality calculation unit 43 decrements R[result_c][result_t] by one (R[result_c][result_t]--) and finalizes R[result_c][result_t]. After that, the process proceeds to step S1.
[0050] In this processing procedure, when all R[c][t] are determined or all R[c][t]=lmax, the loop of steps S1 to S6 is exited and the quality calculation ends. After the quality calculation is completed, the quality identification number stored in R[c][t] (t=1) is notified to each viewing terminal 30 in response to the terminal notification information received from each viewing terminal 30. When receiving the second or subsequent terminal notification information (t:2 to t:4) from the viewing terminal 30, the corresponding R[c][t] has already been calculated, so the quality calculation unit 43 omits a new calculation and notifies the already calculated quality identification number stored in R[c][t].
[0051] In this processing procedure, if the objective is to "raise the minimum QoE on a segment-by-segment basis," formula (2) in step S3 is changed to the following formula (3).
number
[0052] Furthermore, when a target QoE (Target_QoE) is set, the following conditional expression (4) is added to the loop end condition after using the calculation expression (3).
number
[0053] The target QoE is a value set by the delivery side and may be determined based on the quality evaluation value to be used. By setting the target QoE, delivery with excessive quality can be suppressed, and a reduction in communication traffic can be expected.
[0054] FIG. 6 is a diagram showing a processing flow of the rate control server 40 in this embodiment. This process (a cycle of steps S11 to S19) is repeatedly executed when the service of the distribution system 1 is started, and the system is in a standby state for receiving terminal notification information from the viewing terminal 30 until the service is ended. At this time, the data receiving unit 41 receives terminal notification information including the content ID (id_c) and the segment number (t'_c) from the viewing terminal 30. If the viewing terminal 30 already has the terminal identification number c assigned by the terminal information management unit 42, this terminal identification number c is also notified.
[0055] In step S11, the terminal information management unit 42 sets a timer (for example, 100 ms).
[0056] In step S12, the terminal information management unit 42 waits until the timer times out or until it receives notifications from all the viewing terminals 30 that performed transmission in the previous cycle. Whether or not a terminal is a terminal that performed transmission in the previous cycle can be determined by whether or not the terminal identification number c is notified from the terminal. If there has been no previous notification and this is the first notification received, the process may immediately proceed to step S3.
[0057] In step S13, the terminal information management unit 42 determines whether or not the terminal notification information has been received. If the determination is YES, the process proceeds to step S14, and if the determination is NO, the process returns to step S11.
[0058] In step S14, the terminal information management section 42 registers information about the new audio-visual terminal 30 that has been notified so far. At this time, the terminal information management section 42 assigns a terminal identification number c to each audio-visual terminal 30.
[0059] In step S15, the quality calculation unit 43 performs quality calculation for each content for the registered viewing terminal 30, using the procedure described above (Figure 5), for several future segments (e.g., four segments) including the notified segment number.
[0060] In step S16, the quality sending unit 46 simultaneously sends the segment corresponding to the segment number in the terminal notification information, i.e., the quality identification number of the first segment for which the quality has been calculated, to the registered viewing terminals 30. At this time, the quality sending unit 46 also simultaneously sends the terminal identification number c to the newly registered viewing terminal 30.
[0061] In step S17, the process waits until the next terminal notification information is received from the audio-visual terminal 30 which has sent out the quality identification number.
[0062] In step S18, the quality sending unit 46 sends to the audio-visual terminal 30 the already calculated quality identification number of the segment corresponding to the segment number of the received terminal notification information.
[0063] In step S19, the quality control unit 45 judges whether or not the quality identification number of the last segment whose quality has been calculated has been sent. If the judgment is YES, one cycle ends. On the other hand, if the judgment is NO, the process returns to step S17.
[0064] Through this process, the viewing terminal 30 requests the segment having the quality identification number received from the rate control server 40 from the distribution server 10, and plays back the acquired segment data while storing it in a buffer.
[0065] Note that, in step S13 and thereafter, if terminal notification information is received from an unregistered viewing terminal 30, it may be processed in the next cycle. Alternatively, in order to shorten the waiting time at the viewing terminal 30, an initial buffer may be started using a different line, such as a best-effort line with a low bandwidth usage fee, and synchronization may be performed in the next and subsequent cycles. In this case, for example, a notification indicating the use of a different line instead of a quality identification number is sent to the viewing terminal 30, and the viewing terminal 30 and the distribution server 10 are connected by a different line.
[0066] According to this embodiment, the rate control server 40 of the distribution system 1, which divides video content into segments of fixed time intervals and selectively distributes them at multiple qualities, manages the quality evaluation value and size of the segment data for each content ID, segment number, and quality identification number, and when it receives terminal notification information including the content ID and segment number from each of multiple viewing terminals 30, it determines a quality identification number based on the quality evaluation value for each quality identification number for each segment so as to maximize the quality of the entire segments distributed to the viewing terminal 30 during a specified period, provided that the total sum of the sizes of the segment data for a specified period from this segment number onwards is a size that can be distributed during the specified period within the available bandwidth of the distribution system 1, and sends the determined quality identification number to the viewing terminal 30 that requested the segment in question.
[0067] As a result, the rate control server 40 determines the delivery rate based on the QoE evaluation value for each segment, thereby efficiently utilizing the available bandwidth and cooperatively controlling multiple viewing terminals 30. At this time, the rate control server 40 determines the quality identification number taking into consideration the quality for a predetermined future period at all viewing terminals 30, which widens the range of quality selection, making it possible to select the desired quality more efficiently. As a result, the QoE of the entire video distribution service can be improved.
[0068] After sending out the quality identification numbers of the segments for a predetermined period, the rate control server 40 determines the quality for the corresponding segments based on the terminal notification information received at the predetermined time. Therefore, the rate control server 40 can appropriately control the quality provided to the multiple audio-visual terminals 30 in a synchronized manner.
[0069] In addition, after the rate control server 40 has sent out quality identification numbers for segments for a specified period, when it receives the next terminal notification information from all of the viewing terminals 30, it determines the quality for the corresponding segments based on the received next terminal notification information, regardless of the amount of time that has elapsed. Therefore, the rate control server 40 can reduce the waiting time due to the timer and perform efficient processing.
[0070] The rate control server 40 determines a quality identification number for each segment so as to maximize the total sum of quality evaluation values for a specified period of time at multiple viewing terminals 30, thereby maximizing the average QoE of all viewing terminals 30 and raising the QoE evaluation value of each terminal as much as possible within a limited bandwidth.
[0071] Furthermore, the rate control server 40 determines a quality identification number for each segment so as to maximize the minimum value of the quality evaluation values for a specified period of time at multiple viewing terminals 30, thereby raising the minimum QoE on a segment-by-segment basis and minimizing the viewing time during which the viewer feels uncomfortable as much as possible within the limited bandwidth.
[0072] Furthermore, the rate control server 40 increases the quality identification number for each segment by one step, up to the point where the minimum quality evaluation value exceeds a predetermined target value. This makes it possible to ensure viewing at a sufficient target QoE while suppressing delivery at excessive quality and reducing communication volume.
[0073] If the rate control server 40 receives terminal notification information from a new viewing terminal 30 before finishing sending the quality identification numbers of the segments for a specified period, it sends a notification to the new viewing terminal instructing it to use a different line, and in response to this notification, the viewing terminal 30 may request the segments from the distribution server 10 via the different line. This allows the viewing terminal 30, when making a new request for video distribution, to immediately start playing the video without waiting for the rate control server to finish its processing cycle.
[0074] Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments. Furthermore, the effects described in the above-described embodiments are merely a list of the most preferable effects resulting from the present invention, and the effects of the present invention are not limited to those described in the embodiments.
[0075] In this embodiment, the configuration and operation of the distribution system 1 have been mainly described, but the present invention is not limited to this and may be configured as a method or program for distributing video having each component.
[0076] Furthermore, the functions of the distribution system 1 may be realized by recording a program for realizing the functions of the distribution system 1 on a computer-readable recording medium, and having a computer system read and execute the program recorded on the recording medium.
[0077] The term "computer system" here includes hardware such as the OS and peripheral devices. Additionally, "computer-readable recording media" refers to portable media such as flexible disks, optical magnetic disks, ROMs, and CD-ROMs, as well as storage devices such as hard disks built into computer systems.
[0078] Furthermore, the term "computer-readable recording medium" may include a recording medium that dynamically stores a program for a short period of time, such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line, and a recording medium that stores a program for a certain period of time, such as a volatile memory in a computer system that serves as a server or client in such a case. The above program may be a program for realizing part of the above-mentioned functions, or may be a program that can realize the above-mentioned functions in combination with a program already recorded in the computer system. [Explanation of symbols]
[0079] 1. Distribution System 10. Distribution Server 21 Switch 22 Switch 30 Viewing Devices 40 Rate Control Server 41 Data receiving section 42 Terminal Information Management Department 43 Quality calculation section 44 Data Information Management Department 45 Quality Control Department 46 Quality sending section
Claims
1. In a system in which video content is divided into segments of a fixed time period and a distribution server selectively distributes the content to a viewing terminal at multiple qualities, a data information management unit that manages a quality evaluation value and a size of segment data for each content ID, segment number, and quality identification number; a data receiving unit that receives terminal notification information including the content ID and the segment number from each of the plurality of viewing terminals; a quality calculation unit which determines the quality identification numbers of the segments for a predetermined period based on the quality evaluation value for each quality identification number for each segment, so as to maximize the quality of the entire segments delivered to the viewing terminal during the predetermined period, on the condition that the total sum of the sizes of segment data for the predetermined period following the segment number included in each of the multiple received terminal notification information is a size that can be delivered during the predetermined period within the available bandwidth of the system; a quality sending unit that sends the determined quality identification number to the viewing terminal that has requested the corresponding segment.
2. 2. A rate control server according to claim 1, further comprising a terminal information management unit that notifies said quality calculation unit of terminal notification information received by said data receiving unit at a predetermined time after said quality sending unit sends out said quality identification number of the segment for said predetermined period.
3. 3. A rate control server as described in claim 2, wherein after the quality sending unit has sent out the quality identification number of the segment for the specified period, when the terminal information management unit receives next terminal notification information from all of the viewing terminals, the terminal information management unit notifies the quality calculation unit of the next terminal notification information received by the data receiving unit regardless of the elapsed time.
4. 4. The rate control server according to claim 1, wherein the quality calculation unit determines the quality identification number for each segment so as to maximize a total sum of the quality evaluation values for the predetermined period in a plurality of the viewing terminals.
5. 4. The rate control server according to claim 1, wherein the quality calculation unit determines the quality identification number for each segment so as to maximize a minimum value of the quality evaluation values for the predetermined period in a plurality of the viewing terminals.
6. 6. The rate control server according to claim 5, wherein said quality calculation unit increases said quality identification number for each segment by one step up to an upper limit until said minimum value exceeds a predetermined target value.
7. A rate control server according to any one of claims 1 to 6; The distribution server; a plurality of viewing terminals that request and acquire segments of the quality identification number received from the rate control server from the distribution server.
8. when the rate control server receives the terminal notification information from a new viewing terminal before finishing sending the quality identification number of the segment of the predetermined period, it sends a notification to the new viewing terminal instructing the new viewing terminal to use a different line from the available bandwidth; 8. The distribution system according to claim 7, wherein the viewing terminal, in response to the notification, requests the segment from the distribution server via the separate line.
9. A rate control program for causing a computer to function as the rate control server according to any one of claims 1 to 6.
Citation Information
Patent Citations
Distribution design support method, distribution design support device, and program
JP2020078041A
Quality-driven streaming
JP2020080547A
Network support for uplink streaming
JP2020536459A
Methods and devices for efficient adaptive bitrate streaming
US20140013376A1
Techniques for estimating HTTP adaptive streaming (HAS) video quality of experience
US20180288454A1