WO2023275969A1 - データ中継装置、配信システム、データ中継方法、及びコンピュータ可読媒体 - Google Patents

データ中継装置、配信システム、データ中継方法、及びコンピュータ可読媒体 Download PDF

Info

Publication number
WO2023275969A1
WO2023275969A1 PCT/JP2021/024478 JP2021024478W WO2023275969A1 WO 2023275969 A1 WO2023275969 A1 WO 2023275969A1 JP 2021024478 W JP2021024478 W JP 2021024478W WO 2023275969 A1 WO2023275969 A1 WO 2023275969A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
relay device
client terminal
upload
moving image
Prior art date
Application number
PCT/JP2021/024478
Other languages
English (en)
French (fr)
Inventor
有 向谷地
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2021/024478 priority Critical patent/WO2023275969A1/ja
Priority to JP2023531180A priority patent/JPWO2023275969A5/ja
Publication of WO2023275969A1 publication Critical patent/WO2023275969A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing

Definitions

  • the present disclosure relates to a data relay device, distribution system, data relay method, and computer-readable medium.
  • ABR adaptive bitrate
  • HLS HTTP (Hypertext Transfer Protocol) Live Streaming
  • MPEG-DASH Motion Picture Experts Group-Dynamic Adaptive Streaming over HTTP
  • the image quality of video data is automatically changed according to the processing power, resolution, line speed, etc. of a client terminal (client, hereinafter referred to as CL), such as a mobile phone, so that CL can be used comfortably.
  • Video data can be viewed.
  • the video data is divided into segments every several seconds to several tens of seconds, and the video data of multiple image qualities is sent to a distribution server (origin server, hereinafter referred to as OS). ) are prepared in advance.
  • the CL selects the segment to be acquired and the image quality according to the viewing environment, and requests the moving image data from the OS.
  • the HTTP protocol is used when the CL requests moving image data from the OS.
  • the CL designates a segment and image quality in request data (HTTP request packet) using the HTTP protocol, transmits the request data to the OS, and acquires moving image data from the OS as response data.
  • Fig. 1 shows an example of temporal changes in the image quality of ABR video data.
  • the horizontal axis is time
  • the vertical axis is image quality of moving image data.
  • CL selects a segment with a quality of 1080p between 00:00 and 00:10, and a segment with a quality of 480p between 00:10 and 00:20.
  • segments with an image quality of 720p are selected.
  • FIG. 2 shows an example of chronological changes in the amount of data received by the CL from the OS.
  • the horizontal axis is time and the vertical axis is data amount.
  • the state of the network between the CL and the OS is observed, and the appropriate video image quality and audio quality suitable for the viewing environment are determined. Also, in order to buffer enough video data to start playing the video data on the CL side, the OS sends video data in bursts.
  • the CL performs the following steps according to the progress of video data playback so that the video data buffered on the CL will not run out.
  • Divided moving image data are acquired from the OS at regular time intervals.
  • the buffering phase when playback of moving image data is started, the buffering phase is first started, and then the stabilization phase is entered. Also, after shifting to the stable phase, the buffering phase may be shifted again.
  • This rebuffering is referred to as rebuffering.
  • the CL side needs to download new video data, which causes re-buffering.
  • a factor that causes rebuffering on the CL side is called a rebuffering event.
  • the CL selects an image quality that matches the transmission bit rate according to the ABR mechanism. In this manner, the image quality of moving image data distributed from the OS to the CL is changed.
  • FIG. 3 shows a sequence diagram for explaining an example of traffic optimization of ABR video data by a data relay device.
  • the CL 10 transmits to the OS 20 request data requesting moving image data (request data specifying image quality, segments, etc., using the HTTP protocol) (step S11).
  • the data relay device 30 transfers the request data from the CL 10 to the OS 20 (step S12).
  • the OS 20 transmits the moving image data (segment of the designated image quality) requested by the CL 10 as response data to the CL 10 (step S13).
  • the data relay device 30 transmits the video data to the CL 10 while controlling the transmission bit rate of the video data from the OS 20 (step S14). For example, when the network is congested, the transmission bit rate of the moving image data transmitted from the data relay device 30 to the CL 10 is lowered to cause the CL 10 to select low-quality moving image data by the ABR mechanism. As a result, the amount of moving image data distributed from the OS 20 is reduced, thereby alleviating network congestion.
  • Such transmission bit rate control is referred to as pacing, shaping, or throttling, hereinafter referred to as pacing.
  • the CL 10 selects the image quality according to the transmission bit rate of the video data in step S14 using the ABR mechanism. Assume here that the CL 10 selects a lower image quality (smaller amount of data). In this case, CL 10 transmits request data requesting video data with lower image quality to OS 20 (step S15), and data relay device 30 transfers the request data from CL 10 to OS 20 (step S16).
  • the OS 20 transmits the lower image quality video data requested by the CL 10 to the CL 10 as response data (step S17).
  • the data relay device 30 transmits the video data of lower image quality from the OS 20 to the CL 10 (step S18). As a result, the image quality of moving image data distributed from the OS 20 to the CL 10 changes to a lower image quality.
  • the transmission bit rate is determined according to the target image quality of the moving image data.
  • the download speed of the moving image data (hereinafter referred to as DL) becomes faster even if the image quality is the same.
  • FIG. 4 shows an example of the current transmission bit rate of video data transmitted from the data relay device 30 to the CL 10 during pacing.
  • the horizontal axis is time
  • the vertical axis is the transmission bit rate of moving image data.
  • the data relay device 30 performs pacing at the same transmission bit rate (normal distribution rate in the figure) even if the CL 10 reproduces at double speed with the same image quality.
  • the transmission bit rate from the data relay device 30 is lower than the distribution rate required for double-speed reproduction of moving image data, the transmission bit rate is insufficient.
  • the DL cannot catch up, stopping the reproduction of the moving image data and degrading the image quality, thereby degrading the QoE (Quality of Experience) experienced by the user.
  • the data relay device 30 determines whether or not the video data is being reproduced at double speed on CL 10, and if it is being reproduced at double speed, the data is transmitted to CL 10. It is necessary to change the transmission bit rate of the moving image data.
  • FIG. 5 shows an example of an ideal transmission bit rate of video data transmitted from the data relay device 30 to the CL 10 during pacing.
  • the horizontal axis and vertical axis are the same as in FIG.
  • the data relay device 30 increases the transmission bit rate of the moving image data to be transmitted to the CL 10 when it can be determined that the moving image data is being reproduced at double speed on the CL 10 .
  • the DL can catch up with the double-speed playback, so it is possible to optimize the traffic while preventing deterioration of QoE.
  • the data relay device 30 determines whether or not the video data is being reproduced at double speed on the CL 10 .
  • the reason for this is that recent video data is encrypted by, for example, TLS (Transport Layer Security), and the data relay device 30 refers to the contents of the video data (metadata such as header information and the video data itself). because it cannot.
  • the data relay device 30 can only acquire upload data transmitted from the CL 10 to the OS 20 and response data (moving image data) transmitted from the OS 20 to the CL 10 depending on the data size and flow rate (bit rate) of these data. Only. It is difficult for the data relay device 30 to determine double-speed reproduction from these limited information.
  • an object of the present disclosure is to solve the above-described problems, and to provide a data relay device, a distribution system, a data relay method, and a data relay device that can determine whether video data is being reproduced at double speed on a client terminal.
  • the object is to provide a computer-readable medium.
  • a data relay device includes: A data relay device disposed between a client terminal and a distribution server for distributing video data, and configured to transmit video data distributed from the distribution server to the client terminal, a first determination unit that receives upload data transmitted from the client terminal to the distribution server and determines whether or not the upload data is predetermined upload data based on a data size of the upload data; a second determination unit that determines whether or not the video data is being reproduced at double speed on the client terminal based on the determined transmission interval of the predetermined upload data; Prepare.
  • a distribution system includes: a client terminal, a distribution server that distributes video data; the data relay device; Prepare.
  • a data relay method includes: A data relay method by a data relay device that is arranged between a client terminal and a distribution server that distributes moving image data and that transmits moving image data distributed from the distribution server to the client terminal, a receiving step of receiving upload data transmitted from the client terminal to the distribution server; a first determination step of determining whether the upload data is predetermined upload data based on the data size of the upload data; a second determination step of determining whether or not the video data is being reproduced at double speed on the client terminal based on the determined transmission interval of the predetermined upload data; including.
  • a computer-readable medium comprises: A computer that is placed between a client terminal and a distribution server that distributes video data and that transmits video data distributed from the distribution server to the client terminal, a reception procedure for receiving upload data transmitted from the client terminal to the distribution server; a first determination procedure for determining whether or not the upload data is predetermined upload data based on the data size of the upload data; a second determination procedure for determining whether or not the video data is being reproduced at double speed on the client terminal based on the determined transmission interval of the predetermined upload data; is a non-transitory computer-readable medium storing a program for executing
  • FIG. 5 is a diagram illustrating an example of temporal change in image quality of ABR moving image data
  • FIG. 10 is a diagram illustrating an example of time-series changes in the amount of data received by the CL from the OS
  • FIG. 10 is a sequence diagram illustrating an example of traffic optimization of ABR video data by a data relay device
  • FIG. 10 is a diagram illustrating an example of the current transmission bit rate of video data transmitted from the data relay device to the CL during pacing
  • FIG. 10 is a diagram illustrating an example of an ideal transmission bit rate of video data transmitted from the data relay device to the CL during pacing
  • FIG. 3 is a diagram illustrating an example in which a data relay device terminates TCP/UDP communication
  • FIG. 4 is a diagram illustrating an example in which a data relay device does not terminate TCP/UDP communication;
  • FIG. 10 is a sequence diagram illustrating an example of a sequence when moving image data is transmitted and received between the CL and the OS;
  • FIG. 4 is a diagram illustrating an example of a protocol stack of moving image data of ABR;
  • FIG. 10 is a diagram illustrating an example of a graph obtained by observing request data from the CL when the same moving image data with the same image quality is reproduced at different reproduction speeds on the CL;
  • FIG. 10 is a diagram illustrating an example of a graph obtained by observing request data from the CL when the same moving image data with the same image quality is reproduced at different reproduction speeds on the CL;
  • FIG. 10 is a diagram illustrating an example of a graph obtained by observing request data from the CL when the same moving image data with the same image quality is reproduced at different reproduction speeds on the CL;
  • FIG. 10 is a sequence diagram illustrating an example of a sequence when moving image data is
  • FIG. 10 is a diagram illustrating an example of a graph obtained by observing request data from the CL when the same moving image data with the same image quality is reproduced at different reproduction speeds on the CL;
  • 2 is a block diagram showing a configuration example of a data relay device according to Embodiment 1;
  • FIG. 4 is a diagram for explaining an operation example of the data relay device according to Embodiment 1;
  • FIG. 4 is a flow chart for explaining an operation example of the data relay device according to Embodiment 1;
  • FIG. FIG. 9 is a block diagram showing a configuration example of a data relay device according to Embodiment 2;
  • FIG. 12 is a block diagram showing a hardware configuration example of a data relay device according to Embodiment 3;
  • the data relay device 30A analyzes the data size and transmission interval of upload data transmitted from the CL 10 to the OS 20 to determine whether double-speed playback of ABR video data is being performed on the CL 10.
  • the data size and transmission interval of the upload data are information that can also be acquired by the data relay device 30A.
  • This proposed method is effective regardless of whether the ABR video data is encrypted or not, because it determines double-speed playback from information that can also be obtained by the data relay device 30A.
  • the proposed method is effective not only for TCP (Transmission Control Protocol) but also for UDP (User Datagram Protocol) (QUIC (Quick UDP Internet Connections), etc.) as a video protocol.
  • the proposed method is effective regardless of whether TCP/UDP communication is terminated by the data relay device 30A.
  • FIG. 6 shows an image example when the data relay device 30A terminates TCP/UDP communication.
  • the data relay device 30A terminates the TCP/UDP communication
  • separate communication is performed between the CL 10 and the data relay device 30A and between the data relay device 30A and the OS 20. Communication takes place in a TCP session. That is, when communicating with the CL 10 and the OS 20, the data relay device 30A creates a TCP session for each.
  • FIG. 7 shows an image example when the data relay device 30A does not terminate the TCP/UDP communication.
  • the CL 10 exchanges data with the OS 20 through a direct TCP session, and the data relay device 30A transfers the data. is only forwarded. That is, the CL 10 and the OS 20 directly communicate in one TCP session, and the data relay device 30A transfers data.
  • Upload data transmitted from the CL 10 to the OS 20 during playback of ABR moving image data can be broadly classified into two types.
  • request data HTTP request packet
  • acknowledgment data ACK (ACKnowledgement) packet
  • FIG. 8 shows a sequence of transmission/reception of moving image data between the CL 10 and the OS 20. As shown in FIG. As shown in FIG. 8, first, a session is established between the CL 10 and the OS 20 via the data relay device 30A (step S21).
  • the CL 10 transmits request data (HTTP request packet) for requesting video data to be acquired to the OS 20 (step S22).
  • the data relay device 30A transfers the request data from the CL 10 to the OS 20 (step S23).
  • the OS 20 Upon receiving the request data from CL 10 via the data relay device 30A, the OS 20 transmits the video data requested from CL 10 to CL 10 as response data (HTTP response) to the request data (step S24). Next, the data relay device 30A transfers the video data from the OS 20 to the CL 10 (step S25).
  • the CL 10 Upon receiving the video data from the OS 20 via the data relay device 30A, the CL 10 transmits acknowledgment data (ACK packet) to the OS 20 to notify that the video data has been received (step S26). Next, the data relay device 30A transfers the acknowledgment data from the CL 10 to the OS 20 (step S27). Thereafter, steps S28-S31 similar to steps S24-S27 are continuously performed until the session is disconnected.
  • ACK packet acknowledgment data
  • the data relay device 30A transfers the acknowledgment data from the CL 10 to the OS 20 (step S27).
  • the OS 20 confirms that the video data has been transmitted to the CL 10 by receiving confirmation response data from the CL 10 via the data relay device 30A.
  • This operation is an operation for ensuring the reliability of TCP communication. This operation is performed not only for communication by TCP/IP (Internet Protocol), but also for QUIC traffic that operates on the protocol stack of UDP/IP, which has been on the rise in recent years.
  • FIG. 9 shows an example of a protocol stack for ABR video data.
  • the QUIC protocol uses UDP instead of TCP.
  • the QUIC protocol provides functions such as retransmission control, congestion control, and loss recovery, which are equivalent to TCP functions. ) is sent.
  • HTTP protocol controls the acquisition and distribution of moving images.
  • the data size of request data (HTTP request packet) by ABR is relatively large.
  • the data size of acknowledgment data (ACK packet) in TCP or QUIC protocol is smaller than that of request data (HTTP request packet).
  • request data HTTP request packet
  • acknowledgment data ACK packet
  • request data includes information such as the image quality and segments of the video data to be acquired. Therefore, the data size of one request data is at least several hundred bytes or more.
  • the acknowledgment data does not contain complicated information, and its data size is sufficiently smaller than that of the request data (about 100 bytes).
  • the data relay device 30A determines whether the upload data is request data or acknowledgment data based on the data size of the upload data transmitted from the CL 10 to the OS 20. Note that this method can be applied regardless of whether the upload data is encrypted or not.
  • the data relay device 30A determines the request data by the method described above, and then determines whether or not the CL 10 is performing double-speed playback based on the transmission interval at which the request data is transmitted from the CL 10 to the OS 20.
  • 10 to 12 show graphs of observed request data from the CL 10 when the CL 10 reproduces the same video data with the same image quality at different reproduction speeds.
  • the horizontal axis is time
  • the vertical axis is the data size of request data. 10 shows request data for playback at 1 ⁇ speed
  • FIG. 11 shows request data for playback at 1.5 ⁇ speed
  • FIG. 12 shows request data for playback at 2 ⁇ speed. showing.
  • the transmission interval of request data from the CL 10 is the longest during playback at 1 ⁇ speed (FIG. 10) and the shortest during playback at 2 ⁇ speed (FIG. 12). . From this, it can be seen that the request data is transmitted from the CL 10 at shorter intervals as the double speed reproduction speed increases.
  • the data relay device 30A determines whether or not the CL 10 is performing double-speed reproduction based on the transmission interval of the request data from the CL 10.
  • FIG. 13 shows a configuration example of the data relay device 30A according to the first embodiment.
  • the data relay device 30A according to the first embodiment is arranged between a CL (Client) 10 and an OS (Origin Server) 20 .
  • a distribution system is configured by the CL 10, the OS 20, and the data relay device 30A shown in FIG.
  • Different networks are connected between the CL 10 and the data relay device 30A, and between the data relay device 30A and the OS 20, respectively.
  • the CL 10 and the data relay device 30A are connected via a wireless network
  • the data relay device 30A and the OS 20 are connected via a wired network.
  • the combination of networks is not limited to this, and other combinations may be used.
  • the CL 10 is a client terminal that requests the OS 20 to transmit moving image data and receives moving image data distributed as a response to the request.
  • Specific examples of the CL 10 include mobile phones including smartphones, tablet terminals, personal computers, televisions with network connection functions, and the like.
  • the OS 20 is a distribution server that distributes video data in response to requests from the CL 10 .
  • the data relay device 30A is a device that relays communication between the CL 10 and the OS 20 and applies traffic optimization processing.
  • the data relay device 30A according to the first embodiment includes a communication processing unit 301, an ABR moving image determination unit 302, a double speed reproduction determination unit 303, a determination threshold database 304, an optimization application unit 305, an optimization policy database 306 and.
  • the communication processing unit 301 is responsible for relaying communication within the data relay device 30A.
  • the communication processing unit 301 corresponds to an application that operates as a proxy (proxy server) for the OS 20.
  • FIG. 1 A proxy server
  • the ABR moving image determination unit 302 determines whether communication between the CL 10 and the OS 20 is communication related to distribution of ABR moving image data. judge. For example, the ABR moving image determination unit 302 determines whether or not communication is related to distribution of ABR moving image data, based on IP address information, data size information, and the like included in the header information. However, the determination method is not limited to this.
  • the double-speed playback determination unit 303 observes the upload data transmitted from the CL 10 to the OS 20, and determines whether or not the CL 10 is performing double-speed playback of the video data based on the data size and transmission interval of the upload data. Specifically, the double-speed playback determining unit 303 determines whether or not the upload data is request data based on the data size of the upload data, and double-speed playback is performed based on the transmission interval of the request data. Determine whether or not
  • the details of the operation of the double-speed reproduction determination unit 303 are as follows. That is, the double-speed reproduction determining unit 303 observes the communication determined by the ABR moving image determining unit 302 to be communication related to distribution of ABR moving image data. Based on the data size of the upload data transmitted from the CL 10 to the OS 20, the double-speed reproduction determination unit 303 determines whether or not the upload data is request data.
  • the double-speed playback determining unit 303 passes the information of the OS 20 as key information to the determination threshold database 304, and acquires the threshold of the transmission interval of the request data for determining the double-speed playback for the OS 20. Then, the double-speed playback determining unit 303 compares the transmission interval of the request data from the CL 10 with the threshold acquired from the determination threshold database 304, thereby determining whether or not the CL 10 is performing double-speed playback. When it is determined that double-speed playback is being performed, the playback speed of double-speed playback is also determined.
  • the double-speed reproduction determining unit 303 acquires a plurality of thresholds for the OS 20 from the determination threshold database 304, and determines which of the plurality of ranges divided by the plurality of thresholds the transmission interval of the request data from the CL 10. Depending on whether or not it belongs to the range, it may be determined whether or not the CL 10 is performing double-speed playback, or the playback speed may be determined.
  • the double-speed playback determination unit 303 determines that CL10 is performing double-speed playback, it notifies the optimization application unit 305 of the playback speed of double-speed playback.
  • the determination threshold database 304 stores, for each OS 20, a threshold of the transmission interval of request data for determining double-speed reproduction.
  • the determination threshold database 304 receives the information of the OS 20 as key information when receiving an inquiry from the double-speed reproduction determination unit 303, and returns the threshold for the OS 20.
  • the judgment threshold database 304 may store a plurality of thresholds for each OS 20 and return the plurality of thresholds for the OS 20 in response to an inquiry from the double-speed reproduction judgment unit 303 .
  • the optimization applying unit 305 receives from the communication processing unit 301 moving image data, which is response data from the OS 20, and performs traffic optimization processing for controlling the transmission bit rate on the moving image data.
  • the optimization application unit 305 passes information on communication (IP addresses of the CL 10 and OS 20, etc.) performed between the CL 10 and the OS 20 as key information to the optimization policy database 306, and Query the optimization policy to apply to . Further, when the optimization application unit 305 receives a notification of the playback speed for double-speed playback from the double-speed playback determination unit 303, the optimization application unit 305 stores the above-described communication information and the playback speed for double-speed playback for the optimization policy database 306. Query the optimization policy, passing information as key information.
  • the optimization application unit 305 acquires the optimization policy from the optimization policy database 306 as a query result. This optimization policy also includes information on the transmission bit rate of ABR video data. The optimization applying unit 305 performs traffic optimization processing for video data based on the optimization policy acquired from the optimization policy database 306 .
  • the optimization policy database 306 responds to an inquiry from the optimization application unit 305 that includes information on communication being performed between the CL 10 and the OS 20 (IP addresses of the CL 10 and the OS 20, etc.), and applies it to the communication. An optimization policy is determined, and the determined optimization policy is returned to the optimization applying unit 305 . Further, when the optimization application unit 305 receives a notification of the playback speed for double-speed playback from the double-speed playback determination unit 303, the optimization policy database 306 receives the above-described communication information and the double-speed playback from the optimization application unit 305. The optimization policy to be applied to the communication is determined in response to the inquiry including the playback speed of playback, and the determined optimization policy is returned to the optimization application unit 305 .
  • FIGS. 14 and 15 show diagrams for explaining an operation example of the data relay device 30A according to the first embodiment.
  • symbol is attached
  • the communication processing unit 301 when the communication processing unit 301 receives request data (HTTP request packet) for video data from the CL 10 (step S41), the communication processing unit 301 performs communication between the CL 10 and the OS 20. information (IP addresses of CL 10 and OS 20, etc.) to the ABR moving image determination unit 302 (step S42).
  • request data HTTP request packet
  • the communication processing unit 301 performs communication between the CL 10 and the OS 20.
  • information IP addresses of CL 10 and OS 20, etc.
  • the ABR moving image determination unit 302 determines whether or not communication between the CL 10 and the OS 20 is related to distribution of ABR moving image data. Determine (step S43). For example, when the ABR moving image determination unit 302 identifies that the destination of the request data is the OS based on the destination IP address included in the header information of the request data, communication related to distribution of ABR moving image data is performed. You can judge that. Further, when the ABR moving image determination unit 302 determines that the communication is related to distribution of ABR moving image data, the ABR moving image determination unit 302 determines that the response data (moving image data) transmitted from the OS 20 to the CL 10 is subject to traffic optimization.
  • the ABR moving image determination unit 302 may perform similar determination when receiving response data (moving image data) from the OS 20 in step S48, which will be described later, as well as upload data from the CL 10. For example, when the ABR moving image determination unit 302 identifies that the transmission source of the response data is the OS based on the transmission source IP address included in the header information of the response data, the ABR moving image determination unit 302 determines whether communication related to distribution of ABR moving image data is performed. It may be determined that
  • the ABR moving image determination unit 302 returns to the communication processing unit 301 the determination result as to whether or not the communication between the CL 10 and the OS 20 is related to the distribution of ABR moving image data (step S43). . Further, when the ABR moving image determination unit 302 determines that the communication is related to the distribution of ABR moving image data, the response data (moving image data) transmitted from the OS 20 to the CL 10 is subject to traffic optimization. , to the communication processing unit 301 .
  • the communication processing unit 301 operates the double-speed playback determination unit 303 (step S44).
  • the double-speed playback determining unit 303 passes the information of the OS 20 as key information to the determination threshold database 304, and acquires the threshold of the transmission interval of the request data for determining the double-speed playback for the OS 20 (step S45). .
  • the double-speed playback determining unit 303 observes communication determined by the ABR moving image determining unit 302 to be communication related to distribution of ABR moving image data, and determines whether the upload data is request data based on the data size of the upload data. It is determined whether or not. If the double-speed playback determining unit 303 determines that the requested data is requested data, the double-speed playback determining unit 303 compares the transmission interval of the request data with the threshold acquired from the determination threshold database 304 in step S45. If it is determined that double-speed playback is being performed, the playback speed of double-speed playback is also determined.
  • the double-speed playback determination unit 303 determines that double-speed playback is being performed in CL10, it notifies the optimization application unit 305 of the playback speed of double-speed playback (step S46).
  • the communication processing unit 301 transfers the request data from the CL 10 to the OS 20 (step S47). Note that when the ABR moving image determination unit 302 determines that the communication is not communication related to distribution of ABR moving image data, the communication processing unit 301 does not operate the double-speed playback determination unit 303, and receives the request from the CL 10. Data is transferred to the OS 20 (step S47).
  • the communication processing unit 301 receives response data (video data) corresponding to the request data of CL10 from the OS20 (step S48).
  • the communication processing unit 301 optimizes the response data (moving image data). It is passed to the application unit 305 (step S49).
  • the optimization applying unit 305 passes the information of communication (IP address of CL 10 and OS 20, etc.) performed between the CL 10 and the OS 20 as key information to the optimization policy database 306, and applies Query the optimization policy applied by Further, when the optimization application unit 305 receives a notification of the playback speed for double-speed playback from the double-speed playback determination unit 303, the optimization application unit 305 stores the above-described communication information and the playback speed for double-speed playback for the optimization policy database 306. Query the optimization policy, passing information as key information.
  • the optimization policy database 306 determines an optimization policy to be applied to communication between the CL 10 and the OS 20 in response to an inquiry from the optimization application unit 305, and applies the determined optimization policy for optimization. It is returned to the unit 305 (step S50).
  • This optimization policy also includes information on the transmission bit rate of the response data (video data).
  • the optimization application unit 305 performs traffic optimization processing for controlling the transmission bit rate on the response data (moving image data) based on the optimization policy acquired from the optimization policy database 306, and performs the traffic optimization processing.
  • the implemented moving image data is returned to the communication processing unit 301 (step S51).
  • the communication processing unit 301 transmits the moving image data returned from the optimization applying unit 305 to the CL 10 (step S52). Note that when the ABR moving image determination unit 302 determines that the response data (moving image data) from the OS 20 is not subject to traffic optimization, the communication processing unit 301 applies optimization to the response data (moving image data). It is transmitted to the CL 10 as it is without passing it to the unit 305 (step S52).
  • double-speed playback determination unit 303 optimizes the playback speed of double-speed playback. is notified (step S46).
  • the optimization application unit 305 performs traffic optimization processing based on the optimization policy for double-speed playback (step S50).
  • the data relay device 30A determines whether or not the upload data transmitted from the CL 10 to the OS 20 is request data based on the data size of the upload data. Based on the transmission interval of , it is determined whether or not the CL 10 is reproducing the video data at double speed.
  • the data size and transmission interval of the upload data are information that can also be obtained by the data relay device 30A. Therefore, the data relay device 30A can determine whether or not the CL 10 is performing double-speed reproduction of moving image data from information that can be acquired by the data relay device 30A.
  • the data relay device 30A can determine double-speed playback, when CL 10 determines that video data is being played back at double speed, for example, as shown in FIG. It is possible to implement traffic optimization processing such as increasing the transmission bit rate of This makes it possible to optimize traffic while preventing QoE deterioration during double-speed playback of video data on the CL 10 .
  • FIG. 16 shows a configuration example of the data relay device 30B according to the second embodiment. It should be noted that the second embodiment corresponds to an embodiment in which the first embodiment described above is generalized.
  • the data relay device 30B is arranged between a CL (client terminal) 10 and an OS (distribution server) 20 that distributes video data. It is a device that transmits distributed video data to the CL 10 .
  • the data relay device 30B includes a first determination section 311 and a second determination section 312.
  • the first determination unit 311 and the second determination unit 312 correspond to a combination of the communication processing unit 301 and the double-speed playback determination unit 303 according to Embodiment 1 described above.
  • the first determination unit 311 receives upload data transmitted from the CL 10 to the OS 20, and determines whether or not the upload data is predetermined upload data based on the data size of the upload data.
  • the second determination unit 312 determines, based on the predetermined transmission interval of upload data determined by the first determination unit 311, whether or not the CL 10 is reproducing video data at double speed.
  • the data relay device 30B determines whether or not the upload data is predetermined upload data. Based on the determined transmission interval of the predetermined upload data, it is determined whether or not the moving image data is being reproduced at double speed in the CL 10 .
  • the data size and transmission interval of the upload data are information that can also be obtained by the data relay device 30B. Therefore, the data relay device 30B can determine whether or not the CL 10 is performing double-speed reproduction of the moving image data from information that can be acquired by the data relay device 30B.
  • the data relay device 30B further includes a control unit that controls the transmission bit rate of moving image data to be transmitted to the CL 10 based on the determination result of double-speed playback by the second determination unit 312.
  • This control unit corresponds to a combination of the communication processing unit 301 and the optimization applying unit 305 according to the first embodiment described above.
  • the first determination unit 311 determines whether the upload data is request data for requesting video data or whether the video data has been received, based on the data size of the upload data transmitted from the CL 10 to the OS 20. You may determine whether it is the confirmation response data which notifies. Also, the predetermined upload data may be request data.
  • the second determination unit 312 determines that CL10 is performing double-speed playback of video data
  • the second determination unit 312 further reduces the playback speed of double-speed playback performed by CL10 based on the transmission interval of the request data. You can judge.
  • the control unit may control the transmission bit rate of moving image data to be transmitted to the CL 10 based on the determination result of the reproduction speed of double-speed reproduction by the second determination unit 312 .
  • FIG. 17 shows a hardware configuration example of the data relay device 30C according to the third embodiment.
  • the data relay device 30C according to the third embodiment includes a processor 321 and a memory 322. As shown in FIG. 17, the data relay device 30C according to the third embodiment includes a processor 321 and a memory 322. As shown in FIG. 17, the data relay device 30C according to the third embodiment includes a processor 321 and a memory 322. As shown in FIG. 17, the data relay device 30C according to the third embodiment includes a processor 321 and a memory 322. As shown in FIG.
  • the processor 321 may be, for example, a microprocessor, MPU (Micro Processing Unit), or CPU (Central Processing Unit). Processor 321 may include multiple processors.
  • the memory 322 is configured by a combination of volatile memory and non-volatile memory.
  • Memory 322 may include storage remotely located from processor 321 .
  • the processor 321 may access the memory 322 via an I (Input)/O (Output) interface (not shown).
  • the data relay devices 30A and 30B according to the first and second embodiments described above can have the hardware configuration shown in FIG.
  • a program is stored in the memory 322 .
  • This program is an instruction group (or software code) for causing the computer to perform one or more functions of the data relay devices 30A and 30B described in the first and second embodiments when read into the computer. )including.
  • the communication processing unit 301, the ABR moving image determination unit 302, the double speed playback determination unit 303, the optimization application unit 305, the first determination unit 311, and the second determination unit 312 in the data relay devices 30A and 30B described above are processors 321 may be implemented by reading and executing a program stored in memory 322 .
  • the determination threshold database 304 and the optimization policy database 306 in the data relay device 30A described above may be implemented by the memory 322 .
  • the above-described program may be stored in a non-transitory computer-readable medium or a tangible storage medium.
  • computer readable media or tangible storage media may include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drives (SSD) or other memory technology, CDs - ROM, digital versatile disc (DVD), Blu-ray disc or other optical disc storage, magnetic cassette, magnetic tape, magnetic disc storage or other magnetic storage device.
  • the program may also be transmitted on a transitory computer-readable medium or communication medium.
  • transitory computer readable media or communication media include electrical, optical, acoustic, or other forms of propagated signals.
  • the present disclosure is directed to TCP/UDP communication between CL and OS in mobile communication (cellular network), for example. It can be used for communication flow rate control.
  • the present disclosure can also be used for communication flow rate control targeting TCP/UDP communication through various access networks such as wireless LAN (Local Area Network), wired LAN, and optical fiber instead of cellular networks. .
  • wireless LAN Local Area Network
  • wired LAN Wireless Local Area Network
  • optical fiber instead of cellular networks.
  • CL client terminal
  • OS distributed server
  • 30A, 30B, 30C data relay device
  • communication processing unit 302
  • ABR moving image determination unit 303 double speed playback determination unit
  • determination threshold database 305
  • optimization application unit 306 optimization policy database 311 first determination unit 312 second determination unit 321 processor 322 memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本開示は、CL(10)と、動画データを配信するOS(20)と、の間に配置され、OS(20)から配信された動画データをCL(10)に送信するデータ中継装置(30B)に関する。本開示に係るデータ中継装置(30B)は、CL(10)からOS(20)に送信されるアップロードデータを受信し、そのアップロードデータのデータサイズに基づいて、そのアップロードデータが所定のアップロードデータであるか否かを判定する第1の判定部(311)と、所定のアップロードデータの送信間隔に基づいて、CL(10)で動画データの倍速再生が行われているか否かを判定する第2の判定部(312)と、を備える。

Description

データ中継装置、配信システム、データ中継方法、及びコンピュータ可読媒体
 本開示は、データ中継装置、配信システム、データ中継方法、及びコンピュータ可読媒体に関する。
 近年、動画配信の方式として、アダプティブビットレート(Adaptive Bitrate。以下、ABRと称す)を採用する動画配信サイトが増加している。ABRは、動画データを、視聴環境に合わせて、できるだけ高い画質でスムーズに再生できるようにするための動画配信技術である。動画配信に係る規格としては、複数の規格が存在する。代表的な規格としては、例えば、HLS(HTTP(Hypertext Transfer Protocol)Live Streaming)、MPEG-DASH(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP)等がある。
 ABRでは、携帯電話機等であるクライアント端末(クライアント(Client)。以下、CLと称す)の処理能力、解像度、回線速度等に応じて、動画データの画質を自動的に変更し、CLで快適な動画データの視聴を可能としている。動画データの画質を動的に変えるため、動画データは、数秒~数十秒ごとに、セグメントとして分割され、複数の画質の動画データが配信サーバ(オリジンサーバ(Origin Server)。以下、OSと称す)上に予め用意されている。CLは、視聴環境に合わせて、取得するセグメントと画質を選択して、OSに動画データをリクエストする。CLがOSに動画データをリクエストする際には、HTTPプロトコルが使われている。CLは、HTTPプロトコルを使用したリクエストデータ(HTTPリクエストパケット)にセグメントと画質を指定して、そのリクエストデータをOSに送信し、OSから、レスポンスデータとして、動画データを取得する。
 図1には、ABRの動画データの画質の時間変化の例が示されている。図1において、横軸は時間であり、縦軸は動画データの画質である。図1に示されるように、CLは、00:00~00:10の間は、画質が1080pのセグメントを選択し、00:10~00:20の間は、画質が480pのセグメントを選択し、00:20~00:30の間及び00:30~00:40の間は、画質が720pのセグメントを選択している。
 ABRの動画データの配信は、大きく2つのフェーズに分けられる。1つは、バッファリングフェーズ(buffering phase)であり、もう1つは、安定フェーズ(steady phase)である(図2)。図2には、CLが、OSから受信したデータ量の時系列変化の例が示されている。図2において、横軸は時間であり、縦軸はデータ量である。
 バッファリングフェーズでは、CLとOSとの間のネットワークの状態を観測し、視聴環境に合った適切な動画の画質及び音声の音質が決定される。また、CL側で動画データの再生を開始するのに十分な動画データをバッファリングするために、OSからバースト的に動画データが送られる。
 安定フェーズでは、バッファリングフェーズで動画の画質及び音声の音質が決定された後、CLは、動画データの再生の進み具合に応じて、CL上にバッファリングされた動画データが枯渇しないように、一定の時間間隔で、OSから分割された動画データ(セグメント)を取得する。
 図2に示されるように、CLにおいて、動画データの再生を開始する際は、まず、バッファリングフェーズが開始され、その後、安定フェーズに移行する。また、安定フェーズに移行した後、再度、バッファリングフェーズに移行する場合もある。この再度のバッファリングは、再バッファと称される。例えば、ネットワークの状態が変化し、ABRの仕組みにより画質が変更された場合には、CL側で動画データを新たにダウンロードする必要があり、再バッファが発生する。CL側で再バッファが発生する要因となるものは、再バッファイベントと称される。
 近年、動画配信サイトでは、動画コンテンツのジャンルの多様化が進み、エンターテインメント系だけではなく、ビジネスや教育をテーマに扱った動画コンテンツも増加している。そんな中、視聴時間を短縮して効率的に動画を視聴したいユーザのニーズに応えるため、動画データの再生速度を速める倍速再生に対応する動画配信サイトも増えている。
 その一方、近年の動画トラフィックの増加に伴い、無駄なトラフィックを抑制して通信帯域を削減するために、CLとOSとの間に配置されたデータ中継装置において、動画データの送信ビットレートをコントロールするトラフィック最適化の処理を行う関連技術が知られている(例えば、特許文献1を参照)。
 トラフィック最適化には、ABRの動画データの配信に対応するものも存在する。例えば、データ中継装置において、CLに送信するABRの動画データの送信ビットレートをコントロールすると、ABRの仕組みにより、その送信ビットレートに合わせた画質がCLで選択される。このようにして、OSからCLに配信される動画データの画質を変化させる。
 動画データの画質が高ければデータ量も大きく、動画データの画質が低ければデータ量も小さい。そのため、ABRの動画データの送信ビットレートをコントロールすることで、動画データの画質をコントロールし、ネットワーク上に流れる動画データのデータ量もコントロールする。
 図3には、データ中継装置によるABRの動画データのトラフィック最適化の例を説明するシーケンス図が示されている。
 図3に示されるように、CL10は、動画データをリクエストするリクエストデータ(画質、セグメント等が指定された、HTTPプロトコルを使用したリクエストデータ)をOS20に送信する(ステップS11)。データ中継装置30は、CL10からのリクエストデータをOS20に転送する(ステップS12)。
 OS20は、CL10からリクエストされた動画データ(指定された画質のセグメント)を、レスポンスデータとして、CL10に送信する(ステップS13)。
 データ中継装置30は、OS20からの動画データの送信ビットレートをコントロールしつつ、動画データをCL10に送信する(ステップS14)。例えば、ネットワークが輻輳している場合には、データ中継装置30からCL10に送信する動画データの送信ビットレートを下げて、ABRの仕組みにより、CL10に低画質な動画データを選択させる。これにより、OS20から配信される動画データのデータ量を減らしてネットワークの輻輳を緩和する。このような送信ビットレートのコントロールは、ペーシング(pacing)、シェーピング(shaping)、又はスロットリング(throttling)と称されるが、以下では、ペーシングと称す。
 CL10は、ABRの仕組みにより、ステップS14の動画データの送信ビットレートに合わせた画質を選択する。ここでは、CL10は、より低い画質(小さいデータ量)を選択したとする。この場合、CL10は、より低い画質の動画データをリクエストするリクエストデータをOS20に送信し(ステップS15)、データ中継装置30は、CL10からのリクエストデータをOS20に転送する(ステップS16)。
 OS20は、CL10からリクエストされた、より低い画質の動画データを、レスポンスデータとして、CL10に送信する(ステップS17)。データ中継装置30は、OS20からの、より低い画質の動画データをCL10に送信する(ステップS18)。これにより、OS20からCL10に配信される動画データの画質は、より低い画質に変化する。
国際公開第2016/185998号
 ところで、図3に示されるようなペーシングの処理においては、動画データのターゲット画質に合わせて送信ビットレートを決定する。
 ただし、CL10で動画データを倍速再生する場合は、同じ画質でも動画データのダウンロード(download。以下、DLと称す)速度が速くなる。
 図4には、ペーシング時にデータ中継装置30からCL10へ送信される動画データの現状の送信ビットレートの例が示されている。図4において、横軸は時間であり、縦軸は動画データの送信ビットレートである。
 図4に示されるように、CL10で同じ画質で倍速再生されても、データ中継装置30が同じ送信ビットレート(図中の通常配信レート)でペーシングを行うと仮定する。この場合、動画データの倍速再生時に必要な配信レートに対して、データ中継装置30からの送信ビットレートは低くなるため、送信ビットレートが不足する。その結果、CL10では、DLが追い付かず、動画データの再生停止や画質の低下が発生し、ユーザが体感するQoE(Quality of Experience)が悪化してしまう。
 そのため、QoEの悪化を防止しつつ、トラフィックを最適化するには、データ中継装置30は、CL10で動画データが倍速再生されているか否かを判定し、倍速再生されていれば、CL10に送信する動画データの送信ビットレートを変化させる必要がある。
 図5には、ペーシング時にデータ中継装置30からCL10へ送信される動画データの理想的な送信ビットレートの例が示されている。図5において、横軸及び縦軸は図4と同様である。
 図5に示されるように、データ中継装置30は、CL10で動画データが倍速再生されていることを判定できた場合には、CL10に送信する動画データの送信ビットレートを上げる。これにより、CL10では、倍速再生にDLが追いつけるようになるため、QoEの悪化を防止しつつ、トラフィックを最適化することが可能となる。
 しかし、データ中継装置30では、CL10で動画データが倍速再生されているか否かを判定することは困難である。その理由は、近年の動画データは、例えば、TLS(Transport Layer Security)により暗号化されており、データ中継装置30は、動画データの内容(ヘッダ情報のようなメタデータや動画データ自体)を参照することができないためである。現状では、データ中継装置30が、CL10からOS20に送信されるアップロードデータや、OS20からCL10に送信されるレスポンスデータ(動画データ)について取得できるのは、これらデータのデータサイズや流量(ビットレート)のみである。データ中継装置30において、これらの限られた情報から倍速再生を判定することは困難である。
 そこで本開示の目的は、上述した課題を解決し、データ中継装置において、クライアント端末で動画データが倍速再生されているか否かの判定を可能とするデータ中継装置、配信システム、データ中継方法、及びコンピュータ可読媒体を提供することにある。
 一態様によるデータ中継装置は、
 クライアント端末と、動画データを配信する配信サーバと、の間に配置され、前記配信サーバから配信された動画データを前記クライアント端末に送信するデータ中継装置であって、
 前記クライアント端末から前記配信サーバに送信されるアップロードデータを受信し、前記アップロードデータのデータサイズに基づいて、前記アップロードデータが所定のアップロードデータであるか否かを判定する第1の判定部と、
 前記判定された前記所定のアップロードデータの送信間隔に基づいて、前記クライアント端末で前記動画データの倍速再生が行われているか否かを判定する第2の判定部と、
 を備える。
 一態様による配信システムは、
 クライアント端末と、
 動画データを配信する配信サーバと、
 前記データ中継装置と、
 を備える。
 一態様によるデータ中継方法は、
 クライアント端末と、動画データを配信する配信サーバと、の間に配置され、前記配信サーバから配信された動画データを前記クライアント端末に送信するデータ中継装置によるデータ中継方法であって、
 前記クライアント端末から前記配信サーバに送信されるアップロードデータを受信する受信ステップと、
 前記アップロードデータのデータサイズに基づいて、前記アップロードデータが所定のアップロードデータであるか否かを判定する第1の判定ステップと、
 前記判定された前記所定のアップロードデータの送信間隔に基づいて、前記クライアント端末で前記動画データの倍速再生が行われているか否かを判定する第2の判定ステップと、
 を含む。
 一態様によるコンピュータ可読媒体は、
 クライアント端末と、動画データを配信する配信サーバと、の間に配置され、前記配信サーバから配信された動画データを前記クライアント端末に送信するコンピュータに、
 前記クライアント端末から前記配信サーバに送信されるアップロードデータを受信する受信手順と、
 前記アップロードデータのデータサイズに基づいて、前記アップロードデータが所定のアップロードデータであるか否かを判定する第1の判定手順と、
 前記判定された前記所定のアップロードデータの送信間隔に基づいて、前記クライアント端末で前記動画データの倍速再生が行われているか否かを判定する第2の判定手順と、
 を実行させるためのプログラムが格納された非一時的なコンピュータ可読媒体である。
 上述の態様によれば、データ中継装置において、クライアント端末で動画データが倍速再生されているか否かの判定を可能とするデータ中継装置、配信システム、データ中継方法、及びコンピュータ可読媒体を提供できるという効果が得られる。
ABRの動画データの画質の時間変化の例を説明する図である。 CLが、OSから受信したデータ量の時系列変化の例を説明する図である。 データ中継装置によるABRの動画データのトラフィック最適化の例を説明するシーケンス図である。 ペーシング時にデータ中継装置からCLへ送信される動画データの現状の送信ビットレートの例を説明する図である。 ペーシング時にデータ中継装置からCLへ送信される動画データの理想的な送信ビットレートの例を説明する図である。 データ中継装置がTCP/UDPの通信を終端する例を説明する図である。 データ中継装置がTCP/UDPの通信を終端しない例を説明する図である。 CLとOSとの間の動画データの送受信時のシーケンスの例を説明するシーケンス図である。 ABRの動画データのプロトコルスタックの例を説明する図である。 CLで同じ画質の同じ動画データを異なる再生速度で再生している場合における、CLからのリクエストデータを観察したグラフの例を説明する図である。 CLで同じ画質の同じ動画データを異なる再生速度で再生している場合における、CLからのリクエストデータを観察したグラフの例を説明する図である。 CLで同じ画質の同じ動画データを異なる再生速度で再生している場合における、CLからのリクエストデータを観察したグラフの例を説明する図である。 実施の形態1に係るデータ中継装置の構成例を示すブロック図である。 実施の形態1に係るデータ中継装置の動作例を説明する図である。 実施の形態1に係るデータ中継装置の動作例を説明するフロー図である。 実施の形態2に係るデータ中継装置の構成例を示すブロック図である。 実施の形態3に係るデータ中継装置のハードウェア構成例を示すブロック図である。
 以下、図面を参照して本開示の概要及び実施の形態について説明する。なお、以下の記載及び図面は、説明の明確化のため、適宜、省略及び簡略化がなされている。また、以下の各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
 本開示の実施の形態を説明する前に、本開示の概要について説明する。
<本開示の概要>
 本開示においては、本開示に係るデータ中継装置30Aが、CL10からOS20へ送信されるアップロードデータのデータサイズ及び送信間隔を分析することで、CL10でABRの動画データの倍速再生が行われているか否かを判定する手法を提案する。ここで、アップロードデータのデータサイズ及び送信間隔は、データ中継装置30Aでも取得可能な情報である。
 本提案手法は、データ中継装置30Aでも取得可能な情報から倍速再生を判定するため、ABRの動画データの暗号化/非暗号化に関わらず有効である。また、本提案手法は、動画プロトコルとしては、TCP(Transmission Control Protocol)だけでなく、UDP(User Datagram Protocol)(QUIC(Quick UDP Internet Connections)等)でも有効である。また、本提案手法は、データ中継装置30AによりTCP/UDPの通信が終端されている/されていないに関わらず有効である。
 図6には、データ中継装置30AがTCP/UDPの通信を終端している場合のイメージ例が示されている。
 図6に示されるように、データ中継装置30AがTCP/UDPの通信を終端している場合、CL10とデータ中継装置30Aとの間、及び、データ中継装置30AとOS20との間では、別々のTCPセッションで通信が行われる。すなわち、データ中継装置30Aは、CL10及びOS20と通信する際、それぞれにTCPセッションを生成する。
 一方、図7には、データ中継装置30AがTCP/UDPの通信を終端していない場合のイメージ例が示されている。
 図7に示されるように、データ中継装置30AがTCP/UDPの通信を終端していない場合、CL10は、OS20との間では直接のTCPセッションでデータをやり取りし、データ中継装置30Aは、データを転送するのみである。すなわち、CL10及びOS20が1つのTCPセッションで直接通信を行い、データ中継装置30Aはデータを転送する。
 以下、本提案手法について説明する。
 ABRの動画データの再生中に、CL10からOS20に送信されるアップロードデータは、大きく2種類に分けられる。1つは、動画データをリクエストするリクエストデータ(HTTPリクエストパケット)であり、もう1つは、動画データを受信したことを通知する確認応答データ(ACK(ACKnowledgement)パケット)である。
 図8には、CL10とOS20との間の動画データの送受信時のシーケンスが示されている。
 図8に示されるように、まず、CL10とOS20との間で、データ中継装置30Aを経由するセッションを確立する(ステップS21)。
 次に、CL10は、取得したい動画データをリクエストするリクエストデータ(HTTPリクエストパケット)をOS20に送信する(ステップS22)。次に、データ中継装置30Aは、CL10からのリクエストデータをOS20に転送する(ステップS23)。
 OS20は、CL10からデータ中継装置30A経由でリクエストデータを受信すると、そのリクエストデータに対するレスポンスデータ(HTTPレスポンス)として、CL10からリクエストされた動画データをCL10に送信する(ステップS24)。次に、データ中継装置30Aは、OS20からの動画データをCL10に転送する(ステップS25)。
 CL10は、OS20からデータ中継装置30A経由で動画データを受信すると、その動画データを受信したことを通知するために、確認応答データ(ACKパケット)をOS20に送信する(ステップS26)。次に、データ中継装置30Aは、CL10からの確認応答データをOS20に転送する(ステップS27)。
 以降、セッションが切断されるまで、ステップS24~S27と同様のステップS28~S31が継続して行われる。
 図8に示されるように、OS20は、CL10からデータ中継装置30A経由で確認応答データを受信することで、動画データをCL10に送信できたことを確認する。この動作は、TCP通信の信頼性確保ための動作である。この動作は、TCP/IP(Internet Protocol)による通信だけでなく、近年増加傾向にあるUDP/IPのプロトコルスタック上で動作するQUICトラフィックでも行われる。
 図9には、ABRの動画データのプロトコルスタックの例が示されている。
 図9に示されるように、QUICプロトコルは、TCPでなく、UDPを使用する。ただし、QUICプロトコルは、通信の信頼性を確保するために、TCPの機能に相当する再送制御、輻輳制御、ロスリカバリー等の機能を提供しており、TCPと同様に、確認応答データ(ACKパケット)が送信される。
 ABRの代表的規格(HSLやMPEG-DASH等)では、HTTPプロトコルで動画の取得及び配信を制御する。ABRによるリクエストデータ(HTTPリクエストパケット)のデータサイズは比較的大きくなる。ただし、TCPやQUICプロトコルにおける確認応答データ(ACKパケット)のデータサイズは、リクエストデータ(HTTPリクエストパケット)に比べて小さい。
 そのため、リクエストデータ(HTTPリクエストパケット)と確認応答データ(ACKパケット)とは、そのデータサイズによって見分けることが可能である。
 ABRの動画データの場合、リクエストデータには、取得する動画データの画質やセグメント等の情報が含まれている。そのため、1つのリクエストデータのデータサイズは少なくとも数百バイト以上になる。
 一方、確認応答データは、複雑な情報は含まれず、そのデータサイズは、リクエストデータよりも十分小さくなる(100バイト程度)。
 そこで本開示に係るデータ中継装置30Aは、CL10からOS20に送信されるアップロードデータのデータサイズによって、そのアップロードデータが、リクエストデータであるか、又は、確認応答データであるかを判定する。なお、この手法は、アップロードデータの暗号化/非暗号化に関わらず、適用可能である。
 データ中継装置30Aは、上述した手法により、リクエストデータを判定した上で、そのリクエストデータがCL10からOS20に送信される送信間隔によって、CL10で倍速再生が行われているか否かを判定する。
 図10~図12には、CL10で同じ画質の同じ動画データを異なる再生速度で再生している場合における、CL10からのリクエストデータを観察したグラフが示されている。図10~図12において、横軸は時間であり、縦軸はリクエストデータのデータサイズである。また、図10は、1倍速での再生時のリクエストデータを示し、図11は、1.5倍速での再生時のリクエストデータを示し、図12は、2倍速での再生時のリクエストデータを示している。
 図10~図12に示されるように、CL10からのリクエストデータの送信間隔は、1倍速での再生時に最も長くなり(図10)、2倍速での再生時に最も短くなっている(図12)。このことから、倍速の再生速度が大きいほど、リクエストデータが短い間隔でCL10から送信されていることがわかる。
 そのため、データ中継装置30Aは、CL10からのリクエストデータの送信間隔に基づいて、CL10で倍速再生が行われているか否かを判定する。
 以下、本開示の実施の形態について説明する。
<実施の形態1>
 図13には、本実施の形態1に係るデータ中継装置30Aの構成例が示されている。
 図13に示されるように、本実施の形態1に係るデータ中継装置30Aは、CL(Client)10と、OS(Origin Server)20と、の間に配置される。図13に示される、CL10、OS20、及びデータ中継装置30Aによって配信システムが構成される。
 CL10とデータ中継装置30Aとの間、及び、データ中継装置30AとOS20との間は、それぞれ異なるネットワークで接続される。典型的には、CL10とデータ中継装置30Aとの間は無線網で接続され、データ中継装置30AとOS20との間は有線網で接続される。ただし、ネットワークの組み合わせは、これに限定されず、それ以外の組合せであっても良い。
 CL10は、OS20に対して動画データの送信をリクエストし、そのリクエストに対するレスポンスとして配信される動画データを受信するクライアント端末である。CL10の具体例としては、スマートフォンを含む携帯電話機、タブレット端末、パーソナルコンピュータ、及びネットワーク接続機能付きテレビ等が挙げられる。
 OS20は、CL10からのリクエストに対するレスポンスとして、動画データを配信する配信サーバである。
 本実施の形態1に係るデータ中継装置30Aは、CL10とOS20間の通信を中継すると共に、トラッフィク最適化処理を適用する装置である。
 本実施の形態1に係るデータ中継装置30Aは、通信処理部301と、ABR動画判定部302と、倍速再生判定部303と、判定閾値データベース304と、最適化適用部305と、最適化ポリシーデータベース306と、を備えている。
 通信処理部301は、データ中継装置30A内で通信の中継を担う。データ中継装置30AがTCP/UDPの通信を終端する場合は、通信処理部301は、OS20に対するプロキシ(代理サーバ)として動作するアプリケーションに相当する。
 ABR動画判定部302は、CL10からのアップロードデータやOS20からのレスポンスデータに基づいて、CL10とOS20との間で行われている通信が、ABRの動画データの配信に係る通信であるか否かを判定する。例えば、ABR動画判定部302は、ヘッダ情報に含まれるIPアドレスの情報や、データサイズの情報等に基づいて、ABRの動画データの配信に係る通信であるか否かを判定する。ただし、判定方法はこれに限定されない。
 倍速再生判定部303は、CL10からOS20へ送信されるアップロードデータを観測し、アップロードデータのデータサイズ及び送信間隔に基づいて、CL10で動画データの倍速再生が行われているか否かを判定する。具体的には、倍速再生判定部303は、アップロードデータのデータサイズに基づいて、アップロードデータがリクエストデータであるか否かを判定し、さらに、リクエストデータの送信間隔に基づいて、倍速再生が行われているか否かを判定する。
 倍速再生判定部303の動作の詳細は以下の通りである。
 すなわち、倍速再生判定部303は、ABR動画判定部302により、ABRの動画データの配信に係る通信であると判定された通信を観察する。そして、倍速再生判定部303は、CL10からOS20へ送信されるアップロードデータのデータサイズに基づいて、アップロードデータがリクエストデータであるか否かを判定する。
 また、倍速再生時のCL10からのリクエストデータの送信間隔は、OS20毎に異なる。そのため、倍速再生判定部303は、判定閾値データベース304に対して、OS20の情報をキー情報として渡して、そのOS20について、倍速再生を判定するためのリクエストデータの送信間隔の閾値を取得する。そして、倍速再生判定部303は、CL10からのリクエストデータの送信間隔を、判定閾値データベース304から取得した閾値と比較することで、CL10で倍速再生が行われているか否かを判定し、さらに、倍速再生が行われていると判定した場合には、倍速再生の再生速度も判定する。なお、倍速再生判定部303は、判定閾値データベース304からは、OS20について、複数の閾値を取得し、CL10からのリクエストデータの送信間隔が、複数の閾値によって区分される複数の範囲のうちのどの範囲に属するかで、CL10で倍速再生が行われているか否かの判定や、再生速度の判定を行っても良い。
 倍速再生判定部303は、CL10で倍速再生が行われていると判定した場合、倍速再生の再生速度を最適化適用部305に通知する。
 上述したように、倍速再生時のCL10からのリクエストデータの送信間隔は、OS20毎に異なる。そのため、判定閾値データベース304は、OS20毎に、倍速再生を判定するためのリクエストデータの送信間隔の閾値を保存しておく。判定閾値データベース304は、倍速再生判定部303からの問い合わせを受けた時に、OS20の情報をキー情報として受け取り、そのOS20についての閾値を返却する。なお、判定閾値データベース304は、OS20毎に複数の閾値を保存しておき、倍速再生判定部303からの問い合わせに対して、OS20についての複数の閾値を返却しても良い。
 最適化適用部305は、OS20からのレスポンスデータである動画データを通信処理部301から受け取り、その動画データに対して、送信ビットレートをコントロールするトラフィック最適化処理を実施する。
 最適化適用部305の動作の詳細は以下の通りである。
 すなわち、最適化適用部305は、最適化ポリシーデータベース306に対して、CL10とOS20との間で行われている通信の情報(CL10やOS20のIPアドレス等)をキー情報として渡して、その通信に対して適用する最適化ポリシーを問い合わせる。また、最適化適用部305は、倍速再生判定部303から倍速再生の再生速度の通知を受けている場合は、最適化ポリシーデータベース306に対して、上述した通信の情報と共に倍速再生の再生速度の情報をキー情報として渡して、最適化ポリシーを問い合わせる。
 最適化適用部305は、最適化ポリシーデータベース306から、問い合わせの結果として、最適化ポリシーを取得する。この最適化ポリシーには、ABRの動画データの送信ビットレートの情報も含まれる。最適化適用部305は、最適化ポリシーデータベース306から取得した最適化ポリシーに基づいて、動画データのトラフィック最適化処理を実施する。
 最適化ポリシーデータベース306は、最適化適用部305からの、CL10とOS20との間で行われている通信の情報(CL10やOS20のIPアドレス等)を含む問い合わせに対して、その通信に適用する最適化ポリシーを決定し、決定した最適化ポリシーを最適化適用部305に返却する。また、最適化適用部305が倍速再生判定部303から倍速再生の再生速度の通知を受けている場合は、最適化ポリシーデータベース306は、最適化適用部305からの、上述した通信の情報と倍速再生の再生速度とを含む問い合わせに対して、その通信に適用する最適化ポリシーを決定し、決定した最適化ポリシーを最適化適用部305に返却する。
 図14及び図15には、本実施の形態1に係るデータ中継装置30Aの動作例を説明する図が示されている。なお、図14及び図15において、同じステップには、同じ符号が付されている。
 図14及び図15に示されるように、通信処理部301は、CL10から、動画データのリクエストデータ(HTTPリクエストパケット)を受信すると(ステップS41)、CL10とOS20との間で行われている通信の情報(CL10やOS20のIPアドレス等)をABR動画判定部302に渡す(ステップS42)。
 ABR動画判定部302は、通信処理部301から受け取った通信の情報に基づいて、CL10とOS20との間で行われている通信が、ABRの動画データの配信に係る通信であるか否かを判定する(ステップS43)。例えば、ABR動画判定部302は、リクエストデータのヘッダ情報に含まれる宛先IPアドレスに基づいて、リクエストデータの宛先がOSであることを特定した場合に、ABRの動画データの配信に係る通信であると判定しても良い。さらに、ABR動画判定部302は、ABRの動画データの配信に係る通信であると判定した場合、OS20からCL10に送信されるレスポンスデータ(動画データ)を、トラフィック最適化の実施対象と判定する。
 なお、ABR動画判定部302は、CL10からのアップロードデータだけでなく、後述するステップS48でOS20からのレスポンスデータ(動画データ)を受信した際にも、同様の判定を行っても良い。例えば、ABR動画判定部302は、レスポンスデータのヘッダ情報に含まれる送信元IPアドレスに基づいて、レスポンスデータの送信元がOSであることを特定した場合に、ABRの動画データの配信に係る通信であると判定しても良い。
 ABR動画判定部302は、CL10とOS20との間で行われている通信が、ABRの動画データの配信に係る通信であるか否かの判定結果を通信処理部301に返却する(ステップS43)。また、ABR動画判定部302は、ABRの動画データの配信に係る通信であると判定した場合、OS20からCL10に送信されるレスポンスデータ(動画データ)が、トラフィック最適化の実施対象であることも、通信処理部301に通知する。
 ここで、ABR動画判定部302により、通信が、ABRの動画データの配信に係る通信であると判定されている場合、通信処理部301は、倍速再生判定部303を動作させる(ステップS44)。
 倍速再生判定部303は、判定閾値データベース304に対して、OS20の情報をキー情報として渡して、そのOS20について、倍速再生を判定するためのリクエストデータの送信間隔の閾値を取得する(ステップS45)。
 また、倍速再生判定部303は、ABR動画判定部302により、ABRの動画データの配信に係る通信であると判定された通信を観察し、アップロードデータのデータサイズに基づいて、アップロードデータがリクエストデータであるか否かを判定する。倍速再生判定部303は、リクエストデータであると判定した場合には、リクエストデータの送信間隔を、ステップS45で判定閾値データベース304から取得した閾値と比較することで、CL10で倍速再生が行われているか否かを判定し、さらに、倍速再生が行われていると判定した場合には、倍速再生の再生速度も判定する。
 倍速再生判定部303は、CL10で倍速再生が行われていと判定した場合には、倍速再生の再生速度を最適化適用部305に通知する(ステップS46)。
 通信処理部301は、CL10からのリクエストデータをOS20に転送する(ステップS47)。
 なお、ABR動画判定部302により、通信が、ABRの動画データの配信に係る通信でないと判定されている場合、通信処理部301は、倍速再生判定部303を動作させることなく、CL10からのリクエストデータをOS20に転送する(ステップS47)。
 通信処理部301は、OS20から、CL10のリクエストデータに応じたレスポンスデータ(動画データ)を受信する(ステップS48)。
 ここで、ABR動画判定部302により、OS20からのレスポンスデータ(動画データ)がトラフィック最適化の実施対象であると判定されている場合、通信処理部301は、レスポンスデータ(動画データ)を最適化適用部305に渡す(ステップS49)。
 最適化適用部305は、最適化ポリシーデータベース306に対して、CL10とOS20との間で行われている通信の情報(CL10やOS20のIPアドレス等)をキー情報として渡して、その通信に対して適用する最適化ポリシーを問い合わせる。また、最適化適用部305は、倍速再生判定部303から倍速再生の再生速度の通知を受けている場合は、最適化ポリシーデータベース306に対して、上述した通信の情報と共に倍速再生の再生速度の情報をキー情報として渡して、最適化ポリシーを問い合わせる。
 最適化ポリシーデータベース306は、最適化適用部305からの問い合わせに対して、CL10とOS20との間で行われている通信に適用する最適化ポリシーを決定し、決定した最適化ポリシーを最適化適用部305に返却する(ステップS50)。この最適化ポリシーには、レスポンスデータ(動画データ)の送信ビットレートの情報も含まれる。
 最適化適用部305は、最適化ポリシーデータベース306から取得した最適化ポリシーに基づいて、レスポンスデータ(動画データ)に対し、送信ビットレートをコントロールするトラフィック最適化処理を実施し、トラフィック最適化処理を実施した動画データを通信処理部301に返却する(ステップS51)。
 通信処理部301は、最適化適用部305から返却された動画データをCL10に送信する(ステップS52)。
 なお、ABR動画判定部302により、OS20からのレスポンスデータ(動画データ)がトラフィック最適化の実施対象でないと判定されている場合、通信処理部301は、レスポンスデータ(動画データ)を、最適化適用部305に渡すことなく、そのままCL10に送信する(ステップS52)。
 ステップS41~S52を繰り返している間に、ステップS44,S45において、CL10で倍速再生が行われていると判定された場合、倍速再生判定部303は、倍速再生の再生速度を最適化適用部305に通知する(ステップS46)。これを受けて、最適化適用部305は、倍速再生時の最適化ポリシーに基づいて、トラフィック最適化処理を実施する(ステップS50)。
 本実施の形態1によれば、データ中継装置30Aは、CL10からOS20へ送信されるアップロードデータのデータサイズに基づいて、そのアップロードデータがリクエストデータであるか否かを判定し、さらに、リクエストデータの送信間隔に基づいて、CL10で動画データの倍速再生が行われているか否かを判定する。
 ここで、アップロードデータのデータサイズや送信間隔は、データ中継装置30Aでも取得可能な情報である。そのため、データ中継装置30Aは、データ中継装置30Aで取得可能な情報から、CL10で動画データの倍速再生が行われているか否かを判定可能である。
 また、データ中継装置30Aは、倍速再生の判定が可能となるため、CL10で動画データの倍速再生が行われていると判定したら、例えば、図5に示されるように、CL10に送信する動画データの送信ビットレートを上げる、といったトラフィック最適化処理を実施可能となる。これにより、CL10で動画データの倍速再生中のQoEの悪化を防止しつつ、トラフィックを最適化することが可能となる。
<実施の形態2>
 図16には、本実施の形態2に係るデータ中継装置30Bの構成例が示されている。なお、本実施の形態2は、上述した実施の形態1を上位概念化した実施形態に相当する。
 図16に示されるように、本実施の形態2に係るデータ中継装置30Bは、CL(クライアント端末)10と、動画データを配信するOS(配信サーバ)20と、の間に配置され、OS20から配信された動画データをCL10に送信する装置である。
 本実施の形態2に係るデータ中継装置30Bは、第1の判定部311と、第2の判定部312と、を備えている。第1の判定部311及び第2の判定部312は、上述した実施の形態1に係る通信処理部301及び倍速再生判定部303を組み合わせたものに相当する。
 第1の判定部311は、CL10からOS20に送信されるアップロードデータを受信し、そのアップロードデータのデータサイズに基づいて、そのアップロードデータが所定のアップロードデータであるか否かを判定する。
 第2の判定部312は、第1の判定部311で判定された所定のアップロードデータの送信間隔に基づいて、CL10で動画データの倍速再生が行われているか否かを判定する。
 本実施の形態2によれば、データ中継装置30Bは、CL10からOS20へ送信されるアップロードデータのデータサイズに基づいて、そのアップロードデータが所定のアップロードデータであるか否かを判定し、さらに、その判定された所定のアップロードデータの送信間隔に基づいて、CL10で動画データの倍速再生が行われているか否かを判定する。
 ここで、アップロードデータのデータサイズや送信間隔は、データ中継装置30Bでも取得可能な情報である。そのため、データ中継装置30Bは、データ中継装置30Bで取得可能な情報から、CL10で動画データの倍速再生が行われているか否かを判定可能である。
 なお、本実施の形態2に係るデータ中継装置30Bは、第2の判定部312による倍速再生の判定結果に基づいて、CL10に送信する動画データの送信ビットレートをコントロールする制御部をさらに備えていても良い。この制御部は、上述した実施の形態1に係る通信処理部301及び最適化適用部305を組み合わせたものに相当する。
 また、第1の判定部311は、CL10からOS20に送信されるアップロードデータのデータサイズに基づいて、そのアップロードデータが、動画データをリクエストするリクエストデータであるか、又は、動画データを受信したことを通知する確認応答データであるかを判定しても良い。また、所定のアップロードデータは、リクエストデータであっても良い。
 また、第2の判定部312は、CL10で動画データの倍速再生が行われていると判定した場合は、リクエストデータの送信間隔に基づいて、CL10で行われている倍速再生の再生速度をさらに判定しても良い。
 また、制御部は、第2の判定部312による倍速再生の再生速度の判定結果に基づいて、CL10に送信する動画データの送信ビットレートをコントロールしても良い。
<実施の形態3>
 図17には、本実施の形態3に係るデータ中継装置30Cのハードウェア構成例が示されている。
 図17に示されるように、本実施の形態3に係るデータ中継装置30Cは、プロセッサ321と、メモリ322と、を備えている。
 プロセッサ321は、例えば、マイクロプロセッサ、MPU(Micro Processing Unit)、又はCPU(Central Processing Unit)であっても良い。プロセッサ321は、複数のプロセッサを含んでも良い。
 メモリ322は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ322は、プロセッサ321から離れて配置されたストレージを含んでも良い。この場合、プロセッサ321は、図示されていないI(Input)/O(Output)インタフェースを介してメモリ322にアクセスしても良い。
 上述した実施の形態1,2に係るデータ中継装置30A,30Bは、図17に示されるハードウェア構成を有することができる。メモリ322には、プログラムが記憶される。このプログラムは、コンピュータに読み込まれた場合に、上述した実施の形態1,2で説明されたデータ中継装置30A,30Bの1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。上述したデータ中継装置30A,30Bにおける、通信処理部301、ABR動画判定部302、倍速再生判定部303、最適化適用部305、第1の判定部311、及び第2の判定部312は、プロセッサ321がメモリ322に記憶されたプログラムを読み込んで実行することにより実現されても良い。また、上述したデータ中継装置30Aにおける、判定閾値データベース304及び最適化ポリシーデータベース306は、メモリ322により実現されても良い。
 また、上述したプログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されても良い。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されても良い。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、又はその他の形式の伝搬信号を含む。
 以上、実施の形態を参照して本開示を説明したが、本開示は上述した実施の形態に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。
 また、以上の説明により、本開示の産業上利用可能性は明らかであるが、本開示は、例えば、移動体通信(セルラネットワーク)において、CLとOSの間のTCP/UDP通信を対象とした通信流量制御に利用可能である。
 また、本開示は、セルラネットワークの代わりに、無線LAN(Local Area Network)、有線LAN、光ファイバ等の各種アクセス網を通したTCP/UDP通信を対象とした通信流量制御にも利用可能である。
 10 CL(クライアント端末)
 20 OS(配信サーバ)
 30,30A,30B,30C データ中継装置
 301 通信処理部
 302 ABR動画判定部
 303 倍速再生判定部
 304 判定閾値データベース
 305 最適化適用部
 306 最適化ポリシーデータベース
 311 第1の判定部
 312 第2の判定部
 321 プロセッサ
 322 メモリ

Claims (8)

  1.  クライアント端末と、動画データを配信する配信サーバと、の間に配置され、前記配信サーバから配信された動画データを前記クライアント端末に送信するデータ中継装置であって、
     前記クライアント端末から前記配信サーバに送信されるアップロードデータを受信し、前記アップロードデータのデータサイズに基づいて、前記アップロードデータが所定のアップロードデータであるか否かを判定する第1の判定部と、
     前記判定された前記所定のアップロードデータの送信間隔に基づいて、前記クライアント端末で前記動画データの倍速再生が行われているか否かを判定する第2の判定部と、
     を備える、データ中継装置。
  2.  前記第2の判定部による倍速再生の判定結果に基づいて、前記クライアント端末に送信する前記動画データの送信ビットレートをコントロールする制御部をさらに備える、
     請求項1に記載のデータ中継装置。
  3.  前記第1の判定部は、前記クライアント端末から前記配信サーバに送信される前記アップロードデータのデータサイズに基づいて、前記アップロードデータが、前記動画データをリクエストするリクエストデータであるか、又は、前記動画データを受信したことを通知する確認応答データであるかを判定し、
     前記所定のアップロードデータは、前記リクエストデータである、
     請求項2に記載のデータ中継装置。
  4.  前記第2の判定部は、前記クライアント端末で前記動画データの倍速再生が行われていると判定した場合は、前記リクエストデータの送信間隔に基づいて、前記クライアント端末で行われている倍速再生の再生速度をさらに判定する、
     請求項3に記載のデータ中継装置。
  5.  前記制御部は、前記第2の判定部による倍速再生の再生速度の判定結果に基づいて、前記クライアント端末に送信する前記動画データの送信ビットレートをコントロールする、
     請求項4に記載のデータ中継装置。
  6.  クライアント端末と、
     動画データを配信する配信サーバと、
     請求項1から5のいずれか1項に記載のデータ中継装置と、
     を備える、配信システム。
  7.  クライアント端末と、動画データを配信する配信サーバと、の間に配置され、前記配信サーバから配信された動画データを前記クライアント端末に送信するデータ中継装置によるデータ中継方法であって、
     前記クライアント端末から前記配信サーバに送信されるアップロードデータを受信する受信ステップと、
     前記アップロードデータのデータサイズに基づいて、前記アップロードデータが所定のアップロードデータであるか否かを判定する第1の判定ステップと、
     前記判定された前記所定のアップロードデータの送信間隔に基づいて、前記クライアント端末で前記動画データの倍速再生が行われているか否かを判定する第2の判定ステップと、
     を含む、データ中継方法。
  8.  クライアント端末と、動画データを配信する配信サーバと、の間に配置され、前記配信サーバから配信された動画データを前記クライアント端末に送信するコンピュータに、
     前記クライアント端末から前記配信サーバに送信されるアップロードデータを受信する受信手順と、
     前記アップロードデータのデータサイズに基づいて、前記アップロードデータが所定のアップロードデータであるか否かを判定する第1の判定手順と、
     前記判定された前記所定のアップロードデータの送信間隔に基づいて、前記クライアント端末で前記動画データの倍速再生が行われているか否かを判定する第2の判定手順と、
     を実行させるためのプログラムが格納された非一時的なコンピュータ可読媒体。
PCT/JP2021/024478 2021-06-29 2021-06-29 データ中継装置、配信システム、データ中継方法、及びコンピュータ可読媒体 WO2023275969A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/024478 WO2023275969A1 (ja) 2021-06-29 2021-06-29 データ中継装置、配信システム、データ中継方法、及びコンピュータ可読媒体
JP2023531180A JPWO2023275969A5 (ja) 2021-06-29 データ中継装置、配信システム、データ中継方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/024478 WO2023275969A1 (ja) 2021-06-29 2021-06-29 データ中継装置、配信システム、データ中継方法、及びコンピュータ可読媒体

Publications (1)

Publication Number Publication Date
WO2023275969A1 true WO2023275969A1 (ja) 2023-01-05

Family

ID=84691593

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/024478 WO2023275969A1 (ja) 2021-06-29 2021-06-29 データ中継装置、配信システム、データ中継方法、及びコンピュータ可読媒体

Country Status (1)

Country Link
WO (1) WO2023275969A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009206841A (ja) * 2008-02-28 2009-09-10 Panasonic Corp コンテンツ再生システムおよびコンテンツ再生プログラム
WO2011018868A1 (ja) * 2009-08-10 2011-02-17 日本電気株式会社 配信システム
WO2020158844A1 (ja) * 2019-01-31 2020-08-06 日本電気株式会社 データ中継装置、方法、配信システム、プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009206841A (ja) * 2008-02-28 2009-09-10 Panasonic Corp コンテンツ再生システムおよびコンテンツ再生プログラム
WO2011018868A1 (ja) * 2009-08-10 2011-02-17 日本電気株式会社 配信システム
WO2020158844A1 (ja) * 2019-01-31 2020-08-06 日本電気株式会社 データ中継装置、方法、配信システム、プログラム

Also Published As

Publication number Publication date
JPWO2023275969A1 (ja) 2023-01-05

Similar Documents

Publication Publication Date Title
CN107743698B (zh) 用于多路径媒体传递的方法和装置
US10764610B2 (en) Media user client, a media user agent and respective methods performed thereby for providing media from a media server to the media user client
KR102119287B1 (ko) 이용가능한 대역폭에 따라 전송 프로토콜을 선택함으로써 콘텐츠를 획득하는 장치
US9673996B1 (en) Redirection of a streaming media session in an anticipated failover scenario
US20210076086A1 (en) Digital data streaming using server driven adaptive bitrate
JP5339007B1 (ja) コンテンツ配信システム
JP6876131B2 (ja) データバッファリング方法、ネットワーク機器、及び記憶媒体
US9866602B2 (en) Adaptive bit rates during broadcast transmission in distributed content delivery networks
KR20150057557A (ko) 이동 망에서 비디오 트래픽의 사용자 만족도 최적화를 고려한 혼잡 완화 방법 및 그 장치
US10715569B2 (en) Delivery control device and delivery control method for content delivery according to ABR delivery method
US9131251B2 (en) Use of a receive-window size advertised by a client to a content server to change a video stream bitrate streamed by the content server
WO2013185547A1 (zh) 一种缓存服务器的服务方法、缓存服务器及系统
JP7120333B2 (ja) データ中継装置、方法、配信システム、プログラム
WO2011143916A1 (zh) 媒体适配的方法和装置
WO2023275969A1 (ja) データ中継装置、配信システム、データ中継方法、及びコンピュータ可読媒体
TWI573448B (zh) 串流連線管理方法及串流資料連線系統
WO2013071517A1 (zh) 媒体流的发送方法及服务器
WO2019120532A1 (en) Method and apparatus for adaptive bit rate control in a communication network
US20240223832A1 (en) Video stream bitrate adjustment method and apparatus, computer device, and storage medium
KR20130134911A (ko) 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
KR102419087B1 (ko) 미디어 스트리밍 제어 장치 및 방법
US20230066060A1 (en) Routing of bursty data flows
JP2016019140A (ja) コンテンツ転送方法、コンテンツ転送装置、コンテンツ受信装置およびコンテンツ転送プログラム
JP6035299B2 (ja) 動画視聴端末装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21948278

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023531180

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21948278

Country of ref document: EP

Kind code of ref document: A1