Content receiving device, content relay device, and communication control method

The content receiving device addresses packet loss by suppressing TCP stream bandwidth when both TCP and UDP streams are received, optimizing bandwidth and reducing buffer overflow for stable content delivery.

JP7826865B2Active Publication Date: 2026-03-10SUMITOMO ELECTRIC INDUSTRIES LTD
View PDF 7 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-06-29
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Existing technologies fail to effectively reduce packet loss when handling simultaneous TCP and UDP streams, leading to buffer overflow and packet loss in content receiving devices.

Method used

A content receiving device with a control unit that suppresses communication bandwidth for TCP streams when both TCP and UDP streams are received concurrently, employing methods such as reducing window size, delaying ACK transmission, and adjusting suppression based on stream characteristics and packet loss recovery success.

Benefits of technology

Reduces packet loss by preventing buffer overflow and optimizing bandwidth usage for concurrent TCP and UDP streams, ensuring stable content delivery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007826865000001
    Figure 0007826865000001
  • Figure 0007826865000002
    Figure 0007826865000002
  • Figure 0007826865000003
    Figure 0007826865000003
Patent Text Reader

Abstract

To reduce loss of a packet containing a content.SOLUTION: A content receiving device includes: a receiving unit that receives a stream containing a content; a processing unit that processes the stream received by the receiving unit; and a control unit that controls a communication band of the receiving unit for receiving the stream. When the receiving unit detects that a first stream according to TCP (Transmission Control Protocol) and a second stream according to UDP (User Datagram Protocol) are received in parallel, the control unit performs suppression control to suppress the communication band for receiving the first stream.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a content receiving device, a content relay device, and a communication control method. [Background technology]

[0002] Conventionally, techniques have been proposed for controlling communication bandwidths for communications conforming to TCP (Transmission Control Protocol).

[0003] For example, Patent Document 1 (JP 2006-173961 A) discloses the following TCP congestion control device: That is, the TCP congestion control device measures the bandwidth of the communication network during communication, and increases the rate of increase of the congestion window size using a window size (hereinafter referred to as the measured window size) that can make the most of the network bandwidth obtained from the measured value, a method of using the measured window size to set the congestion window size and slow start threshold of TCP after data loss that is revealed by duplicate ACKs, and a method of detecting losses and delays of ACK segments, which are acknowledgment responses to data segments, after a retransmission timeout to prevent erroneous retransmission of data and not reducing the congestion window size to prevent a decrease in the transmission rate, thereby speeding up TCP communication in a wideband and long-latency wireless network. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2006-173961 Summary of the Invention [Problem to be solved by the invention]

[0005] There is a demand for a technology that goes beyond the technology described in Patent Document 1 and is capable of reducing the loss of packets containing content.

[0006] The present disclosure has been made to solve the above-mentioned problems, and its purpose is to provide a content receiving device, a content relay device, and a communication control method that are capable of reducing loss of packets containing content. [Means for solving the problem]

[0007] The content receiving device of the present disclosure includes a receiving unit that receives a stream containing content, a processing unit that processes the stream received by the receiving unit, and a control unit that controls the communication bandwidth of the receiving unit for receiving the stream, and when the control unit detects that the receiving unit is receiving a first stream conforming to TCP and a second stream conforming to UDP (User Datagram Protocol) in parallel, it performs suppression control to suppress the communication bandwidth for receiving the first stream.

[0008] One aspect of the present disclosure can be realized not only as a content receiving device equipped with such a characteristic processing unit, but also as a semiconductor integrated circuit that realizes part or all of the content receiving device, or as a system that includes the content receiving device.

[0009] Furthermore, one aspect of the present disclosure can be realized not only as a content relay device having such a characteristic processing unit, but also as a semiconductor integrated circuit that realizes part or all of the content relay device, or as a system that includes the content relay device. [Effects of the Invention]

[0010] According to the present disclosure, loss of packets containing content can be reduced. [Brief explanation of the drawings]

[0011] [Figure 1] FIG. 1 is a diagram illustrating a configuration of a content distribution system according to a first embodiment of the present disclosure. [Figure 2]FIG. 2 is a diagram showing the configuration of an STB according to the first embodiment of the present disclosure. [Figure 3] FIG. 3 is a diagram illustrating an example of the bit rate of IP packets received by the STB according to the first embodiment of the present disclosure. [Figure 4] FIG. 4 is a functional block diagram showing the configuration of an STB according to the first embodiment of the present disclosure. [Figure 5] FIG. 5 is a diagram showing IP packets stored in a ring buffer in the STB according to the first embodiment of the present disclosure. [Figure 6] FIG. 6 is a flowchart defining an example of an operation procedure when the STB according to the embodiment of the present disclosure restricts the communication band for receiving the stream S1. [Figure 7] FIG. 7 is a diagram illustrating an example of a communication sequence in the content delivery system according to the first embodiment of the present disclosure. [Figure 8] FIG. 8 is a diagram illustrating a configuration of a content distribution system according to the second embodiment of the present disclosure. [Figure 9] FIG. 9 is a diagram illustrating a configuration of a repeater according to the second embodiment of the present disclosure. [Figure 10] FIG. 10 is a functional block diagram illustrating a configuration of a repeater according to the second embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0012] First, the contents of the embodiments of the present disclosure will be listed and described.

[0013] (1) A content receiving device according to an embodiment of the present disclosure includes a receiving unit that receives a stream containing content, a processing unit that processes the stream received by the receiving unit, and a control unit that controls the communication bandwidth of the receiving unit for receiving the stream, and when the control unit detects that the receiving unit is receiving a first stream conforming to TCP and a second stream conforming to UDP in parallel, the control unit performs suppression control to suppress the communication bandwidth for receiving the first stream.

[0014] In this way, when a first stream conforming to TCP and a second stream conforming to UDP are received in parallel, the configuration that limits the communication bandwidth for receiving the first stream makes it possible to prevent overflow of a buffer for storing packets constituting the first stream and packets constituting the second stream, thereby reducing loss of packets containing content.

[0015] (2) In the above (1), the control unit may reduce a window size in communication conforming to TCP as the suppression control.

[0016] With this configuration, it is possible to reduce the amount of data transmitted at one time from the transmission source of the first stream, and therefore the communication rate of the first stream can be reduced.

[0017] (3) In the above (1) or (2), the control unit may delay, as the suppression control, the transmission of an ACK by the receiving unit for packets that make up the first stream.

[0018] With this configuration, the transmission timing of the first stream by the sender of the first stream can be delayed, thereby reducing the communication rate of the first stream.

[0019] (4) In any of (1) to (3) above, the control unit may detect that the receiving unit is receiving the first stream and the second stream in parallel, and may perform the suppression control if the second stream is a multicast stream.

[0020] With this configuration, it is possible to reduce loss of packets that make up the second stream and that are of an application that is not retransmitted.

[0021] (5) In any of (1) to (4) above, when the receiving unit is receiving an adaptive stream as the first stream, the control unit may adjust the amount of suppression in the suppression control according to the communication rate of the first stream.

[0022] With this configuration, it is possible to more appropriately set the amount of communication band suppression in accordance with the communication rate of the first stream, which may vary.

[0023] (6) In any of (1) to (5) above, the processing unit may detect packet loss in the second stream received by the receiving unit, and the control unit may adjust the amount of suppression in the suppression control depending on the result of the detection of the packet loss by the processing unit.

[0024] With this configuration, it is possible to more appropriately set the amount of communication band suppression in accordance with the number of packet losses that have actually occurred.

[0025] (7) In the above (6), the processing unit may perform packet recovery processing when packet loss in the second stream is detected, and the control unit may adjust the amount of suppression in the suppression control depending on the success rate of the recovery processing by the processing unit.

[0026] With this configuration, it is possible to more appropriately set the amount of communication band suppression in accordance with the success rate of the restoration process while restoring packets in the second stream.

[0027] (8) A content relay device according to an embodiment of the present disclosure includes a receiving unit that receives a stream containing content, a relay unit that performs relay processing of the stream received by the receiving unit, and a control unit that controls the communication bandwidth of the receiving unit for receiving the stream, and when the control unit detects that the receiving unit is receiving a first stream conforming to TCP and a second stream conforming to UDP in parallel, the control unit performs suppression control to suppress the communication bandwidth for receiving the first stream.

[0028] In this way, when a first stream conforming to TCP and a second stream conforming to UDP are received in parallel, the configuration that limits the communication bandwidth for receiving the first stream makes it possible to prevent overflow of a buffer for storing packets constituting the first stream and packets constituting the second stream, thereby reducing loss of packets containing content.

[0029] (9) A communication control method according to an embodiment of the present disclosure is a communication control method in a content receiving device, and includes the steps of receiving a stream containing content, processing the received stream, and controlling a communication bandwidth for receiving the stream, and in the step of controlling the communication bandwidth, when a first stream conforming to TCP and a second stream conforming to UDP are received in parallel, suppression control is performed to suppress the communication bandwidth for receiving the first stream.

[0030] In this way, when a first stream conforming to TCP and a second stream conforming to UDP are being received in parallel, the method of restricting the communication bandwidth for receiving the first stream can, for example, prevent overflow of a buffer for storing packets constituting the first stream and packets constituting the second stream, thereby reducing loss of packets containing content.

[0031] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In the drawings, identical or corresponding parts are designated by the same reference numerals, and their description will not be repeated. Furthermore, at least some of the embodiments described below may be combined in any manner.

[0032] First Embodiment [Configuration and basic operation] Fig. 1 is a diagram showing a configuration of a content distribution system according to a first embodiment of the present disclosure. Referring to Fig. 1, a content distribution system 401 includes a set-top box (STB) 101, a hypertext transfer protocol (HTTP) server 301, and an IP broadcast distribution device 302. The STB 101 is an example of a content receiving device. Note that the content distribution system 401 may be configured to include a plurality of HTTP servers 301, or may be configured to include a plurality of IP broadcast distribution devices 302.

[0033] The STB 101 is installed in a user's home 111. The HTTP server 301 is installed in an office 311 of an OTT (Over The Top) operator. The IP broadcast distribution device 302 is installed in a station building 312 of a cable television station.

[0034] The HTTP server 301 distributes VOD (Video On Demand) content. More specifically, the HTTP server 301 transmits a stream S1 including the VOD content to the STB 101 via the network 351. The stream S1 is an example of a first stream. The VOD content includes audio information, video information, subtitle information, and the like.

[0035] The stream S1 is made up of a plurality of IP packets P1 each containing information about a VOD content divided into a plurality of pieces. The IP packets P1 include TCP packets.

[0036] The IP broadcast distribution device 302 distributes broadcast content, which is content such as terrestrial digital broadcasting, BS (Broadcast Satellite) broadcasting, CS (Communication Satellite) broadcasting, and independent broadcasting. More specifically, the IP broadcast distribution device 302 transmits a stream S2 containing the broadcast content to the STB 101 via the network 351. The stream S2 is an example of a second stream. The broadcast content includes audio information, video information, EPG (Electronic Program Guide) information, SI (Service Information), subtitle information, and the like.

[0037] The stream S2 is composed of a plurality of IP packets P2 each containing information about the broadcast content divided into a plurality of pieces. The IP packets P2 include a UDP packet. Hereinafter, each of the IP packets P1 and P2 will also be referred to as an IP packet P.

[0038] The STB 101 receives the stream S1 transmitted by the HTTP server 301 via the network 351. The STB 101 also receives the stream S2 transmitted by the IP broadcast distribution device 302 via the network 351. The STB 101 may also receive multiple streams S2 in parallel, each containing multiple broadcast contents.

[0039] Fig. 2 is a diagram showing the configuration of an STB according to the first embodiment of the present disclosure. Referring to Fig. 2, the STB 101 includes a network device 10, a processor 20, and a memory 30. The memory 30 is, for example, a non-volatile memory.

[0040] The network device 10 receives IP packets P1 that make up the stream S1 from the HTTP server 301 via the network 351. The network device 10 stores the received IP packets P1 in a buffer in the memory 30.

[0041] The network device 10 also receives IP packets P2 constituting the stream S2 from the IP broadcast distribution apparatus 302 via the network 351. The network device 10 stores the received IP packets P2 in a buffer in the memory 30.

[0042] In this way, in the STB 101, the reception processing of the IP packets P1 and P2 is performed using the common reception resources, that is, the network device 10 and the buffer in the memory 30.

[0043] The processor 20 processes the IP packets P1 and P2 stored in the memory 30 by the network device 10.

[0044] More specifically, for example, when processor 20 receives an operation from a user to record broadcast content, processor 20 acquires IP packet P2 from memory 30 and stores the acquired IP packet P2 in HDD 151.

[0045] Also, for example, when processor 20 receives an operation from a user to view broadcast content, it retrieves IP packet P2 from memory 30, performs processing to play the broadcast content using information contained in the retrieved IP packet P2, and transmits the retrieved video information, audio information, etc. to display device 161.

[0046] Also, for example, when processor 20 receives an operation from a user to view VOD content, it retrieves IP packet P1 from memory 30, performs processing to play the VOD content using information contained in the retrieved IP packet P1, and transmits the retrieved video information, audio information, etc. to display device 161.

[0047] In this way, in the STB 101, the IP packets P1 and P2 received by the network device 10 are processed by the common processing resource, that is, the processor 20.

[0048] [assignment] In recent years, OTT services have become popular, and the number of OTT users and VOD content is expected to further increase. In addition, the bit rates of the stream S1 transmitted by the HTTP server 301 and the stream S2 transmitted by the IP broadcast distribution device 302 have been increasing in recent years.

[0049] Fig. 3 is a diagram showing an example of the bit rate of IP packets received by the STB according to the first embodiment of the present disclosure. In Fig. 3, the horizontal axis represents time, and the vertical axis represents bit rate. The solid line in Fig. 3 represents the bit rate of IP packets P1 received from the HTTP server 301 by the network device 10 in the STB 101. The dashed line in Fig. 3 represents the bit rate of IP packets P2 received from the IP broadcast distribution device 302 by the network device 10 in the STB 101.

[0050] Referring to FIG. 3, the bit rate of IP packets P2 received by network device 10 from IP broadcast distribution apparatus 302 via network 351 varies little over time and is almost constant.

[0051] On the other hand, the bit rate of the IP packets P1 received by the network device 10 from the HTTP server 301 via the network 351 may suddenly increase at irregular intervals. More specifically, if the stream S1 is an adaptive stream conforming to an adaptive streaming method such as MPEG-DASH (Moving Pictures Expert Group-Dynamic Adaptive Streaming over HTTP) and HLS (HTTP Live Streaming), the bit rate of the IP packets P1 received by the network device 10 will fluctuate.

[0052] Meanwhile, STB 101 may receive streams S1 and S2 in parallel. More specifically, when recording broadcast content and playing VOD content in parallel in accordance with a user operation, for example, STB 101 receives streams S1 and S2 in parallel, stores IP packet P2 in HDD 151, and performs processing to play the VOD content using information included in IP packet P1, etc.

[0053] When STB101 receives streams S1 and S2 in parallel, depending on the processing load on processor 20 and the communication rate of IP packets P1 and P2 received by network device 10, the buffer in memory 30 may overflow, resulting in loss of IP packets P1 and P2.

[0054] Furthermore, when STB 101 records multiple broadcast contents and plays VOD contents in parallel in accordance with user operations, it receives stream S1 and multiple streams S2 each containing the multiple broadcast contents in parallel. In this case, the processing load on processor 20 and the communication rate of IP packets P1 and P2 increase, making it more likely that IP packets P1 and P2 will be lost.

[0055] The amount of data sent by the HTTP server 301 is variably controlled according to the processing speed of the STB 101 and the congestion state of the network 351 in accordance with TCP, whereas the IP broadcast distribution device 302, which uses UDP, must send broadcast content in real time, and therefore is not controlled according to the network state.

[0056] When an IP packet P1 is lost, the STB 101 can receive an IP packet P1 with the same content as the lost packet, which is retransmitted by the HTTP server 301 according to TCP.

[0057] On the other hand, when a loss of IP packets P2 occurs, the STB 101 restores the lost packets using FEC (Forward Error Correction). However, if the number of lost IP packets P2 per unit time exceeds a predetermined value, the STB 101 may fail to restore some or all of the lost packets. If the STB 101 fails to restore the lost packets, disturbances in the video and audio will occur when the user views the corresponding content.

[0058] Therefore, the STB 101 according to the first embodiment of the present disclosure solves the above problem with the following configuration.

[0059] (STB configuration) Fig. 4 is a functional block diagram showing the configuration of an STB according to the first embodiment of the present disclosure. Referring to Fig. 4, STB 101 includes a communication unit 11, a VOD packet acquisition unit 21, a broadcast packet acquisition unit 22, processing units 23 and 24, a control unit 25, a HW buffer 31, a ring buffer 32, a TCP socket buffer 33, and a UDP socket buffer 34. Communication unit 11 is an example of a receiving unit.

[0060] The communication unit 11 is realized by the network device 10. The VOD packet acquisition unit 21, the broadcast packet acquisition unit 22, the processing units 23 and 24, and the control unit 25 are realized by the processor 20. The HW buffer 31, the ring buffer 32, the TCP socket buffer 33, and the UDP socket buffer 34 are included in the memory 30.

[0061] Hereinafter, the buffer size of HW buffer 31 is "B1", the buffer size of ring buffer 32 is "B2", the buffer size of TCP socket buffer 33 is "B3", and the buffer size of UDP socket buffer 34 is "B4". Also, the free space of HW buffer 31 is "E1", the free space of ring buffer 32 is "E2", the free space of TCP socket buffer 33 is "E3", and the free space of UDP socket buffer 34 is "E4". Note that STB 101 may be configured to include five or more buffers.

[0062] The communication unit 11 receives a stream S1 conforming to TCP. More specifically, the communication unit 11 receives IP packets P1 constituting the stream S1 from the HTTP server 301 via the network 351, and stores the received IP packets P1 in the HW buffer 31.

[0063] The communication unit 11 also receives a stream S2 conforming to UDP. More specifically, the communication unit 11 receives IP packets P2 constituting the stream S2 from the IP broadcast distribution device 302 via the network 351, and stores the received IP packets P2 in the HW buffer 31.

[0064] The communication unit 11 acquires IP packets P from the HW buffer 31 and stores them in the ring buffer 32 at timings according to a predetermined read cycle R1.

[0065] The VOD packet acquisition unit 21 acquires IP packet P1 from the IP packets P stored in the ring buffer 32 and stores it in the TCP socket buffer 33. More specifically, the VOD packet acquisition unit 21 acquires IP packet P1 from the ring buffer 32 and stores it in the TCP socket buffer 33 at a timing according to a predetermined read cycle R2.

[0066] The broadcast packet acquisition unit 22 acquires IP packet P2 from among the IP packets P stored in the ring buffer 32 and stores it in the UDP socket buffer 34. More specifically, the broadcast packet acquisition unit 22 acquires IP packet P2 from the ring buffer 32 and stores it in the UDP socket buffer 34 at a timing according to the read cycle R2.

[0067] The processing unit 23 processes the stream S1 received by the communication unit 11. More specifically, the processing unit 23 obtains IP packets P1 from the TCP socket buffer 33 at a timing according to a predetermined read cycle R3, and processes the obtained IP packets P1. Specifically, the processing unit 23 decodes the IP packets P1 and decodes the VOD content included in the decoded IP packets P1. The processing unit 23 performs processing to play the decoded VOD content, and transmits the obtained video information, audio information, etc. to the display device 161.

[0068] The processing unit 24 also processes the stream S2 received by the communication unit 11. More specifically, the processing unit 24 acquires IP packets P2 from the UDP socket buffer 34 at a timing according to a predetermined read cycle R4, and processes the acquired IP packets P2. Specifically, the processing unit 24 decodes the IP packets P2 and stores the decoded IP packets P2 in the HDD 151. Alternatively, the processing unit 24 decodes broadcast content included in the decoded IP packets P2, performs processing to play the decoded broadcast content, and transmits the acquired video information, audio information, etc. to the display device 161.

[0069] The control unit 25 controls the communication bandwidth of the communication unit 11 for receiving the stream S1. When the control unit 25 detects that the communication unit 11 is receiving the streams S1 and S2 in parallel, the control unit 25 performs suppression control to suppress the communication bandwidth for receiving the stream S1.

[0070] 5 is a diagram showing IP packets stored in a ring buffer in an STB according to the first embodiment of the present disclosure. Referring to FIG. 5, when the communication unit 11 receives streams S1 and S2 in parallel, it receives IP packets P1 and P2 serially. The IP packets P1 and P2 are stored in the ring buffer 32 in the order in which they are received by the communication unit 11.

[0071] The control unit 25 monitors the ring buffer 32, and if it determines based on the monitoring results that the communication unit 11 is receiving streams S1 and S2 in parallel, it performs suppression control to suppress the communication bandwidth for receiving stream S1. For example, the communication bandwidth [bps] for receiving stream S1 is expressed as a value obtained by dividing 8 times the window size WS [bytes] in communication according to TCP by the RTT (Round Trip Time) between the HTTP server 301 and the STB 101.

[0072] More specifically, the control unit 25 refers to the ring buffer 32, and determines that the communication unit 11 is receiving the streams S1 and S2 in parallel, i.e., simultaneously, if the ring buffer 32 stores IP packets P1 and P2. On the other hand, if the ring buffer 32 stores only IP packets P1 and P2, the control unit 25 determines that the communication unit 11 is not receiving the streams S1 and S2 in parallel.

[0073] For example, when the control unit 25 detects that the communication unit 11 is receiving the streams S1 and S2 in parallel and the stream S2 is a multicast stream, the control unit 25 performs suppression control.

[0074] More specifically, the control unit 25 determines that the stream S2 is a multicast stream if a multicast address is stored as the destination IP address in the header of the IP packet P2 in the ring buffer 32. On the other hand, the control unit 25 determines that the stream S2 is not a multicast stream if a multicast address is not stored in the header of the IP packet P2.

[0075] When the control unit 25 determines that the communication unit 11 is receiving the streams S1 and S2 in parallel and that the stream S2 is a multicast stream, the control unit 25 performs suppression control.

[0076] On the other hand, if the control unit 25 determines that the communication unit 11 is not receiving the streams S1 and S2 in parallel, or that the stream S2 is not a multicast stream, the control unit 25 does not perform suppression control.

[0077] For example, the control unit 25 determines that the communication unit 11 is receiving streams S1 and S2 in parallel and performs suppression control, and then releases the suppression control if the communication unit 11 stops receiving at least one of streams S1 and S2.

[0078] (Change window size WS) As a suppression control, the control unit 25 reduces the window size WS in communication conforming to TCP.

[0079] More specifically, the control unit 25 determines a window size WS that is smaller than the current window size WS.

[0080] Specifically, the control unit 25 identifies the value of x that results in the smallest value of buffer size Bx / read cycle Rx, where x is an integer between 1 and 4. The control unit 25 determines whether the value V1 obtained by dividing the current window size WS by the transmission rate of the VOD content in the HTTP server 301 and the network 351 is smaller than the read cycle Rx. If the value V1 is smaller than the read cycle Rx, the control unit 25 determines the window size WS that satisfies the following formula (1). Bx-Brat×Rx>WS ··· (1)

[0081] where Brat is the bit rate of stream S1.

[0082] The control unit 25 outputs to the communication unit 11 a suppression instruction A1 indicating the determined window size WS.

[0083] When the communication unit 11 receives the suppression instruction A1 from the control unit 25, it notifies the HTTP server 301 of the window size WS indicated in the received suppression instruction A1. More specifically, the communication unit 11 transmits an ACK packet including the window size WS indicated in the suppression instruction A1 to the HTTP server 301 via the network 351, including the ACK packet in an IP packet.

[0084] (ACK delay) As a suppression control, the control unit 25 delays the transmission of an ACK by the communication unit 11 in response to the IP packet P1 that constitutes the stream S1.

[0085] More specifically, the control unit 25 determines the delay time DT of an ACK packet that conforms to TCP and that should be transmitted to the HTTP server 301.

[0086] Specifically, the control unit 25 identifies the value of x that minimizes the available capacity Ex. If the available capacity Ex is smaller than a threshold TH1 obtained by adding a predetermined margin to the product of the bit rate Brat of the stream S1 and the read cycle Rx, the control unit 25 determines the read cycle Rx as the delay time DT.

[0087] The control unit 25 outputs to the communication unit 11 a suppression instruction A2 indicating the determined delay time DT.

[0088] When the communication unit 11 receives the suppression instruction A2 from the control unit 25, the communication unit 11 transmits the ACK packet to be transmitted to the HTTP server 301 to the HTTP server 301 after holding the delay time DT indicated in the received suppression instruction A2.

[0089] (Another example of inhibitory control 1) For example, the communication unit 11 selects a representation to be acquired from a plurality of representations with different bit rates prepared in the HTTP server 301 in accordance with MPEG-DASH, for example, in accordance with the communication bandwidth of the network 351 and the specifications of the STB 101, and receives the stream S1 including the selected representation. The communication unit 11 can dynamically change the representation to be acquired.

[0090] When the communication unit 11 receives an adaptive stream as the stream S1, the control unit 25 adjusts the amount of suppression in the suppression control in accordance with the communication rate of the stream S1.

[0091] More specifically, the communication unit 11 holds an MPD (Media Presentation Description) file that indicates the representation that has been acquired and other selectable representations.

[0092] The control unit 25 refers to the MPD file held by the communication unit 11, and checks the representation currently acquired by the communication unit 11 and the bit rate of the representation.

[0093] For example, if there is another selectable representation indicated by the MPD that has a bit rate lower than the bit rate of the representation currently acquired by the communication unit 11, the control unit 25 sets the reduction amount of the window size WS to a larger value in the suppression control.

[0094] On the other hand, if there is no other selectable representation indicated by the MPD that has a bit rate lower than the bit rate of the representation currently acquired by the communication unit 11, the control unit 25 sets the reduction amount of the window size WS to a smaller value in the suppression control.

[0095] Alternatively, if there is another selectable representation indicated by the MPD that has a bit rate lower than the bit rate of the representation currently acquired by the communication unit 11, the control unit 25 determines the delay time DT to be a larger value in the suppression control.

[0096] On the other hand, if there is no other selectable representation indicated by the MPD that has a bit rate lower than the bit rate of the representation currently acquired by the communication unit 11, the control unit 25 determines the delay time DT to be a smaller value in the suppression control.

[0097] (Another example of inhibitory control 2) The processing unit 24 detects packet loss in the stream S2 received by the communication unit 11. When the processing unit 24 detects packet loss in the stream S2, it performs a restoration process on the IP packets P2. The processing unit 24 periodically or irregularly notifies the control unit 25 of the packet loss detection result and the result of the restoration process on the IP packets P2.

[0098] The control unit 25 adjusts the amount of suppression in the suppression control in accordance with the packet loss detection result by the processing unit 24. For example, the control unit 25 adjusts the amount of suppression in the suppression control in accordance with the success rate of the restoration process by the processing unit 24.

[0099] More specifically, if the processing unit 24 fails to restore the IP packet P2 and the minimum value E3min of the available capacity E3 over a predetermined period is smaller than the current window size WS, the control unit 25 calculates the difference D1 between the minimum value E3min and the current window size WS, and determines the value obtained by subtracting the difference D1 from the current window size WS as the new window size WS.

[0100] On the other hand, if the processing unit 24 fails to restore the IP packet P2 and the minimum value E3min of the available capacity E3 in the predetermined period is equal to or greater than the current window size WS, the control unit 25 does not change the window size WS.

[0101] Furthermore, if the processing unit 24 has succeeded in restoring the IP packet P2 a predetermined number of times or more or the processing unit 24 has not performed the restoration process, and the maximum value E3MAX of the available capacity E3 in a predetermined period of time and the maximum value E1MAX of the available capacity E1 in a predetermined period of time are greater than the current window size WS, the control unit 25 determines the new window size WS to be the value obtained by adding a predetermined value to the current window size WS.

[0102] On the other hand, if the processing unit 24 has not succeeded in restoring the IP packet P2 a predetermined number of times or more, or the maximum value E3MAX is smaller than the current window size WS, or the maximum value E1MAX is smaller than the current window size WS, the control unit 25 does not change the window size WS.

[0103] [Operation flow] FIG. 6 is a flowchart defining an example of an operation procedure when the STB according to the embodiment of the present disclosure restricts the communication band for receiving the stream S1.

[0104] Referring to Figure 6, in STB101, the control unit 25 waits for the communication unit 11 to receive streams S1 and S2 in parallel (NO in step S11), and if the communication unit 11 receives streams S1 and S2 in parallel (YES in step S11) and the stream S2 received by the communication unit 11 is a multicast stream (YES in step S12), it performs suppression control to suppress the communication bandwidth for receiving stream S1 (step S13).

[0105] Next, the control unit 25 waits for the communication unit 11 to stop receiving at least one of the streams S1 and S2 (NO in step S14), and if the communication unit 11 has stopped receiving at least one of the streams S1 and S2 (YES in step S14), it releases the suppression control (step S15).

[0106] Next, the control unit 25 waits for the communication unit 11 to receive the streams S1 and S2 in parallel again (NO in step S11).

[0107] FIG. 7 is a diagram illustrating an example of a communication sequence in the content delivery system according to the first embodiment of the present disclosure.

[0108] Referring to FIG. 7, first, HTTP server 301 transmits stream S1 to STB 101 (step S21).

[0109] Next, the STB 101 receives the stream S1 from the HTTP server 301 via the network 351, and transmits an ACK packet for the received stream S1 in an IP packet to the HTTP server 301 (step S22).

[0110] Next, the IP broadcast distribution device 302 starts transmitting the stream S2 to the STB 101 (step S23).

[0111] Next, since STB 101 is receiving streams S1 and S2 in parallel, it performs restriction control to restrict the communication bandwidth for receiving stream S1. For example, STB 101 determines a window size WS smaller than the current window size WS, and transmits an ACK packet including the determined window size WS in an IP packet to HTTP server 301 (step S24).

[0112] Next, HTTP server 301 receives an ACK packet from STB 101 via network 351, and transmits stream S1 with the amount of data indicated by the window size WS included in the received ACK packet to STB 101 (step S25).

[0113] Although the content distribution system 401 according to the first embodiment of the present disclosure has been described as including the IP broadcast distribution device 302, this is not limiting. The content distribution system 401 may also be configured not to include the IP broadcast distribution device 302. In this case, the communication unit 11 in the STB 101 receives a stream S3 containing, for example, voice over Internet Protocol (VoIP) audio content instead of the stream S2. The stream S3 contains audio information. When the control unit 25 detects that the communication unit 11 is receiving the streams S1 and S3 in parallel, the control unit 25 performs suppression control to suppress the communication bandwidth for receiving the stream S1.

[0114] Furthermore, in the STB 101 according to the first embodiment of the present disclosure, the control unit 25 is configured not to perform suppression control when it determines that the communication unit 11 is not receiving streams S1 and S2 in parallel or that stream S2 is not a multicast stream, but this is not limiting. The control unit 25 may also be configured to perform suppression control when it determines that the communication unit 11 is receiving streams S1 and S2 in parallel, regardless of whether stream S2 is a multicast stream.

[0115] Furthermore, in the STB 101 according to the first embodiment of the present disclosure, the control unit 25 is configured to reduce the window size WS and delay the transmission of an ACK for the IP packet P1 as suppression control, but this is not limited to this. The control unit 25 may also be configured not to reduce the window size WS or delay the transmission of an ACK for the IP packet P1.

[0116] Furthermore, in the STB 101 according to the first embodiment of the present disclosure, the control unit 25 is configured to adjust the amount of suppression in the suppression control according to the bit rate of the stream S1, but this is not limited to this. The control unit 25 may also be configured to adjust the amount of suppression in the suppression control according to the frame rate of the stream S1, etc. Furthermore, the control unit 25 may also be configured to perform a predetermined amount of suppression control regardless of the communication rate of the stream S1.

[0117] Furthermore, in the STB 101 according to the first embodiment of the present disclosure, the control unit 25 is configured to adjust the amount of suppression in suppression control in accordance with the packet loss detection result by the processing unit 24, but this is not limited to this. The control unit 25 may also be configured to perform suppression control with a predetermined amount of suppression regardless of the packet loss detection result by the processing unit 24.

[0118] Furthermore, in the STB 101 according to the first embodiment of the present disclosure, the control unit 25 is configured to adjust the amount of suppression in the suppression control in accordance with the success rate of the restoration process by the processing unit 24, but this is not limited to this. The control unit 25 may also be configured to perform suppression control with a predetermined amount of suppression, regardless of the success rate of the restoration process by the processing unit 24.

[0119] Next, other embodiments of the present disclosure will be described with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference numerals and their description will not be repeated.

[0120] <Second embodiment> This embodiment relates to a content distribution system 402 in which a repeater 201 performs suppression control, as compared with the content distribution system 401 according to the first embodiment. Except for the details described below, the content distribution system is the same as the content distribution system 401 according to the first embodiment.

[0121] Fig. 8 is a diagram showing the configuration of a content delivery system according to the second embodiment of the present disclosure. Referring to Fig. 8, content delivery system 402 differs from content delivery system 401 in that it includes STBs 102A and 102B instead of STB 101, and further includes a repeater 201. Hereinafter, each of STBs 102A and 102B will also be referred to as STB 102. Repeater 201 and STB 102 are provided in user home 111. STB 102 is connected to repeater 201. Repeater 201 is, for example, a router. It should be noted that content delivery system 402 may include three or more STBs 102.

[0122] The repeater 201 receives the stream S1 transmitted by the HTTP server 301 via the network 351. The repeater 201 also receives the stream S2 transmitted by the IP broadcast distribution device 302 via the network 351.

[0123] 9 is a diagram illustrating a configuration of a repeater according to the second embodiment of the present disclosure. Referring to FIG. 9, repeater 201 includes network devices 40 and 70, a processor 50, and a memory 60. Memory 60 is, for example, a non-volatile memory.

[0124] The network device 40 receives the IP packets P1 that make up the stream S1 from the HTTP server 301 via the network 351. The network device 40 stores the received IP packets P1 in a buffer in the memory 60.

[0125] The network device 40 also receives IP packets P2 constituting the stream S2 from the IP broadcast distribution apparatus 302 via the network 351. The network device 40 stores the received IP packets P2 in a buffer in the memory 60.

[0126] In this way, in the relay device 201, the reception processing of the IP packets P1 and P2 is performed using the common reception resources, that is, the network device 40 and the buffer in the memory 60.

[0127] The processor 50 processes the IP packets P1 and P2 stored in the memory 60 by the network device 40 .

[0128] More specifically, for example, the processor 50 retrieves the IP packet P1 from the memory 30 and performs a relay process of transmitting the retrieved IP packet P1 to the STB 102 via the network device 70 in accordance with the destination IP address of the IP packet P1.

[0129] Furthermore, for example, the processor 50 retrieves the IP packet P2 from the memory 30 and performs relay processing to transmit the retrieved IP packet P2 to the STB 102 via the network device 70 in accordance with the destination IP address of the IP packet P2.

[0130] In this way, in the relay device 201, the relay process of the IP packets P1 and P2 is performed by the common processing resource, that is, the processor 50.

[0131] [assignment] Incidentally, repeater 201 may receive streams S1 and S2 in parallel. More specifically, when repeater 201 performs the process of relaying stream S1 to STB 102A and the process of relaying stream S2 to STB 102B in parallel, repeater 201 receives streams S1 and S2 in parallel, and performs the process of relaying IP packet P1 to STB 102A while performing the process of relaying IP packet P2 to STB 102B. Also, repeater 201 may receive multiple streams S1 and multiple streams S2 in parallel depending on the number of STBs 102 connected to repeater 201.

[0132] Therefore, in the repeater 201, similar to the STB 101 according to the first embodiment, loss of IP packets P1 and P2 may occur.

[0133] Therefore, the repeater 201 according to the second embodiment of the present disclosure solves the above problem by adopting the following configuration.

[0134] (Configuration of repeater) 10 is a functional block diagram showing the configuration of a repeater according to the second embodiment of the present disclosure. Referring to FIG. 10, repeater 201 includes communication units 41 and 71, a packet acquisition unit 51, a processing unit 53, a control unit 55, a HW buffer 61, a ring buffer 62, and a socket buffer 63. Communication unit 41 is an example of a receiving unit. Processing unit 53 is an example of a repeater.

[0135] The communication unit 41 is realized by the network device 40. The communication unit 71 is realized by the network device 70. The packet acquisition unit 51, the processing unit 53, and the control unit 55 are realized by the processor 50. The HW buffer 61, the ring buffer 62, and the socket buffer 63 are included in the memory 60.

[0136] The communication unit 41 receives a stream S1 conforming to TCP. More specifically, the communication unit 41 receives IP packets P1 constituting the stream S1 from the HTTP server 301 via the network 351, and stores the received IP packets P1 in the HW buffer 61. The communication unit 41 also receives a stream S2 conforming to UDP. More specifically, the communication unit 41 receives IP packets P2 constituting the stream S2 from the IP broadcast distribution device 302 via the network 351, and stores the received IP packets P2 in the HW buffer 61. The operation and processing of the communication unit 41 are similar to the operation and processing of the communication unit 11 in the STB 101.

[0137] The packet acquisition unit 51 acquires IP packets P from the ring buffer 62 and stores them in the socket buffer 63 at timings according to a predetermined read cycle R2.

[0138] The processing unit 53 performs relay processing of the streams S1 and S2 received by the communication unit 41. More specifically, the processing unit 53 acquires IP packets P from the socket buffer 63 at a timing according to a predetermined read cycle R5, and transmits the acquired IP packets P to the STB 102 via the communication unit 71.

[0139] STB 102A processes IP packet P received from repeater 201. More specifically, STB 102A receives IP packet P1 from repeater 201, performs processing to play back VOD content using information contained in the received IP packet P1, and transmits the obtained video information, audio information, etc. to a display device (not shown).

[0140] STB 102B also processes IP packets P received from repeater 201. More specifically, STB 102B receives IP packets P2 from repeater 201, performs processing to play back broadcast content using information contained in the received IP packets P2, and transmits the obtained video information, audio information, etc. to a display device (not shown).

[0141] The control unit 55 controls the communication bandwidth of the communication unit 41 for receiving stream S1. When the control unit 55 detects that the communication unit 41 is receiving streams S1 and S2 in parallel, the control unit 55 performs suppression control to suppress the communication bandwidth for receiving stream S1. The operation and processing of the control unit 55 are similar to the operation and processing of the control unit 25 in the STB 101.

[0142] The above-described embodiments should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is defined by the claims, not by the above description, and is intended to include all modifications within the meaning and scope of the claims.

[0143] Each process (each function) in the above-described embodiments is realized by a processing circuit including one or more processors. The processing circuit may be configured as an integrated circuit or the like that combines one or more memories, various analog circuits, and various digital circuits in addition to the one or more processors. The one or more memories store programs (instructions) that cause the one or more processors to execute each of the processes. The one or more processors may execute each of the processes according to the program read from the one or more memories, or according to a logic circuit pre-designed to execute each of the processes. The processor may be various processors suitable for computer control, such as a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), a field programmable gate array (FPGA), and an application-specific integrated circuit (ASIC). Note that the physically separate processors may cooperate with each other to execute each of the processes. For example, the processors mounted on a plurality of physically separated computers may cooperate with each other to execute the above processes via a network such as a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet. The program may be installed in the memory from an external server device or the like via the network, or may be distributed in a state stored on a recording medium such as a CD-ROM (Compact Disc Read Only Memory), a DVD-ROM (Digital Versatile Disc Read Only Memory), or a semiconductor essential memory, and installed in the memory from the recording medium.

[0144] The above description includes the following additional features. [Appendix 1] a receiving unit for receiving a stream including content; a processing unit that processes the stream received by the receiving unit; a control unit that controls a communication band of the receiving unit for receiving the stream; when the control unit detects that the receiving unit is receiving the first stream conforming to TCP and the second stream conforming to UDP in parallel, the control unit performs suppression control to suppress the communication band for receiving the first stream; the first stream includes VOD content; The second stream includes broadcast content.

[0145] [Appendix 2] processing circuitry; The processing circuitry receiving a stream containing the content; processing the stream received by the receiver; controlling a communication bandwidth of the receiving unit for receiving the stream; A content receiving device that, when receiving the first stream conforming to TCP and the second stream conforming to UDP in parallel, performs suppression control to suppress the communication band for receiving the first stream. [Explanation of symbols]

[0146] 10, 40, 70 network devices 11,41,71 Communications Department 20,50 processor 21,51 VOD packet acquisition unit 22 Broadcast packet acquisition unit 23, 24, 53 Processing section 25,55 Control unit 30,60 memory 31,61 HW buffer 32,62 ring buffer 33 TCP socket buffers 34 UDP socket buffers 51 Packet acquisition unit 63 Socket Buffers 101, 102, 102A, 102B STB 111 User's home 151 HDD 161 Display device 201 Repeater 301 HTTP Server 311 Offices 302 IP broadcast distribution equipment 312 Station Building 351 Network 401,402 Content distribution system

Claims

1. a receiving unit for receiving a stream including content; a processing unit that processes the stream received by the receiving unit; a control unit that controls a communication band of the receiving unit for receiving the stream; when the control unit detects that the receiving unit is receiving the first stream conforming to TCP (Transmission Control Protocol) and the second stream conforming to UDP (User Datagram Protocol) in parallel, the control unit performs suppression control to suppress the communication band for receiving the first stream; A content receiving device, wherein when the receiving unit is receiving an adaptive stream as the first stream, the control unit adjusts a suppression amount in the suppression control according to a communication rate of the first stream.

2. A receiving unit that receives a stream including content; a processing unit that processes the stream received by the receiving unit; a control unit that controls a communication band of the receiving unit for receiving the stream; when the control unit detects that the receiving unit is receiving the first stream conforming to TCP and the second stream conforming to UDP in parallel, the control unit performs suppression control to suppress the communication band for receiving the first stream; the processing unit detects packet loss in the second stream received by the receiving unit; The control unit adjusts a suppression amount in the suppression control according to a result of the packet loss detection by the processing unit.

3. the processing unit, when detecting a packet loss in the second stream, performs a packet recovery process; The content receiving device according to claim 2 , wherein the control unit adjusts a suppression amount in the suppression control in accordance with a success rate of the restoration process performed by the processing unit.

4. The content receiving device according to claim 1 , wherein the control unit reduces a window size in TCP-compliant communications as the suppression control.

5. The content receiving device according to claim 1 , wherein the control unit delays transmission of an ACK by the receiving unit in response to packets that make up the first stream, as the suppression control.

6. 4. The content receiving device according to claim 1, wherein the control unit performs the suppression control when the receiving unit detects that the first stream and the second stream are being received in parallel and the second stream is a multicast stream.

7. a receiving unit for receiving a stream including content; a relay unit that performs relay processing of the stream received by the receiving unit; a control unit that controls a communication band of the receiving unit for receiving the stream; when the control unit detects that the receiving unit is receiving the first stream conforming to TCP and the second stream conforming to UDP in parallel, the control unit performs suppression control to suppress the communication band for receiving the first stream; When the receiving unit receives an adaptive stream as the first stream, the control unit adjusts a suppression amount in the suppression control in accordance with a communication rate of the first stream.

8. A receiving unit for receiving a stream including content; a relay unit that performs relay processing of the stream received by the receiving unit; a control unit that controls a communication band of the receiving unit for receiving the stream; when the control unit detects that the receiving unit is receiving the first stream conforming to TCP and the second stream conforming to UDP in parallel, the control unit performs suppression control to suppress the communication band for receiving the first stream; the relay unit detects packet loss in the second stream received by the receiving unit; The control unit adjusts a suppression amount in the suppression control in accordance with a result of the packet loss detection by the relay unit.

9. A communication control method in a content receiving device, receiving a stream containing content; processing the received stream; controlling a communication band for receiving the stream; In the step of controlling the communication band, when the first stream conforming to TCP and the second stream conforming to UDP are being received in parallel, suppression control is performed to suppress the communication band for receiving the first stream; A communication control method, wherein in the step of controlling the communication band, if an adaptive stream is received as the first stream, the amount of suppression in the suppression control is adjusted according to the communication rate of the first stream.

10. A communication control method in a content receiving device, comprising: receiving a stream containing content; processing the received stream; controlling a communication band for receiving the stream; In the step of controlling the communication band, when the first stream conforming to TCP and the second stream conforming to UDP are being received in parallel, suppression control is performed to suppress the communication band for receiving the first stream; In the step of processing the stream, detecting packet loss in the received second stream; A communication control method, wherein in the step of controlling the communication band, a suppression amount in the suppression control is adjusted according to a result of the detection of the packet loss.

Citation Information

Patent Citations

  • Method and device for dynamically controlling bandwidth in ip network

    JP2002217966A

  • Terminal device

    JP2003264605A

  • Data transmission server

    JP2004289621A

  • TCP convergence control system in wide band, high delay radio network

    JP2006173961A

  • Bandwidth Reservation Mechanism Based on Traffic Separation in Networks

    JP2007508746A