WO2014207978A1 - 送信装置、受信装置および中継装置 - Google Patents

送信装置、受信装置および中継装置 Download PDF

Info

Publication number
WO2014207978A1
WO2014207978A1 PCT/JP2014/002378 JP2014002378W WO2014207978A1 WO 2014207978 A1 WO2014207978 A1 WO 2014207978A1 JP 2014002378 W JP2014002378 W JP 2014002378W WO 2014207978 A1 WO2014207978 A1 WO 2014207978A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
transmission
packet
unit
receiving
Prior art date
Application number
PCT/JP2014/002378
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 JP2015523829A priority Critical patent/JPWO2014207978A1/ja
Priority to US14/900,367 priority patent/US9973402B2/en
Publication of WO2014207978A1 publication Critical patent/WO2014207978A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/20Repeater circuits; Relay circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Definitions

  • the present invention relates to a transmission device, a reception device, and a relay device that transmit and receive real-time media data with low delay and high quality using a TCP (Transmission Control Protocol) connection.
  • TCP Transmission Control Protocol
  • IP telephones that transmit and receive voice data using an IP (Internet Protocol) network are widespread. With the spread of the Internet and the mobile Internet and the speeding up of their communication, IP telephones via the Internet and the mobile Internet whose quality is not guaranteed are also used.
  • IP Internet Protocol
  • UDP When using UDP, it is not guaranteed that the data will reach the other party. Instead, low-delay data transmission is realized. Therefore, UDP is used for multimedia communication that requires real-time performance. However, the data transfer by UDP has a drawback that it cannot pass through NAT (Network Address Translation) or a firewall.
  • NAT Network Address Translation
  • NAT is a technology used to connect a terminal that does not have a global IP address to the Internet.
  • a device outside the NAT cannot know the IP address of the terminal inside the NAT. For this reason, a device outside the NAT cannot send data directly to a terminal inside the NAT by UDP.
  • many firewalls prevent external UDP communication from passing inside to prevent communication network attacks from the outside.
  • the terminal used is often located inside a NAT or firewall, so some IP phone services for the Internet send voice data using TCP that can easily cross NAT and firewall. To do.
  • Patent Document 1 describes a technique for performing data communication with low delay using TCP.
  • the communication device described in Patent Document 1 realizes low-latency data communication using TCP by adopting the following configuration.
  • the communication device described in Patent Document 1 realizes a voice call with a low delay by treating a packet that arrives late due to a packet loss as a lost packet. Since the audio data for the packet treated as a lost packet is not used on the receiving side, the audio data reproduced by the receiving apparatus is deteriorated compared to the data before transmission.
  • the receiving apparatus includes a data combining unit that combines the received divided data, a network state monitoring unit that monitors the state of the communication network, and the divided data according to the state of the communication network that is a monitoring result of the network state monitoring unit. And a receiving method determining means for changing the method of combining the divided data.
  • FIG. 1 is a system configuration diagram showing a configuration example of a first embodiment of a media communication system including a transmission device and a reception device according to the present invention.
  • the transmitting device 100 is connected to the receiving device 200 via the IP network 300 so as to be communicable.
  • the transmission device 100 is an information processing device that transmits multimedia data 500 to the reception device 200 via the IP network 300.
  • the transmission device 100 includes a central processing unit (CPU; Central Processing Unit) (not shown), a storage device (not shown) such as a memory and an HDD (Hard Disk Drive).
  • the transmission device 100 is configured to realize functions to be described later when executing a program stored in the storage device. With this configuration, the transmission device 100 realizes multimedia data communication.
  • the receiving device 200 is connected to the transmitting device 100 via the IP network 300.
  • the receiving device 200 includes a central processing unit (CPU) (not shown) and a storage device (not shown) such as a memory and an HDD.
  • the receiving device 200 is configured to realize functions to be described later when executing a program stored in the storage device. With this configuration, the receiving device 200 realizes reception and reproduction of multimedia data.
  • the multimedia data 500 transmitted by the transmission device 100 may be a multimedia file stored in an external storage medium or a storage device managed by another device.
  • the multimedia data 500 may be multimedia data acquired in real time from a microphone or a camera.
  • multimedia data 500 that is audio data input from a microphone in real time is transmitted from the transmission device 100 to the reception device 200 with as low delay as possible and with high quality. Yes.
  • the media communication system transmits not only the audio data input from the microphone but also the video data input in real time from the camera, both the video data and the audio data from another device instead of the microphone or the camera.
  • the present invention is applicable to any service that transmits multimedia data such as recorded audio data and video data, or multimedia data stored in a storage device.
  • a mobile network such as a third generation mobile network (3G), an HSPA (High Speed Packet Access) network, or an LTE (Long Term Evolution) network is used for the wireless communication. Is done.
  • a wireless LAN Local Area Network
  • Wi-Fi registered trademark
  • the transmission device 100 and the reception device 200 may be communicably connected by any wireless communication capable of performing communication in conformity with IP.
  • FIG. 2 is an explanatory diagram illustrating an example of a communication form between the transmission device 100 and the reception device 200.
  • direct UDP communication or TCP communication is performed between the transmission device 100 and the reception device 200 as in “1. Direct UDP” and “2. Direct TCP” illustrated in FIG. 2, the relay device 600 is not necessary. .
  • the transmission device 100 or the reception device 200 exists in the NAT or the firewall, a device outside the NAT or the firewall often cannot directly perform UDP communication.
  • a device outside the NAT or the firewall often cannot directly perform UDP communication.
  • the intermediate relay device 600 and the transmission device 100 are connected to be communicable with each other through a TCP connection, and the relay device 600 and the reception device 200 are connected. You may connect so that communication is possible by UDP.
  • a relay device 600 that relays a TCP connection between the transmission device 100 and the reception device 200 may be provided as in “4. Double-sided TCP” illustrated in FIG. Further, as in “5. Multi-stage TCP” illustrated in FIG. 2, two or more relay devices may exist between the transmission device 100 and the reception device 200.
  • the relay device 600 has at least the function of the receiving device 200 described in detail below, and transmits the combined data to the receiving device.
  • FIG. 3 is a block diagram illustrating a configuration example of the first embodiment of the transmission device 100 and the reception device 200.
  • n means a natural number.
  • the receiving apparatus 200 shown in FIG. 3 includes receiving means 2011 to 201n, data synthesizing means 202, reproducing means 203, receiving side connection management means 204, receiving side network state monitoring means 205, receiving method determining means 206, including.
  • Media input means 101 has a function of inputting media signals.
  • the encoding unit 102 has a function of encoding the media signal input by the media input unit 101 using a specific encoding method.
  • the data dividing unit 103 has a function of dividing the media signal encoded by the encoding unit 102 for each set data amount.
  • the data distribution unit 104 has a function of distributing the data divided by the data division unit 103 to an appropriate transmission unit among the transmission units 1051 to 105n.
  • the transmission means 1051 to 105n have a function of transmitting the data distributed from the data distribution means 104 to the reception means 2011 to 201n via the TCP connections 3011 to 301n.
  • the transmission side network state monitoring unit 107 has a function of estimating or predicting a current communication network state or a near future communication network state based on information of the transmission side connection management unit 106 or information of a unit that notifies the communication network state. Have.
  • the basic method for estimating the communication network state used by the transmission-side network state monitoring unit 107 includes, for example, packet loss rate by continuously transmitting and receiving pings using ICMP (Internet Control Message Protocol) packets. And there are methods that can measure packet arrival delay.
  • ICMP Internet Control Message Protocol
  • the method for estimating or predicting the communication network state includes the frequency band currently available by continuously transmitting a plurality of packets described in Patent Document 2 and measuring the reception time.
  • An estimation method or a method of estimating a packet loss rate from a probability model described in Patent Document 3 may be used.
  • the method of using pathChirp described in the nonpatent literature 1 may be used.
  • the communication network state estimated or predicted by the transmission-side network state monitoring unit 107 is, for example, a packet loss rate.
  • the packet loss rate is, for example, when the transmission side network state monitoring unit 107 can estimate the usable bandwidth by the method described in Patent Document 2 or Non-Patent Document 1, and observes the temporal variation of the usable bandwidth, When the available bandwidth decreases, it is predicted by determining that there is a high possibility that a packet loss has occurred than usual.
  • the transmission-side network state monitoring unit 107 estimates or predicts the packet loss rate, but the packet loss rate, the packet arrival delay, and the available bandwidth are closely related. That is, the transmission-side network state monitoring unit 107 can predict that the packet loss rate will increase if the packet arrival delay increases, or that the packet loss rate will increase if the available bandwidth decreases. Therefore, the transmission-side network state monitoring unit 107 may estimate or predict the packet arrival delay and the available bandwidth.
  • the transmission method determination unit 108 has a function of determining an optimum data amount and an optimum number of connections for dividing data based on the communication network state estimated or predicted by the transmission side network state monitoring unit 107.
  • the transmission method determination unit 108 notifies the data division unit 103, the data distribution unit 104, and the transmission side connection management unit 106 of the determined content.
  • the transmission side connection management unit 106 disconnects the arbitrary transmission unit 105m.
  • the data distribution unit 104 operates to distribute data to a new transmission unit after the number of connections is changed.
  • the receiving units 2011 to 201n have a function of receiving data packets transmitted from the transmitting units 1051 to 105n of the transmitting apparatus 100.
  • the data synthesizing unit 202 has a function of reconfiguring and combining data packets received by a plurality of receiving units.
  • the reproduction unit 203 has a function of reproducing the media data decrypted by the data synthesis unit 202.
  • the receiving-side network state monitoring unit 205 has a function of estimating or predicting a current communication network state or a near-future communication network state based on information of the receiving-side connection management unit 204 or information of a unit that notifies the communication network state. Have.
  • the data synthesis unit 202 changes the determination time when determining whether or not to treat the packet that has arrived at the time of data synthesis as a lost packet.
  • the receiving side connection management unit 204 disconnects the arbitrary receiving unit 201m.
  • FIG. 4 is a flowchart showing the operation of the media data transmission process of the transmission apparatus 100 according to the first embodiment.
  • the transmission device 100 transmits audio data input from the microphone to the reception device 200.
  • the media input unit 101 of the transmission device 100 inputs audio data for a processing unit from a microphone (step S001).
  • the processing unit of audio data is not particularly defined.
  • the encoding means 102 encodes the audio data input from the microphone by a predetermined method (step S002).
  • the encoding method used by the encoding means 102 is arbitrary, and may be a method using PCM data as it is.
  • the encoding method used by the encoding means 102 is the G.264 standard defined by ITU-T (International Telecommunication Union Telecommunication Standardization Sector). 711 and G.G. 729, 3GPP (3rd Generation Partnership Project) AMR (Adaptive Multi Rate) and ISO (International Organization for Standardization) AAC (Advanced Coding), etc.
  • the encoding means 102 is G. Assume that the audio data is encoded at 711. In this case, 160-byte PCM data every 10 milliseconds is converted into an 80-byte G.P. It is encoded into a 711 stream.
  • the data dividing means 103 performs the encoded G.D.
  • the 711 stream is grouped into packet units to be transmitted (step S003).
  • the transmission apparatus 100 may transmit 10 milliseconds of data as a packet as it is. Further, the transmission device 100 may transmit several 10 millisecond data packets together.
  • data is grouped into one packet.
  • the packets are transmitted without being collected, there is an advantage that the waiting time for packet creation is small on the receiving apparatus 200 side.
  • the load of transmission / reception increases and the ratio of packet headers increases, there is a drawback that the load on the communication network increases.
  • the data distribution unit 104 distributes a packet generated by collecting encoded data to a plurality of transmission units.
  • the transmission means transmits the distributed packet (step S004).
  • the data distribution unit 104 sends the first packet to the transmission unit 1051, the second packet to the transmission unit 1052, the nth packet to the transmission unit 105n, the (n + 1) th packet to the transmission unit 1051, etc.
  • transmission means may be assigned in order for each packet.
  • the data distribution unit 104 may monitor the state of each transmission unit, and may prioritize transmission units with a small transmission delay.
  • the receiving apparatus 200 can also reconstruct the packets by receiving the packets in order.
  • the transmission packet may have time stamp information so that the packet is reconstructed on the reception side. Desired.
  • the transmission device 100 repeats the transmission process for the input voice data.
  • the transmission device 100 ends the media data transmission process.
  • FIG. 5 is a flowchart showing the operation of the media data reproduction process of the first embodiment of the receiving apparatus 200.
  • the receiving device 200 reproduces audio data input from the microphone transmitted from the transmitting device 100.
  • the receiving means of the receiving device 200 receives the arrived data packet (step S101).
  • the data synthesizing unit 202 determines from the arrival time of the arrived packet whether the packet is in time for the allowable delay time or arrived late (step S102).
  • the data synthesizing unit 202 determines that the sound data 1 second after the first sound data (after 1000 milliseconds) is within 1.1 seconds from the timing when the reproduction is started. If it arrives (within 1100 milliseconds), it is determined that the allowable delay time has been met. If the audio data has not arrived within 1.1 seconds from the reproduction start timing, the data synthesizing unit 202 determines that the arrival of the packet is too late.
  • Packets stored in the buffer are read in order according to the time stamp (step S105).
  • the data synthesizing unit 202 may divide and process, for example, a packet generated in units of 60 milliseconds into packet data in units necessary for reproduction.
  • a unit necessary for reproduction is, for example, a unit of 10 milliseconds.
  • the data synthesis means 202 decodes the packet read from the buffer (step S106).
  • the data synthesizing means 202 is, for example, G.
  • the packet encoded in 711 is decoded into PCM data.
  • the data synthesizing unit 202 may insert the 10-millisecond PCM data in which the data is 0 at a place where the packet is missing, with the discarded packet as silence.
  • the data synthesizing means 202 is the G.
  • PLC Packet Loss Concealment
  • the reproduction unit 203 reproduces the audio data decoded by the data synthesis unit 202 and interpolated by the PLC (step S107). Thereafter, the data synthesizing unit 202 reads the packets stored in the buffer and repeats the synthesizing process. When there are no more packets stored in the buffer, the receiving apparatus 200 ends the reproduction process.
  • FIG. 6 is an explanatory diagram showing an example of the state of packet communication when one TCP connection is used.
  • FIG. 7 is an explanatory diagram showing another example of the state of packet communication when one TCP connection is used.
  • an application for performing data communication processing from the media input unit 101 to the transmission unit 1051 described as “transmission application” operates.
  • a transmission application which is an application on the OS (Operating System), writes packet data to be transmitted to the socket buffer.
  • Socket communication is implemented in the OS library and kernel.
  • the packet data written to the buffer is transmitted to the IP network 300 at a timing independent of the application writing to the socket buffer.
  • the procedure until the audio data is reproduced is as follows. First, the reception socket receives the packet data received from the IP network 300, and the reception socket writes the packet data to the reception buffer. When the receiving socket writes packet data to the receiving buffer, an event such as an interrupt occurs for the receiving application. In response to the event that has occurred, the receiving application receives the packet data from the reception buffer and performs a reproduction process.
  • FIG. 7 shows an example in which a packet loss occurs in the middle and packet 2 does not reach the receiving device 200. Transmitting apparatus 100 transmits packets in the order of packet 1, packet 2, packet 3,. However, since packet 2 is lost, packet 3 arrives at receiving apparatus 200 after packet 1 is received.
  • the transmission device 100 sorts the packets so that the transmission unit 1051 is used to transmit the odd numbered packets and the transmission unit 1052 is used to transmit the even numbered packets.
  • the receiving unit 2011 receives odd-numbered packets.
  • the receiving unit 2012 receives even-numbered packets.
  • the packets transmitted by the transmission unit 1051 and the transmission unit 1052 are received by the reception unit 2011 and the reception unit 2012 without delay.
  • Packets received by the receiving unit 2011 and the receiving unit 2012 are transferred to the data combining unit 202.
  • the data synthesizing unit 202 reconstructs the passed packets in the order of packets.
  • the reproduction unit 203 reproduces the reconstructed sound.
  • the transmission device 100 distributes odd-numbered packets and even-numbered packets to the transmission unit 1051 and the transmission unit 1052 using two TCP connections.
  • the data synthesis means 202 treats a packet that does not reach within the allowable delay time as a lost packet. In the example shown in FIG. 9, it is set so that a packet whose arrival is delayed by one packet is treated as a lost packet. Therefore, the data synthesizing unit 202 performs the data synthesizing process in order from the arrived packet, and treats the packet 2, the packet 4, and the packet 6 that do not reach within the allowable delay time as loss packets. The data synthesizing unit 202 makes the lost packet inconspicuous by the PLC during the synthesis.
  • the reproducing unit 203 reproduces the data synthesized as described above.
  • the media communication system uses a plurality of TCP connections, and even if a delay occurs in arrival of a packet of a specific TCP connection, the delayed packet is regarded as a lost packet.
  • the media communication system can prevent deterioration in sound quality.
  • the data synthesizing unit 202 synthesizes data using a packet that arrives later than the allowable delay time as a lost packet.
  • the allowable delay time is set to about 100 milliseconds until the packet loss rate is about 1%, and when the packet loss rate is 10%, the allowable delay time is the IP phone delay time set by the Ministry of Internal Affairs and Communications. This is a method of increasing the limit to 400 milliseconds.
  • the number of TCP connections is about 2 when the packet loss rate is about 1%, and the number of TCP connections is increased to about 5 as the packet loss increases.
  • the data division interval is distributed by sending the voice data to each TCP connection every 10 milliseconds, or the voice data is sent every 60 milliseconds together. This parameter determines whether to distribute to TCP connections.
  • the data division interval may be arbitrary because the delay due to the packet loss is small. In this case, if the division interval is increased within the allowable range of delay, the number of packet losses decreases, and the deterioration of sound quality tends to be inconspicuous.
  • the method of determining the number of TCP connections, the data division interval, and the allowable delay time in the data combining unit 202 from the occurrence of packet loss has been described. May measure the packet loss rate and determine the number of TCP connections, the data division interval, and the allowable delay time.
  • the receiving means of the receiving apparatus 200 observes the arrival delay of packets and the number of simultaneously arriving packets, and detects the situation of arrival delay and the arrival of packets that should arrive at a predetermined interval at the same time. It may be estimated that has occurred.
  • FIG. 10 is a system configuration diagram showing the configuration of the system used for evaluating the effect of the media communication system of the present embodiment.
  • the transmission device 100 reads data from the multimedia data storage unit 400. Then, the transmission device 100 transmits the read data to the reception device 200 via the network emulator 302.
  • the data stored in the multimedia data storage unit 400 is ITU-T P.264. 501 “Test signals for use in telephony”, audio sequence of 2 men and women in 11 languages, totaling 44 samples, 6 minutes and 43 seconds of speech data was sampled at 8 kHz, and ITU-T G . 711 Data encoded in ⁇ -law.
  • the encoded multimedia data is audio data of 64 kbps.
  • the transmission device 100 transmits data to the reception device 200 while periodically reading the data from the multimedia data storage unit 400.
  • the transmitting apparatus 100 transmits data while changing the reading time interval in five patterns of 10 milliseconds, 20 milliseconds, 30 milliseconds, 40 milliseconds, and 60 milliseconds. This corresponds to the transmission apparatus 100 transmitting multimedia data while dividing it into 80 bytes, 160 bytes, 240 bytes, 320 bytes, and 480 bytes, respectively.
  • the transmission device 100 and the reception device 200 are connected by a TCP connection.
  • the transmission device 100 transmits data while changing the number of TCP connections from 1 to 5.
  • the receiving apparatus 200 reconfigures multimedia data while changing the allowable delay time of data packets received from one or more TCP connections.
  • the receiving apparatus 200 stores the reconstructed data in the multimedia data storage unit 401.
  • the receiving apparatus 200 changes the allowable delay time to 100 milliseconds, 200 milliseconds, and 400 milliseconds.
  • the pre-transmission data stored in the multimedia data storage unit 400 and the reconstructed data stored in the multimedia data storage unit 401 are each decoded into PCM data, and the ITU-T P. 862 “Perceptual evaluation of speed quality (PESQ): An objective method for end-to-end speed quality of performance-bandwidth-band quality”.
  • the network emulator 302 changes the packet loss rate and the communication network delay time. By changing, the influence of the change in the communication network state on the sound quality (PESQ evaluation value) of the reconfigured multimedia data is measured.
  • the network emulator 302 changed the packet loss rate from 0.1% to 10% and the communication network delay time to 20 milliseconds, 100 milliseconds, and 400 milliseconds.
  • FIG. 13 is an explanatory diagram showing the relationship between the packet loss rate and the average PESQ evaluation value as a graph for each packet transmission interval.
  • the horizontal axis represents the packet loss rate (%), and the vertical axis represents the average PESQ value.
  • “10” represents the relationship between the packet loss rate and the average PESQ evaluation value when the packet transmission interval is 10 milliseconds.
  • “20” to “60” respectively represent the relationship between the packet loss rate and the average PESQ evaluation value when the packet transmission interval is 20 milliseconds to 60 milliseconds.
  • the voice data input by the data dividing unit 103 is divided, and the data is distributed by the data distribution unit 104 to each of the transmission units 1051 to 105n.
  • the data is transmitted.
  • the voice data is distributed to all the transmission means 1051 to 105n at the same time.
  • the method of transmitting the same data using two TCP connections at the same time is used.
  • the same data is sent at a time difference, and the same data is not sent to all the TCP connections.
  • a method such as sending only one or a plurality of TCP connections, or sending redundant data obtained by matrix operation instead of sending a copy of data.
  • FIG. 16 is a block diagram showing an outline of a transmission apparatus according to the present invention.
  • the transmission apparatus according to the present invention includes a data distribution unit 1 (for example, the data distribution unit 104) that distributes divided data to one or a plurality of TCP connections, and a network state monitoring unit 2 that monitors the state of the communication network ( For example, the transmission side network state monitoring unit 107) and the transmission method determining unit 3 (which changes the data division method and the divided data transmission method according to the state of the communication network which is the monitoring result of the network state monitoring unit 2) For example, a transmission method determining means 108) is provided.
  • a data distribution unit 1 for example, the data distribution unit 104 that distributes divided data to one or a plurality of TCP connections
  • a network state monitoring unit 2 that monitors the state of the communication network
  • the transmission side network state monitoring unit 107 and the transmission method determining unit 3 which changes the data division method and the divided data transmission method according to the state of the communication network which is the monitoring result of the network state monitoring unit 2
  • the transmission device can reduce the number of lost packets and shorten the time until packet retransmission.
  • the data distribution unit 1 may distribute the divided data to a plurality of TCP connections, and the transmission method determination unit 3 may be configured to change the number of TCP connections based on the state of the communication network.
  • the transmission apparatus can reduce data handled as a lost packet due to retransmission delay.
  • the data distribution means 1 may be configured to distribute redundant data calculated from a plurality of packets to TCP connections.
  • FIG. 17 is a block diagram showing an outline of a receiving apparatus according to the present invention.
  • the receiving apparatus according to the present invention includes a data synthesizing unit 11 (for example, data synthesizing unit 202) that synthesizes the received divided data, and a network state monitoring unit 12 (for example, receiving-side network state monitoring unit 205) that monitors the state of the communication network. ) And a reception method determination unit 13 (for example, reception method determination unit 206) that changes the reception method of the divided data and the combination method of the divided data according to the state of the communication network that is the monitoring result of the network state monitoring unit 12. Prepare.
  • a data synthesizing unit 11 for example, data synthesizing unit 202
  • a network state monitoring unit 12 for example, receiving-side network state monitoring unit 205
  • reception method determination unit 13 for example, reception method determination unit 206 that changes the reception method of the divided data and the combination method of the divided data according to the state of the communication network that is the monitoring result of the network state monitoring unit 12.
  • the receiving apparatus can realize a voice call with low delay and can prevent deterioration of voice data.
  • the data synthesizing unit 11 treats the divided data that could not be received within a predetermined delay time as lost data, and the reception method determining unit 13 is configured to change the predetermined delay time based on the state of the communication network. May be.
  • the receiving apparatus can control the allowable delay time so as not to cause packet loss as much as possible.
  • the reception method determination means 13 may be configured to change the number of TCP connections based on the state of the communication network.
  • the data synthesis means 11 may be configured to perform data interpolation on the divided data treated as loss data.
  • the receiving apparatus can make loss packets inconspicuous and prevent deterioration in sound quality.
  • the data synthesizing unit 11 may be configured to discard the divided data other than the received one divided data when receiving a plurality of the same divided data.
  • the data synthesizing means 11 may synthesize data by generating divided data treated as lost data from the received redundant data.
  • FIG. 18 is a block diagram showing an outline of the relay device according to the present invention.
  • the relay apparatus according to the present invention includes a data combining unit 21 (for example, data combining unit 202) that combines the received divided data, and a network state monitoring unit 22 (for example, receiving-side network state monitoring unit 205) that monitors the state of the communication network. ) And a reception method determination unit 23 (for example, reception method determination unit 206) that changes the reception method of the divided data and the synthesis method of the divided data according to the state of the communication network that is the monitoring result of the network state monitoring unit 22. Prepare.
  • the relay device includes, for example, receiving means that uses UDP.
  • the present invention is applied to a communication device that communicates multimedia data such as audio and video from a transmission device to a reception device with low delay and high quality.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

 低遅延な音声通話を実現し、かつ音声データの劣化を防止できる送信装置、受信装置および中継装置を提供する。送信装置は、分割されたデータを1つまたは複数のTCPコネクションに振り分けるデータ振分手段1と、通信ネットワークの状態を監視するネットワーク状態監視手段2と、ネットワーク状態監視手段2の監視結果である通信ネットワークの状態に応じてデータの分割方法および分割されたデータの送信方法を変更する送信方法決定手段3とを備える。 

Description

送信装置、受信装置および中継装置
 本発明は、TCP(Transmission Control Protocol)コネクションを利用してリアルタイムメディアデータを低遅延かつ高品質に送受信する送信装置、受信装置および中継装置に関する。
 IP(Internet Protocol)ネットワークを利用して音声データを送受信するIP電話が普及している。インターネットやモバイルインターネットの普及およびそれらの通信の高速化に伴い、品質が保証されていないインターネットやモバイルインターネットを経由したIP電話も利用されている。
 音声通話では、相手とリアルタイムに通話できることが重要である。しかし、IP電話では一般的な回線交換式の電話に比べて音声遅延が大きく、音声通話品質が悪い。安定したIP電話通信サービス提供のため、総務省は、IP電話サービス事業者のサービス基準を定めている。そのサービス基準において、例えば、IP電話におけるエンド-エンドの音声遅延時間の目安は、400ミリ秒未満である。
 インターネットやモバイルネットワークを利用したIP電話では上記の品質基準が適用されず、音声遅延時間が400ミリ秒未満の音声通話が実現されないことも多い。しかし、インターネットやモバイルネットワークを利用したIP電話においても品質が維持されるためには、できるだけ低遅延の音声通話が実現されることが重要である。
 音声データを低遅延で相手に伝送するために、多くのIP電話は、UDP(User Datagram Protocol)上のRTP(Realtime Transport Protocol)を利用して音声データの伝送をしている。
 UDPを使用する場合、データが相手に到達することは保証されない。その代わりに、低遅延なデータ伝送が実現される。よって、UDPは、リアルタイム性を要求するマルチメディア通信に利用される。しかし、UDPによるデータ転送には、NAT(Network Address Translation)やファイアウォールを通過できないという欠点がある。
 NATは、グローバルIPアドレスを持たない端末をインターネットに接続させるために利用される技術である。NATの外部の機器は、NATの内部の端末のIPアドレスを知ることができない。このため、NATの外部の機器は、NATの内部の端末に直接UDPでデータを送ることができない。また、多くのファイアウォールは、外部からの通信ネットワーク攻撃を防ぐため、外部からのUDP通信を内部に通さないようにしている。
 外部からのUDPによるデータをNAT内の機器やファイアウォール内の機器に送信するためには、NATやファイアウォールに特殊な設定をしたり、IETF(Internet Engineering Task Force)で定められているRFC5389 Session Traversal Utilities for NAT(STUN)などの特別なプロトコルを利用したりすることが求められる。しかし、上記の対応方法には、通信ネットワーク攻撃耐性が弱くなる、特別なプロトコルに対応するためにコストがかかるなどの欠点がある。
 インターネットやモバイルインターネットでは、利用端末がNATやファイアウォールの内部にあることが多いため、一部のインターネット向けIP電話サービスは、NATやファイアウォールを容易に越えることができるTCPを利用して音声データを送信する。
 TCPを使用する場合、ロスしたパケットの再送制御やフロー制御が行われるため、相手端末へのデータ到達性が保証される。その代わりに、低遅延なデータ通信は、考慮されない。よって通常、TCPは、リアルタイム性を要求する音声通話などのサービスには利用されていない。TCPを利用したIP電話サービスには、接続性を確保できるというメリットがあるが、音声遅延が大きいというデメリットもある。
 上記の課題に対して、特許文献1にTCPを利用して低遅延にデータ通信を行うための技術が記載されている。特許文献1に記載されている通信装置は、以下のような構成を取ることで、TCPを利用した低遅延なデータ通信を実現する。
 特許文献1に記載されている送信装置は、送信装置と受信装置との間で複数のTCPコネクションを確立し、音声データなどの送信対象データを複数のパケットに分割し、複数のパケットを確立済みの別々のTCPコネクションに振り分けて送信する。このため、受信装置は、ある一つのTCPコネクションに振り分けられたパケットがロスしそのパケットの到着が遅延しても、他のTCPコネクションに振り分けられたパケットを遅延なく受信できる。
 特許文献1に記載されている通信装置は、パケットロスにより遅れて到着したパケットをロスパケットとして扱うことで、低遅延な音声通話を実現する。ロスパケットとして扱われたパケット分の音声データは受信側で利用されないため、受信装置で再生される音声データは送信前のデータと比較して劣化したデータになる。
特開2009-100118号公報 特開2011-142622号公報 特開2011-228823号公報
Vinay J. Ribeiro, Rudolf H. Riedi, Richard G. Baraniuk, Jiri Navratil and Les Cottrell,"pathChirp:Efficient available Bandwidth Estimation for Network Paths,"in Proc of Passive and Active Measurement Workshop 2003.
 しかし、特許文献1に記載されている通信装置は、最適なTCPコネクションの本数、音声データを複数パケットに分割する分割方法、および受信装置に到着するパケットの許容遅延時間の最適値を考慮していない。さらに、特許文献1に記載されている通信装置は、低遅延な音声通話を実現することのみを考慮しており、音声データの劣化を考慮していない。
 そこで、本発明は、低遅延な音声通話を実現し、かつ音声データの劣化を防止できる送信装置、受信装置および中継装置を提供することを目的とする。
 本発明による送信装置は、分割されたデータを1つまたは複数のTCPコネクションに振り分けるデータ振分手段と、通信ネットワークの状態を監視するネットワーク状態監視手段と、ネットワーク状態監視手段の監視結果である通信ネットワークの状態に応じてデータの分割方法および分割されたデータの送信方法を変更する送信方法決定手段とを備えることを特徴とする。
 本発明による受信装置は、受信した分割データを合成するデータ合成手段と、通信ネットワークの状態を監視するネットワーク状態監視手段と、ネットワーク状態監視手段の監視結果である通信ネットワークの状態に応じて分割データの受信方法および分割データの合成方法を変更する受信方法決定手段とを備えることを特徴とする。
 本発明による中継装置は、受信した分割データを合成するデータ合成手段と、通信ネットワークの状態を監視するネットワーク状態監視手段と、ネットワーク状態監視手段の監視結果である通信ネットワークの状態に応じて分割データの受信方法および分割データの合成方法を変更する受信方法決定手段とを備えることを特徴とする。
 本発明によれば、低遅延な音声通話を実現し、かつ音声データの劣化を防止できる。
本発明による送信装置および受信装置を含むメディア通信システムの第1の実施形態の構成例を示すシステム構成図である。 送信装置と受信装置との通信形態の例を示す説明図である。 送信装置と受信装置の第1の実施形態の構成例を示すブロック図である。 送信装置のメディアデータ送信処理の動作を示すフローチャートである。 受信装置のメディアデータ再生処理の動作を示すフローチャートである。 一つのTCPコネクションを用いた場合のパケット通信の様子の一例を示す説明図である。 一つのTCPコネクションを用いた場合のパケット通信の様子の一例を示す説明図である。 二つのTCPコネクションを用いた場合のパケット通信の様子の一例を示す説明図である。 二つのTCPコネクションを用いた場合のパケット通信の様子の一例を示す説明図である。 メディア通信システムによる効果を評価するために用いられるシステムの構成を示すシステム構成図である。 パケットロス率と平均PESQ評価値の関係を許容遅延ごとのグラフとして示す説明図である。 パケットロス率と平均PESQ評価値の関係を並列コネクション数ごとのグラフとして示す説明図である。 パケットロス率と平均PESQ評価値の関係をパケット送信間隔ごとのグラフとして示す説明図である。 二つのTCPコネクションを用いた場合の冗長通信の様子の一例を示す説明図である。 二つのTCPコネクションを用いた場合の冗長通信の様子の一例を示す説明図である。 本発明による送信装置の概要を示すブロック図である。 本発明による受信装置の概要を示すブロック図である。 本発明による中継装置の概要を示すブロック図である。
実施形態1.
 以下、本発明の第1の実施形態を図面を参照して説明する。図1は、本発明による送信装置および受信装置を含むメディア通信システムの第1の実施形態の構成例を示すシステム構成図である。
 図1に示すメディア通信システム10は、送信装置100と、受信装置200と、マルチメディアデータ記憶部400とを含む。送信装置100は、IPネットワーク300を介して受信装置200と通信可能に接続されている。
 送信装置100は、IPネットワーク300を介して受信装置200に、マルチメディアデータ記憶部400に記憶されているマルチメディアデータ500を送信する。
 マルチメディアデータ500は、例えば、マイクロフォン(以下、マイクという。)やカメラからリアルタイムに取得されるマルチメディアデータである。また、マルチメディアデータ500は、外部記憶媒体や別の装置により管理される記憶装置に蓄積されたマルチメディアファイルでもよい。本実施形態では、マルチメディアデータ500は、マイクから入力されたリアルタイム音声データであるとする。
 送信装置100は、IPネットワーク300を介して受信装置200へマルチメディアデータ500を送信する情報処理装置である。送信装置100は、中央処理装置(CPU;Central Processing Unit)(図示せず)、メモリおよびHDD(Hard Disk Drive)などの記憶装置(図示せず)を備える。送信装置100は、記憶装置に記憶されているプログラムを実行する場合に、後述する機能を実現するように構成されている。このように構成されていることで、送信装置100は、マルチメディアデータの通信を実現する。
 受信装置200は、IPネットワーク300を介して送信装置100と接続されている。受信装置200は、中央処理装置(CPU)(図示せず)および、メモリおよびHDDなどの記憶装置(図示せず)を備える。受信装置200は、記憶装置に記憶されているプログラムを実行する場合に、後述する機能を実現するように構成されている。このように構成されていることで、受信装置200は、マルチメディアデータの受信および再生を実現する。
 送信装置100が送信するマルチメディアデータ500は、外部記憶媒体や別の装置により管理される記憶装置に保存されたマルチメディアファイルでもよい。また、マルチメディアデータ500は、マイクやカメラからリアルタイムに取得されるマルチメディアデータでもよい。
 本実施形態のメディア通信システムでは、マイクからリアルタイムに入力された音声データであるマルチメディアデータ500を、できるだけ低遅延に、かつ高品質に送信装置100から受信装置200に伝送することが想定されている。
 しかし、本実施形態のメディア通信システムは、マイクから入力された音声データの他にも、カメラからリアルタイムに入力された映像データ、映像データと音声データの両方、マイクやカメラではなく別装置から伝送された音声データや映像データ、または記憶装置に蓄積されたマルチメディアデータなど、マルチメディアデータを送信するサービスであればどのようなサービスにも適用可能である。
 IPネットワーク300は、IPに準拠した通信を行う任意の通信ネットワークである。IPネットワーク300は、ルータなどの中継装置など(図示せず)を含む。また、IPネットワーク300は、有線通信により実現されてもよい。また、IPネットワーク300は、その一部又は全部が無線通信により実現されてもよい。
 IPネットワーク300が無線通信により実現される場合、無線通信には、第三世代のモバイルネットワーク(3G)、HSPA(High Speed Packet Access)網、またはLTE(Long Term Evolution)網などのモバイルネットワークが利用される。また、無線通信には、無線LAN(Local Area Network)(例えば、Wi-Fi(登録商標))が利用されてもよい。送信装置100と受信装置200とは、IPに準拠した通信を行うことが可能である任意の無線通信により通信可能に接続されてもよい。
 なお、本実施形態では、送信装置100は音声を入力して送信する装置であり、受信装置200は音声を受信して再生する装置であるが、送信装置100および受信装置200は、音声を入力したり再生したりする装置ではなく、音声データを中継するだけの装置でもよい。
 図2は、送信装置100と受信装置200との通信形態の例を示す説明図である。図2に示す「1.直接UDP」および「2.直接TCP」のように、送信装置100と受信装置200との間で直接UDP通信またはTCP通信が行われる場合、中継装置600は不要である。
 しかし、送信装置100または受信装置200がNAT内やファイアウォール内に存在する場合、NATやファイアウォールの外部の装置は直接UDP通信を行うことができないことが多い。そのような場合には、図2に示す「3.片側TCP」のように、途中の中継装置600と送信装置100とをTCPコネクションで通信可能に接続させ、中継装置600と受信装置200とをUDPで通信可能に接続させてもよい。
 また、図2に示す「4.両側TCP」のように、送信装置100と受信装置200との間でTCPコネクションを中継する中継装置600が設けられてもよい。また、図2に示す「5.多段TCP」のように、送信装置100および受信装置200との間には、中継装置が2つ以上存在してもよい。中継装置600は、少なくとも、以下で詳述される受信装置200の機能を有し、合成したデータを受信装置に送信する。
 次に、送信装置100と受信装置200の詳細な構成を図3を参照して説明する。図3は、送信装置100と受信装置200の第1の実施形態の構成例を示すブロック図である。
 図3に示す送信装置100は、メディア入力手段101と、符号化手段102と、データ分割手段103と、データ振分手段104と、送信手段1051~105nと、送信側コネクション管理手段106と、送信側ネットワーク状態監視手段107と、送信方法決定手段108とを含む。なお、nは自然数を意味する。
 図3に示す受信装置200は、受信手段2011~201nと、データ合成手段202と、再生手段203と、受信側コネクション管理手段204と、受信側ネットワーク状態監視手段205と、受信方法決定手段206とを含む。
 送信装置100の送信手段1051~105nと、受信装置200の受信手段2011~201nは、TCPコネクション3011~301nでそれぞれ接続されている。送信装置100の送信手段の数、受信装置200の受信手段の数、およびTCPコネクションの数はすべて同一である。本実施形態では便宜上、それぞれの手段とTCPコネクションの添字を統一する。送信手段105mは、受信手段201mとTCPコネクション301mで接続されているとする(m=1~n)。
 メディア入力手段101は、メディア信号を入力する機能を有する。
 符号化手段102は、メディア入力手段101が入力したメディア信号を特定の符号化方式で符号化する機能を有する。
 データ分割手段103は、符号化手段102が符号化したメディア信号を設定されたデータ量ごとに分割する機能を有する。
 データ振分手段104は、データ分割手段103が分割したデータを、送信手段1051~105nのうちの適切な送信手段に振り分ける機能を有する。
 送信手段1051~105nは、データ振分手段104から振り分けられたデータをTCPコネクション3011~301nを介し、受信手段2011~201nへ送信する機能を有する。
 送信側コネクション管理手段106は、送信手段1051~105nの状態を監視する機能を有する。送信側コネクション管理手段106は、送信手段1051~105nの状態を送信側ネットワーク状態監視手段107に伝達する。
 送信側ネットワーク状態監視手段107は、送信側コネクション管理手段106の情報や、通信ネットワーク状態を通知する手段の情報に基づき、現在の通信ネットワーク状態または近い未来の通信ネットワーク状態を推定または予測する機能を有する。
 送信側ネットワーク状態監視手段107が利用する通信ネットワーク状態を推定する基本的な方法には、例えば、ICMP(Internet Control Message Protocol)パケットを利用してpingを連続的に送受信することによって、パケットロス率およびパケットの到達遅延を測定できる方法がある。
 また、通信ネットワーク状態の推定方法または予測方法は、上記の他にも、特許文献2に記載されている複数のパケットを連続的に送信し受信時間を測定することによって現在利用可能な周波数帯域を推定する方法や、特許文献3に記載されている確率モデルからパケットロス率を推定する方法でもよい。また、非特許文献1に記載されているpathChirpを使用する方法でもよい。
 送信側ネットワーク状態監視手段107が推定または予測する通信ネットワーク状態は、例えば、パケットロス率である。パケットロス率は、例えば、送信側ネットワーク状態監視手段107が特許文献2や非特許文献1に記載されている方式などで可用帯域を推定できた場合、可用帯域の時間的な変動を観測し、可用帯域が少なくなってきたら通常よりもパケットロスが発生している可能性が高いと判断することによって予測される。
 また、コネクション管理手段で管理しているTCP/IPを監視する方法でも、パケットロス率は推定される。具体的には、送信側の送信側コネクション管理手段106は、TCP/IPの送信バッファ量が増加しているとパケットロスが発生していることが分かる。受信側の受信側コネクション管理手段204は、定期的に受信できるはずのデータが受信できていない場合に、パケットロス率が増大していると判断できる。
 なお、上記では送信側ネットワーク状態監視手段107がパケットロス率を推定または予測するとしているが、パケットロス率とパケット到達遅延や可用帯域とは密接に関係している。すなわち、送信側ネットワーク状態監視手段107は、パケット到達遅延が増加すればパケットロス率が高くなるという予測、または可用帯域が少なくなればパケットロス率が高くなるという予測もできる。よって、送信側ネットワーク状態監視手段107は、パケット到達遅延や可用帯域を推定または予測してもよい。
 送信方法決定手段108は、送信側ネットワーク状態監視手段107で推定または予測された通信ネットワーク状態に基づき、データを分割する最適なデータ量および最適なコネクション数を決定する機能を有する。送信方法決定手段108は、決定した内容をデータ分割手段103と、データ振分手段104と、送信側コネクション管理手段106とに通知する。
 データを分割するデータ量が変更された場合、データ分割手段103は、入力されるメディアデータの分割単位を変更する。
 コネクション数が増加される場合、送信側コネクション管理手段106は、新たな送信手段から受信装置200の受信手段に対して新たなTCPコネクションを張る。その後、新たな送信手段と新たな受信手段との間で通信が開始される。
 また、コネクション数が減少される場合、送信側コネクション管理手段106は、任意の送信手段105mを切断する。データ振分手段104は、コネクション数が変更された後の新たな送信手段に対してデータを振り分けるように動作する。
 受信手段2011~201nは、送信装置100の送信手段1051~105nから送信されたデータパケットを受信する機能を有する。
 データ合成手段202は、複数の受信手段が受信したデータパケットを再構成し、複合する機能を有する。
 データ合成手段202は、受信手段2011~201nが受信したデータパケットの到着時間が、許容される遅延時間内であるか否かを判別する。パケットが許容遅延時間内に到着した場合、データ合成手段202は、到着したパケットを復号する。パケットが許容遅延時間内に到着しなかった場合、データ合成手段202は、到着しなかったパケットをロスパケットとして扱う。
 再生手段203は、データ合成手段202で復号されたメディアデータを再生する機能を有する。
 受信側コネクション管理手段204は、受信手段2011~201nの状態を監視する機能を有する。受信側コネクション管理手段204は、受信手段2011~201nの状態を受信側ネットワーク状態監視手段205に伝達する。
 受信側ネットワーク状態監視手段205は、受信側コネクション管理手段204の情報や、通信ネットワーク状態を通知する手段の情報に基づき、現在の通信ネットワーク状態または近い未来の通信ネットワーク状態を推定または予測する機能を有する。
 受信側ネットワーク状態監視手段205による通信ネットワーク状態の推定方法または予測方法は、例えば、送信側ネットワーク状態監視手段107が使用する方法と同じ方法である。また、受信側ネットワーク状態監視手段205による通信ネットワーク状態の推定内容または予測内容は、例えば、パケットロス率である。
 受信方法決定手段206は、受信側ネットワーク状態監視手段205で推定または予測された通信ネットワーク状態に基づき、データ受信に最適なコネクション数およびデータ合成手段202でデータ合成時に許容する遅延時間を決定する機能を有する。受信方法決定手段206は、決定した内容をデータ合成手段202と、受信側コネクション管理手段204とに通知する。
 許容遅延時間が変更された場合、データ合成手段202は、データ合成時に到着したパケットをロスパケットとして扱うかどうか判定する際の判定時間を変更する。
 コネクション数が増加される場合、受信側コネクション管理手段204は、新たな受信手段から送信装置100の送信手段に対して新たなTCPコネクションを張る。その後、新たな送信手段と新たな受信手段との間で通信が開始される。
 また、コネクション数が減少される場合、受信側コネクション管理手段204は、任意の受信手段201mを切断する。
 以下、本実施形態における送信装置100が入力したメディアデータを送信する時の動作を図4のフローチャートを参照して説明する。図4は、送信装置100の第1の実施形態のメディアデータ送信処理の動作を示すフローチャートである。
 ここでは、マイクから入力された音声データを送信装置100が受信装置200に送信する場合を想定する。
 送信装置100のメディア入力手段101は、処理単位分の音声データをマイクから入力する(ステップS001)。音声データの処理単位は、特に定められない。
 メディア入力手段101が、例えば、マイクから入力される音声通話の音声データを8kHzでサンプリングし、16bitで量子化したPCM(Pulse-Code Modulation)データとして入力するとする。この設定で10ミリ秒ごとに音声データが入力される場合、メディア入力手段101には、10ミリ秒ごとに160バイトのPCMデータが入力される。
 符号化手段102は、マイクから入力された音声データを所定の方式で符号化する(ステップS002)。ここで、符号化手段102が利用する符号化方式は任意であり、PCMデータをそのまま使用する方式でもよい。
 また、符号化手段102が利用する符号化方式は、ITU-T(International Telecommunication Union Telecommunication Standardization Sector)で定められたG.711やG.729、3GPP(3rd Generation Partnership Project)で定められたAMR(Adaptive Multi Rate)、およびISO(International Organization for Standardization)で定められたAAC(Advanced Audio Coding)などの符号化方式でもよい。
 ここでは、符号化手段102がG.711で音声データを符号化することを想定する。この場合、10ミリ秒ごとの160バイトのPCMデータが、10ミリ秒ごとの80バイトのG.711ストリームに符号化される。
 次いで、データ分割手段103は、符号化されたG.711ストリームを送信するパケット単位にまとめる(ステップS003)。送信装置100は、10ミリ秒のデータをそのままパケットとして送信してもよい。また、送信装置100は、いくつかの10ミリ秒のデータのパケットをまとめて送信してもよい。
 図4に示す例では、6個の10ミリ秒のG.711データが、まとめて一つのパケットにされている。パケットをまとめずに送信した場合、受信装置200側にパケット作成のための待ち時間が少ないというメリットがある。しかし、送信するパケットが多くなり送受信の負荷が高くなったりパケットヘッダの比率が多くなったりするため、通信ネットワークの負荷が高くなるという欠点がある。
 パケットをまとめて送信した場合、送受信の負荷や通信ネットワークの負荷が低くなるというメリットがある。しかし、パケットがまとめられることで、パケット到達の遅延時間が長くなるという欠点がある。
 データ振分手段104は、符号化済みデータがまとめられて生成されたパケットを複数の送信手段に振り分ける。送信手段は、振り分けられたパケットを送出する(ステップS004)。
 データ振分手段104は、1番目のパケットを送信手段1051に、2番目のパケットを送信手段1052に、n番目のパケットを送信手段105nに、(n+1)番目のパケットを送信手段1051にというように、パケットごとに順番に送信手段を割り当ててもよい。また、データ振分手段104は、送信手段ごとの状態を監視し、送信遅延が少ない送信手段を優先して利用するようにしてもよい。
 データ振分手段104が送信するパケットに順番に送信手段を割り当てる場合、受信装置200もパケットを順番に受信することによってパケットを再構成できる。データ振分手段104が送信するパケットに送信遅延が少ない送信手段を優先して割当てる場合、受信側でパケットの再構成がされるように、送信パケットにはタイムスタンプ情報が付されていることが求められる。
 以後、送信装置100は、入力された音声データに対して送信処理を繰り返す。音声データが入力されなくなった場合、送信装置100は、メディアデータ送信処理を終了する。
 次に、本実施形態における受信装置200が受信したメディアデータを再生する時の動作を図5のフローチャートを参照して説明する。図5は、受信装置200の第1の実施形態のメディアデータ再生処理の動作を示すフローチャートである。
 ここでは、送信装置100から送信されたマイクから入力された音声データを、受信装置200が再生する場合を想定する。
 受信装置200の受信手段は、到着したデータパケットを受信する(ステップS101)。
 次いで、データ合成手段202は、到着したパケットの到着時間から、パケットが許容遅延時間に間に合っているか、それとも遅れて到着したかを判定する(ステップS102)。
 例えば、許容遅延時間が100ミリ秒である場合、データ合成手段202は、最初の音声データから1秒後(1000ミリ秒後)の音声データが、再生が開始されたタイミングから1.1秒以内(1100ミリ秒以内)に届けば許容遅延時間に間に合ったと判定する。音声データが再生開始のタイミングから1.1秒以内に届かなかった場合、データ合成手段202は、パケットの到着が遅すぎると判断する。
 データ合成手段202は、到着が許容遅延時間より遅れたと判断(ステップS102のYes)したパケットを破棄する(ステップS103)。また、データ合成手段202は、到着が許容遅延時間に間に合ったと判断した(ステップS102のNo)パケットをバッファに蓄積する(ステップS104)。以後、データ合成手段202は、受信手段から入力されるパケットに対して、判定処理を繰り返す。
 バッファに蓄積されたパケットは、タイムスタンプに従って順番に読み出される(ステップS105)。パケットを順番に読み出す時、データ合成手段202は、例えば、60ミリ秒単位で生成されていたパケットを、再生するために必要な単位のパケットデータに分割して処理してもよい。再生するために必要な単位は、例えば、10ミリ秒単位である。
 データ合成手段202は、バッファから読み出したパケットを復号する(ステップS106)。データ合成手段202は、例えば、G.711で符号化されていたパケットをPCMデータに復号する。
 パケットが複合される時、ステップS103において許容遅延時間に到着が間に合わなかったパケットは破棄されているので、パケットの間が抜けている場合がある。この場合、データ合成手段202は、破棄されたパケットを無音として、パケットが抜けている箇所にデータが0である10ミリ秒分のPCMデータを挿入してもよい。
 また、データ合成手段202は、G.711 Appendix Iで定められているようなパケットロス隠蔽処理(PLC;Packet Loss Concealment)をすることによって、破棄された部分の音声データを目立たなくしてもよい。
 再生手段203は、データ合成手段202によって復号、およびPLCにより補間された音声データを再生する(ステップS107)。以後、データ合成手段202はバッファに蓄積されたパケットを読み出し、合成処理を繰り返す。バッファに蓄積されたパケットが無くなった場合、受信装置200は、再生処理を終了する。
 以下、本実施形態における複数のTCPコネクションを用いたデータ通信方法およびデータ合成方法を、図6から図9を参照して説明する。図6は、一つのTCPコネクションを用いた場合のパケット通信の様子の一例を示す説明図である。図7は、一つのTCPコネクションを用いた場合のパケット通信の様子の他の一例を示す説明図である。
 図6に示すように、送信装置100において、「送信アプリ」と記載されたメディア入力手段101から送信手段1051までのデータ通信処理を行うアプリケーションが動作する。
 TCPコネクションを利用したデータ通信の場合、ソケットと呼ばれる抽象化インタフェースが利用されてデータ通信が行われる。OS(Operating System)上のアプリケーションである送信アプリは、ソケットのバッファに対して送信したいパケットデータを書き込む。
 ソケット通信は、OSのライブラリやカーネルに実装されている。バッファに書き込まれたパケットデータは、アプリケーションのソケットバッファへの書き込みとは独立したタイミングでIPネットワーク300へ送信される。
 図6に示すように、受信装置200でもソケットインタフェースを利用している。受信装置200では、「受信アプリ」と記載された受信手段2011から再生手段203までのデータ再生処理を行うアプリケーションが動作している。
 音声データが再生されるまでの手順は、まずIPネットワーク300から届いたパケットデータを受信ソケットが受け取り、受信ソケットがパケットデータを受信バッファに書き込む。受信ソケットがパケットデータを受信バッファに書き込むと、受信アプリに対して割り込みなどのイベントが発生する。発生したイベントを受けて、受信アプリがパケットデータを受信バッファから受け取り、再生処理を行うという手順になる。
 図6には、10個のパケットが途中でパケットロスすることなく、定期的に送信アプリが受信アプリにパケットを送信する様子が示されている。送信アプリがそれぞれのパケットを送信バッファに書き込むと、それぞれのパケットが順番にソケットを経由して受信アプリに送信される。TCPコネクションではパケットロスのないデータ通信が行われるため、受信ソケットは「どこまで受信できたか」を定期的にACK(ACKnowledgement)パケットとして返す。図6に示す例において、受信ソケットは3パケットを受信すると一回ACKパケットを返している。
 図7には、途中でパケットロスが発生し、パケット2が受信装置200に届かない例が示されている。送信装置100は、パケット1、パケット2、パケット3・・・の順序でパケットを送信している。しかし、パケット2がロスしているため、受信装置200にはパケット1が受信された後、パケット3が届いたことになる。
 ここで、受信装置200の受信ソケットは、送信装置100の送信ソケットに対して、「パケット2が届いていない」ことを伝えるACKパケットを返す。一般に送信ソケットは、「パケットが届かない」というACKパケットを一度受信しただけでは、届いていないパケットの再送を行わない。送信ソケットは、ACKパケットを数回受信しないとロスしたパケットを再送しない。
 図7に示す例では、受信ソケットにパケット4、パケット5が届いたタイミングで、それぞれ「パケット2が届いていない」ことを伝えるACKパケットが送信されている。その結果、送信ソケットに「パケット2が届いていない」ことが3回伝えられたため、送信ソケットは、パケット2を再送している。受信装置200には、パケット6が到着した後にパケット2が到着している。
 TCPコネクションを利用したデータ通信の場合、データが正しい順序に並べられてからアプリケーション上にイベントが発生する。すなわち、受信バッファに到着しているパケット3からパケット6は、パケット2が到着してからようやく利用される。
 通常のデータ通信では、少々の到達遅延は大きな問題にならない。しかし、リアルタイムデータの通信では、このパケット再送による到達遅延が音声品質の劣化の原因になる。図7に示す例において、パケットが20ミリ秒単位で送られているとすれば、パケット2は約80ミリ秒以上の遅れで届くことになる。このように、一つのTCPコネクションのみを用いてリアルタイムデータ通信を実現することは困難である。
 図8は、二つのTCPコネクションを用いた場合のパケット通信の様子の一例を示す説明図である。図9は、二つのTCPコネクションを用いた場合のパケット通信の様子の他の一例を示す説明図である。
 送信装置100は、送信手段1051を使用して奇数番パケットを送信し、送信手段1052を使用して偶数番パケットを送信するようにパケットを振り分ける。受信手段2011は、奇数番パケットを受信する。また、受信手段2012は、偶数番パケットを受信する。
 図8に示す例ではパケットロスが発生していないので、送信手段1051および送信手段1052で送信されたパケットが、遅滞なく受信手段2011および受信手段2012で受信される。受信手段2011および受信手段2012で受信されたパケットは、データ合成手段202に渡される。データ合成手段202は、渡されたパケットをパケット順に再構成する。再生手段203は、再構成された音声を再生する。
 図9に示す例ではパケットロスが発生している。送信装置100は、図8に示す例と同様に、二本のTCPコネクションを利用して、奇数番パケット、偶数番パケットをそれぞれ送信手段1051、送信手段1052に振り分ける。
 図9に示す例では、TCPコネクション3011ではパケットロスが発生していないため、奇数番パケットは遅滞なく受信手段2011で受信される。これに対して、TCPコネクション3012ではパケット2のロスが発生しているため、パケットの再送遅延が発生する。受信手段2012には、パケット2、パケット4、パケット6が遅れて到着する。
 データ合成手段202は、許容遅延時間内に届かないパケットをロスパケットとして扱う。図9に示す例では、1パケット分到着が遅れたパケットがロスパケットとして扱われるように設定されている。よって、データ合成手段202は、届いたパケットから順にデータ合成処理を行い、許容遅延時間内に届かないパケット2、パケット4、パケット6をロスパケットとして扱う。データ合成手段202は、合成時にPLCによりロスパケットを目立たなくする。再生手段203は、そのように合成されたデータを再生する。
 上記のように構成されることで、本実施形態のメディア通信システムは、複数のTCPコネクションを利用した場合、特定のTCPコネクションのパケットの到着に遅延が発生したとしても、遅延パケットをロスパケットとして扱うことで、データの再生処理を遅延なく行うことができる。また、ロスパケットを目立たなくする場合、メディア通信システムは、音質劣化を防ぐことができる。
 以下、本実施形態における送信装置100と受信装置200との間のTCPコネクション数、データ分割手段103におけるデータ分割の間隔、およびデータ合成手段202における許容遅延時間の決定方法をそれぞれ説明する。
 まず、許容遅延時間の決定方法を、以下に説明する。上記で説明した通り、パケットロスが発生すると、受信装置200に到着するパケットが遅延する。すなわち、パケットロスが多く発生する環境では、許容遅延時間より遅く到着するパケットが増加する。データ合成手段202は、許容遅延時間より遅く到着したパケットをロスパケットとしてデータを合成する。
 音声パケットが届かない場合、届かないロスパケットの箇所において音質劣化が発生する。図9に示す例などではPLCにより音質劣化を目立たないようにしているが、できるだけパケットロスを発生させないように制御する方が再生する音声が高音質になる。このため、許容遅延時間の決定方法として、パケットロスが少ない場合はデータ合成手段202における許容遅延時間を短くし、パケットロスが多くなる程に許容遅延時間を長くするという決定方法がある。
 具体的には、例えば、パケットロス率が1%程度までは許容遅延時間を100ミリ秒程度に設定し、パケットロス率が10%では、許容遅延時間を総務省の定めるIP電話の遅延時間の限界である400ミリ秒にまで長くするという方法である。
 次に、TCPコネクション数の決定方法を、以下に説明する。パケットロス発生時には、TCPコネクション数を多くした方が遅延を少なくできる。その理由は、上記で説明した通り、あるTCPコネクションでパケットロスが発生し、TCPパケットの再送により到着遅延が生じたとしても、他のTCPコネクションで後続のパケットが到着している場合は、音声データ全体の遅延は生じないからである。
 このため、TCPコネクション数の決定方法には、パケットロスが多くなる程にTCPコネクション数を多くする方法が望ましい。具体的には、例えば、パケットロス率が1%程度ではTCPコネクション数を2本程度とし、パケットロスが多くなる程にTCPコネクション数を5本程度にまで増加するという方法である。
 次に、データ分割間隔の決定方法を、以下に説明する。データ分割間隔は、例えば、音声入力間隔が10ミリ秒だった場合に、10ミリ秒ごとに音声データを各TCPコネクションに振り分けて送信するか、6個まとめて60ミリ秒ごとに音声データを各TCPコネクションに振り分けるかを決定するパラメータである。
 パケットロスが少ない場合は、パケットロスによる遅延が少ないのでデータ分割間隔は任意でよい。この場合、遅延が許す範囲で分割間隔を長くした方がパケットロスの個数が少なくなり、音質劣化が目立たなくなる傾向にある。
 上記に対して、パケットロスが多い場合は、分割間隔を短くし、パケット数を多くした方がよい。その理由は、送信するパケット数が多いと、パケットロスが発生した場合でもパケット再送までの時間が短くなるからである。
 上記ではパケットロスの発生状況からTCPコネクション数、データ分割の間隔およびデータ合成手段202における許容遅延時間を決定する方法をそれぞれ説明したが、送信側ネットワーク状態監視手段107、受信側ネットワーク状態監視手段205がそれぞれパケットロス率を測定し、TCPコネクション数、データ分割間隔および許容遅延時間の決定を実現してもよい。
 また、受信装置200の受信手段がパケットの到着遅延や同時到着パケット数を観測し、到着遅延の状況や、本来所定の間隔で到着すべきパケットが同時に到着することを検知することによって、パケットロスが発生していることを推定してもよい。
 また、TCP/IPのIPレイヤで監視することによって、実際のTCP/IPのロス数、再送を行った回数、ACKパケットによる再送要求の回数、および送信バッファや受信バッファへのデータ蓄積量などを監視し、これらの監視項目からパケットロス数を推定してもよい。
 以下、図10から図13を用いて、送信方法および受信方法を変更すると、音質を向上させることができることを説明する。図10は、本実施形態のメディア通信システムによる効果を評価するために用いられたシステムの構成を示すシステム構成図である。図10に示すように、送信装置100は、マルチメディアデータ記憶部400からデータを読み出す。そして、送信装置100は、読み出したデータを、ネットワークエミュレータ302を経由して受信装置200に送信する。
 マルチメディアデータ記憶部400に記憶されているデータは、ITU-T P.501 “Test signals for use in telephonometry”で入手可能な、11ヶ国語の男女2名ずつの音声シーケンス、計44サンプルをつなぎあわせた6分43秒の音声データが8kHzにサンプリングされ、ITU-T G.711 μ-lawにて符号化されたデータである。符号化済みのマルチメディアデータは、64kbpsの音声データになる。
 送信装置100は、マルチメディアデータ記憶部400からデータを定期的に読み出しながら、データを受信装置200に送信する。送信装置100は、読み出す時間間隔を10ミリ秒、20ミリ秒、30ミリ秒、40ミリ秒、60ミリ秒の5パターンで変更しながらデータを送信した。これは、送信装置100がそれぞれ、80バイト、160バイト、240バイト、320バイト、480バイトでマルチメディアデータを分割しながら送信することに相当する。また、送信装置100と受信装置200はTCPコネクションで接続されている。送信装置100は、TCPコネクションの本数を1本から5本まで変更しながらデータを送信した。
 受信装置200は、一つまたは複数のTCPコネクションから受信したデータパケットの許容遅延時間を変更しながら、マルチメディアデータを再構成した。そして、受信装置200は、再構成したデータをマルチメディアデータ記憶部401に保存した。受信装置200は、許容遅延時間を100ミリ秒、200ミリ秒、400ミリ秒と変更した。
 音質の評価方法には、マルチメディアデータ記憶部400に記憶されている送信前のデータとマルチメディアデータ記憶部401に記憶されている再構成されたデータをそれぞれPCMデータに復号し、ITU-T P.862 “Perceptual evaluation of speech quality(PESQ):An objective method for end-to-end speech quality assessment of narrow-band telephone networks and speech codecs”を用いて、音質の劣化度を測定する方法を使用した。
 PESQは、電話帯域の音声の劣化を客観的に測定する方式である。また、PESQは、人間の聴覚心理モデルに基づき、リファレンス音源(すなわち、マルチメディアデータ記憶部400に記憶されているデータ)からの劣化度を推定する方式であり、主観品質であるMOS(Mean Opinion Score)と高い相関がある。MOSの評点は1から5で評価され、5が一番よく、1が一番悪い。3が「普通(Fair)」「やや劣化が気になる(Slightly annoying)」になる。よってここでは、PESQによる評価が3以上であれば、音質に問題がないと評価する。
 ネットワークエミュレータ302は、パケットロス率と通信ネットワーク遅延時間を変更する。変更することによって、通信ネットワーク状態の変化が再構成されたマルチメディアデータの音質(PESQ評価値)に与える影響が測定される。ネットワークエミュレータ302は、パケットロス率を0.1%から10%まで、また通信ネットワーク遅延時間を20ミリ秒、100ミリ秒、400ミリ秒とそれぞれ変化させた。
 図11は、パケットロス率と平均PESQ評価値の関係を許容遅延ごとのグラフとして示す説明図である。横軸はパケットロス率(%)、縦軸は平均PESQ値である。図11において、“100”は、許容遅延時間が100ミリ秒のときのパケットロス率と平均PESQ評価値の関係を表す。同様に、“200”および“400”は、許容遅延時間が200ミリ秒、400ミリ秒のときのパケットロス率と平均PESQ評価値の関係をそれぞれ表す。
 図11は、通信ネットワーク遅延時間20ミリ秒、パケット送信間隔20ミリ秒、同時コネクション数5本でデータ送受信を行った場合を示す。図11に示すように、パケットロス率にかかわらず、許容遅延時間が長くなるほど、平均PESQ値が高い、つまり音質が良いことがわかる。パケットロス率が1%以下の場合は許容遅延時間が100ミリ秒でも平均PESQ値が3.5以上となり、低遅延で高音質の音声視聴が実現されることがわかる。
 また、パケットロス率が10%になる場合、平均PESQ値が3以上になるためには、許容遅延時間を400ミリ秒に設定することが求められる。このようにパケットロス率に応じて許容遅延時間を変化させることで、音声品質が維持される。
 図12は、パケットロス率と平均PESQ評価値の関係を並列コネクション数ごとのグラフとして示す説明図である。横軸はパケットロス率(%)、縦軸は平均PESQ値である。図12において、“1”は、並列コネクション数が1本のときのパケットロス率と平均PESQ評価値の関係を表す。同様に、“2”~“5”は、並列コネクション数が2本~5本のときのパケットロス率と平均PESQ評価値の関係をそれぞれ表す。
 図12は、通信ネットワーク遅延時間20ミリ秒、パケット送信間隔20ミリ秒、許容遅延時間200ミリ秒でデータ送受信を行った場合を示す。図12に示すように、パケットロス率が3%以下の場合、コネクション数が少ないほど音質が高いことがわかる。また、パケットロス率が高くなると、コネクション数が多いほど平均PESQ値が高い。このように、パケットロス率に応じてコネクション数を変化させることで、音声品質が維持される。
 図13は、パケットロス率と平均PESQ評価値の関係をパケット送信間隔ごとのグラフとして示す説明図である。横軸はパケットロス率(%)、縦軸は平均PESQ値である。図13において、“10”は、パケット送信間隔が10ミリ秒のときのパケットロス率と平均PESQ評価値の関係を表す。同様に、“20”~“60”は、パケット送信間隔が20ミリ秒~60ミリ秒のときのパケットロス率と平均PESQ評価値の関係をそれぞれ表す。
 図13は、通信ネットワーク遅延時間20ミリ秒、コネクション数5本、許容遅延時間200ミリ秒でデータ送受信を行った場合を示す。図13に示すように、パケットロス率に関わらず、パケット送信間隔が10ミリ秒の場合の平均PESQ値が最も高い。パケットロス率が低い場合、パケット送信間隔を長くしても音質劣化が少ないので、パケット送信間隔を短くしてパケット送信回数を減らすことで通信ネットワークの負荷を下げることが期待される。
 また、パケットロス率が高い場合、パケット送信間隔が長くなると音質劣化も激しくなるため、パケットロス率が高い場合はパケット送信間隔をできるだけ短くすることによって音声品質が維持される。
 本実施形態のメディア通信システムは、送信装置と受信装置との間で一つまたは複数のTCPコネクションを確立し、送信対象であるメディアデータを複数のパケットに分割し、複数のパケットを確立済みの別々のTCPコネクションに振り分けて送信し、受信装置で許容遅延時間内に届かないパケットをロスパケットとして扱い、メディアデータを再構成することによって、低遅延なメディア通信を実現できる。さらに、通信ネットワーク状態にもとづき、TCPコネクションの増減、パケット分割方法の変更、および許容遅延時間の変更を行うことで、高品質なメディア通信を実現する。
実施形態2.
 次に、本発明の第2の実施形態を説明する。なお、本発明の第2の実施形態におけるメディア通信システム10の構成例は、第1の実施形態における説明と同様であるため説明を省略する。
 第1の実施形態では、データ分割手段103で入力された音声データを分割し、データ振分手段104により各送信手段1051~105nに振り分けることでデータを送信していたが、本実施形態では分割した音声データをすべての送信手段1051~105nに同時に振り分ける。
 上記の方法において、送信装置100には、第1の実施形態と比較してn倍のデータ量を振り分けることが求められる。しかし、分割された音声データがすべての送信手段に同時に振り分けられることで、再送遅延によりパケットロスとして扱われるデータが少なくなるため、音質劣化が防止される。本実施形態における通信方式を冗長通信と呼ぶことにする。
 以下、本実施形態における冗長通信の動作例を図14と図15に示す。図14は、二つのTCPコネクションを用いた場合の冗長通信の様子の一例を示す説明図である。図15は、二つのTCPコネクションを用いた場合の冗長通信の様子の他の一例を示す説明図である。
 図14は、二つのTCPコネクションに同じパケットが送信された例を示す。送信手段1051および送信手段1052から同じパケットがほぼ同時に送信されているので、受信手段2011および受信手段2012には同じパケットがほぼ同時に届いている。データ合成手段202には受信された同じパケットが二つ届くが、データ合成手段202は、先に届いたパケットなど、どちらか一方のパケットのみを利用することによってデータを再構成できる。
 図15は、TCPコネクション3012のパケット2がロスした場合を示す。パケット2がロスし、データ合成手段202において受信手段2012から到達するはずのパケット2からパケット6がロスパケットとなった場合でも、データ合成手段202には受信手段2011から同じパケットが届いているため、音質劣化は生じない。
 図14および図15に示す例では、同じデータを同時に二つのTCPコネクションを用いて送信する方法が使用されているが、時間差で送る、同じデータをすべてのTCPコネクションに送るのではなく別の一つ、または複数のTCPコネクションのみに限って送る、データのコピーを送るのではなく行列演算により求めた冗長データを送る、などの方法が使用されることも考えられる。
 次に、本発明の概要を説明する。図16は、本発明による送信装置の概要を示すブロック図である。本発明による送信装置は、分割されたデータを1つまたは複数のTCPコネクションに振り分けるデータ振分手段1(例えば、データ振分手段104)と、通信ネットワークの状態を監視するネットワーク状態監視手段2(例えば、送信側ネットワーク状態監視手段107)と、ネットワーク状態監視手段2の監視結果である通信ネットワークの状態に応じてデータの分割方法および分割されたデータの送信方法を変更する送信方法決定手段3(例えば、送信方法決定手段108)とを備える。
 そのような構成により、送信装置は、低遅延な音声通話を実現し、かつ音声データの劣化を防止できる。
 送信方法決定手段3は、通信ネットワークの状態に基づいてデータを分割する単位を変更するように構成されていてもよい。
 そのような構成により、送信装置は、ロスパケットの個数を少なくしたり、パケット再送までの時間を短くしたりできる。
 データ振分手段1は、分割されたデータを複数のTCPコネクションに振り分け、送信方法決定手段3は、通信ネットワークの状態に基づいてTCPコネクションの数を変更するように構成されていてもよい。
 そのような構成により、送信装置は、音声データ全体の遅延が発生しないようにできる。
 データ振分手段1は、同じ分割されたデータを複数のTCPコネクションに振り分けるように構成されていてもよい。
 そのような構成により、送信装置は、再送遅延によりロスパケットとして扱われるデータを少なくすることができる。
 データ振分手段1は、複数パケットから計算した冗長データをTCPコネクションに振り分けるように構成されていてもよい。
 そのような構成により、送信装置は、行列演算により求めた冗長データを複数のTCPコネクションに振り分けることができる。
 図17は、本発明による受信装置の概要を示すブロック図である。本発明による受信装置は、受信した分割データを合成するデータ合成手段11(例えば、データ合成手段202)と、通信ネットワークの状態を監視するネットワーク状態監視手段12(例えば、受信側ネットワーク状態監視手段205)と、ネットワーク状態監視手段12の監視結果である通信ネットワークの状態に応じて分割データの受信方法および分割データの合成方法を変更する受信方法決定手段13(例えば、受信方法決定手段206)とを備える。
 そのような構成により、受信装置は、低遅延な音声通話を実現し、かつ音声データの劣化を防止できる。
 データ合成手段11は、所定の遅延時間内に受信できなかった分割データを損失データとして扱い、受信方法決定手段13は、通信ネットワークの状態に基づいて所定の遅延時間を変更するように構成されていてもよい。
 そのような構成により、受信装置は、できるだけパケットロスを発生させないように許容遅延時間を制御できる。
 受信方法決定手段13は、通信ネットワークの状態に基づいてTCPコネクションの数を変更するように構成されていてもよい。
 データ合成手段11は、損失データとして扱った分割データに対してデータ補間を行うように構成されていてもよい。
 そのような構成により、受信装置は、ロスパケットを目立たなくし、音質劣化を防ぐことができる。
 データ合成手段11は、同じ分割データを複数受信した場合、受信した一つの分割データ以外の分割データを破棄するように構成されていてもよい。
 データ合成手段11は、受信した冗長データから損失データとして扱った分割データを生成してデータを合成してもよい。
 図18は、本発明による中継装置の概要を示すブロック図である。本発明による中継装置は、受信した分割データを合成するデータ合成手段21(例えば、データ合成手段202)と、通信ネットワークの状態を監視するネットワーク状態監視手段22(例えば、受信側ネットワーク状態監視手段205)と、ネットワーク状態監視手段22の監視結果である通信ネットワークの状態に応じて分割データの受信方法および分割データの合成方法を変更する受信方法決定手段23(例えば、受信方法決定手段206)とを備える。
 中継装置は、例えば、UDPを利用する受信手段を含む。
 中継装置は、例えば、UDPを利用する送信手段を含む。
 以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2013年6月26日に出願された日本特許出願2013-134095を基礎とする優先権を主張し、その開示の全てをここに取り込む。
産業上の利用の可能性
 本発明は、送信装置から受信装置に対して音声、映像などのマルチメディアデータを低遅延かつ高品質に通信する通信装置に適用される。
 1   データ振分手段
 2   ネットワーク状態監視手段
 3   送信方法決定手段
 11、21 データ合成手段
 12、22 ネットワーク状態監視手段
 13、23  受信方法決定手段
 10  メディア通信システム
 100  送信装置
 108  送信方法決定手段
 107  送信側ネットワーク状態監視手段
 200  受信装置
 206  受信方法決定手段
 205  受信側ネットワーク状態監視手段
 101  メディア入力手段
 102  符号化手段
 103  データ分割手段
 104  データ振分手段
 1051、1052、105m、105n  送信手段
 106  送信側コネクション管理手段
 2011、2012、201m、201n  受信手段
 202  データ合成手段
 203  再生手段
 204  受信側コネクション管理手段
 300  IPネットワーク
 3011、3012、301m、301n  TCPコネクション
 302  ネットワークエミュレータ
 400、401  マルチメディアデータ記憶部
 500  マルチメディアデータ
600、601  中継装置

Claims (10)

  1.  送信対象のデータを分割して受信装置に送信する送信装置であって、
     分割されたデータを1つまたは複数のTCPコネクションに振り分けるデータ振分手段と、
     通信ネットワークの状態を監視するネットワーク状態監視手段と、
     前記ネットワーク状態監視手段の監視結果である前記通信ネットワークの状態に応じて前記データの分割方法および前記分割されたデータの送信方法を変更する送信方法決定手段とを備える
     ことを特徴とする送信装置。
  2.  送信方法決定手段は、通信ネットワークの状態に基づいてデータを分割する単位を変更する
     請求項1記載の送信装置。
  3.  データ振分手段は、分割されたデータを複数のTCPコネクションに振り分け、
     送信方法決定手段は、通信ネットワークの状態に基づいて前記TCPコネクションの数を変更する
     請求項1または請求項2記載の送信装置。
  4.  データ振分手段は、同じ分割されたデータを複数のTCPコネクションに振り分ける
     請求項3記載の送信装置。
  5.  データ振分手段は、複数パケットから計算した冗長データをTCPコネクションに振り分ける
     請求項3または請求項4記載の送信装置。
  6.  送信対象のデータが分割されて1つまたは複数のTCPコネクションで送信装置から送信された分割データを受信する受信装置であって、
     受信した分割データを合成するデータ合成手段と、
     通信ネットワークの状態を監視するネットワーク状態監視手段と、
     前記ネットワーク状態監視手段の監視結果である前記通信ネットワークの状態に応じて前記分割データの受信方法および前記分割データの合成方法を変更する受信方法決定手段とを備える
     ことを特徴とする受信装置。
  7.  データ合成手段は、所定の遅延時間内に受信できなかった分割データを損失データとして扱い、
     受信方法決定手段は、通信ネットワークの状態に基づいて前記所定の遅延時間を変更する
     請求項6記載の受信装置。
  8.  受信方法決定手段は、通信ネットワークの状態に基づいてTCPコネクションの数を変更する
     請求項6または請求項7記載の受信装置。
  9.  データ合成手段は、損失データとして扱った分割データに対してデータ補間を行う
     請求項7記載の受信装置。
  10.  送信対象のデータが分割されて1つまたは複数のTCPコネクションで送信装置から送信された分割データを受信し、データを受信装置に送信する中継装置であって、
     受信した分割データを合成するデータ合成手段と、
     通信ネットワークの状態を監視するネットワーク状態監視手段と、
     前記ネットワーク状態監視手段の監視結果である前記通信ネットワークの状態に応じて前記分割データの受信方法および前記分割データの合成方法を変更する受信方法決定手段とを備える
     ことを特徴とする中継装置。
PCT/JP2014/002378 2013-06-26 2014-04-30 送信装置、受信装置および中継装置 WO2014207978A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015523829A JPWO2014207978A1 (ja) 2013-06-26 2014-04-30 送信装置、受信装置および中継装置
US14/900,367 US9973402B2 (en) 2013-06-26 2014-04-30 Transmission device, receiving device, and relay device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013134095 2013-06-26
JP2013-134095 2013-06-26

Publications (1)

Publication Number Publication Date
WO2014207978A1 true WO2014207978A1 (ja) 2014-12-31

Family

ID=52141357

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/002378 WO2014207978A1 (ja) 2013-06-26 2014-04-30 送信装置、受信装置および中継装置

Country Status (3)

Country Link
US (1) US9973402B2 (ja)
JP (1) JPWO2014207978A1 (ja)
WO (1) WO2014207978A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107852348A (zh) * 2015-07-31 2018-03-27 想象技术有限公司 监测网络状态
JP2018050275A (ja) * 2016-09-20 2018-03-29 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド サーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法及び装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9942694B2 (en) * 2013-12-03 2018-04-10 The University Of Tokyo Information transmission/reception system and terminal apparatus
GB2525948B (en) * 2014-11-04 2017-01-04 Imagination Tech Ltd Packet loss and bandwidth coordination
RU2717951C1 (ru) * 2016-09-29 2020-03-27 Телефонактиеболагет Лм Эрикссон (Пабл) Обработка событий сбрасывания потоков трафика

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305643A (ja) * 1995-05-11 1996-11-22 Kokusai Denshin Denwa Co Ltd <Kdd> ファイル転送方法
JPH11242640A (ja) * 1998-02-25 1999-09-07 Kdd Corp ファイル転送方法
JP2004260668A (ja) * 2003-02-27 2004-09-16 Nippon Telegr & Teleph Corp <Ntt> 動画像伝送システム、動画像送信装置、動画像中継装置、動画像受信装置、プログラム、および記録媒体
JP2005311792A (ja) * 2004-04-22 2005-11-04 Ntt Docomo Inc 通信端末および通信システム
JP2008167223A (ja) * 2006-12-28 2008-07-17 Oki Electric Ind Co Ltd 通信品質制御方法及びパケット通信システム
JP2009100118A (ja) * 2007-10-15 2009-05-07 Mitsubishi Electric Corp 送信装置、受信装置、通信装置及び通信方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675583A (en) * 1995-05-26 1997-10-07 Lucent Technologies Inc. Variable communication bandwidth for conference call initiation
US6460087B1 (en) 1998-02-25 2002-10-01 Kdd Corporation Method of transferring file
US6247058B1 (en) * 1998-03-30 2001-06-12 Hewlett-Packard Company Method and apparatus for processing network packets using time stamps
US6449269B1 (en) * 1998-12-31 2002-09-10 Nortel Networks Limited Packet voice telephony system and method
JP3472511B2 (ja) * 1999-07-12 2003-12-02 Kddi株式会社 データ伝送装置
FR2830397B1 (fr) * 2001-09-28 2004-12-03 Evolium Sas Procede pour ameliorer les performances d'un protocole de transmission utilisant un temporisateur de retransmission
US8176154B2 (en) * 2002-09-30 2012-05-08 Avaya Inc. Instantaneous user initiation voice quality feedback
JP4561980B2 (ja) * 2004-11-08 2010-10-13 日本電気株式会社 セッション中継装置およびセッション中継方法
US7617337B1 (en) * 2007-02-06 2009-11-10 Avaya Inc. VoIP quality tradeoff system
US10033869B2 (en) * 2008-08-29 2018-07-24 8X8, Inc. Methods and systems for information streaming to user interface
JP2011087103A (ja) * 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
JP5685913B2 (ja) 2009-12-11 2015-03-18 日本電気株式会社 ネットワーク帯域計測システム、ネットワーク帯域計測方法およびプログラム
JP5533177B2 (ja) 2010-04-16 2014-06-25 日本電気株式会社 パケットロス率推定装置、パケットロス率推定方法、パケットロス率推定プログラム、及び、通信システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305643A (ja) * 1995-05-11 1996-11-22 Kokusai Denshin Denwa Co Ltd <Kdd> ファイル転送方法
JPH11242640A (ja) * 1998-02-25 1999-09-07 Kdd Corp ファイル転送方法
JP2004260668A (ja) * 2003-02-27 2004-09-16 Nippon Telegr & Teleph Corp <Ntt> 動画像伝送システム、動画像送信装置、動画像中継装置、動画像受信装置、プログラム、および記録媒体
JP2005311792A (ja) * 2004-04-22 2005-11-04 Ntt Docomo Inc 通信端末および通信システム
JP2008167223A (ja) * 2006-12-28 2008-07-17 Oki Electric Ind Co Ltd 通信品質制御方法及びパケット通信システム
JP2009100118A (ja) * 2007-10-15 2009-05-07 Mitsubishi Electric Corp 送信装置、受信装置、通信装置及び通信方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107852348A (zh) * 2015-07-31 2018-03-27 想象技术有限公司 监测网络状态
US11595461B2 (en) 2015-07-31 2023-02-28 Imagination Technologies Limited Monitoring network conditions
CN107852348B (zh) * 2015-07-31 2023-09-12 想象技术有限公司 识别网络状态的方法、数据处理设备和机器可读存储介质
JP2018050275A (ja) * 2016-09-20 2018-03-29 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド サーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法及び装置
US10498786B2 (en) 2016-09-20 2019-12-03 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for adaptively providing multiple bit rate streaming media in server
JP2020043583A (ja) * 2016-09-20 2020-03-19 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド サーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法及び装置
JP7053556B2 (ja) 2016-09-20 2022-04-12 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド サーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法及び装置

Also Published As

Publication number Publication date
US9973402B2 (en) 2018-05-15
JPWO2014207978A1 (ja) 2017-02-23
US20160164759A1 (en) 2016-06-09

Similar Documents

Publication Publication Date Title
JP4504429B2 (ja) 端末間のボイスオーバインターネットプロトコルのメディアの待ち時間を管理する方法および装置
Singh et al. VoIP: State of art for global connectivity—A critical review
Kushman et al. Can you hear me now?! it must be BGP
TWI439086B (zh) 顫動緩衝器調整技術
US8713167B1 (en) Distributive data capture
US9525569B2 (en) Enhanced circuit-switched calls
US20080080568A1 (en) Latency differential mitigation for real time data streams
Mehta et al. Voice over IP
WO2014207978A1 (ja) 送信装置、受信装置および中継装置
Nisar et al. Enhanced performance of packet transmission using system model over VoIP network
JPWO2006075390A1 (ja) 中継方法、中継装置、通信システム及びコンピュータプログラム
US20060146805A1 (en) Systems and methods of providing voice communications over packet networks
JP2007142786A (ja) ハンドオーバサーバ及びそれと通信可能な移動通信端末
Afzal et al. A novel scheduling strategy for MMT-based multipath video streaming
US8438016B2 (en) Silence-based adaptive real-time voice and video transmission methods and system
JP5018776B2 (ja) 通信装置および方法
WO2008005927A2 (en) Distributive network control
US8264981B2 (en) Inter-multipoint voice conversation apparatus
Pathania et al. Comparative study of audio and video chat application over the internet
JP2014160911A (ja) パケット処理装置、方法及びプログラム
JP2005157045A (ja) 音声伝送方法
US20180020026A1 (en) Method and system for providing lawful interception in a peer to peer communication
Satoda et al. Quality evaluation of voice over multiple TCP connections
Nisar et al. Enhanced performance of IPv6 packet transmission over VoIP network
Beritelli et al. HSDPA dual streaming approach for improving VoIP speech quality in forensic applications

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: 14818430

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015523829

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14900367

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14818430

Country of ref document: EP

Kind code of ref document: A1