VIDEO DELIVERY CONTROL DEVICE, VIDEO DELIVERY CONTROL METHOD, AND PROGRAM
Patent Information
- Application Number
- JP2023525346
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-06-04
- Publication Date
- 2025-03-27
- Estimated Expiration
- 2041-06-04
Smart Images

Figure 0007652249000001 
Figure 0007652249000002 
Figure 0007652249000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a video distribution control device, a video distribution control method, and a program. [Background technology]
[0002] In recent years, the increasing demand for video distribution services and the trend towards higher quality have put strain on bandwidth, raising concerns about a decline in service levels and viewing quality.
[0003] Protocols used in streaming delivery include RTMP (Real-Time Messaging Protocol) and WebRTC (Web Real-Time Communication). These protocols are often used in live delivery, which requires low latency, but they are generally encoded at a bit rate set in advance on the delivery source device, making it difficult to control the bit rate according to network bandwidth and other conditions. As a result, differences in service level and viewing quality occur depending on the viewing environment and network environment of each client terminal.
[0004] Additionally, HTTP Streaming, which distributes video over HTTP (HyperText Transfer Protocol), is also widely used, and MPEG-DASH and HLS (HTTP Live Streaming) are well known as representative protocols for implementing HTTP Streaming. These protocols are equipped with a function called ABR (Adaptive Bit-Rate), which allows client terminals to dynamically select an appropriate bitrate from multiple bitrates prepared in advance according to the viewing environment (e.g., throughput, etc.), thereby enabling stable playback of video at the highest possible quality. This prevents the above-mentioned degradation of service level and viewing quality in HTTP Streaming. [Prior art documents] [Non-patent literature]
[0005] [Non-Patent Document 1] Hiroyuki Kitada, Takafumi Okuyama, Masayoshi Yasukawa, Yoshikatsu Okazaki, "Video Bitrate Stabilization Control Method for Improving Viewing Quality in ABR Environment," IEICE Technical Report, Vol. 119, No. 183, CQ2019-63, p.33-37, Aug. 2019. Summary of the Invention [Problem to be solved by the invention]
[0006] However, when video distribution using ABR is used, there is a concern that the bit rate selected by the client terminal changes frequently when the network is close to congestion, resulting in a decline in the service level and viewing quality. In addition, with ABR, the bit rate changes dynamically through the autonomous operation of the client terminal, so content providers cannot manage the service level. In particular, when viewed as a whole set of client terminals, ABR controls throughput to be uniform.
[0007] On the other hand, uniform control of distributed content is not always required. For example, the overall service level can be improved by increasing the bit rate of quality-important content even if it means lowering the bit rate of quality-unimportant content. For this reason, it is desirable to control the bandwidth (allocated bandwidth) used for the distribution of each content so that the final viewing state meets the distribution requirements of the content provider.
[0008] An embodiment of the present invention has been made in consideration of the above points, and has an object to control the bandwidth allocated to content in accordance with the content distribution requirements and the network conditions. [Means for solving the problem]
[0009] In order to achieve the above-mentioned object, a video distribution control device in one embodiment has a determination unit that, when it receives a request to view video content from a client terminal, determines whether the video content can be distributed at a quality that satisfies the distribution requirements based on the distribution requirements of the video content and the usage status of network bandwidth resources, an optimization unit that optimizes the usage status of the bandwidth resources if it is determined that the video content can be distributed at a quality that satisfies the distribution requirements, and a resource allocation unit that allocates bandwidth resources for distributing the video content at that quality if it is determined that the video content can be distributed at a quality that satisfies the distribution requirements, and when the usage status of the bandwidth resources has been optimized, the determination unit determines whether the video content can be distributed at a quality that satisfies the distribution requirements based on the distribution requirements and the usage status of the bandwidth resources after optimization. Effect of the Invention
[0010] The content distribution band can be controlled according to the content distribution requirements and the network conditions. [Brief description of the drawings]
[0011] [Figure 1] 1 is a diagram illustrating an example of an overall configuration of a video distribution system according to an embodiment of the present invention. [Diagram 2] 1 is a diagram illustrating an example of a hardware configuration of a video distribution control device according to an embodiment of the present invention. [Diagram 3] 2 is a diagram illustrating an example of a functional configuration of a video distribution control device according to the present embodiment. FIG. [Figure 4] FIG. 11 is a diagram illustrating an example of resource contract information. [Diagram 5] FIG. 11 is a diagram illustrating an example of distribution requirement information. [Figure 6] FIG. 11 is a diagram illustrating an example of bandwidth allocation information. [Figure 7] 13 is a flowchart showing an example of a process for registering resource contract information and distribution requirement information. [Figure 8]FIG. 11 is a diagram illustrating an example of computing resource control information. [Figure 9] FIG. 11 is a diagram illustrating an example of band resource control information. [Figure 10] 13 is a flowchart (1 / 2) showing an example of a process when performing distribution control. [Figure 11] 13 is a flowchart (2 / 2) showing an example of a process when performing distribution control. [Figure 12] FIG. 11 is a diagram illustrating an example of bandwidth information. [Figure 13] FIG. 11 is a diagram illustrating an example of bandwidth allocation request information. [Figure 14] FIG. 11 illustrates an example of client control information. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] An embodiment of the present invention will be described below. In this embodiment, a video distribution system capable of controlling the content allocation bandwidth (i.e., the bandwidth used for content distribution) according to the content distribution requirements and network conditions when distributing video (content) will be described. At the same time, a case where bandwidth resources allocated to a content provider are controlled will also be described. Note that this bandwidth resource refers to the bandwidth currently allocated as the bandwidth available for content distribution by the content provider out of the bandwidth (i.e., the upper limit bandwidth) determined by a contract or the like with the content provider.
[0013] <Overall configuration of video distribution system> The overall configuration of a video distribution system according to this embodiment is shown in Fig. 1. As shown in Fig. 1, the video distribution system according to this embodiment is composed of a distribution platform 70 including a video distribution control device 10, a server control device 20, a network control device 30, a terminal control device 40, an encoding server 50, and a network 60, a content provider 80, and a client terminal 90. In Fig. 1, solid lines represent the transmission and reception relationship of content data (video data), and dashed lines represent the transmission and reception relationship of data other than content data (various data including control data, etc.).
[0014] The video distribution control device 10 is a computer or computer system such as a general-purpose server that controls the content distribution bandwidth allocation according to the content distribution requirement information and the network status. The distribution requirement information is information that indicates the content distribution requirements (e.g., whether or not stable distribution control is used, bit rate, etc.).
[0015] The server control device 20 is a computer or computer system such as a general-purpose server that secures bandwidth resources and computational resources of the content provider, allocates bandwidth used for content distribution, and changes the allocated bandwidth in response to a request from the video distribution control device 10. The computational resources are computational resources (e.g., the number of CPUs (Central Processing Units)) used for encoding content in the encoding server 50.
[0016] The network control device 30 is a computer or computer system such as a general-purpose server that secures bandwidth resources for content providers, allocates bandwidth to be used for content distribution, and changes the allocated bandwidth in response to requests from the video distribution control device 10.
[0017] The terminal control device 40 is a computer or computer system such as a general-purpose server that controls image quality (bit rate and resolution) on the client terminal 90 side in response to a request from the video distribution control device 10.
[0018] The encoding server 50 is a computer or computer system such as a general-purpose server that encodes the content of the content provider 80 and distributes the encoded content to the client terminal 90 via the network 60 .
[0019] The network 60 is a communication network used for distributing content (more precisely, encoded content data). It is assumed that the network 60 is a communication network capable of guaranteeing bandwidth.
[0020] The content provider 80 is a computer or computer system such as a general-purpose server that transmits content to be encoded and distributed to the encoding server 50, and transmits (notifies) resource contract information and distribution requirement information to the video distribution control device 10. The resource contract information is information that indicates the upper bandwidth limit determined in a contract with the content provider 80.
[0021] The client terminal 90 is a terminal (for example, a personal computer, a smartphone, a tablet terminal, etc.) that decodes the content distributed from the encoding server 50 and plays back the content.
[0022] The overall configuration of the video distribution system shown in Fig. 1 is an example, and other configurations may be used. For example, the example shown in Fig. 1 shows a configuration in which both the server control device 20 and the network control device 30 have the functions of securing bandwidth resources and allocating and changing bandwidth, but if the server control device 20 has these functions, the network control device 30 may not be required.
[0023] <Hardware configuration of the video distribution control device 10> The hardware configuration of the video distribution control device 10 according to this embodiment is shown in Fig. 2. As shown in Fig. 2, the video distribution control device 10 according to this embodiment is realized by the hardware configuration of a general computer or computer system such as a general-purpose server, and has an input device 101, a display device 102, an external I / F 103, a communication I / F 104, a processor 105, and a memory device 106. Each of these hardware components is connected to each other via a bus 107 so as to be able to communicate with each other.
[0024] The input device 101 is, for example, a keyboard, a mouse, a touch panel, various physical buttons, etc. The display device 102 is, for example, a display, etc. Note that the video distribution control device 10 does not necessarily have to have at least one of the input device 101 and the display device 102, for example.
[0025] The external I / F 103 is an interface with an external device such as a recording medium 103a. The video distribution control device 10 can read and write data from and to the recording medium 103a via the external I / F 103. Examples of the recording medium 103a include a CD (Compact Disc), a DVD (Digital Versatile Disk), an SD memory card (Secure Digital memory card), and a USB (Universal Serial Bus) memory card.
[0026] The communication I / F 104 is an interface for the video distribution control device 10 to communicate with other devices and systems (e.g., the server control device 20, the network control device 30, the terminal control device 40, the content provider 80, the client terminal 90, etc.). The processor 105 is, for example, one of various arithmetic devices such as a CPU or a GPU (Graphics Processing Unit). The memory device 106 is, for example, one of various storage devices such as a HDD (Hard Disk Drive), an SSD (Solid State Drive), a flash memory, a RAM (Random Access Memory), a ROM (Read Only Memory), etc.
[0027] The video distribution control device 10 according to this embodiment has the hardware configuration shown in Fig. 2, and can realize various processes described below. Note that the hardware configuration shown in Fig. 2 is only an example, and the video distribution control device 10 may have, for example, multiple processors 105, or multiple memory devices 106. Furthermore, the video distribution control device 10 may have various hardware other than the hardware shown in the figure.
[0028] <Functional configuration of the video distribution control device 10> Fig. 3 shows the functional configuration of the video distribution control device 10 according to this embodiment. As shown in Fig. 3, the video distribution control device 10 according to this embodiment includes a registration unit 201, a control unit 202, a bandwidth information acquisition unit 203, and a storage unit 204. The registration unit 201, the control unit 202, and the bandwidth information acquisition unit 203 are realized, for example, by processing executed by the processor 105 of one or more programs installed in the video distribution control device 10. The storage unit 204 is realized, for example, by the memory device 106. However, the storage unit 204 may also be realized, for example, by a database server connected to the video distribution control device 10 via a communication network.
[0029] When the registration unit 201 receives the resource contract information and the distribution requirement information from the content provider 80, the registration unit 201 stores (registers) the resource contract information and the distribution requirement information in the storage unit 204.
[0030] When the resource contract information and distribution requirement information are registered, the control unit 202 requests the server control device 20 to secure computational resources for the content provider 80, and also requests at least one of the server control device 20 and the network control device 30 to secure bandwidth resources.
[0031] Furthermore, when the control unit 202 receives a viewing request (i.e., a request to start viewing a content) from the client terminal 90, it requests at least one of the server control device 20 and the network control device 30 to control the bandwidth resources and the allocated bandwidth of each content, etc., according to the distribution requirement information of the content and the status of the network 60. Furthermore, the control unit 202 requests the terminal control device 40 to change the image quality (bit rate and resolution) of the client terminal 90 to which each content is distributed.
[0032] If both the server control device 20 and the network control device 30 have the functions of securing bandwidth resources and allocating and changing bandwidth, the control unit 202 transmits a request for securing bandwidth resources, allocating and changing bandwidth, etc. to one or both of these devices. On the other hand, if only one of the devices has the functions, the control unit 202 transmits the requests only to the device having the functions.
[0033] The bandwidth information acquisition unit 203 acquires bandwidth information from the server control device 20 and the network control device 30. The bandwidth information is information that indicates the bandwidth currently being used for the content distribution of the content provider 80.
[0034] When both the server control device 20 and the network control device 30 have the functions of securing bandwidth resources and allocating and changing bandwidth, the bandwidth information acquisition unit 203 acquires bandwidth information from either one or both of these devices. On the other hand, when only one of the devices has the functions, the bandwidth information acquisition unit 203 acquires bandwidth information from the device having the functions.
[0035] The storage unit 204 stores various information such as resource contract information, distribution requirement information, and bandwidth allocation information. The bandwidth allocation information is information that indicates the content to be distributed in each session, its allocated bandwidth, distribution source, distribution destination, etc. Note that a session refers to a communication path used for content distribution between the encoding server 50 and the client terminal 90.
[0036] <Resource Contract Information> An example of resource contract information is shown in Fig. 4. As shown in Fig. 4, each piece of resource contract information includes a content provider ID, a guaranteed bandwidth upper limit, and a usable bandwidth upper limit. The content provider ID is identification information for identifying a content provider 80. The guaranteed bandwidth upper limit is the upper limit of the guaranteed bandwidth of the content provider 80 (i.e., the bandwidth with a guaranteed lower limit of the communication speed). The usable bandwidth upper limit is the upper limit of the bandwidth that can be used by the content provider 80.
[0037] For example, the resource contract information in the first line of the example shown in FIG. 4 is the resource contract information of the content provider 80 identified by the content provider ID "a", and has a guaranteed bandwidth upper limit of "1 Gbps" and a usable bandwidth upper limit of "10 Gbps".
[0038] <Delivery requirements information> An example of the distribution requirement information is shown in Fig. 5. As shown in Fig. 5, each piece of distribution requirement information includes a content provider ID, a content ID, stability, image quality, and delay. The content ID is identification information for identifying the content. Stability, image quality, and delay are distribution requirements for the content, with stability being a requirement indicating the presence or absence of stable distribution control (i.e., whether or not distribution is performed at a guaranteed bandwidth), image quality being a requirement relating to bit rate and resolution, and delay being a requirement relating to distribution delay. Note that there may be multiple bit rates and resolutions available for image quality when distributing the content.
[0039] For example, the distribution requirement information in the first line of the example shown in FIG. 5 is a content provider ID "a" and a content ID "1". This indicates that the distribution requirement information is a distribution requirement for the content identified by the content ID "1", and that the content is a content of the content provider 80 identified by the content provider ID "a". The distribution requirements of the content indicate that the stability is "stable distribution control available", the image quality is "0.5Mbps (360p / low compression), 5Mbps (1080p / low compression), 10Mbps (2160p / high compression)", and the delay is "60 seconds or less". Note that the image quality "0.5Mbps (360p / low compression), 5Mbps (1080p / low compression), 10Mbps (2160p / high compression)" indicates that any of "0.5Mbps (360p / low compression)", "5Mbps (1080p / low compression)", and "10Mbps (2160p / high compression)" is available as the image quality.
[0040] <Bandwidth Allocation Information> An example of the bandwidth allocation information is shown in Fig. 6. As shown in Fig. 6, each piece of bandwidth allocation information includes a session ID, a content ID, stability, an allocated bandwidth, communication information, and a distribution start time. The session ID is identification information for identifying a session between the encoding server 50 and the client terminal 90. Stability indicates the presence or absence of stable distribution control, the allocated bandwidth is the bandwidth allocated to the session, the communication information is information indicating the content distribution source (encoding server 50) and distribution destination (client terminal 90), and the distribution start time is information indicating the time (date and time) when the distribution of the content started.
[0041] For example, the bandwidth allocation information in the first line of the example shown in Figure 6 is session ID "1", content ID "1", stability "stable distribution control enabled", allocated bandwidth "10", communication information "distribution source: 10.10.10.x, distribution destination: 202.100.100.5", and distribution start time "yyyy / mm / dd 20:22:30".
[0042] <Processing when registering resource contract information and distribution requirement information> The process of registering resource contract information and distribution requirement information of a certain content provider 80 will be described with reference to Fig. 7. In the following, as an example, it is assumed that the resource contract information and distribution requirement information of the content provider ID "a" are not registered, and the case where this resource contract information and distribution requirement information is registered will be described.
[0043] First, the registration unit 201 receives resource contract information and distribution requirement information from the content provider 80 (step S101). At this time, multiple pieces of distribution requirement information (i.e., distribution requirement information for each of multiple contents) may be received. In the following, for simplicity, it is assumed that distribution requirement information for one piece of content is received.
[0044] Next, the registration unit 201 stores the resource contract information and the distribution requirement information received in the above step S101 in the storage unit 204 (step S102). As a result, the resource contract information and the distribution requirement information are registered.
[0045] Next, the control unit 202 calculates the computational resources (e.g., the number of CPUs (more precisely, the number of CPU cores required)) from the image quality and delay included in the distribution requirement information received in the above step S101, and transmits computational resource control information for reserving these computational resources to the server control device 20 (step S103). An example of computational resource control information is shown in FIG. 8. The computational resource control information shown in FIG. 8 is information for reserving a number of CPUs "2" as computational resources for content with content ID "1". This causes the server control device 20 to reserve computational resources for the encoding server 50. Note that if multiple pieces of distribution requirement information are received in the above step S101, computational resources are calculated and reserved for each piece of distribution requirement information (i.e., for each piece of content).
[0046] Here, the computational resources for each content may be calculated using known methods. For example, if the processing delay per CPU can be measured using an index P [Mbps / ms], then the delay is D [ms], the maximum bit rate included in the image quality is R [Mbps], and the number of parallel processes is x [units], then the computational resources can be calculated as the minimum x that satisfies D>R÷(P×x).
[0047] Next, the control unit 202 transmits bandwidth resource control information for reserving bandwidth resources to at least one of the server control device 20 and the network control device 30 based on the resource contract information received in the above step S101 (step S104). An example of the bandwidth resource control information is shown in Fig. 9. The bandwidth resource control information shown in Fig. 9 is information for reserving a guaranteed bandwidth of "1 Gbps" and a bandwidth of "10 Gbps" as bandwidth resources for the content provider 80 with the content provider ID "a". As a result, the bandwidth resources of the network 60 are reserved by at least one of the server control device 20 and the network control device 30.
[0048] Here, the bandwidth resources of each content provider 80 may be a guaranteed bandwidth equal to or less than the guaranteed bandwidth upper limit and a bandwidth equal to or less than the usable bandwidth upper limit included in the resource contract information. The example shown in Fig. 9 is bandwidth resource control information in the case where the guaranteed bandwidth upper limit and the usable bandwidth upper limit included in the resource contract information are used as the guaranteed bandwidth and the bandwidth of the bandwidth resource.
[0049] As described above, when the video distribution control device 10 according to this embodiment receives resource contract information and distribution requirement information from the content provider 80, it controls the reservation of computational resources and bandwidth resources to be used for the distribution of the content of the content provider 80. In particular, when reserving computational resources, an appropriate number of CPUs is reserved to satisfy the delay requirement, which is one of the content distribution requirements.
[0050] <Processing when performing distribution control> The process of controlling the distribution of certain content in response to a request from the client terminal 90 will be described with reference to FIGS.
[0051] First, the control unit 202 receives a viewing request from the client terminal 90 via the terminal control device 40 (step S201). The viewing request includes information indicating the client terminal 90 (e.g., an IP (Internet Protocol) address or a terminal ID, etc.), a content ID of the content to be viewed on the client terminal 90, etc. The control unit 202 may receive the viewing request directly from the client terminal 90 without going through the terminal control device 40.
[0052] Next, the control unit 202 acquires the bit rate of the highest image quality of the content related to the viewing request received in the above step S201 (step S202). That is, the control unit 202 refers to the distribution requirement information of the content ID included in the viewing request among the distribution requirement information stored in the storage unit 204, and acquires the highest bit rate among the bit rates included in the image quality of this distribution requirement information.
[0053] Next, the control unit 202 determines whether the content related to the viewing request is a content that requires stable delivery control (step S203). This can be determined by referring to the stability value of the delivery requirement information of the content ID included in the viewing request.
[0054] If it is determined in step S203 above that the content requires stable distribution control, the bandwidth information acquisition unit 203 acquires bandwidth information related to the content provider 80 providing the content related to the viewing request from at least one of the server control device 20 and the network control device 30 (step S204). An example of the bandwidth information is shown in FIG. 12. The bandwidth information shown in FIG. 12 is bandwidth information related to the content provider 80 with the content provider ID "a", and the line bandwidth is "remaining bandwidth: 500 Mbps, remaining guaranteed bandwidth: 100 Mbps". This indicates that when distributing content from the content provider 80 with the content provider ID "a", the remaining bandwidth available is 500 Mbps of the non-guaranteed bandwidth and the remaining guaranteed bandwidth is 100 Mbps.
[0055] Next, the control unit 202 refers to the bandwidth information acquired in step S204 above, and if "remaining guaranteed bandwidth≧the bit rate of the highest image quality of the content related to the viewing request", allocates the bandwidth with the bit rate of the highest image quality as the guaranteed bandwidth (step S205). That is, the control unit 202 transmits bandwidth allocation request information for allocating the guaranteed bandwidth at the bit rate to at least one of the server control device 20 and the network control device 30. An example of the bandwidth allocation request information is shown in FIG. 13. The bandwidth allocation information shown in FIG. 13 includes the content provider ID "a", communication information "source: 10.10.10.x, destination: 202.100.100.5", and line bandwidth "guaranteed bandwidth: 10Mbps". This indicates that the guaranteed bandwidth "10Mbps" of the bandwidth resources used for content distribution of the content provider ID "a" is requested to be allocated to a session with the source "10.10.10.x" and the destination "202.100.100.5".
[0056] If "remaining guaranteed bandwidth<bit rate of the highest image quality of the content related to the viewing request", no guaranteed bandwidth is allocated in step S205.
[0057] On the other hand, if it is not determined in step S203 that the content requires stable distribution control, the bandwidth information acquisition unit 203 acquires bandwidth information regarding the content provider 80 that provides the content related to the viewing request from at least one of the server control device 20 and the network control device 30, as in step S204 (step S206).
[0058] Next, the control unit 202 refers to the bandwidth information acquired in step S206 above, and if "remaining bandwidth≧the bit rate of the highest image quality of the content related to the viewing request", allocates the bandwidth at this bit rate of the highest image quality (step S207). That is, the control unit 202 transmits bandwidth allocation request information for allocating the bandwidth at the bit rate to at least one of the server control device 20 and the network control device 30. Note that, although an example of this bandwidth allocation request information is omitted, for example, the line bandwidth of the bandwidth allocation request information shown in FIG. 13 is set to "bandwidth: 10 Mbps" or the like.
[0059] If "remaining bandwidth<bit rate of the highest image quality of the content related to the viewing request", no bandwidth is allocated in step S207.
[0060] Following step S205 or step S207, the control unit 202 determines whether or not the bandwidth allocation for the content requested for viewing has been completed (step S208).
[0061] If it is not determined in step S208 that the bandwidth allocation is complete, the control unit 202 optimizes the bandwidth resources of the content provider 80 that provides the content related to the viewing request (step S209) by the following steps 1 to 3. Note that in the following steps 1 to 3, it is assumed, as an example, that the stability of the distribution requirement information of the content related to the viewing request is "without stable distribution control".
[0062] Step 1: By referring to the bandwidth allocation information and distribution requirement information stored in the memory unit 204, among the sessions used to distribute the content of the content provider 80, extract sessions that are not subject to stable distribution control and that distribute content that satisfies the distribution requirements and can reduce the image quality.
[0063] Note that content whose image quality can be lowered refers to a content whose image quality in the distribution requirement information of the content includes a bit rate that is one bit lower than the bit rate of the current allocated bandwidth. For example, if the image quality in the distribution requirement information of a certain content is "0.5Mbps (360p / low compression), 5Mbps (1080p / low compression), 10Mbps (2160p / high compression)" and the bit rate of the current allocated bandwidth is "5Mbps", then the content is one bit lower, "0.5Mbps", so the content is one bit lower. On the other hand, if the bit rate of the current allocated bandwidth is "0.5Mbps", then the image quality cannot be lowered and the content is not one bit lower.
[0064] Step 2: Refer to the bandwidth allocation information stored in storage unit 204, and among the sessions extracted in step 1 above, lower the image quality of the content of the session with the longest viewing time by one. That is, the content is allocated to a bandwidth with a bit rate one bit lower than the current bit rate. This can be done by transmitting bandwidth allocation request information for allocating bandwidth at this one bit rate lower to at least one of server control device 20 and network control device 30. At this time, the allocated bandwidth of the bandwidth allocation information of the session in question, among the bandwidth allocation information stored in storage unit 204, is also updated.
[0065] As a result, if the bit rate obtained by subtracting one bit rate lower than the current bit rate is defined as Δ, the remaining bandwidth will increase by Δ.
[0066] Step 3: If the remaining bandwidth becomes available to allocate the content related to the viewing request as a result of step 2 above, the optimization of bandwidth resources ends. On the other hand, if the remaining bandwidth does not become available to allocate the content related to the viewing request, the process returns to step 1 above. Also, if no session is extracted in step 1 above (i.e., if there is no content for which the image quality can be reduced), the optimization of bandwidth resources ends.
[0067] Note that by replacing "without stable delivery control" with "with stable delivery control" in step 1 and "remaining bandwidth" with "remaining guaranteed bandwidth" in steps 2 and 3, the above steps 1 to 3 can be similarly applied even when the stability of the delivery requirement information of the content related to the viewing request is "with stable delivery control." However, when it is "with stable delivery control," the "remaining bandwidth" is similarly replaced with "remaining guaranteed bandwidth" in steps S210 and S212 described later.
[0068] Next, if "remaining bandwidth<bit rate of the content related to the viewing request", the control unit 202 refers to the distribution requirement information of the content related to the viewing request among the distribution requirement information stored in the storage unit 204, and lowers the image quality of the content related to the viewing request by one (step S210). However, if the image quality of the content related to the viewing request cannot be lowered any further, the image quality is kept as it is.
[0069] Next, when "remaining bandwidth≧bit rate of content related to viewing request", the control unit 202 allocates bandwidth at the bit rate of the current image quality (step S211). That is, the control unit 202 transmits bandwidth allocation request information for allocating bandwidth at the bit rate to at least one of the server control device 20 and the network control device 30.
[0070] Next, the control unit 202 determines whether or not the bandwidth allocation for the content requested for viewing has been completed (step S212).
[0071] If it is not determined that the bandwidth allocation is completed in step S212, the control unit 202 refers to the resource contract information of the content provider 80 that provides the content related to the viewing request among the resource contract information stored in the storage unit 204 to determine whether the bandwidth resource can be increased (step S213). Here, if the stability of the distribution requirement information of the content related to the viewing request is "with stable distribution control", it is determined that the bandwidth resource can be increased if the content is used for content distribution of the content provider 80 and the total allocated bandwidth of the sessions with "with stable distribution control" is less than the bandwidth guaranteed upper limit included in the resource contract information of the content provider 80, and if not, it is determined that the bandwidth resource cannot be increased. Similarly, if the stability of the distribution requirement information of the content related to the viewing request is "without stable distribution control", it is determined that the bandwidth resource can be increased if the content is used for content distribution of the content provider 80 and the total allocated bandwidth of the sessions with "without stable distribution control" is less than the available bandwidth upper limit included in the resource contract information of the content provider 80, and if not, it is determined that the bandwidth resource cannot be increased.
[0072] If it is determined in step S213 above that the bandwidth resources can be increased, the control unit 202 transmits bandwidth resource control information for reserving additional bandwidth resources to at least one of the server control device 20 and the network control device 30 (step S214). If the stability of the distribution requirement information of the content related to the viewing request is "with stable distribution control", an additional guaranteed bandwidth is secured, and if it is "without stable distribution control", an additional non-guaranteed bandwidth is secured. At this time, the amount of additional bandwidth to be secured may be determined in advance, or an additional bandwidth that can be allocated to the content related to the viewing request may be secured.
[0073] After step S214 is executed, the process returns to step S203, and steps S203 and after are executed again.
[0074] If it is not determined in step S213 that the bandwidth resources can be increased, the control unit 202 ends the process. In this case, the bandwidth resources are insufficient, and therefore the content cannot be delivered to the client terminal 90. At this time, information indicating that the content cannot be delivered (e.g., error information, etc.) may be transmitted to the client terminal 90.
[0075] When it is determined in step S212 that the bandwidth allocation is completed, the control unit 202 controls the start of encoding the content related to the viewing request (step S215). That is, the control unit 202 transmits a content distribution request including the encoding parameters, which are the image quality (bit rate and resolution) of the content related to the viewing request, to the server control device 20. The content distribution request also includes, for example, the content ID, stability, and communication information (IP addresses of the distribution source and distribution destination). As a result, the server control device 20 controls the encoding server 50, a session is established between the encoding server 50 and the client terminal 90 that has made the viewing request, and encoding of the content is started on the encoding server 50 according to the encoding parameters.
[0076] Next, the control unit 202 creates bandwidth allocation information for the session between the encoding server 50 and the client terminal 90 that has made the viewing request, and stores the information in the storage unit 204 (step S216).
[0077] Then, the control unit 202 refers to the bandwidth allocation information and distribution requirement information stored in the storage unit 204, and controls the image quality of all the client terminals 90 to which the content of the content provider 80 that provides the content related to the viewing request is distributed (step S217). That is, the control unit 202 transmits to the terminal control device 40 client control information for playing back the content at the image quality (bit rate and resolution) corresponding to the allocated bandwidth according to the allocated bandwidth of the bandwidth allocation information including the content ID of the content provider 80. In this way, the image quality of the content played back by each client terminal 90 is controlled by the terminal control device 40. An example of the client control information is shown in FIG. 14. The client control information shown in FIG. 14 is information for controlling the image quality of the content ID "1" to "5Mbps (1080p / low compression)". Note that the client control information may include information (for example, an IP address, a client ID, etc.) indicating the client terminal 90 to which the client control information is to be transmitted.
[0078] As described above, when the video distribution control device 10 according to the present embodiment receives a viewing request from the client terminal 90, it determines the image quality based on the distribution requirements of the content related to the viewing request so as to satisfy the distribution requirements. At this time, it is also possible to change the image quality of the content distributed in the existing session so as to satisfy the distribution requirements, or to increase the bandwidth resource. This enables content distribution that satisfies the distribution requirements desired by the content provider 80, compared to the case where existing general video distribution is performed under the same bandwidth resource environment. That is, for example, content that requires stable distribution is stably distributed, and content that requires high image quality is distributed in high image quality, and so on, so that content distribution that satisfies the distribution requirements desired by the content provider 80 is performed, and as a result, it is possible to improve the service level and viewing quality.
[0079] The present invention is not limited to the above-described embodiments specifically disclosed, and various modifications, changes, combinations with known technologies, etc. are possible without departing from the scope of the claims. [Explanation of symbols]
[0080] 10 Video distribution control device 20 Server control device 30 Network control device 40 Terminal control device 50 Encoding Server 60 Network 70 Distribution Platform 80 Content Providers 90 Client Terminals 101 Input Device 102 Display device 103 External I / F 103a Recording media 104 Communication I / F 105 processors 106 Memory Device 107 Bus 201 Registration Department 202 Control section 203 Bandwidth information acquisition unit 204 Storage section
Claims
1. a determination unit that, when receiving a request to view video content from a client terminal, determines whether or not the video content can be delivered with a quality that satisfies a delivery requirement of the video content and a utilization status of a bandwidth resource of a network; an optimization unit that optimizes a usage state of the bandwidth resource when it is determined that the video content can not be distributed with a quality that satisfies the distribution requirements; a resource allocation unit that allocates bandwidth resources for delivering the video content at the quality that satisfies the delivery requirements when it is determined that the video content can be delivered at the quality that satisfies the delivery requirements; having The determination unit is When the utilization status of the bandwidth resource is optimized, determining whether or not the video content can be delivered with a quality that satisfies the delivery requirements based on the delivery requirements and the optimized utilization status of the bandwidth resource; The optimization unit is extracting a session that satisfies a distribution requirement for the video content and is capable of lowering the quality of the video content from among the sessions in which the video content is being distributed; Lowering the quality of the video content delivered in the session that has the longest elapsed time since the start of delivery among the extracted sessions, This optimizes the usage of the bandwidth resources.
2. The delivery requirements define a number of qualities, The determination unit is A video distribution control device as described in claim 1, which, if it is not determined that the video content can be distributed at a certain quality defined in the distribution requirements after the utilization status of the bandwidth resources has been optimized, determines whether the video content can be distributed at a quality that is one level lower than the certain quality among multiple qualities defined in the distribution requirements.
3. The determination unit is if it is not determined that the video content can be distributed at a quality level that is one level lower than the first quality level, determining whether or not it is possible to increase available bandwidth resources based on contract information with a provider of the video content; The resource allocation unit, The video distribution control device according to claim 2 , further comprising: when it is determined that the available bandwidth resource can be increased, the available bandwidth resource is added.
4. The optimization unit is A video distribution control device as described in any one of claims 1 to 3, which optimizes utilization of bandwidth resources by repeating extraction of the session and lowering the quality of the video content distributed in the session that has been distributed the longest since the start of the distribution until bandwidth resources available for allocating the video content related to the viewing request are generated, or until no session that satisfies the distribution requirements of the video content and can lower the quality of the video content is extracted.
5. The video distribution control device according to claim 1 , wherein the distribution requirements are notified by a provider of the video content.
6. a determination step of, when a request to view video content is received from a client terminal, determining whether or not the video content can be delivered with a quality that satisfies a delivery requirement based on a delivery requirement of the video content and a utilization status of a bandwidth resource of a network; an optimization procedure for optimizing the utilization status of the bandwidth resources when it is determined that the video content can not be distributed with a quality that satisfies the distribution requirements; a resource allocation step of allocating bandwidth resources for delivering the video content at the quality that satisfies the delivery requirements, when it is determined that the video content can be delivered at the quality that satisfies the delivery requirements; The computer executes The determination procedure includes: When the utilization status of the bandwidth resource is optimized, determining whether or not the video content can be delivered with a quality that satisfies the delivery requirements based on the delivery requirements and the optimized utilization status of the bandwidth resource; The optimization procedure comprises: extracting a session that satisfies a distribution requirement for the video content and is capable of lowering the quality of the video content from among the sessions in which the video content is being distributed; Lowering the quality of the video content delivered in the session that has the longest elapsed time since the start of delivery among the extracted sessions, This optimizes the usage of the bandwidth resources.
7. A program for causing a computer to function as the video distribution control device according to any one of claims 1 to 5.
Citation Information
Patent Citations
Control system for reception of request for download of streaming content
JP2004289627A
Content distribution system
JP2007274111A
Intelligence resource management concept
JP2014533003A
Network control device, network control method and program
JP2020028043A