WO2018008618A1 - Audio communication system, transmission device, reception device, transmission method, reception method, and recording medium - Google Patents

Audio communication system, transmission device, reception device, transmission method, reception method, and recording medium Download PDF

Info

Publication number
WO2018008618A1
WO2018008618A1 PCT/JP2017/024431 JP2017024431W WO2018008618A1 WO 2018008618 A1 WO2018008618 A1 WO 2018008618A1 JP 2017024431 W JP2017024431 W JP 2017024431W WO 2018008618 A1 WO2018008618 A1 WO 2018008618A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
unit
receiving
retransmission request
output
Prior art date
Application number
PCT/JP2017/024431
Other languages
French (fr)
Japanese (ja)
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 シントレーディング株式会社
Publication of WO2018008618A1 publication Critical patent/WO2018008618A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals

Definitions

  • the present invention relates to an audio communication system that transmits and receives audio data.
  • an audio communication system that transmits and receives audio data in real time
  • an Internet radio that uses wireless communication such as Wi-Fi (registered trademark) to distribute audio live to many receiving devices (for example, non-patented). Reference 1).
  • Wi-Fi registered trademark
  • the voice communication system is a voice communication system including a transmission device that transmits voice data and two or more reception devices that receive and output the voice data, and the transmission device accepts the voice data.
  • a retransmission request receiving unit that receives the packet identifier, and a packet retransmission unit that transmits the packet corresponding to the packet identifier included in the retransmission request to the receiving device that has transmitted the retransmission request by unicast.
  • the receiving device stores the packet A packet storage unit that receives the packet from the transmitting device and stores the packet in the packet storage unit, A packet acquisition unit that acquires a packet to be output next using a packet identifier corresponding to the packet, and a packet acquisition unit that acquires a packet to be output next, Voice communication comprising: a voice output unit that outputs a packet to be output; and a retransmission request transmission unit that transmits a retransmission request to a transmission device when the packet reception unit does not receive the next packet to be output by the first time limit System.
  • the receiving device determines whether or not the packet receiving unit has received the next packet to be output before the first time limit.
  • a determination unit configured to determine using the corresponding packet identifier, and the retransmission request transmission unit, when the determination unit determines that the packet reception unit has not received the next packet to be output by the first time limit.
  • a voice communication system for transmitting a retransmission request to a transmission apparatus.
  • the retransmission request transmission unit is configured such that the packet reception unit does not receive the next output packet by the Nth time limit.
  • N N is a natural number equal to or greater than 2
  • the receiving apparatus recovers the lost packet that is a lost packet by transmitting the second and subsequent retransmission requests.
  • the rate can be expected to improve.
  • the receiving device acquires communication related information that is information related to communication between the transmitting device and the receiving device in any one of the first to third inventions.
  • Communication-related information acquisition unit the capacity of the packet storage unit, the number N of times that the retransmission request transmission unit can transmit a retransmission request, and the N deadlines from the first deadline to the Nth deadline corresponding to the number N
  • the communication system further includes a communication parameter changing unit that changes communication parameters, which are one or more types of information, according to communication-related information.
  • the receiving apparatus can acquire communication related information and dynamically change communication parameters according to the communication related information.
  • the voice communication system is different from the fourth aspect in that the communication-related information includes the number of terminals that is the number of receiving devices that receive a packet, or the packet that the packet receiving unit outputs next.
  • This is a voice communication system including either information of error rate information regarding the inability to receive or normal rate information regarding that the packet receiving unit has been able to receive the next output packet.
  • the receiving device can acquire communication-related information and dynamically change communication parameters according to the number of terminals, error rate, or normal rate included in the communication-related information.
  • the transmitting device acquires terminal number information related to the number of receiving devices that receive packets. And a method determining unit that determines whether to adopt multicast or broadcast or unicast as a method for transmitting a packet according to the number-of-terminals information. This is a voice communication system that transmits a packet based on the method determined by the unit.
  • the transmission device can transmit a packet by a method corresponding to the number of terminals among multicast or broadcast and unicast.
  • both the compression to the bandwidth and the disturbance of voice are reduced by transmitting the packet by unicast with a large bandwidth but a small loss.
  • packets are transmitted by multicast or broadcast with a small bandwidth but a large loss, and retransmission when packet loss occurs is performed by unicast. Both compression and voice disturbance are reduced.
  • the transmitting device is a checksum packet that is a packet for constituting a packet that the receiving device cannot receive. Is further generated using two or more packets transmitted by the packet transmission unit, the packet transmission unit transmits three or more packets including the checksum packet, and the packet reception unit includes: When three or more packets including the checksum packet are received, and the packet acquisition unit cannot acquire the next packet to be output, the receiving apparatus outputs the next packet using the two or more packets including the checksum packet.
  • the voice communication system further includes a packet generation unit that generates a packet.
  • the voice data receiving unit is a voice receiving unit that receives analog voice, digitally converts the voice, AD conversion means for acquiring data, the voice output unit includes DA conversion means for converting the analog signal of the packet and acquiring voice, and voice output means for outputting the voice, and the receiving device receives the packet.
  • a first speed information acquisition unit that acquires first speed information about a speed at which the unit receives a packet; a second speed information acquisition unit that acquires second speed information about a processing speed of the receiving device; This is information obtained from the two-speed information, and a shift complement process that is a process for complementing the clock frequency error based on the shift information regarding the clock frequency error between the transmitting device and the receiving device.
  • a voice communication system further comprising a complementary processing unit that performs.
  • the present invention it is possible to suppress the occurrence of packet loss in the receiving device, and to reduce or reduce the voice output delay in the receiving device while eliminating or reducing the audio disturbance generated in the receiving device.
  • Block diagram of a voice communication system in an embodiment Block diagram of the transmitter Block diagram of the receiver Flow chart for explaining the operation of the transmitter Flow chart for explaining the operation of the receiving apparatus External view of the computer system Internal configuration diagram of the computer system
  • a transmitting apparatus that transmits a packet corresponding to the packet identifier included in the retransmission request to the receiving apparatus that transmitted the retransmission request by unicast.
  • a voice communication system will be described.
  • a voice communication system capable of customizing communication parameters such as the buffering amount and the timing of one or more retransmission requests will be described.
  • FIG. 1 is a block diagram of the voice communication system in the present embodiment.
  • This voice communication system includes a transmission device 1 and two or more reception devices 2.
  • the transmission device 1 and each of the two or more reception devices 2 are communicably connected via a network such as a LAN or the Internet, a wired or wireless communication line, and the like.
  • the transmission device 1 transmits audio data.
  • Each of the two or more receiving devices 2 receives and outputs the audio data.
  • FIG. 2 is a block diagram of the transmission device 1.
  • the transmission device 1 includes a storage unit 11, a reception unit 12, a processing unit 13, a reception unit 14, a transmission unit 15, and an output unit 16.
  • the storage unit 11 includes a terminal identifier storage unit 111, a terminal number information storage unit 112, an audio data storage unit 113, and a transmission time information storage unit 114.
  • the reception unit 12 includes an audio data reception unit 121.
  • the voice data reception unit 121 includes a voice reception unit 1211 and an AD conversion unit 1212.
  • the processing unit 13 includes a terminal number information acquisition unit 131, a method determination unit 132, and a checksum packet generation unit 133.
  • the receiving unit 14 includes a retransmission request receiving unit 141.
  • the transmission unit 15 includes a packet transmission unit 151 and a packet retransmission unit 152.
  • FIG. 3 is a block diagram of the receiving device 2.
  • the reception device 2 includes a terminal storage unit 21, a terminal reception unit 22, a terminal processing unit 23, a terminal reception unit 24, a terminal transmission unit 25, and a terminal output unit 26.
  • the terminal storage unit 21 includes a packet storage unit 211, a time limit information storage unit 212, an output time information storage unit 213, and an erasure list storage unit 214.
  • the terminal processing unit 23 includes a packet acquisition unit 231, a determination unit 232, a communication related information acquisition unit 233, a communication parameter change unit 234, a packet generation unit 235, a first speed information acquisition unit 236, a second speed information acquisition unit 237, and A complement processing unit 238 is provided.
  • the terminal receiving unit 24 includes a packet receiving unit 241.
  • the terminal transmission unit 25 includes a retransmission request transmission unit 251.
  • the terminal output unit 26 includes an audio output unit 261.
  • the audio output unit 261 includes a DA conversion unit 2611 and an audio output unit 2612.
  • the storage unit 11 constituting the transmission device 1 can store various types of information.
  • the various information includes, for example, a terminal identifier described later, terminal number information described later, audio data described later, transmission time information described later, and the like.
  • the terminal identifier storage unit 111 stores two or more terminal identifiers that identify two or more receiving apparatuses 2 constituting the voice communication system.
  • Each of the two or more terminal identifiers is, for example, a MAC address or an IP address, but may be anything.
  • the two or more receiving apparatuses 2 constituting the voice communication system may be static or may change dynamically according to the detachment of the existing receiving apparatus 2 or the participation of a new receiving apparatus 2.
  • the processing unit 13 adds a new terminal identifier to the terminal identifier storage unit 111 according to the separation of the existing receiving device 2 or the participation of a new receiving device 2, or the existing terminal identifier is added to the terminal identifier.
  • the terminal identifier storage unit 111 stores two or more terminal identifiers that identify the two or more receiving devices 2 that currently constitute the voice communication system.
  • the terminal number information storage unit 112 stores terminal number information.
  • the number-of-terminals information is information indicating the number of receiving apparatuses 2 constituting the voice communication system (hereinafter, sometimes referred to as “number of terminals”).
  • the terminal number information acquisition unit 131 described later acquires the current number of terminals using the number of terminal identifiers stored in the terminal identifier storage unit 111 and updates the terminal number information. As a result, the terminal number information storage unit 112 stores terminal number information indicating the current number of terminals.
  • the audio data storage unit 113 stores audio data at least temporarily.
  • the audio data is audio data obtained by digitally converting analog audio, and is audio data transmitted to each of the two or more receiving devices 2.
  • the audio data is composed of one or more packets, and the audio data storage unit 113 stores one or more packets in pairs with a packet identifier for identifying the packet.
  • the packet identifier may be anything such as an identification number or a time stamp. In the following, identification numbers “1”, “2”,..., “K”,... Are used as examples of packet identifiers, and one packet constituting audio data may be described as “packet k” or the like. . However, the data structure of audio data does not matter.
  • the transmission time information storage unit 114 stores transmission time information.
  • the transmission time information is information indicating the transmission time of one or more packets constituting the audio data.
  • the transmission time information is, for example, a set of pairs of packet identifiers and transmission times. However, the data structure of transmission time information does not matter. Further, the transmission time information is not essential, and the transmission time information storage unit 114 may be omitted.
  • the reception unit 12 receives various types of information.
  • the various information includes, for example, the above-described terminal identifier, the above-described audio data, the above-described transmission time information, and the like.
  • Acceptance means, for example, acceptance of information input via an input device such as a keyboard, mouse, microphone, etc., reception of information transmitted via a network or communication line, recording medium such as an optical disk, magnetic disk, or semiconductor memory This is a concept including reception of information read out from.
  • the voice data receiving unit 121 receives voice data.
  • the audio data receiving unit 121 normally receives analog audio and digitally converts the received audio.
  • the audio data receiving unit 121 may receive audio data output from an external device such as a digital recorder, for example, and it does not matter where and how audio data is received.
  • the audio data reception unit 121 normally stores the received audio data in the audio data storage unit 113.
  • the audio data may be accumulated in a storage unit included in an external device such as a cloud server, for example, and the accumulation destination is not limited.
  • the voice receiving means 1211 normally receives analog voice via a voice input device such as a microphone. However, the voice receiving unit 1211 may receive a voice signal output from an external device such as an analog recorder, for example, and it does not matter where and how analog voice is received.
  • the AD conversion means 1212 digitally converts the analog voice received by the voice receiving means 1211 and acquires voice data.
  • Digital conversion is a process of converting analog sound into digital sound data by sampling the sound in a cycle according to a clock output from an oscillation element or the like included in the AD conversion circuit.
  • the oscillation element included in the AD conversion circuit is, for example, a crystal oscillation element, a ceramic resonator, or the like, but the type is not limited.
  • the processing unit 13 executes various processes. For example, the various types of processing are processing for acquiring terminal number information, determining a method for transmitting a packet, and generating a checksum packet to be described later. Further, the processing unit 13 temporarily stores the received audio data packet in the audio data storage unit 113. Further, the processing unit 13 may delete a packet (for example, a packet that is not subject to a retransmission request) for which a predetermined time has elapsed from the transmission from the audio data storage unit 113. Further, the processing unit 13 acquires the transmission time of each packet constituting the audio data stored in the audio data storage unit 113, and performs processing of accumulating the transmission time information in the transmission time information storage unit 114. The transmission time information will be described later. Further, the processing unit 13 acquires the transmission time from a clock (not shown), for example. However, it does not matter how the processing unit 13 acquires the transmission time.
  • a clock not shown
  • the terminal number information acquisition unit 131 acquires terminal number information regarding the number of receiving apparatuses 2 that receive packets.
  • the number of receiving apparatuses 2 that receive a packet is normally the number of receiving apparatuses 2 (the number of terminals described above) constituting the voice communication system.
  • the terminal number information acquisition unit 131 uses the two or more terminal identifiers stored in the terminal identifier storage unit 111 to acquire terminal number information indicating the number of terminals.
  • the terminal number information acquisition unit 131 may acquire terminal number information indicating a number (actual terminal number) obtained by subtracting the number of receiving devices 2 (the number of dormant terminals) from the number of terminals. .
  • the terminal number information The acquisition unit 131 counts the number of two or more terminal identifiers stored in the terminal identifier storage unit 111, counts the number of terminal identifiers to which a flag is added, and calculates the number of terminals obtained from the former count. By subtracting the number of dormant terminals obtained by the latter counting, terminal number information indicating the number of active terminals can be acquired. Note that the number-of-terminals information indicating the number of working terminals can also be obtained by counting the number of terminal identifiers to which no flag is added.
  • the method determination unit 132 determines whether to adopt multicast or unicast as a method of transmitting a packet, according to the terminal number information acquired by the terminal number information acquisition unit 131.
  • Multicast refers to data communication performed in a one-to-many manner by specifying an application identifier.
  • Unicast refers to data communication performed on a one-to-one basis by designating a single terminal identifier.
  • multicast is less reliable for reasons such as light load on the network and packet loss is likely to occur, while unicast is more reliable for reasons such as packet loss is less likely to occur and load on the network. Is heavy. Therefore, for example, the method determining unit 132 may employ multicast when the number of terminals indicated by the terminal number information is greater than or equal to the threshold or greater than the threshold, and may employ unicast when less than or less than the threshold.
  • the method determination unit 132 may determine whether to adopt broadcast or unicast as a method for transmitting a packet, according to the terminal number information acquired by the terminal number information acquisition unit 131.
  • Broadcast refers to data communication that is performed in a one-to-one unspecified number without specifying a terminal identifier. Broadcast, like multicast, has a light load on the network, but has low reliability. In this case, for example, the method determining unit 132 may employ broadcast when the number of terminals indicated by the terminal number information is greater than or equal to the threshold or greater than the threshold, and may employ unicast when less than or less than the threshold.
  • multicast within a single network such as a LAN or Fi-Fi (registered trademark) network, for example, there is no difference in the rate of occurrence of packet loss, the efficiency of voice communication, etc. between multicast and broadcast. It can be handled as a method of characteristics. Therefore, for example, unicast may be collectively referred to as “one-to-one communication” multicast and broadcast may be referred to as “one-to-many communication”.
  • the checksum packet generation unit 133 generates a checksum packet for configuring a packet that could not be received by the reception device 2 using two or more packets transmitted by the packet transmission unit 151.
  • the checksum packet generation unit 133 may generate two or more checksum packets corresponding to two or more packets constituting the audio data.
  • one packet (hereinafter sometimes simply referred to as “packet”) constituting the audio data and a checksum packet corresponding thereto are, for example, a common identification number “k”, A pair of an identifier (for example, “m”) indicating that it is a packet, and the latter is a combination of a common identification number “k” and an identifier (for example, “r”) indicating that it is a checksum packet May be identified.
  • packet a common identification number “k”
  • m an identifier
  • the data structure of the checksum packet does not matter.
  • the packet identifiers of two or more packets transmitted by the packet transmission unit 151 are “m001”, “m002”,..., “M091”, “m092”, ..., “m100”, “m101”,.
  • the checksum packet generation unit 133 converts the checksum packet “r100” corresponding to a certain packet “m100” into the past 10 packets including the packet. It may be generated using “m091”, “m092”,..., “M100”.
  • the checksum packet “r101” corresponding to the next packet “m101” may be generated using the past ten packets “m092”, “m093”,..., “M101” including the packet.
  • the checksum packet “r001” is generated using the packet “m001”
  • the checksum packet “r002” is generated using the two packets “m001” and “m002”
  • the checksum packet “r009” may be generated using nine packets “m001” to “m009”.
  • any number of packets may be used for generating one checksum packet, and the method for generating the checksum packet is not limited.
  • the receiving unit 14 receives various types of information.
  • the various information is, for example, a retransmission request.
  • the retransmission request receiving unit 141 receives a retransmission request from the receiving device 2.
  • a retransmission request is an instruction for requesting retransmission of a packet.
  • the retransmission request has a packet identifier.
  • the transmission unit 15 transmits various information.
  • the various information includes, for example, a packet and a checksum packet.
  • the packet transmission unit 151 sequentially transmits two or more packets constituting the audio data received by the audio data reception unit 121.
  • the packet transmitter 151 normally transmits a packet including a packet identifier. Further, the packet transmission unit 151 may transmit a packet associated with the packet identifier.
  • the packet transmission unit 151 normally transmits two or more packets to two or more receiving devices identified by the two or more terminal identifiers stored in the terminal identifier storage unit 111 by multicast. However, packet transmission may be performed by broadcast or unicast. Desirably, the packet transmission unit 151 transmits a packet based on a method determined by the method determination unit 132 among multicast or broadcast and unicast.
  • the packet transmission unit 151 may also transmit the checksum packet generated by the checksum packet generation unit 133.
  • the packet transmission unit 151 normally transmits three or more packets including a checksum packet.
  • the packet transmission unit 151 may alternately transmit a packet and a checksum packet.
  • the packet transmission unit 151 may transmit the checksum packet immediately after the corresponding packet, or may transmit the checksum packet with a certain number of delays from the corresponding packet. That is, the packet transmitter 151 transmits the packets “m091”, “m092”,..., “M100”, “m101”,... And checksum packets “r091”, “r092”,. “R101”,...
  • the packet retransmission unit 152 transmits a packet corresponding to the packet identifier included in the retransmission request received by the retransmission request reception unit 141 to the reception apparatus 2 that has transmitted the retransmission request by unicast. Since the retransmission request usually has a terminal identifier that identifies the receiving device 2 that has transmitted the retransmission request, or is transmitted in pairs with the terminal identifier, the packet retransmission unit 152 transmits the packet to the terminal. Retransmit to the receiving device 2 identified by the identifier.
  • the packet retransmission unit 152 is a packet that is normally temporarily stored in the audio data storage unit 113, acquires a packet corresponding to the packet identifier included in the retransmission request, and retransmits the packet to the receiving device 2.
  • the output unit 16 can output various types of information. Output includes display on a display, printing on a printer, sound output from a speaker, transmission to an external device, storage in a recording medium, delivery of processing results to other processing devices or other programs, etc. It is a concept that includes.
  • the various information is, for example, the terminal number information described above. However, in the transmission apparatus 1, the output of information is not essential, and the output unit 16 can be omitted.
  • the terminal storage unit 21 constituting the receiving device 2 can store various types of information.
  • the various types of information include, for example, the aforementioned packet, deadline information described later, output time information described later, and a loss list described later.
  • a packet received by the packet receiving unit 241 is stored in a pair with a packet identifier for identifying the packet.
  • the packet stored in a pair with the packet identifier may be stored as a packet having the packet identifier.
  • the packet storage unit 211 normally stores a packet temporarily. Note that the packet storage unit 211 is, for example, a queue.
  • the term information storage unit 212 stores N pieces of term information corresponding to N terms (N is a natural number of 2 or more: the same applies hereinafter) from the first term to the Nth term.
  • the term information is usually information indicating the term in which the packet receiving unit 241 receives a packet.
  • the time limit information may be information indicating a time limit for accumulating the packet received by the packet receiving unit 241 in the packet storage unit 211.
  • a deadline is usually a relative deadline for a specific time.
  • the relative time limit for the specific time may be, for example, a time “t ⁇ T” that is a time T before the time t at which the packet is output.
  • the time limit may be an absolute time limit, for example, a time such as ⁇ hour, minute, second, and the time limit expression format is not limited.
  • the first time limit is, for example, information indicating a time limit for the packet receiving unit 241 to receive a packet to be output next.
  • the first time limit may be, for example, information indicating a time limit for the packet reception unit 241 to accumulate the next output packet in the packet storage unit 211, and the expression format is not limited.
  • the packet to be output next is usually a packet corresponding to the packet identifier next to the packet identifier of the packet output immediately before.
  • the retransmission request transmitting unit 251 has a packet identifier that identifies the packet. This is information indicating a time limit for the packet receiving unit 241 to receive the packet in response to transmitting the request.
  • the second deadline is information indicating a deadline from when the first retransmission request is transmitted until the reception of a packet corresponding to the retransmission request is waited.
  • the second deadline is, for example, a packet identifier that allows the retransmission request transmission unit 251 to identify the packet when the packet reception unit 241 does not accumulate the packet to be output next in the packet storage unit 211 by the first deadline.
  • the Nth time limit is usually information related to a period from when the N-1th retransmission request is transmitted until the Nth retransmission request is transmitted.
  • the Nth time limit is information indicating a time limit for receiving the packet by the packet receiving unit 241 in response to transmitting the Nth retransmission request, for example.
  • the Nth deadline is, for example, in response to the N ⁇ 1th retransmission request, when the packet receiving unit 241 does not accumulate the packet in the packet storage unit 211 by the N ⁇ 1th deadline. It may be information indicating a time limit for the packet reception unit 241 to accumulate the packet in the packet storage unit 211 in response to transmitting a retransmission request.
  • the N pieces of deadline information are, for example, first deadline information indicating a first deadline ⁇ t (k) -T (1) ⁇ , and second deadline indicating a second deadline ⁇ t (k) -T (2) ⁇ .
  • the Nth deadline information indicating the deadline information,..., And the Nth deadline ⁇ t (k) ⁇ T (N) ⁇ may be used.
  • the first time limit may be the same as the second time limit, the Nth time limit, or the like. In such a case, only the first time limit may be stored in the time limit information storage unit 212.
  • the output time information storage unit 213 stores output time information.
  • the output time information is information indicating the time when the audio output unit 261 outputs a packet.
  • the output time information is composed of a set of pairs of packet identifiers (1, 2,..., K,...) And output times (t (1), t (2),..., T (k),...), For example. Is done.
  • the output time t (k) is, for example, a time limit for outputting the packet k, and may be a threshold used when the audio output unit 261 determines whether or not a timeout has occurred. However, the data structure of the output time information does not matter.
  • the disappearance list storage unit 214 stores the disappearance list.
  • the erasure list is a list for registering packet identifiers of lost packets in pairs with the number of times a retransmission request having the packet identifier is transmitted.
  • the lost packet is a packet that has not been received by the packet receiving unit 241 by the time limit indicated by the time limit information.
  • the erasure list is information having at least one set of a packet identifier and the number of times a retransmission request is transmitted, for example.
  • the disappearance list may not be managed. In such a case, for example, when the next packet after the output packet has not been received for a predetermined time or longer from the output of the previous packet, the process proceeds to a process of acquiring the next packet.
  • the terminal reception unit 22 receives various types of information.
  • the various information is, for example, the time limit information described above.
  • the time limit information or the like may be received by the receiving unit 14, for example, and the terminal receiving unit 22 may be omitted.
  • the terminal processing unit 23 executes various processes.
  • the various processes include, for example, the packet acquisition unit 231, the determination unit 232, the communication related information acquisition unit 233, the communication parameter change unit 234, the packet generation unit 235, the first speed information acquisition unit 236, and the second speed information acquisition unit 237. , Processing performed by the complement processing unit 238 and the like.
  • the terminal processing unit 23 determines the output time of each of two or more packets stored in the packet storage unit 211, and performs a process of storing the output time information in the output time information storage unit 213. The output time information will be described later.
  • the packet acquisition unit 231 is a packet stored in the packet storage unit 211, and acquires a packet to be output next using a packet identifier corresponding to the packet.
  • the packet acquisition unit 231 stores, for example, a packet corresponding to the identifier next to the packet identifier of the packet output immediately before (if the packet identifier is a numerical value, the number obtained by adding 1 to the packet identifier of the immediately preceding packet). It searches from the part 211 and acquires.
  • the packet acquisition unit 231 uses the output time information stored in the output time information storage unit 213 and the current time to output the next one of the two or more packets stored in the packet storage unit 211.
  • the packet to be performed may be specified.
  • the current time can be acquired from an external device such as an MPU built-in clock or an NPT server, for example.
  • the algorithm which the packet acquisition part 231 searches for the next packet from the packet storage part 211 is not ask
  • the determining unit 232 normally determines whether or not the packet receiving unit 241 has received the next packet to be output by the first time limit, using the packet identifier corresponding to the packet.
  • the determination as to whether or not the packet receiving unit 241 has received the next packet to be output by the first time limit is the determination of whether or not the packet acquisition unit 231 has acquired the next output packet by the first time limit. You may think that it is equivalent.
  • Whether the packet receiving unit 241 has received the next packet to be output by the first time limit is determined by whether the audio output unit 261 has output the next output packet by the first time limit. You may think that it is equivalent.
  • the determination unit 232 may also determine whether the packet reception unit 241 has received the next packet to be output before the Nth time limit.
  • the determination unit 232 determines whether or not the packet receiving unit 241 has accumulated the next output packet in the packet storage unit 211 from the first time limit to the Nth time limit, using the packet identifier corresponding to the packet. May be.
  • the communication related information acquisition unit 233 acquires communication related information.
  • the communication related information is information related to communication between the transmission device 1 and the reception device 2.
  • the communication-related information is, for example, the number of terminals that is the number of receiving apparatuses 2 that receive packets, error rate information regarding that the packet receiving unit 241 cannot receive the next packet to be output, or the packet receiving unit 241 outputs next May include any information of normal rate information regarding the fact that the received packet could be received.
  • the communication related information acquisition unit 233 can acquire the number of terminals by receiving, for example, the terminal number information acquired by the terminal number information acquisition unit 131 from the transmission device 1.
  • the content of communication-related information, the acquisition destination, the acquisition method, etc. are not limited.
  • the communication parameter changing unit 234 changes one or more communication parameters according to the communication related information.
  • the communication parameters include, for example, the capacity of the packet storage unit 211, the number N of times that the retransmission request transmission unit 251 can transmit a retransmission request, and N time limits from the first time limit to the Nth time limit corresponding to the number N.
  • One or more types of information For example, when the communication-related information includes the number of terminals, the communication parameter changing unit 234 increases or decreases the capacity of the packet storage unit 211 (capacity of memory capable of buffering packets) according to the number of terminals, or increases the number N of times. Or it may be reduced, or the N deadlines may be shortened or lengthened.
  • the communication parameter changing unit 234 increases the capacity of the packet storage unit 211 in preparation for an increase in error rate or a decrease in normal rate due to an increase in traffic when the number of terminals is greater than or equal to the threshold. It is also possible to increase the number of times N or shorten the N deadlines. In addition, when the number of terminals is less than or less than the threshold, the communication parameter change unit 234 decreases the capacity of the packet storage unit 211 in anticipation of a decrease in the error rate or an increase in the normal rate due to a decrease in traffic. N may be reduced or N deadlines may be lengthened.
  • the communication parameter changing unit 234 increases or decreases the capacity of the packet storage unit 211 or increases the number N of times according to the error rate information or normal rate information. Or it may be reduced, or the N deadlines may be shortened or lengthened. More specifically, the communication parameter changing unit 234 increases the capacity of the packet storage unit 211, increases the number of times N, or shortens the N deadlines when the error rate is greater than or equal to the threshold. You may do it. Further, the communication parameter changing unit 234 may reduce the capacity of the packet storage unit 211, decrease the number of times N, or increase the N deadlines when the error rate is less than or less than the threshold. good.
  • the packet generation unit 235 uses the two or more packets including the checksum packet that are received by the packet reception unit 241 to output next. Packet to generate. For example, a packet and a checksum packet are transmitted as “m091”, “r091”, “m092”, “r092”,..., “M100”, “r100”,. "Is lost, the packet generator 235 may generate the lost packet“ m100 ”using the nine packets“ m091 ”to“ m099 ”and“ r100 ”received by the packet receiver 241. it can. “M...” Is a packet output from the receiving device 2. “R...” Is a checksum packet.
  • the first speed information acquisition unit 236 acquires first speed information.
  • the first speed information is information related to the speed at which the packet receiving unit 241 receives a packet.
  • the first speed information may be referred to as a first reception rate.
  • the first speed information is information such as 1000 packets / second, for example.
  • the speed indicated by the first speed information is a speed according to the clock of the transmission apparatus 1.
  • the clock of the transmission apparatus 1 is a clock used when the AD conversion unit 1212 of the transmission apparatus 1 digitally converts sound.
  • the second speed information acquisition unit 237 acquires second speed information.
  • the second speed information is information regarding the processing speed of the receiving device 2.
  • the information related to the processing speed of the receiving device 2 is, for example, the speed at which the DA conversion unit 2611 performs analog conversion of the packet.
  • the second speed information is information fed back from the DA conversion unit 2611, and may be information indicating the progress status of the analog conversion process (for example, a delay with respect to a predetermined processing speed, etc.). It doesn't matter.
  • the speed indicated by the second speed information is preferably the same as the speed indicated by the first speed information, but the two speeds are different from each other in the clock difference between the transmitting device 1 and the receiving device 2 (for example, the respective conversions).
  • the complement processing unit 238 performs a shift complement process, which is a process of complementing the clock frequency error, based on the shift information.
  • the deviation information is information acquired from the first speed information and the second speed information, and refers to information regarding an error in the clock frequency between the transmission device 1 and the reception device 2.
  • the deviation information may be information indicating a ratio of two speeds corresponding to the first speed information and the second speed information, for example.
  • the shift complement process is a process for setting the ratio of two speeds corresponding to the first speed information and the second speed information to 1 or approaching 1.
  • the clock cycle on the receiving device 2 side is lengthened by “
  • Such expansion / contraction processing is, for example, resampling / stretching for expanding / contracting the time interval of existing audio data, but may include interpolation processing for interpolating between existing audio data with estimated values.
  • the deviation information may be information indicating a difference between two speeds corresponding to the first speed information and the second speed information, for example.
  • the terminal receiving unit 24 can receive various types of information.
  • the various information is, for example, the packet described above.
  • the packet receiving unit 241 receives a packet from the transmission device 1 and accumulates it in the packet storage unit 211.
  • the packet receiving unit 241 normally receives two or more packets, and accumulates the received two or more packets in pairs with a packet identifier that identifies the packet. Note that accumulating in pairs includes that a packet has a packet identifier.
  • the packet receiving unit 241 may receive three or more packets including the checksum packet described above.
  • the terminal transmission unit 25 can transmit various types of information.
  • the various information is, for example, the above-described retransmission request.
  • the retransmission request transmission unit 251 transmits a retransmission request having a packet identifier for identifying the packet to the transmission device 1 when the packet reception unit 241 does not acquire the next output packet by the first time limit.
  • the retransmission request usually further includes a terminal identifier for identifying the receiving device 2.
  • the retransmission request transmission unit 251 may transmit a retransmission request having only a packet identifier to a pair with a terminal identifier that identifies the receiving device 2.
  • the retransmission request transmission unit 251 normally transmits a retransmission request to the transmission apparatus 1 by unicast. This is to reduce the possibility that the retransmission request itself is lost.
  • the retransmission request transmission unit 251 transmits a retransmission request to the transmission device 1 when the determination unit 232 determines that the packet reception unit 241 has not received the next packet to be output by the first time limit.
  • the retransmission request transmission unit 251 transmits the Nth retransmission request to the transmission device 1 when the packet reception unit 241 does not receive the next packet to be output by the Nth time limit.
  • a pair with the initial value “1” of the number of times of transmission of a retransmission request having a packet identifier (hereinafter sometimes simply referred to as “number of times”) is registered in the erasure list.
  • the retransmission request transmission unit 251 transmits an N-th retransmission request having a packet identifier for identifying a packet that has not been received by the packet reception unit 241 by the Nth deadline indicated by the Nth deadline information to the transmission device 1. Accordingly, the number of times paired with the packet identifier registered in the loss list is updated to N.
  • the terminal output unit 26 can output various types of information.
  • the various information is, for example, the packet described above.
  • the audio output unit 261 When the packet acquisition unit 231 acquires the next output packet, the audio output unit 261 outputs the next output packet as a sound. When the packet acquisition unit 231 does not acquire the next packet to be output, the voice output unit 261 outputs, for example, a packet generated by the packet generation unit 235 and corresponding to the packet to be output next. Also good. If the packet acquisition unit 231 does not acquire the next packet (for example, packet k), the audio output unit 261 determines whether or not a timeout has occurred using the output time (for example, output time t (k)) included in the deadline information, for example. When the packet generator 235 determines that a timeout has occurred, the packet generator 235 may generate a packet corresponding to the next packet to be output.
  • the DA conversion unit 2611 performs analog conversion on the packet acquired by the packet acquisition unit 231 to generate an analog audio signal.
  • Analog conversion is a process in which digital audio data is read in a cycle according to a clock output from an oscillation element or the like included in a DA conversion circuit, an analog waveform is generated, and converted into an analog audio signal.
  • the audio output unit 2612 outputs the audio signal generated by the DA conversion unit 2611 through an output device such as a speaker.
  • the unit 213 and the disappearance list storage unit 214 are preferably non-volatile recording media, but can also be realized by volatile recording media.
  • information such as terminal identifiers is stored in the storage unit 11 or the like.
  • information may be stored in the storage unit 11 or the like via a recording medium, information transmitted via a communication line or the like may be stored in the storage unit 11 or the like, Alternatively, information input via the input device may be stored in the storage unit 11 or the like.
  • the accepting unit 12 and the terminal accepting unit 22 can be realized by a device driver of an input device or by an input device and its device driver.
  • the input device may be anything such as a microphone, a keyboard, a mouse, or a touch panel.
  • the voice data reception unit 121 and the voice reception unit 1211 can be realized by a device driver of a voice input device such as a microphone, or by a voice input device and its device driver.
  • the AD conversion unit 1212 can be realized by, for example, an AD conversion circuit.
  • Processing unit 13 terminal number information acquisition unit 131, method determination unit 132, checksum packet generation unit 133, terminal processing unit 23, packet acquisition unit 231, determination unit 232, communication related information acquisition unit 233, communication parameter change unit 234,
  • the packet generation unit 235, the first rate information acquisition unit 236, the second rate information acquisition unit 237, and the complement processing unit 238 can usually be realized by an MPU, a memory, or the like.
  • the processing procedure of the processing unit 13 or the like is usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the receiving unit 14, the retransmission request receiving unit 141, the terminal receiving unit 24, and the packet receiving unit 241 are usually realized by wireless or wired communication means, but may be realized by means for receiving broadcasts.
  • the transmission unit 15, the packet transmission unit 151, the packet retransmission unit 152, the terminal transmission unit 25, and the retransmission request transmission unit 251 are normally realized by wireless or wired communication means, but may be realized by broadcasting means.
  • the output unit 16 and the terminal output unit 26 may or may not include an output device such as a display or a speaker.
  • the output unit 16 and the like can be realized by output device driver software, or by an output device and its driver software.
  • the audio output unit 261 and the audio output unit 2612 may or may not include an audio output device such as a speaker.
  • the DA conversion unit 2611 can be realized by, for example, a DA conversion circuit.
  • FIG. 4 is a flowchart for explaining the operation of the transmission apparatus 1.
  • the processing unit 13 executes initial processing.
  • the initial process includes, for example, a process of setting an initial value in system information indicating a system for transmitting a packet.
  • the initial value is normally “multicast”, but may be “unicast”.
  • the initial value may be the value of the method information at the end of the previous operation.
  • the initial value may be stored in the storage unit 11 or may be held by the method determination unit 132, and the location thereof is not limited.
  • Step S402 The voice data receiving unit 121 determines whether the voice receiving unit 1211 has received voice. If the voice receiving unit 1211 receives a voice, the process proceeds to step S403. If not received, the process proceeds to step S404.
  • Step S403 The AD conversion unit 1212 digitally converts the voice received by the voice reception unit 1211 to obtain voice data.
  • the audio data reception unit 121 accumulates the acquired audio data in the audio data storage unit 113.
  • two or more packets constituting the audio data received by the audio data reception unit 121 are stored in pairs with packet identifiers for identifying each packet. Then, it returns to step S402.
  • Step S404 The processing unit 13 sets an initial value “1” to the variable i.
  • Step S405 The processing unit 13 determines whether or not the i-th packet exists in the audio data storage unit 113. If there is an i-th packet in the voice data storage unit 113, the process proceeds to step S406, and if not, the process returns to step S402.
  • the packet transmission unit 151 transmits the i-th packet to two or more receiving devices identified by two or more terminal identifiers stored in the terminal identifier storage unit 111 in a scheme indicated by the scheme information. .
  • the packet transmission unit 151 is the i-th packet stored in the audio data storage unit 113, and a flag indicating transmission may be added to the transmitted packet corresponding to the transmitted packet.
  • Step S407 The processing unit 13 determines whether to generate a checksum packet. For example, the processing unit 13 may determine that a checksum packet is always generated when generating checksum packets for all of two or more packets constituting audio data, or a predetermined number (for example, two, ten, etc.). However, it may be determined that the data is generated at a rate of once every predetermined number of times. If a checksum packet is to be generated, the process proceeds to step S408; otherwise, the process proceeds to step 410.
  • Step S408 The checksum packet generation unit 133 generates a checksum packet corresponding to the packet using two or more transmitted packets including the packet. Since the checksum packet generation procedure has been described above, it will not be repeated.
  • Step S409 The packet transmission unit 151 also transmits the checksum packet generated by the checksum packet generation unit 133 to the two or more receiving apparatuses using the method indicated by the method information. Thereafter, the process proceeds to step S410.
  • Step S410 The processing unit 13 increments the variable i. Thereafter, the process returns to step S405.
  • Step S411 The processing unit 13 determines whether or not the retransmission request receiving unit 141 has received a retransmission request. If the retransmission request receiving unit 141 receives a retransmission request, the process proceeds to step S412. If not received, the process proceeds to step S413.
  • Step S412 The packet retransmission unit 152 transmits the packet corresponding to the packet identifier included in the retransmission request received by the retransmission request reception unit 141 to the reception device 2 that has transmitted the retransmission request by unicast. Then, it returns to step S402.
  • Step S413 The processing unit 13 determines whether it is time to acquire the terminal number information. Specifically, for example, the processing unit 13 counts the clock, and determines that it is the timing to acquire the terminal number information when the first number indicating the counting result reaches the first predetermined number. The process of resetting the number of times may be repeatedly executed. If it is time to acquire the terminal number information, the process proceeds to step S414. If it is not time to acquire the terminal number information, the process returns to step S402.
  • the terminal number information acquisition unit 131 uses the two or more terminal identifiers stored in the terminal identifier storage unit 111 to acquire terminal number information indicating the number of terminals.
  • the method determining unit 132 determines whether to adopt multicast or unicast as a method of transmitting a packet according to the terminal number information acquired by the terminal number information acquiring unit 131. Specifically, the method determining unit 132 may employ multicast when the number of terminals indicated by the terminal number information is greater than or equal to a threshold or greater than the threshold, and may employ unicast when less than or less than the threshold.
  • Step S416 The method determining unit 132 sets the determined method in the method information. Then, it returns to step S402.
  • processing according to the flowchart of FIG. 4 starts, for example, in response to power-on of the transmission device 1 and ends in response to power-off of the transmission device 1 or interruption of an end process.
  • the trigger for starting or ending the process does not matter.
  • the processing unit 13 monitors the addition of a new receiving device 2 and the presence or absence of the existing receiving device 2, and if there is a new receiving device 2, While the terminal identifier for identifying the receiving device 2 is accumulated in the terminal identifier storage unit 111, if there is a detachment of the existing receiving device 2, the terminal identifier for identifying the receiving device 2 is deleted from the terminal identifier storage unit 111. Do.
  • multicast may be read as “broadcast”.
  • FIG. 5 is a flowchart for explaining the operation of the receiving device 2.
  • Step S501 The packet receiver 241 determines whether or not a packet has been received. If a packet has been received, the process proceeds to step S502. If no packet has been received, the process proceeds to step S503.
  • Step S502 The packet receiving unit 241 stores the received packet in the packet storage unit 211 in a pair with a packet identifier for identifying the packet. Accordingly, the terminal processing unit 23 determines the output time of each of two or more packets stored in the packet storage unit 211, and accumulates the output time information in the output time information storage unit 213. Thereafter, the process returns to step S501.
  • Step S503 The audio output unit 261 determines whether or not the packet to be output next is in the packet storage unit 211. If the packet to be output next is in the packet storage unit 261, the process proceeds to step S504, and if not, the process proceeds to step S505.
  • Step S504 The packet acquisition unit 231 acquires the packet from the packet storage unit 211. Thereafter, the process proceeds to step S507.
  • Step S505 The audio output unit 261 determines whether or not a timeout has occurred. For example, the audio output unit 261 may determine that a timeout has occurred when the elapsed time from the previous packet output exceeds or exceeds the threshold. If it is determined that the time is out, the process proceeds to step S506. If it is determined that the time is not out, the process proceeds to step S508.
  • Step S506 The packet generation unit 235 is a packet received by the packet reception unit 241, and generates a packet to be output next using two or more packets including a checksum packet. Since the procedure for generating the next packet to be output has been described above, it will not be repeated. Thereafter, the process proceeds to step S507.
  • Step S507 The DA conversion unit 2611 performs analog conversion on the packet acquired by the packet acquisition unit 231 or the packet generated by the packet generation unit 235 to generate an audio signal.
  • the audio output unit 2612 outputs the audio signal generated by the DA conversion unit 2611 via an output device such as a speaker. Thereafter, the process returns to step S501.
  • Step S508 The terminal processing unit 23 determines whether it is time to transmit a retransmission request. Specifically, for example, the terminal processing unit 23 counts the clock, determines that it is the timing to output the packet when the second number indicating the counting result reaches the second predetermined number, and determines the second number of times. The process of resetting may be repeated. If it is time to transmit a retransmission request, the process proceeds to step S509. If it is not time to transmit a retransmission request, the process proceeds to step S514.
  • the retransmission request transmission unit 251 executes a retransmission request transmission process that is a process of transmitting a retransmission request for the next packet. Specifically, the retransmission request transmission unit 251 transmits a retransmission request having a packet identifier for identifying the next packet to the transmission device 1 in a pair with a terminal identifier for identifying the reception device 2. In the case of the first retransmission request, the retransmission request transmission unit 251 registers the pair of the packet identifier and the number of times i (initial value “1”) in the erasure list stored in the erasure list storage unit 214. In the case of the second retransmission request, a process of incrementing the number of times i may be executed. Thereafter, the process returns to step S501.
  • Step S510 The terminal processing unit 23 determines whether it is time to acquire speed information. Specifically, for example, the terminal processing unit 23 counts the clock, and determines that it is the timing to acquire the speed information when the third number indicating the counting result reaches the third predetermined number. The process of resetting the number of times may be repeatedly executed. If it is time to acquire speed information, the process proceeds to step S511. If it is not time to acquire speed information, the process proceeds to step S514.
  • Step S511) The first speed information acquisition unit 236 acquires first speed information. Since the first speed information has been described above, it will not be repeated.
  • Step S512 The second speed information acquisition unit 237 acquires the second speed information. Since the second speed information has been described above, it will not be repeated.
  • Step S513 The complement processing unit 238 acquires the shift information using the acquired first and second speed information, and performs the shift complement process based on the acquired shift information. Since the shift information and the shift complement processing have been described above, they will not be repeated. Thereby, the error of the clock frequency between the transmission device 1 and the reception device 2 is complemented by the sound expansion / contraction process or the like, and the disturbance of the output sound due to the error is eliminated or reduced. Thereafter, the process returns to step S501.
  • Step S514 The terminal processing unit 23 determines whether it is time to acquire communication-related information. Specifically, for example, the terminal processing unit 23 counts the clock, determines that it is the timing to acquire the communication related information when the fourth number indicating the counting result reaches the fourth predetermined number, The process of resetting the four times may be repeatedly executed. If it is time to acquire communication-related information, the process proceeds to step S515. If it is not time to acquire communication-related information, the process returns to step S501.
  • the communication related information acquisition unit 233 acquires communication related information including any one of the number of terminals, error rate information, and normal rate information, for example. Note that the procedure for acquiring communication related information has been described above and will not be repeated.
  • Step S566 The communication parameter changing unit 234 determines the capacity of the packet storage unit 211, the number N of times that the retransmission request transmission unit 251 can transmit a retransmission request, and N from the first time limit to the Nth time limit corresponding to the number N.
  • the communication parameter which is one or more types of information within the period, is changed according to the communication related information acquired by the communication related information acquisition unit 233. Since the communication parameter changing procedure has been described above, it will not be repeated. Thereafter, the process returns to step S501.
  • the processing according to the flowchart of FIG. 5 starts, for example, in response to power-on of the receiving device 2 and ends in response to power-off of the receiving device 2 or an interruption in termination processing.
  • the trigger for starting or ending this process does not matter.
  • a retransmission request is transmitted in a period until a timeout occurs, and when the timeout occurs, two or more packets including a checksum are used. For example, if it is determined that there is no next packet to be output, it is determined whether or not two or more packets including a checksum necessary for completion are prepared. If not, a retransmission request may be transmitted.
  • the smoothing process is a process for reducing gap noise, which is noise generated in a gap between a packet output immediately before the next output packet and a packet output immediately after the next output packet.
  • the smoothing process is, for example, a process of fading out the voice of the packet output immediately before to the silence and then fading in from the silence to the voice level of the packet output immediately after. Any process may be used as long as the process is reduced.
  • Step S509a The determination unit 232 acquires the current time from the MPU built-in clock. Alternatively, the determination unit 232 may acquire the packet identifier of the packet output immediately before by the audio output unit 261.
  • Step S509b The determination unit 232 uses the acquired current time and the output time information stored in the output time information storage unit 213 to output the output time after the first time T (1) from the current time.
  • a packet identifier for identifying a packet is acquired from the packet storage unit 211.
  • the determination unit 232 acquires, from the audio output unit 261, for example, a packet identifier obtained by adding a natural number (for example, “N ⁇ 1” or a natural number equal to or less than that) to the packet identifier of the packet output immediately before by the audio output unit 261. May be.
  • Step S509c The determination unit 232 determines whether or not a packet whose output time is a first time T (1) after the current time has been received. For example, when the packet identifier for identifying the packet whose output time is after the first time T (1) from the current time can be acquired, the determination unit 232 determines that the packet has been received, and the packet identifier May not be received, it may be determined that the packet has not been received. Alternatively, the determination unit 232 may determine whether a packet identified by the packet identifier acquired from the audio output unit 261 as described above has been received. If the packet identified by the packet identifier has not been received, the process proceeds to step S509d. If the packet has been received, the process proceeds to step S509e.
  • the retransmission request transmission unit 251 executes a first retransmission request transmission process that is a process of transmitting a first retransmission request for the packet identified by the packet identifier.
  • the first retransmission request transmission process will be described later.
  • Step S510e The retransmission request transmission unit 251 executes a second retransmission request transmission process, which is a process of transmitting the second to Nth retransmission requests for the packet identified by the packet identifier registered in the loss list.
  • the first retransmission request transmission process will be described later. Thereafter, the process returns to step S501.
  • step S510d for example, the following steps S601 to S603 may be executed.
  • Step S601 The retransmission request transmission unit 251 transmits a first retransmission request having a packet identifier for identifying the packet to the transmission device 1.
  • Step S602 The retransmission request transmission unit 251 sets an initial value “1” for the number of times i paired with the packet identifier.
  • Step S603 The retransmission request transmission unit 251 registers the pair of the packet identifier and the number of times i in the erasure list stored in the erasure list storage unit 214. Thereafter, the process returns to the upper process.
  • step S510e for example, the following steps S701 to S708 may be executed.
  • Step S701 The retransmission request transmission unit 251 sets an initial value “1” in the variable j.
  • Step S702 The retransmission request transmission unit 251 determines whether or not the j-th packet identifier is in the erasure list. If there is a j-th packet identifier in the loss list, the process proceeds to step S703, and if not, the process returns to the upper process.
  • Step S703 The retransmission request transmission unit 251 determines whether the packet identified by the jth packet identifier has been received. Specifically, for example, if the packet identified by the jth packet identifier is stored in the packet storage unit 211, the retransmission request transmission unit 251 has received the packet identified by the jth packet identifier. If it is determined that it has not been stored, it may be determined that it has not been received. If the packet identified by the jth packet identifier has been received, the process proceeds to step S704, and if not received, the process proceeds to step S705.
  • Step S704 The retransmission request transmission unit 251 deletes the pair of the jth packet identifier and the number of times i from the erasure list. Thereafter, the process proceeds to step S708.
  • Step S705 The retransmission request transmission unit 251 determines whether the number of times i corresponding to the jth packet identifier is equal to or greater than the number of times N. If the number of times i corresponding to the j-th packet identifier is not equal to or greater than the number N (that is, the number i is less than the number N), the process proceeds to step S706. If the number i is equal to or greater than the number N, the process proceeds to step S708.
  • Step S706 The retransmission request transmission unit 251 increments the number of times i corresponding to the j-th packet identifier.
  • Step S707 The retransmission request transmission unit 251 transmits the i-th retransmission request having the j-th packet identifier to the transmission device 1. Thereafter, the process returns to step S703.
  • Step S708 The retransmission request transmission unit 251 increments the variable j. Thereafter, the process returns to step S702.
  • the reception device 2 is a packet after a packet to be output next (for example, packet “k”), When there is no packet (for example, packet “k + 4”, etc.) that should be buffered at the time of outputting the next packet, a retransmission request for the lost packet is transmitted, and the transmission apparatus 1 receives the lost packet.
  • a packet to be output next for example, packet “k”.
  • the transmitter 1 is transmitting Wi-Fi (registered trademark), for example, voice data of a voice that is simultaneously interpreted at an international conference hall or a stadium.
  • Wi-Fi registered trademark
  • Each of the two or more receiving apparatuses 2 receives voice data and outputs a voice of simultaneous interpretation as voice.
  • the terminal identifier storage unit 111 of the transmission device 1 stores two or more terminal identifiers that identify the two or more (for example, several hundreds, thousands, etc.) of the reception devices 2.
  • the number-of-terminals information storage unit 112 stores number-of-terminals information indicating the number of receiving apparatuses 2 (number of terminals) constituting the voice communication system.
  • the storage unit 11 stores method information indicating “multicast”.
  • packet identifiers for example, “1”, “2”,..., “ k ′′,... are stored in pairs.
  • packets received by the packet reception unit 241 so far are stored in pairs with packet identifiers that identify the packets. Note that the capacity of the packet storage unit 211 may be different for each terminal.
  • the deadline information storage unit 212 stores N pieces of deadline information corresponding to N deadlines from the first deadline to the Nth deadline.
  • the N pieces of deadline information are first deadline information indicating the first deadline, second deadline information indicating the second deadline,..., And Nth deadline information indicating the Nth deadline. Note that the natural number N may be different for each terminal.
  • the audio data receiving unit 121 when the audio data receiving unit 121 receives audio data, two or more packets constituting the audio data are accumulated in the audio data storage unit 113 in pairs with a packet identifier for identifying the packet. .
  • the packet transmission unit 151 determines whether it is time to transmit a packet. If it is time to transmit a packet, the packet identifier 151 stores two or more packets stored in the voice data storage unit 113. Are sequentially transmitted to the two or more receiving devices identified by the two or more terminal identifiers stored in the network using the method indicated by the method information (currently multicast).
  • the checksum packet generation unit 133 generates a checksum packet corresponding to the packet transmitted by the packet transmission unit 151 using two or more transmitted packets including the packet. For example, when the packet transmitted by the packet transmission unit 151 is the packet “m100” and the number of packets used to generate one checksum packet is 10, the checksum packet generation unit 133 determines that the packet “m100” May be generated using the past 10 packets “m091”, “m092”,..., “M100” including the packet “m100”. After transmitting the packet “m100”, the packet transmission unit 151 also transmits the checksum packet “r100” generated by the checksum packet generation unit 133 in this manner to the two or more receiving devices in the method.
  • the processing unit 13 also determines whether or not the retransmission request receiving unit 141 has received a retransmission request.
  • the packet retransmission unit 152 acquires a packet corresponding to the packet identifier included in the retransmission request from the voice data storage unit 113, and transmits the acquired packet to the retransmission request. Unicast to the receiving device 2 that has been transmitted.
  • the processing unit 13 also determines whether or not it is time to acquire the terminal number information.
  • the terminal number information acquisition unit 131 acquires terminal number information indicating the number of terminals using two or more terminal identifiers stored in the terminal identifier storage unit 111.
  • the method determining unit 132 determines whether to adopt multicast or unicast as a method for transmitting packets according to the number-of-terminals information. For example, when the number of terminals indicated by the number-of-terminals information is greater than or equal to the threshold value or greater than the threshold value, it may be determined to employ multicast, and when less than or less than the threshold value, unicast may be employed.
  • the method determining unit 132 sets the method determined in this way in the method information.
  • the packet transmission method is changed from multicast to unicast. Thereafter, when the number of terminals exceeds a threshold value due to the participation of a new terminal, the packet transmission method is changed from unicast to multicast.
  • the packet receiving unit 241 when the packet receiving unit 241 receives a packet, the packet is stored in the packet storage unit 211 in a pair with a packet identifier for identifying the packet.
  • the packet acquisition unit 231 determines whether or not it is time to output a packet. If it is time to output a packet, the packet acquisition unit 231 acquires the next packet to be output from the packet storage unit 211. Specifically, the packet acquisition unit 231 stores the packet identifier of the packet output immediately before, and the identifier next to the stored identifier (for example, the number obtained by adding 1 to the packet identifier of the previous packet) ) Is retrieved from the packet storage unit 211 and acquired.
  • the voice output unit 261 starts timing and determines whether or not a timeout has occurred. If it is determined that a timeout has occurred, the packet generator 235 generates a packet to be output next using two or more packets that are packets received by the packet receiver 241 and include a checksum packet. For example, the packet storage unit 211 stores packets and checksum packets “m091”, “r091”, “m092”, “r092”,..., “M099”, “r099”, “r100”, “m101”, “r101”. ,...
  • the packet generation unit 235 stores the packet in the packet storage unit 211.
  • the lost packet “m100” is generated using the nine packets “m091” to “m099” and the checksum packet “r100”.
  • the voice output unit 261 outputs the packet acquired from the packet storage unit 211 or the packet generated by the packet generation unit 235 by voice. Specifically, the audio output unit 261 performs analog conversion on the packet, acquires audio, and outputs the audio from the speaker.
  • the terminal processing unit 23 determines whether it is time to make a retransmission request, and when it is time to make a retransmission request,
  • the retransmission request transmission unit 251 executes retransmission request transmission processing. In the retransmission request transmission process, the retransmission request transmission unit 251 first transmits a first retransmission request having a packet identifier for identifying the next packet to be output to the transmission apparatus 1.
  • the retransmission request transmission unit 251 sends the second retransmission request for the next packet to be output next time. Is sent at the timing of requesting retransmission. If the next output packet is not received by the second time limit after the second retransmission request is transmitted, the retransmission request transmission unit 251 sends the third retransmission request for the next output packet one after another. Is sent at the timing of requesting retransmission. Such processing is repeated at most N times before time-out occurs.
  • the audio output unit 261 When the next output packet is received before the time-out, the audio output unit 261 outputs the received packet as audio, and when not received, the audio output unit 261 corresponds to the next output packet.
  • the packet generator 235 outputs the packet generated by using the checksum packet as described above.
  • the terminal processing unit 23 determines whether it is time to acquire communication-related information.
  • the communication-related information acquisition unit 233 acquires communication-related information including any of the number of terminals, error rate information, and normal rate information, for example.
  • the communication parameter changing unit 234 includes the capacity of the packet storage unit 211, the number N of times that the retransmission request transmission unit 251 can transmit a retransmission request, N time limits from the first time limit to the Nth time limit corresponding to the number N, The communication parameter that is one or more types of information is changed according to the communication related information acquired by the communication related information acquisition unit 233.
  • the communication parameter changing unit 234 may increase the capacity, increase the number of times N, and advance the N deadlines if the number of terminals is greater than or equal to the threshold value. However, if the number of terminals is equal to or less than the threshold value or less than the threshold value, the number of times N may be decreased, the N deadlines may be delayed, and the capacity may be reduced.
  • the communication parameter changing unit 234 increases the number of times N by increasing the capacity if the error rate indicated by the error rate information is equal to or higher than the threshold value or higher than the threshold value. If the error rate is equal to or lower than the threshold value or lower than the threshold value, the number N may be reduced, and the N deadlines may be delayed to reduce the capacity.
  • the communication parameter changing unit 234 increases the capacity, increases the number of times N, and increases N if the normal rate indicated by the normal rate information is equal to or lower than the threshold value
  • the time limit may be advanced, or if the normal rate is equal to or higher than the threshold value or higher than the threshold value, the number N may be reduced, and the N time limits may be delayed to reduce the capacity.
  • the terminal processing unit 23 also determines whether or not it is time to acquire speed information.
  • the first speed information acquisition unit 236 acquires first speed information
  • the second speed information acquisition unit 237 acquires second speed information.
  • the complement processing unit 238 acquires the shift information using the acquired first and second two speed information, and performs the shift complement process based on the acquired shift information. For example, when the ratio of the two speeds corresponding to the first speed information and the second speed information is “1000 packets / second” vs. “1000.1 packets / second”, that is, 10000: 10001, the complementary processing unit 238 receives Complementary processing for delaying the clock cycle on the apparatus 2 side by 1/10000 may be performed. Thereby, the disturbance of the output sound due to the error in the clock frequency between the transmission device 1 and the reception device 2 is eliminated or reduced.
  • transmitting apparatus 1 when receiving audio data, sequentially transmits two or more packets corresponding to a packet identifier that are two or more packets constituting the audio data and identifies the packet.
  • the packet corresponding to the packet identifier included in the retransmission request is transmitted by unicast to the receiving device 2 that has transmitted the retransmission request.
  • the packet is stored in the packet storage unit 211 and stored in the packet storage unit 211.
  • the packet to be output next is acquired using the packet identifier corresponding to the packet, When the packet to be output is acquired, the next output packet is output, but the next output packet by the first deadline
  • the voice communication system that transmits a retransmission request to the transmitter 1 suppresses the occurrence of packet loss in the receiver 2 and eliminates or reduces the audio disturbance generated in the receiver 2, while the receiver 2 Audio output delay can be reduced.
  • the receiving device 2 determines whether or not the next output packet is received by the first time limit by using the packet identifier corresponding to the packet, and by the first time limit. When it is determined that the packet to be output next has not been received, a retransmission request is transmitted to the transmission device, thereby suppressing the occurrence of packet loss at the reception device and eliminating or reducing the audio disturbance. Delay can be shortened.
  • the receiving apparatus 2 transmits an N-th retransmission request to the transmitting apparatus when the next output packet is not received by the Nth time limit (N is a natural number of 2 or more).
  • N is a natural number of 2 or more.
  • the reception device 2 can acquire communication-related information that is information related to communication between the transmission device 1 and the reception device 2, and can transmit the capacity of the packet storage unit 211 and a retransmission request.
  • the communication parameter which is one or more types of information among the N times from the number N, the first time limit to the Nth time limit corresponding to the number N, according to the communication related information, 2
  • Each of the above receiving devices 2 obtains communication related information (number of terminals, error rate, etc.) and dynamically changes communication parameters according to the communication related information, thereby responding to communication with the transmitting device 1.
  • communication related information number of terminals, error rate, etc.
  • the communication-related information is the number of terminals that is the number of receiving apparatuses 2 that receive a packet, the error rate information regarding that the receiving apparatus 2 cannot receive the next output packet, or the receiving apparatus 2
  • each of the two or more receiving devices 2 has the communication parameter including the number of terminals and the error rate included in the communication related information.
  • the transmission device 1 acquires terminal number information regarding the number of reception devices 2 that receive packets, and adopts multicast or broadcast as a method of transmitting packets according to the terminal number information. Or unicast is adopted, and the transmission device 1 transmits the packet based on the determined method, so that the transmission device 1 can transmit the packet in a method according to the number of terminals among multicast, broadcast, and unicast.
  • the transmission device 1 can transmit the packet in a method according to the number of terminals among multicast, broadcast, and unicast.
  • the number of terminals when the number of terminals is less than or less than the threshold, the number of terminals that can reduce both compression on the band and voice disturbance by transmitting packets with unicast with a large amount of bandwidth but low loss is greater than or equal to the threshold.
  • the packet when the number is larger than the threshold, the packet is transmitted by multicast or broadcast with a small bandwidth but a large loss, and retransmission when packet loss occurs can be performed by unicast.
  • the transmission device 1 In the voice communication system, the transmission device 1 generates a checksum packet, which is a packet for configuring a packet that the reception device 2 could not receive, using two or more packets to be transmitted.
  • a checksum packet which is a packet for configuring a packet that the reception device 2 could not receive, using two or more packets to be transmitted.
  • the receiving apparatus 2 receives three or more packets including a checksum packet and fails to obtain a packet to be output next, the receiving device 2 transmits two or more packets including the checksum packet. If a packet loss occurs in the receiving device 2 by generating a packet to be output next, and the packet to be output next cannot be received even if the retransmission request is transmitted one or more times, the receiving device 2 The lost packet can be reconstructed using two or more packets including the checksum packet received. As a result, for example, the transmission / reception efficiency is increased as compared with the case where the retransmission request is continuously transmitted.
  • the transmission device 1 includes a voice reception unit 1211 that receives analog voice, and an AD conversion unit 1212 that digitally converts the voice and obtains voice data. Are converted to analog signals to obtain voice, and DA output means 2611 for outputting voice, and voice output means 2612 for outputting voice.
  • the receiving apparatus 2 acquires first speed information regarding the speed at which packets are received, and the receiving apparatus 2 Is obtained from the first speed information and the second speed information, and is based on the deviation information about the clock frequency error between the transmission device 1 and the reception device 2.
  • the error in the clock frequency that occurs between the transmission device 1 and each reception device 2 is obtained by performing a shift compensation process that is a process for compensating for an error in the clock frequency. It is possible to reduce the disturbance of the output sound due to.
  • processing in the present embodiment may be realized by software. Then, this software may be distributed by software download or the like. Further, this software may be recorded on a recording medium such as a DVD and distributed. This also applies to other embodiments in this specification.
  • this program is a program executed by a computer of the transmission device 1 that transmits audio data to two or more reception devices 2, and the computer receives the audio data reception unit 121 that receives audio data and the audio data.
  • the packet transmission unit 151 that sequentially transmits two or more packets corresponding to the packet identifier that identifies the packet and the packet identifier, which are output next by the first deadline
  • a retransmission request receiving unit 141 that receives a retransmission request transmitted from the receiving device 2 when not receiving a packet, and a packet corresponding to a packet identifier included in the retransmission request to the receiving device 2 that has transmitted the retransmission request.
  • the software that realizes the receiving apparatus 2 in the present embodiment is the following program. That is, this program is a program executed by the computer of the receiving device 2 that receives and outputs audio data from the transmitting device 1, and the recording medium accessible by the computer is a packet storage unit 211 that stores packets.
  • a packet receiving unit 241 that receives a packet from the transmission device 1 and stores the packet in the packet storage unit 211, and a packet stored in the packet storage unit 211.
  • a packet acquisition unit 231 that acquires a packet to be output next using a corresponding packet identifier, and an audio output that outputs the packet to be output next when the packet acquisition unit 231 acquires a packet to be output next 261 and the packet receiver 241 output next by the first time limit. If not receiving a packet, a program for functioning as a retransmission request transmitting unit 251 transmits a retransmission request to the transmitting apparatus 1.
  • FIG. 6 is a diagram illustrating an example of the external appearance of a computer system 900 that executes the program according to the present embodiment to realize a voice communication system.
  • the present embodiment can be realized by computer hardware and a computer program executed on the computer hardware.
  • the computer system 900 includes a computer 901 including a disk drive 905, a keyboard 902, a mouse 903, and a display 904. Note that the entire system including the keyboard 902, the mouse 903, and the display 904 may be called a computer.
  • FIG. 7 is a diagram illustrating an example of the internal configuration of the computer system 900.
  • a computer 901 in addition to the disk drive 905, a computer 901 is connected to an MPU 911, a ROM 912 for storing a program such as a bootup program, and the MPU 911, and temporarily stores an instruction of an application program.
  • a RAM 913 that provides storage space
  • a storage 914 that stores application programs, system programs, and data
  • a bus 915 that interconnects MPU 911, ROM 912, and the like
  • a network card 916 that provides connection to a network such as the Internet .
  • the storage 914 is, for example, a hard disk, a solid state drive, a flash memory, or the like.
  • a program that causes the computer system 900 to execute the function of the voice communication system may be stored in a disk 921 such as a DVD or a CD-ROM, inserted into the disk drive 905, and transferred to the storage 914.
  • the program may be transmitted to the computer 901 via a network such as the Internet and stored in the storage 914.
  • the program is loaded into the RAM 913 when executed.
  • the program may be loaded directly from the disk 921 or the network.
  • the program may be read into the computer system 900 via another removable recording medium (for example, a DVD or a memory card) instead of the disk 921.
  • the program may not necessarily include an operating system (OS) or a third-party program for executing the function of the voice communication system in 901 indicating the details of the computer.
  • the program may include only a part of an instruction that calls an appropriate function or module in a controlled manner and obtains a desired result. How the computer system 900 operates is well known and will not be described in detail.
  • processing performed by hardware for example, processing performed by a modem or an interface card in the transmission step (only performed by hardware). Not included) is not included.
  • the computer that executes the program may be singular or plural. That is, centralized processing may be performed, or distributed processing may be performed.
  • two or more communication means such as the reception unit 14 and the transmission unit 15
  • two or more communication means existing in one apparatus may be physically realized by one medium.
  • each processing may be realized by centralized processing by a single device (system), or may be realized by distributed processing by a plurality of devices. May be.
  • the delay of audio output at the receiving device while suppressing the occurrence of packet loss at the receiving device and eliminating or reducing the audio disturbance occurring at the receiving device is useful as a voice communication system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

[Problem] To eliminate or reduce disturbance in audio caused in a reception device, and also to shorten a delay in audio output. [Solution] A transmission device is provided with: an audio data accepting unit which accepts audio data; a packet transmission unit which successively transmits two or more packets constituting the audio data; a retransmission request reception unit which receives from a reception device a retransmission request including a packet identifier; and a packet retransmission unit which transmits, by unicast, a packet corresponding to the packet identifier included in the retransmission request to the reception device that has transmitted the retransmission request. The reception device is provided with a packet storage unit; a packet reception unit which receives a packet from the transmission device and stores the packet in the packet storage unit; a packet acquisition unit which acquires from the packet storage unit a packet to be output next; an audio output unit which, upon acquisition by the packet acquisition unit of the packet to be output next, outputs the packet to be output next; and a retransmission request transmission unit which, if the packet reception unit does not receive the packet to be output next by a first deadline, transmits a retransmission request.

Description

音声通信システム、送信装置、受信装置、送信方法、受信方法、および記録媒体Audio communication system, transmission apparatus, reception apparatus, transmission method, reception method, and recording medium
 本発明は、音声データを送受信する音声通信システム等に関するものである。 The present invention relates to an audio communication system that transmits and receives audio data.
 音声データをリアルタイムに送受信する音声通信システムとして、例えば、Wi-Fi(登録商標)等の無線通信を利用して、音声を多くの受信装置にライブ配信するインターネットラジオがあった(例えば、非特許文献1参照)。 As an audio communication system that transmits and receives audio data in real time, for example, there is an Internet radio that uses wireless communication such as Wi-Fi (registered trademark) to distribute audio live to many receiving devices (for example, non-patented). Reference 1).
 しかし、従来技術において、送信装置から各受信装置までの通信路の帯域やトラフィック等に応じて、一部の受信装置でパケットロスが頻発し、受信装置で出力される音声が乱れる、という課題があった。 However, in the prior art, depending on the bandwidth of the communication path from the transmitting device to each receiving device, traffic, etc., there is a problem that packet loss frequently occurs in some receiving devices and the sound output from the receiving devices is disturbed. there were.
 本第一の発明の音声通信システムは、音声データを送信する送信装置と音声データを受信し出力する2以上の受信装置とを具備する音声通信システムであって、送信装置は、音声データを受け付ける音声データ受付部と、音声データを構成する2以上のパケットであり、パケットを識別するパケット識別子に対応する2以上のパケットを、順次送信するパケット送信部と、パケット識別子を有する再送要求を受信装置から受信する再送要求受信部と、再送要求が有するパケット識別子に対応するパケットを、再送要求を送信した受信装置に、ユニキャストで送信するパケット再送部とを具備し、受信装置は、パケットを格納するパケット格納部と、送信装置からパケットを受信し、パケット格納部に蓄積するパケット受信部と、パケット格納部に格納されているパケットであり、パケットに対応するパケット識別子を用いて、次に出力するパケットを取得するパケット取得部と、パケット取得部が次に出力するパケットを取得した場合に、次に出力するパケットを出力する音声出力部と、パケット受信部が第一の期限までに次に出力するパケットを受信しない場合に、再送要求を送信装置に送信する再送要求送信部とを具備する音声通信システムである。 The voice communication system according to the first aspect of the present invention is a voice communication system including a transmission device that transmits voice data and two or more reception devices that receive and output the voice data, and the transmission device accepts the voice data. An audio data receiving unit; a packet transmitting unit that sequentially transmits two or more packets corresponding to a packet identifier that identifies two or more packets constituting the audio data; and a reception device that receives a retransmission request having the packet identifier A retransmission request receiving unit that receives the packet identifier, and a packet retransmission unit that transmits the packet corresponding to the packet identifier included in the retransmission request to the receiving device that has transmitted the retransmission request by unicast. The receiving device stores the packet A packet storage unit that receives the packet from the transmitting device and stores the packet in the packet storage unit, A packet acquisition unit that acquires a packet to be output next using a packet identifier corresponding to the packet, and a packet acquisition unit that acquires a packet to be output next, Voice communication comprising: a voice output unit that outputs a packet to be output; and a retransmission request transmission unit that transmits a retransmission request to a transmission device when the packet reception unit does not receive the next packet to be output by the first time limit System.
 かかる構成により、受信装置でのパケットロスの発生を抑え、受信装置で生じる音声の乱れを解消または軽減しつつ、受信装置での音声出力の遅延を短縮できる。 With this configuration, it is possible to suppress the occurrence of packet loss in the receiving device, and to reduce or reduce the audio output delay in the receiving device while eliminating or reducing the audio disturbance that occurs in the receiving device.
 また、本第二の発明の音声通信システムは、第一の発明に対して、受信装置は、パケット受信部が第一の期限までに次に出力するパケットを受信したか否かを、パケットに対応するパケット識別子を用いて判断する判断部をさらに具備し、再送要求送信部は、判断部が、パケット受信部が第一の期限までに次に出力するパケットを受信しなかったと判断した場合に、再送要求を送信装置に送信する音声通信システムである。 Further, in the voice communication system according to the second aspect of the present invention, in contrast to the first aspect, the receiving device determines whether or not the packet receiving unit has received the next packet to be output before the first time limit. A determination unit configured to determine using the corresponding packet identifier, and the retransmission request transmission unit, when the determination unit determines that the packet reception unit has not received the next packet to be output by the first time limit. A voice communication system for transmitting a retransmission request to a transmission apparatus.
 かかる構成により、受信装置でのパケットロスの発生を抑え、音声の乱れを解消または軽減しつつ、音声出力の遅延を短縮できる。 With such a configuration, it is possible to reduce the delay of audio output while suppressing the occurrence of packet loss in the receiving apparatus and eliminating or reducing the audio disturbance.
 また、本第三の発明の音声通信システムは、第一または第二の発明に対して、再送要求送信部は、パケット受信部が第Nの期限までに次に出力するパケットを受信しない場合に、N(Nは2以上の自然数)回目の再送要求を送信装置に送信する音声通信システムである。 Further, in the voice communication system according to the third aspect of the present invention, in contrast to the first or second aspect, the retransmission request transmission unit is configured such that the packet reception unit does not receive the next output packet by the Nth time limit. , N (N is a natural number equal to or greater than 2), a voice communication system that transmits a retransmission request to a transmitter.
 かかる構成により、受信装置では、1回目の再送要求を送信しても、次に出力するパケットが受信されない場合、2回目以降の再送要求を送信することで、消失したパケットであるロストパケットのリカバー率の向上が期待できる。 With this configuration, even if the first retransmission request is transmitted and the next packet to be output is not received, the receiving apparatus recovers the lost packet that is a lost packet by transmitting the second and subsequent retransmission requests. The rate can be expected to improve.
 また、本第四の発明の音声通信システムは、第一から第三いずれか1つの発明に対して、受信装置は、送信装置と受信装置との間の通信に関する情報である通信関連情報を取得する通信関連情報取得部と、パケット格納部の容量、再送要求送信部が再送要求を送信可能な回数N、第一の期限から回数Nに対応する第Nの期限までのN個の期限のうちの1種類以上の情報である通信パラメータを、通信関連情報に応じて、変更する通信パラメータ変更部とをさらに具備する音声通信システムである。 Further, in the voice communication system according to the fourth aspect of the present invention, the receiving device acquires communication related information that is information related to communication between the transmitting device and the receiving device in any one of the first to third inventions. Communication-related information acquisition unit, the capacity of the packet storage unit, the number N of times that the retransmission request transmission unit can transmit a retransmission request, and the N deadlines from the first deadline to the Nth deadline corresponding to the number N The communication system further includes a communication parameter changing unit that changes communication parameters, which are one or more types of information, according to communication-related information.
 かかる構成により、受信装置が、通信関連情報を取得し、通信パラメータを通信関連情報に応じて動的に変更することが可能になる。 With this configuration, the receiving apparatus can acquire communication related information and dynamically change communication parameters according to the communication related information.
 また、本第五の発明の音声通信システムは、第四の発明に対して、通信関連情報は、パケットを受信する受信装置の数である端末数、またはパケット受信部が次に出力するパケットを受信できないことに関するエラー率情報、またはパケット受信部が次に出力するパケットを受信できたこと関する正常率情報のうちのいずれかの情報を含む音声通信システムである。 The voice communication system according to the fifth aspect of the present invention is different from the fourth aspect in that the communication-related information includes the number of terminals that is the number of receiving devices that receive a packet, or the packet that the packet receiving unit outputs next. This is a voice communication system including either information of error rate information regarding the inability to receive or normal rate information regarding that the packet receiving unit has been able to receive the next output packet.
 かかる構成により、受信装置が、通信関連情報を取得し、通信パラメータを通信関連情報に含まれる端末数、エラー率または正常率に応じて動的に変更することが可能になる。 With this configuration, the receiving device can acquire communication-related information and dynamically change communication parameters according to the number of terminals, error rate, or normal rate included in the communication-related information.
 また、本第六の発明の音声通信システムは、第一から第五いずれか1つの発明に対して、送信装置は、パケットを受信する受信装置の数に関する端末数情報を取得する端末数情報取得部と、端末数情報に応じて、パケットを送信する方式として、マルチキャストまたはブロードキャストを採用するか、ユニキャストを採用するかを決定する方式決定部とをさらに具備し、パケット送信部は、方式決定部が決定した方式に基づいて、パケットを送信する音声通信システムである。 Further, in the voice communication system according to the sixth aspect of the present invention, in contrast to any one of the first to fifth aspects, the transmitting device acquires terminal number information related to the number of receiving devices that receive packets. And a method determining unit that determines whether to adopt multicast or broadcast or unicast as a method for transmitting a packet according to the number-of-terminals information. This is a voice communication system that transmits a packet based on the method determined by the unit.
 かかる構成により、送信装置は、マルチキャストまたはブロードキャストと、ユニキャストとのうち、端末数に応じた方式でパケットを送信することができる。 With such a configuration, the transmission device can transmit a packet by a method corresponding to the number of terminals among multicast or broadcast and unicast.
 例えば、端末数が閾値以下または閾値より少ない場合は、利用帯域は多いがロスの少ないユニキャストでパケットを送信することで、帯域への圧迫と音声の乱れが共に軽減される。また、端末数が閾値以上または閾値より多い場合は、利用帯域は少ないがロスの多いマルチキャストまたはブロードキャストでパケットを送信し、パケットロスが生じた場合の再送はユニキャストで行うことで、帯域への圧迫と音声の乱れが共に軽減される。 For example, when the number of terminals is equal to or less than the threshold or less than the threshold, both the compression to the bandwidth and the disturbance of voice are reduced by transmitting the packet by unicast with a large bandwidth but a small loss. In addition, when the number of terminals is greater than or equal to the threshold or more than the threshold, packets are transmitted by multicast or broadcast with a small bandwidth but a large loss, and retransmission when packet loss occurs is performed by unicast. Both compression and voice disturbance are reduced.
 また、本第七の発明の音声通信システムは、第一から第六いずれか1つの発明に対して、送信装置は、受信装置が受信できなかったパケットを構成するためのパケットであるチェックサムパケットを、パケット送信部が送信する2以上のパケットを用いて生成するチェックサムパケット生成部をさらに具備し、パケット送信部は、チェックサムパケットを含む3以上のパケットを送信し、パケット受信部は、チェックサムパケットを含む3以上のパケットを受信し、受信装置は、パケット取得部が次に出力するパケットを取得できなかった場合、チェックサムパケットを含む2以上のパケットを用いて、次に出力するパケットを生成するパケット生成部をさらに具備する音声通信システムである。 Further, in the voice communication system according to the seventh aspect of the present invention, in contrast to any one of the first to sixth aspects, the transmitting device is a checksum packet that is a packet for constituting a packet that the receiving device cannot receive. Is further generated using two or more packets transmitted by the packet transmission unit, the packet transmission unit transmits three or more packets including the checksum packet, and the packet reception unit includes: When three or more packets including the checksum packet are received, and the packet acquisition unit cannot acquire the next packet to be output, the receiving apparatus outputs the next packet using the two or more packets including the checksum packet. The voice communication system further includes a packet generation unit that generates a packet.
 かかる構成により、受信装置で、パケットロスが発生し、再送要求を1回以上送信しても、次に出力するパケットを受信できない場合、当該受信装置が受信したチェックサムパケットを含む2以上のパケットを用いてロストパケットを復元することができる。その結果、例えば、再送要求を送信し続ける場合と比べて、送受信の効率が高まる。 With this configuration, when a packet loss occurs in the receiving apparatus and the next output packet cannot be received even if the retransmission request is transmitted one or more times, two or more packets including the checksum packet received by the receiving apparatus Can be used to restore lost packets. As a result, for example, the transmission / reception efficiency is increased as compared with the case where the retransmission request is continuously transmitted.
 また、本第八の発明の音声通信システムは、第一から第七いずれか1つの発明に対して、音声データ受付部は、アナログの音声を受け付ける音声受付手段と、音声をデジタル変換し、音声データを取得するAD変換手段とを具備し、音声出力部は、パケットをアナログ変換し、音声を取得するDA変換手段と、音声を出力する音声出力手段とを具備し、受信装置は、パケット受信部がパケットを受信する速度に関する第一速度情報を取得する第一速度情報取得部と、受信装置の処理速度に関する第二速度情報を取得する第二速度情報取得部と、第一速度情報と第二速度情報とから取得される情報であり、送信装置と受信装置とのクロック周波数の誤差に関するずれ情報に基づいて、クロック周波数の誤差を補完する処理であるずれ補完処理を行う補完処理部とをさらに具備する音声通信システムである。 Further, in the voice communication system of the eighth invention, in contrast to any one of the first to seventh inventions, the voice data receiving unit is a voice receiving unit that receives analog voice, digitally converts the voice, AD conversion means for acquiring data, the voice output unit includes DA conversion means for converting the analog signal of the packet and acquiring voice, and voice output means for outputting the voice, and the receiving device receives the packet. A first speed information acquisition unit that acquires first speed information about a speed at which the unit receives a packet; a second speed information acquisition unit that acquires second speed information about a processing speed of the receiving device; This is information obtained from the two-speed information, and a shift complement process that is a process for complementing the clock frequency error based on the shift information regarding the clock frequency error between the transmitting device and the receiving device. A voice communication system, further comprising a complementary processing unit that performs.
 かかる構成により、送信装置と各受信装置の間で生じるクロック周波数の誤差に起因する出力音声の乱れを低減できる。 With this configuration, it is possible to reduce the disturbance of the output sound caused by the clock frequency error that occurs between the transmitting device and each receiving device.
 本発明によれば、受信装置でのパケットロスの発生を抑え、受信装置で生じる音声の乱れを解消または軽減しつつ、受信装置での音声出力の遅延を短縮できる。 According to the present invention, it is possible to suppress the occurrence of packet loss in the receiving device, and to reduce or reduce the voice output delay in the receiving device while eliminating or reducing the audio disturbance generated in the receiving device.
実施の形態における音声通信システムのブロック図Block diagram of a voice communication system in an embodiment 同送信装置のブロック図Block diagram of the transmitter 同受信装置のブロック図Block diagram of the receiver 同送信装置の動作を説明するフローチャートFlow chart for explaining the operation of the transmitter 同受信装置の動作を説明するフローチャートFlow chart for explaining the operation of the receiving apparatus 同コンピュータシステムの外観図External view of the computer system 同コンピュータシステムの内部構成図Internal configuration diagram of the computer system
 以下、音声通信システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。 Hereinafter, embodiments of a voice communication system and the like will be described with reference to the drawings. In addition, since the component which attached | subjected the same code | symbol in embodiment performs the same operation | movement, description may be abbreviate | omitted again.
 本実施の形態において、受信装置で次に出力すべきパケットを受信できない場合に、再送要求が有するパケット識別子に対応するパケットを、再送要求を送信した受信装置に、ユニキャストで送信する送信装置を有する音声通信システムについて説明する。 In this embodiment, when a receiving apparatus cannot receive a packet to be output next, a transmitting apparatus that transmits a packet corresponding to the packet identifier included in the retransmission request to the receiving apparatus that transmitted the retransmission request by unicast. A voice communication system will be described.
 また、本実施の形態において、バッファリング量、1回以上の再送要求タイミング等の通信パラメータのカスタマイズが可能な音声通信システムについて説明する。 Also, in the present embodiment, a voice communication system capable of customizing communication parameters such as the buffering amount and the timing of one or more retransmission requests will be described.
 図1は、本実施の形態における音声通信システムのブロック図である。この音声通信システムは、送信装置1、および2以上の受信装置2を備える。送信装置1と2以上の各受信装置2とは、例えば、LANやインターネットなどのネットワーク、有線または無線の通信回線等を介して、通信可能に接続される。送信装置1は、音声データを送信する。2以上の各受信装置2は、当該音声データを受信し、出力する。 FIG. 1 is a block diagram of the voice communication system in the present embodiment. This voice communication system includes a transmission device 1 and two or more reception devices 2. The transmission device 1 and each of the two or more reception devices 2 are communicably connected via a network such as a LAN or the Internet, a wired or wireless communication line, and the like. The transmission device 1 transmits audio data. Each of the two or more receiving devices 2 receives and outputs the audio data.
 図2は、送信装置1のブロック図である。送信装置1は、格納部11、受付部12、処理部13、受信部14、送信部15、および出力部16を備える。格納部11は、端末識別子格納部111、端末数情報格納部112、音声データ格納部113、および送信時刻情報格納部114を備える。受付部12は、音声データ受付部121を備える。音声データ受付部121は、音声受付手段1211、およびAD変換手段1212を備える。処理部13は、端末数情報取得部131、方式決定部132、およびチェックサムパケット生成部133を備える。受信部14は、再送要求受信部141を備える。送信部15は、パケット送信部151、およびパケット再送部152を備える。 FIG. 2 is a block diagram of the transmission device 1. The transmission device 1 includes a storage unit 11, a reception unit 12, a processing unit 13, a reception unit 14, a transmission unit 15, and an output unit 16. The storage unit 11 includes a terminal identifier storage unit 111, a terminal number information storage unit 112, an audio data storage unit 113, and a transmission time information storage unit 114. The reception unit 12 includes an audio data reception unit 121. The voice data reception unit 121 includes a voice reception unit 1211 and an AD conversion unit 1212. The processing unit 13 includes a terminal number information acquisition unit 131, a method determination unit 132, and a checksum packet generation unit 133. The receiving unit 14 includes a retransmission request receiving unit 141. The transmission unit 15 includes a packet transmission unit 151 and a packet retransmission unit 152.
 図3は、受信装置2のブロック図である。受信装置2は、端末格納部21、端末受付部22、端末処理部23、端末受信部24、端末送信部25、および端末出力部26を備える。端末格納部21は、パケット格納部211、期限情報格納部212、出力時刻情報格納部213、および消失リスト格納部214を備える。端末処理部23は、パケット取得部231、判断部232、通信関連情報取得部233、通信パラメータ変更部234、パケット生成部235、第一速度情報取得部236、第二速度情報取得部237、および補完処理部238を備える。端末受信部24は、パケット受信部241を備える。端末送信部25は、再送要求送信部251を備える。端末出力部26は、音声出力部261を備える。音声出力部261は、DA変換手段2611、および音声出力手段2612を備える。 FIG. 3 is a block diagram of the receiving device 2. The reception device 2 includes a terminal storage unit 21, a terminal reception unit 22, a terminal processing unit 23, a terminal reception unit 24, a terminal transmission unit 25, and a terminal output unit 26. The terminal storage unit 21 includes a packet storage unit 211, a time limit information storage unit 212, an output time information storage unit 213, and an erasure list storage unit 214. The terminal processing unit 23 includes a packet acquisition unit 231, a determination unit 232, a communication related information acquisition unit 233, a communication parameter change unit 234, a packet generation unit 235, a first speed information acquisition unit 236, a second speed information acquisition unit 237, and A complement processing unit 238 is provided. The terminal receiving unit 24 includes a packet receiving unit 241. The terminal transmission unit 25 includes a retransmission request transmission unit 251. The terminal output unit 26 includes an audio output unit 261. The audio output unit 261 includes a DA conversion unit 2611 and an audio output unit 2612.
 送信装置1を構成する格納部11は、各種の情報を格納し得る。各種の情報とは、例えば、後述する端末識別子、後述する端末数情報、後述する音声データ、後述する送信時刻情報などである。 The storage unit 11 constituting the transmission device 1 can store various types of information. The various information includes, for example, a terminal identifier described later, terminal number information described later, audio data described later, transmission time information described later, and the like.
 端末識別子格納部111には、本音声通信システムを構成する2以上の受信装置2を識別する2以上の端末識別子が格納される。2以上の各端末識別子は、例えば、MACアドレス、IPアドレスなどであるが、何でもよい。本音声通信システムを構成する2以上の受信装置2は、静的でもよいし、既存の受信装置2の離脱や、新たな受信装置2の参加に応じて、動的に変化してよい。後者の場合、既存の受信装置2の離脱や新たな受信装置2の参加に応じて、処理部13が、新たな端末識別子を端末識別子格納部111に追記したり、既存の端末識別子を端末識別子格納部111から削除したりすることで、端末識別子格納部111には、現時点で音声通信システムを構成している2以上の受信装置2を識別する2以上の端末識別子が格納されている。 The terminal identifier storage unit 111 stores two or more terminal identifiers that identify two or more receiving apparatuses 2 constituting the voice communication system. Each of the two or more terminal identifiers is, for example, a MAC address or an IP address, but may be anything. The two or more receiving apparatuses 2 constituting the voice communication system may be static or may change dynamically according to the detachment of the existing receiving apparatus 2 or the participation of a new receiving apparatus 2. In the latter case, the processing unit 13 adds a new terminal identifier to the terminal identifier storage unit 111 according to the separation of the existing receiving device 2 or the participation of a new receiving device 2, or the existing terminal identifier is added to the terminal identifier. By deleting from the storage unit 111 or the like, the terminal identifier storage unit 111 stores two or more terminal identifiers that identify the two or more receiving devices 2 that currently constitute the voice communication system.
 端末数情報格納部112には、端末数情報が格納される。端末数情報とは、本音声通信システムを構成する受信装置2の数(以下、“端末数”と記す場合がある)を示す情報である。後述する端末数情報取得部131が、端末識別子格納部111に格納されている端末識別子の数を用いて、現在の端末数を取得し、端末数情報の更新を行う結果、端末数情報格納部112には、現在の端末数を示す端末数情報が格納されている。 The terminal number information storage unit 112 stores terminal number information. The number-of-terminals information is information indicating the number of receiving apparatuses 2 constituting the voice communication system (hereinafter, sometimes referred to as “number of terminals”). The terminal number information acquisition unit 131 described later acquires the current number of terminals using the number of terminal identifiers stored in the terminal identifier storage unit 111 and updates the terminal number information. As a result, the terminal number information storage unit 112 stores terminal number information indicating the current number of terminals.
 音声データ格納部113には、音声データが、少なくとも一時的に格納される。音声データとは、アナログの音声をデジタル変換して得られる音声データであり、2以上の各受信装置2に送信される音声データである。通常、音声データは、1または2以上のパケットで構成され、音声データ格納部113には、パケットを識別するパケット識別子と対に、1以上のパケットが格納される。パケット識別子は、例えば、識別番号、タイムスタンプなど、何でもよい。以下では、パケット識別子の例として、識別番号“1”,“2”,…,“k”,…を用い、音声データを構成する一のパケットを“パケットk”などのように記す場合がある。ただし、音声データのデータ構造は問わない。 The audio data storage unit 113 stores audio data at least temporarily. The audio data is audio data obtained by digitally converting analog audio, and is audio data transmitted to each of the two or more receiving devices 2. Usually, the audio data is composed of one or more packets, and the audio data storage unit 113 stores one or more packets in pairs with a packet identifier for identifying the packet. The packet identifier may be anything such as an identification number or a time stamp. In the following, identification numbers “1”, “2”,..., “K”,... Are used as examples of packet identifiers, and one packet constituting audio data may be described as “packet k” or the like. . However, the data structure of audio data does not matter.
 送信時刻情報格納部114は、送信時刻情報が格納される。送信時刻情報とは、音声データを構成する1以上の各パケットの送信時刻を示す情報である。送信時刻情報は、例えば、パケット識別子と送信時刻との対の集合である。ただし、送信時刻情報のデータ構造は問わない。また、送信時刻情報は必須でなく、送信時刻情報格納部114は省略されてもよい。 The transmission time information storage unit 114 stores transmission time information. The transmission time information is information indicating the transmission time of one or more packets constituting the audio data. The transmission time information is, for example, a set of pairs of packet identifiers and transmission times. However, the data structure of transmission time information does not matter. Further, the transmission time information is not essential, and the transmission time information storage unit 114 may be omitted.
 受付部12は、各種の情報を受け付ける。各種の情報とは、例えば、前述した端末識別子、前述した音声データ、前述した送信時刻情報などである。受け付けとは、例えば、キーボードやマウスやマイクロフォンなどの入力デバイスを介して入力された情報の受け付け、ネットワークや通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。 The reception unit 12 receives various types of information. The various information includes, for example, the above-described terminal identifier, the above-described audio data, the above-described transmission time information, and the like. Acceptance means, for example, acceptance of information input via an input device such as a keyboard, mouse, microphone, etc., reception of information transmitted via a network or communication line, recording medium such as an optical disk, magnetic disk, or semiconductor memory This is a concept including reception of information read out from.
 音声データ受付部121は、音声データを受け付ける。音声データ受付部121は、通常、アナログの音声を受け付け、受け付けた音声をデジタル変換する。ただし、音声データ受付部121は、例えば、デジタル録音機などの外部装置から出力される音声データを受け付けてもよく、音声データをどこからどのように受け付けるかは問わない。音声データ受付部121は、受け付けた音声データを、通常、音声データ格納部113に蓄積する。ただし、音声データは、例えば、クラウドサーバなどの外部装置が有する格納部に蓄積されてもよく、その蓄積先は問わない。 The voice data receiving unit 121 receives voice data. The audio data receiving unit 121 normally receives analog audio and digitally converts the received audio. However, the audio data receiving unit 121 may receive audio data output from an external device such as a digital recorder, for example, and it does not matter where and how audio data is received. The audio data reception unit 121 normally stores the received audio data in the audio data storage unit 113. However, the audio data may be accumulated in a storage unit included in an external device such as a cloud server, for example, and the accumulation destination is not limited.
 音声受付手段1211は、通常、マイクロフォン等の音声入力デバイスを介して、アナログの音声を受け付ける。ただし、音声受付手段1211は、例えば、アナログ録音機等の外部装置から出力される音声信号を受け付けてもよく、アナログの音声をどこからどのように受け付けるかは問わない。 The voice receiving means 1211 normally receives analog voice via a voice input device such as a microphone. However, the voice receiving unit 1211 may receive a voice signal output from an external device such as an analog recorder, for example, and it does not matter where and how analog voice is received.
 AD変換手段1212は、音声受付手段1211が受け付けたアナログの音声をデジタル変換し、音声データを取得する。デジタル変換とは、アナログの音声を、AD変換回路が有する発振素子等から出力されるクロックに従う周期でサンプリングすることにより、デジタルの音声データに変換する処理である。AD変換回路が有する発振素子は、例えば、水晶発振素子、セラミックレゾネータなどであるが、その種類は問わない。 The AD conversion means 1212 digitally converts the analog voice received by the voice receiving means 1211 and acquires voice data. Digital conversion is a process of converting analog sound into digital sound data by sampling the sound in a cycle according to a clock output from an oscillation element or the like included in the AD conversion circuit. The oscillation element included in the AD conversion circuit is, for example, a crystal oscillation element, a ceramic resonator, or the like, but the type is not limited.
 処理部13は、各種の処理を実行する。各種の処理とは、例えば、端末数情報を取得したり、パケットを送信する方式を決定したり、後述するチェックサムパケットを生成したりする処理である。また、処理部13は、受け付けられた音声データのパケットを音声データ格納部113に一時蓄積する。また、処理部13は、送信から予め決められた時間が経過したパケット(例えば、再送要求に対象とならないパケット)を音声データ格納部113から削除しても良い。また、処理部13は、音声データ格納部113に格納された音声データを構成する各パケットの送信時刻を取得し、送信時刻情報を送信時刻情報格納部114に蓄積する処理なども行う。なお、送信時刻情報については後述する。また、処理部13は、例えば、送信時刻を図示しない時計から取得する。ただし、処理部13が送信時刻を取得する方法は問わない。 The processing unit 13 executes various processes. For example, the various types of processing are processing for acquiring terminal number information, determining a method for transmitting a packet, and generating a checksum packet to be described later. Further, the processing unit 13 temporarily stores the received audio data packet in the audio data storage unit 113. Further, the processing unit 13 may delete a packet (for example, a packet that is not subject to a retransmission request) for which a predetermined time has elapsed from the transmission from the audio data storage unit 113. Further, the processing unit 13 acquires the transmission time of each packet constituting the audio data stored in the audio data storage unit 113, and performs processing of accumulating the transmission time information in the transmission time information storage unit 114. The transmission time information will be described later. Further, the processing unit 13 acquires the transmission time from a clock (not shown), for example. However, it does not matter how the processing unit 13 acquires the transmission time.
 端末数情報取得部131は、パケットを受信する受信装置2の数に関する端末数情報を取得する。パケットを受信する受信装置2の数とは、通常、本音声通信システムを構成する受信装置2の数(前述した端末数)である。この場合、端末数情報取得部131は、端末識別子格納部111に格納されている2以上の端末識別子を用いて、端末数を示す端末数情報を取得する。 The terminal number information acquisition unit 131 acquires terminal number information regarding the number of receiving apparatuses 2 that receive packets. The number of receiving apparatuses 2 that receive a packet is normally the number of receiving apparatuses 2 (the number of terminals described above) constituting the voice communication system. In this case, the terminal number information acquisition unit 131 uses the two or more terminal identifiers stored in the terminal identifier storage unit 111 to acquire terminal number information indicating the number of terminals.
 ただし、本音声通信システムを構成する2以上の受信装置2の中に、現時点でパケットの受信を、一定期間以上、または一定期間よりも長い期間、継続して休止している受信装置2が含まれている場合に、端末数情報取得部131は、上記端末数から、かかる受信装置2の数(休止端末数)を減算した数(実働端末数)を示す端末数情報を取得してもよい。例えば、処理部13が、端末識別子格納部111に格納されている2以上の端末識別子のうち、休止端末であると判断される端末に対応する端末識別子に、フラグを付加する一方、端末数情報取得部131は、端末識別子格納部111に格納されている2以上の端末識別子の数を計数し、そのうちフラグの付加された端末識別子の数を計数し、前者の計数で得られた端末数から、後者の計数で得られた休止端末数を減算することにより、実働端末数を示す端末数情報を取得することができる。なお、実働端末数を示す端末数情報は、フラグの付加されていない端末識別子の数を計数することによっても、取得可能である。 However, among the two or more receiving apparatuses 2 constituting the voice communication system, the receiving apparatus 2 that continuously stops receiving packets for a certain period of time or longer than a certain period is included. The terminal number information acquisition unit 131 may acquire terminal number information indicating a number (actual terminal number) obtained by subtracting the number of receiving devices 2 (the number of dormant terminals) from the number of terminals. . For example, while the processing unit 13 adds a flag to a terminal identifier corresponding to a terminal determined to be a dormant terminal among two or more terminal identifiers stored in the terminal identifier storage unit 111, the terminal number information The acquisition unit 131 counts the number of two or more terminal identifiers stored in the terminal identifier storage unit 111, counts the number of terminal identifiers to which a flag is added, and calculates the number of terminals obtained from the former count. By subtracting the number of dormant terminals obtained by the latter counting, terminal number information indicating the number of active terminals can be acquired. Note that the number-of-terminals information indicating the number of working terminals can also be obtained by counting the number of terminal identifiers to which no flag is added.
 方式決定部132は、端末数情報取得部131が取得した端末数情報に応じて、パケットを送信する方式として、マルチキャストを採用するか、ユニキャストを採用するかを決定する。マルチキャストとは、アプリケーション識別子を指定して、1対多で行われるデータ通信をいう。ユニキャストとは、単一の端末識別子を指定して、1対1で行われるデータ通信をいう。一般に、マルチキャストは、ネットワークへの負荷が軽い半面、パケットロスが生じ易い等の理由で信頼性は低く、ユニキャストは、パケットロスが生じ難い等の理由で信頼性が高い半面、ネットワークへの負荷は重い、といった特徴を有する。そこで、方式決定部132は、例えば、端末数情報の示す端末数が、閾値以上または閾値より多い場合はマルチキャストを採用し、閾値以下または閾値より少ない場合はユニキャストを採用してもよい。 The method determination unit 132 determines whether to adopt multicast or unicast as a method of transmitting a packet, according to the terminal number information acquired by the terminal number information acquisition unit 131. Multicast refers to data communication performed in a one-to-many manner by specifying an application identifier. Unicast refers to data communication performed on a one-to-one basis by designating a single terminal identifier. In general, multicast is less reliable for reasons such as light load on the network and packet loss is likely to occur, while unicast is more reliable for reasons such as packet loss is less likely to occur and load on the network. Is heavy. Therefore, for example, the method determining unit 132 may employ multicast when the number of terminals indicated by the terminal number information is greater than or equal to the threshold or greater than the threshold, and may employ unicast when less than or less than the threshold.
 ただし、方式決定部132は、端末数情報取得部131が取得した端末数情報に応じて、パケットを送信する方式として、ブロードキャストを採用するか、ユニキャストを採用するかを決定しても構わない。ブロードキャストとは、端末識別子を指定せず、1対不特定多数で行われるデータ通信をいう。ブロードキャストは、マルチキャストと同様、ネットワークへの負荷が軽い半面、信頼性は低い特徴を有する。この場合、方式決定部132は、例えば、端末数情報の示す端末数が、閾値以上または閾値より多い場合はブロードキャストを採用し、閾値以下または閾値より少ない場合はユニキャストを採用すればよい。
 なお、LANやFi-Fi(登録商標)ネットワークといった一のネットワーク内においては、マルチキャストとブロードキャストとの間で、例えば、パケットロスの発生率、音声通信の効率等に違いはないため、両者を同じ特性の方式として取り扱うことができる。そこで、例えば、ユニキャストを“一対一通信”マルチキャストおよびブロードキャストを“一対多通信”などと総称してもよい。
However, the method determination unit 132 may determine whether to adopt broadcast or unicast as a method for transmitting a packet, according to the terminal number information acquired by the terminal number information acquisition unit 131. . Broadcast refers to data communication that is performed in a one-to-one unspecified number without specifying a terminal identifier. Broadcast, like multicast, has a light load on the network, but has low reliability. In this case, for example, the method determining unit 132 may employ broadcast when the number of terminals indicated by the terminal number information is greater than or equal to the threshold or greater than the threshold, and may employ unicast when less than or less than the threshold.
Note that, within a single network such as a LAN or Fi-Fi (registered trademark) network, for example, there is no difference in the rate of occurrence of packet loss, the efficiency of voice communication, etc. between multicast and broadcast. It can be handled as a method of characteristics. Therefore, for example, unicast may be collectively referred to as “one-to-one communication” multicast and broadcast may be referred to as “one-to-many communication”.
 チェックサムパケット生成部133は、受信装置2が受信できなかったパケットを構成するためのチェックサムパケットを、パケット送信部151が送信する2以上のパケットを用いて生成する。チェックサムパケット生成部133は、例えば、音声データを構成する2以上のパケットに対応する2以上のチェックサムパケットを生成してもよい。その場合、音声データを構成する一のパケット(以下、単に“パケット”と記す場合がある)と、これに対応するチェックサムパケットとは、例えば、前者が、共通の識別番号“k”と、パケットであることを示す識別子(例えば“m”)との組で識別され、後者が、共通の識別番号“k”と、チェックサムパケットであることを示す識別子(例えば“r”)との組で識別されてもよい。ただし、チェックサムパケットのデータ構造は問わない。 The checksum packet generation unit 133 generates a checksum packet for configuring a packet that could not be received by the reception device 2 using two or more packets transmitted by the packet transmission unit 151. For example, the checksum packet generation unit 133 may generate two or more checksum packets corresponding to two or more packets constituting the audio data. In this case, for example, one packet (hereinafter sometimes simply referred to as “packet”) constituting the audio data and a checksum packet corresponding thereto are, for example, a common identification number “k”, A pair of an identifier (for example, “m”) indicating that it is a packet, and the latter is a combination of a common identification number “k” and an identifier (for example, “r”) indicating that it is a checksum packet May be identified. However, the data structure of the checksum packet does not matter.
 例えば、パケット送信部151が送信する2以上のパケットのパケット識別子を“m001”,“m002”,…,“m091”,“m092”,…,“m100”,“m101”,…とし、一のチェックサムパケットの生成に用いるパケットの数を10個とすると、チェックサムパケット生成部133は、あるパケット“m100”に対応するチェックサムパケット“r100”を、当該パケットを含む過去の10個のパケット“m091”,“m092”,…,“m100”を用いて生成してもよい。次のパケット“m101”に対応するチェックサムパケット“r101”も同様に、当該パケットを含む過去の10個のパケット“m092”,“m093”,…,“m101”を用いて生成されてよい。なお、この場合、チェックサムパケット“r001”は、パケット“m001”を用いて生成され、チェックサムパケット“r002”は、2個のパケット“m001”および“m002”を用いて生成され、…、チェックサムパケット“r009”は、9個のパケット“m001”~“m009”を用いて生成されてよい。ただし、一のチェックサムパケットの生成に用いるパケットの数は何個でもよく、チェックサムパケットの生成方法は問わない。 For example, the packet identifiers of two or more packets transmitted by the packet transmission unit 151 are “m001”, “m002”,..., “M091”, “m092”, ..., “m100”, “m101”,. Assuming that the number of packets used for generating the checksum packet is 10, the checksum packet generation unit 133 converts the checksum packet “r100” corresponding to a certain packet “m100” into the past 10 packets including the packet. It may be generated using “m091”, “m092”,..., “M100”. Similarly, the checksum packet “r101” corresponding to the next packet “m101” may be generated using the past ten packets “m092”, “m093”,..., “M101” including the packet. In this case, the checksum packet “r001” is generated using the packet “m001”, the checksum packet “r002” is generated using the two packets “m001” and “m002”,... The checksum packet “r009” may be generated using nine packets “m001” to “m009”. However, any number of packets may be used for generating one checksum packet, and the method for generating the checksum packet is not limited.
 受信部14は、各種の情報を受信する。各種の情報とは、例えば、再送要求などである。 The receiving unit 14 receives various types of information. The various information is, for example, a retransmission request.
 再送要求受信部141は、受信装置2からの再送要求を受信する。再送要求とは、パケットの再送を要求する命令である。再送要求は、パケット識別子を有する。 The retransmission request receiving unit 141 receives a retransmission request from the receiving device 2. A retransmission request is an instruction for requesting retransmission of a packet. The retransmission request has a packet identifier.
 送信部15は、各種の情報を送信する。各種の情報とは、例えば、パケット、チェックサムパケットなどである。 The transmission unit 15 transmits various information. The various information includes, for example, a packet and a checksum packet.
 パケット送信部151は、音声データ受付部121が受け付けた音声データを構成する2以上のパケットを順次送信する。パケット送信部151は、通常、パケット識別子を含むパケットを送信する。また、パケット送信部151は、パケット識別子に対応付いたパケットを送信しても良い。パケット送信部151は、2以上の各パケットを、端末識別子格納部111に格納されている2以上の端末識別子で識別される2以上の受信装置に、通常、マルチキャストで送信する。ただし、パケットの送信は、ブロードキャストで行われてもよいし、ユニキャストで行われても構わない。望ましくは、パケット送信部151は、パケットを、マルチキャストまたはブロードキャストと、ユニキャストとのうち、方式決定部132が決定した方式に基づいて送信する。 The packet transmission unit 151 sequentially transmits two or more packets constituting the audio data received by the audio data reception unit 121. The packet transmitter 151 normally transmits a packet including a packet identifier. Further, the packet transmission unit 151 may transmit a packet associated with the packet identifier. The packet transmission unit 151 normally transmits two or more packets to two or more receiving devices identified by the two or more terminal identifiers stored in the terminal identifier storage unit 111 by multicast. However, packet transmission may be performed by broadcast or unicast. Desirably, the packet transmission unit 151 transmits a packet based on a method determined by the method determination unit 132 among multicast or broadcast and unicast.
 パケット送信部151は、さらに、チェックサムパケット生成部133が生成したチェックサムパケットをも送信してよい。パケット送信部151は、通常、チェックサムパケットを含む3以上のパケットを送信する。パケット送信部151は、例えば、パケットとチェックサムパケットとを交互送信してもよい。その場合、パケット送信部151は、チェックサムパケットを、対応するパケットの直後に送信してもよいし、対応するパケットよりも、一定数、遅延させて送信してもよい。つまり、パケット送信部151は、上で例示したパケット“m091”,“m092”,…,“m100”,“m101”,…およびチェックサムパケット“r091”,“r092”,…,“r100”,“r101”,…を、遅延なしで、例えば、“m091”,“r091”,“m092”,“r092”,…のように送信してもよいし、対応するパケットよりも、例えば5パケット、遅延させて、“m096”,“r091”,“m097”,“r092”,…のように送信してもよい。こうして、パケットに対するチェックサムパケットの送信タイミングを、2パケット以上、遅らせることで、複数パケットが連続的に消失した場合でも復元できる可能性が高まる。 The packet transmission unit 151 may also transmit the checksum packet generated by the checksum packet generation unit 133. The packet transmission unit 151 normally transmits three or more packets including a checksum packet. For example, the packet transmission unit 151 may alternately transmit a packet and a checksum packet. In that case, the packet transmission unit 151 may transmit the checksum packet immediately after the corresponding packet, or may transmit the checksum packet with a certain number of delays from the corresponding packet. That is, the packet transmitter 151 transmits the packets “m091”, “m092”,..., “M100”, “m101”,... And checksum packets “r091”, “r092”,. “R101”,... May be transmitted without delay, for example, “m091”, “r091”, “m092”, “r092”,... Delayed transmission may be performed such as “m096”, “r091”, “m097”, “r092”,. Thus, by delaying the transmission timing of the checksum packet with respect to the packet by two or more packets, there is an increased possibility that it can be restored even when a plurality of packets are continuously lost.
 パケット再送部152は、再送要求受信部141が受信した再送要求が有するパケット識別子に対応するパケットを、当該再送要求を送信した受信装置2に、ユニキャストで送信する。再送要求は、通常、当該再送要求を送信した受信装置2を識別する端末識別子を有しているか、または、かかる端末識別子と対に送信されるため、パケット再送部152は、パケットを、当該端末識別子で識別される受信装置2に再送する。なお、パケット再送部152は、通常、音声データ格納部113に一時格納されているパケットであり、再送要求が有するパケット識別子に対応するパケットを取得し、当該パケットを受信装置2に再送する。 The packet retransmission unit 152 transmits a packet corresponding to the packet identifier included in the retransmission request received by the retransmission request reception unit 141 to the reception apparatus 2 that has transmitted the retransmission request by unicast. Since the retransmission request usually has a terminal identifier that identifies the receiving device 2 that has transmitted the retransmission request, or is transmitted in pairs with the terminal identifier, the packet retransmission unit 152 transmits the packet to the terminal. Retransmit to the receiving device 2 identified by the identifier. Note that the packet retransmission unit 152 is a packet that is normally temporarily stored in the audio data storage unit 113, acquires a packet corresponding to the packet identifier included in the retransmission request, and retransmits the packet to the receiving device 2.
 出力部16は、各種の情報を出力し得る。出力とは、ディスプレイへの表示、プリンタでの印字、スピーカーからの音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。各種の情報とは、例えば、前述した端末数情報などである。ただし、送信装置1において、情報の出力は必須ではなく、出力部16は省略可能である。 The output unit 16 can output various types of information. Output includes display on a display, printing on a printer, sound output from a speaker, transmission to an external device, storage in a recording medium, delivery of processing results to other processing devices or other programs, etc. It is a concept that includes. The various information is, for example, the terminal number information described above. However, in the transmission apparatus 1, the output of information is not essential, and the output unit 16 can be omitted.
 受信装置2を構成する端末格納部21は、各種の情報を格納し得る。各種の情報とは、例えば、前述したパケット、後述する期限情報、後述する出力時刻情報、後述する消失リストなどである。 The terminal storage unit 21 constituting the receiving device 2 can store various types of information. The various types of information include, for example, the aforementioned packet, deadline information described later, output time information described later, and a loss list described later.
 パケット格納部211には、パケット受信部241が受信したパケットが、当該パケットを識別するパケット識別子と対に格納される。パケットがパケット識別子と対に格納されることは、パケット識別子を有するパケットが格納されることでも良い。パケット格納部211には、通常、一時的にパケットが格納される。なお、パケット格納部211は、例えば、キューである。 In the packet storage unit 211, a packet received by the packet receiving unit 241 is stored in a pair with a packet identifier for identifying the packet. The packet stored in a pair with the packet identifier may be stored as a packet having the packet identifier. The packet storage unit 211 normally stores a packet temporarily. Note that the packet storage unit 211 is, for example, a queue.
 期限情報格納部212には、第一の期限から第Nの期限までのN個(Nは2以上の自然数:以下同様)の期限に対応するN個の期限情報が格納される。期限情報とは、通常、パケット受信部241がパケットを受信する期限を示す情報である。
ただし、期限情報は、パケット受信部241が受信したパケットをパケット格納部211に蓄積する期限を示す情報であってもよい。期限とは、通常、特定の時刻に対する相対的な期限である。特定の時刻に対する相対的な期限とは、例えば、当該パケットを出力する時刻tよりも時間T前の時刻“t-T”であってもよい。ただし、期限は、絶対的な期限、例えば○時○分○秒○○といった時刻であってもよく、期限の表現形式は問わない。
The term information storage unit 212 stores N pieces of term information corresponding to N terms (N is a natural number of 2 or more: the same applies hereinafter) from the first term to the Nth term. The term information is usually information indicating the term in which the packet receiving unit 241 receives a packet.
However, the time limit information may be information indicating a time limit for accumulating the packet received by the packet receiving unit 241 in the packet storage unit 211. A deadline is usually a relative deadline for a specific time. The relative time limit for the specific time may be, for example, a time “t−T” that is a time T before the time t at which the packet is output. However, the time limit may be an absolute time limit, for example, a time such as ○ hour, minute, second, and the time limit expression format is not limited.
 第一の期限とは、例えば、次に出力するパケットをパケット受信部241が受信する期限を示す情報である。ただし、第一の期限とは、例えば、次に出力するパケットをパケット受信部241がパケット格納部211に蓄積する期限を示す情報であってもよく、その表現形式は問わない。なお、次に出力すべきパケットは、通常、直前に出力したパケットのパケット識別子の次のパケット識別子に対応するパケットである。 The first time limit is, for example, information indicating a time limit for the packet receiving unit 241 to receive a packet to be output next. However, the first time limit may be, for example, information indicating a time limit for the packet reception unit 241 to accumulate the next output packet in the packet storage unit 211, and the expression format is not limited. The packet to be output next is usually a packet corresponding to the packet identifier next to the packet identifier of the packet output immediately before.
 第二の期限とは、例えば、次に出力するパケットを第一の期限までにパケット受信部241が受信しない場合に、再送要求送信部251が当該パケットを識別するパケット識別子を有する1回目の再送要求を送信するのに応じて、当該パケットをパケット受信部241が受信する期限を示す情報である。第二の期限は、例えば、1回目の再送要求を送信してから、当該再送要求に対応するパケットの受信を待つまでの期限を示す情報である。ただし、第二の期限は、例えば、次に出力するパケットを第一の期限までにパケット受信部241がパケット格納部211に蓄積しない場合に、再送要求送信部251が当該パケットを識別するパケット識別子を有する1回目の再送要求を送信するのに応じて、当該パケットをパケット受信部241がパケット格納部211に蓄積する期限を示す情報であってもよい。なお、第一の期限、第二の期限等の表現形式は問わない。 For example, when the packet receiving unit 241 does not receive a packet to be output next before the first time limit, the retransmission request transmitting unit 251 has a packet identifier that identifies the packet. This is information indicating a time limit for the packet receiving unit 241 to receive the packet in response to transmitting the request. The second deadline is information indicating a deadline from when the first retransmission request is transmitted until the reception of a packet corresponding to the retransmission request is waited. However, the second deadline is, for example, a packet identifier that allows the retransmission request transmission unit 251 to identify the packet when the packet reception unit 241 does not accumulate the packet to be output next in the packet storage unit 211 by the first deadline. May be information indicating a time limit for the packet receiving unit 241 to store the packet in the packet storage unit 211 in response to transmitting the first retransmission request having the In addition, expression formats, such as a 1st time limit and a 2nd time limit, are not ask | required.
 第Nの期限とは、通常、N-1回目の再送要求の送信後に、N回目の再送要求を送信するまでの期間に関する情報である。第Nの期限は、例えば、N回目の再送要求を送信するのに応じて、当該パケットをパケット受信部241が受信する期限を示す情報である。ただし、第Nの期限は、例えば、N-1回目の再送要求に応じて、当該パケットを第N-1の期限までにパケット受信部241がパケット格納部211に蓄積しない場合に、N回目の再送要求を送信するのに応じて、当該パケットをパケット受信部241がパケット格納部211に蓄積する期限を示す情報であってもよい。 The Nth time limit is usually information related to a period from when the N-1th retransmission request is transmitted until the Nth retransmission request is transmitted. The Nth time limit is information indicating a time limit for receiving the packet by the packet receiving unit 241 in response to transmitting the Nth retransmission request, for example. However, the Nth deadline is, for example, in response to the N−1th retransmission request, when the packet receiving unit 241 does not accumulate the packet in the packet storage unit 211 by the N−1th deadline. It may be information indicating a time limit for the packet reception unit 241 to accumulate the packet in the packet storage unit 211 in response to transmitting a retransmission request.
 N個の期限情報は、例えば、第一の期限{t(k)-T(1)}を示す第一期限情報、第二の期限{t(k)-T(2)}を示す第二期限情報、…、および第Nの期限{t(k)-T(N)}を示す第N期限情報であってもよい。ただし、N個の各期限情報のデータ構造は問わない。また、第一の期限は、第二の期限や第Nの期限等と同じでも良い。かかる場合、期限情報格納部212には、第一の期限のみ格納されていても良い。 The N pieces of deadline information are, for example, first deadline information indicating a first deadline {t (k) -T (1)}, and second deadline indicating a second deadline {t (k) -T (2)}. The Nth deadline information indicating the deadline information,..., And the Nth deadline {t (k) −T (N)} may be used. However, the data structure of each N pieces of time limit information does not matter. The first time limit may be the same as the second time limit, the Nth time limit, or the like. In such a case, only the first time limit may be stored in the time limit information storage unit 212.
 出力時刻情報格納部213は、出力時刻情報が格納される。出力時刻情報とは、音声出力部261がパケットを出力する時刻を示す情報である。出力時刻情報は、例えば、パケット識別子(1,2,…,k,…)と出力時刻(t(1),t(2),…,t(k),…)との対の集合で構成される。出力時刻t(k)は、例えば、パケットkが出力される期限であり、音声出力部261がタイムアウトか否かを判断する際に用いる閾値であってもよい。ただし、出力時刻情報のデータ構造は問わない。 The output time information storage unit 213 stores output time information. The output time information is information indicating the time when the audio output unit 261 outputs a packet. The output time information is composed of a set of pairs of packet identifiers (1, 2,..., K,...) And output times (t (1), t (2),..., T (k),...), For example. Is done. The output time t (k) is, for example, a time limit for outputting the packet k, and may be a threshold used when the audio output unit 261 determines whether or not a timeout has occurred. However, the data structure of the output time information does not matter.
 消失リスト格納部214には、消失リストが格納される。消失リストとは、消失したパケットのパケット識別子を、当該パケット識別子を有する再送要求が送信された回数と対に登録するためのリストである。消失したパケットとは、期限情報が示す期限までにパケット受信部241によって受信されなかったパケットである。消失リストは、例えば、パケット識別子と再送要求が送信された回数との組を1組以上有する情報である。なお、消失リストは管理されなくても良い。かかる場合、例えば、出力されたパケットの次のパケットが、前のパケットの出力から予め決められた時間以上、受信されなかった場合、次のパケットを取得する処理に移行していく。 The disappearance list storage unit 214 stores the disappearance list. The erasure list is a list for registering packet identifiers of lost packets in pairs with the number of times a retransmission request having the packet identifier is transmitted. The lost packet is a packet that has not been received by the packet receiving unit 241 by the time limit indicated by the time limit information. The erasure list is information having at least one set of a packet identifier and the number of times a retransmission request is transmitted, for example. The disappearance list may not be managed. In such a case, for example, when the next packet after the output packet has not been received for a predetermined time or longer from the output of the previous packet, the process proceeds to a process of acquiring the next packet.
 端末受付部22は、各種の情報を受け付ける。各種の情報とは、例えば、前述した期限情報などである。ただし、期限情報等は、例えば、受信部14によって受信されてもよく、端末受付部22は省略可能である。 The terminal reception unit 22 receives various types of information. The various information is, for example, the time limit information described above. However, the time limit information or the like may be received by the receiving unit 14, for example, and the terminal receiving unit 22 may be omitted.
 端末処理部23は、各種の処理を実行する。各種の処理とは、例えば、パケット取得部231、判断部232、通信関連情報取得部233、通信パラメータ変更部234、パケット生成部235、第一速度情報取得部236、第二速度情報取得部237、補完処理部238等が行う処理である。また、端末処理部23は、パケット格納部211に格納された2以上の各パケットの出力時刻を決定し、出力時刻情報を出力時刻情報格納部213に蓄積する処理なども行う。なお、出力時刻情報については後述する。 The terminal processing unit 23 executes various processes. The various processes include, for example, the packet acquisition unit 231, the determination unit 232, the communication related information acquisition unit 233, the communication parameter change unit 234, the packet generation unit 235, the first speed information acquisition unit 236, and the second speed information acquisition unit 237. , Processing performed by the complement processing unit 238 and the like. Also, the terminal processing unit 23 determines the output time of each of two or more packets stored in the packet storage unit 211, and performs a process of storing the output time information in the output time information storage unit 213. The output time information will be described later.
 パケット取得部231は、パケット格納部211に格納されているパケットであり、パケットに対応するパケット識別子を用いて、次に出力するパケットを取得する。パケット取得部231は、例えば、直前に出力されたパケットのパケット識別子の次の識別子(パケット識別子が数値の場合は、直前のパケットのパケット識別子に1を加えた数)に対応するパケットをパケット格納部211から探索し、取得する。パケット取得部231は、例えば、出力時刻情報格納部213に格納されている出力時刻情報と、現在時刻とを用いて、パケット格納部211に格納されている2以上のパケットのうち、次に出力するパケットを特定してもよい。なお、現在時刻は、例えば、MPUの内蔵時計や、NPTサーバ等の外部装置から取得可能である。また、パケット取得部231が次のパケットをパケット格納部211から探索するアルゴリズムは問わない。 The packet acquisition unit 231 is a packet stored in the packet storage unit 211, and acquires a packet to be output next using a packet identifier corresponding to the packet. The packet acquisition unit 231 stores, for example, a packet corresponding to the identifier next to the packet identifier of the packet output immediately before (if the packet identifier is a numerical value, the number obtained by adding 1 to the packet identifier of the immediately preceding packet). It searches from the part 211 and acquires. For example, the packet acquisition unit 231 uses the output time information stored in the output time information storage unit 213 and the current time to output the next one of the two or more packets stored in the packet storage unit 211. The packet to be performed may be specified. The current time can be acquired from an external device such as an MPU built-in clock or an NPT server, for example. Moreover, the algorithm which the packet acquisition part 231 searches for the next packet from the packet storage part 211 is not ask | required.
 判断部232は、通常、パケット受信部241が第一の期限までに次に出力するパケットを受信したか否かを、当該パケットに対応するパケット識別子を用いて判断する。パケット受信部241が第一の期限までに次に出力するパケットを受信したか否かの判断は、パケット取得部231が第一の期限までに次に出力するパケットを取得したか否かの判断と同意義であると考えても良い。パケット受信部241が第一の期限までに次に出力するパケットを受信したか否かの判断は、音声出力部261が第一の期限までに次に出力するパケットを出力したか否かの判断と同意義であると考えても良い。判断部232は、パケット受信部241が第Nの期限までに次に出力するパケットを受信したか否かをも判断しても良い。判断部232は、パケット受信部241が第一の期限~第Nの期限までに次に出力するパケットをパケット格納部211に蓄積したか否かを、当該パケットに対応するパケット識別子を用いて判断してもよい。 The determining unit 232 normally determines whether or not the packet receiving unit 241 has received the next packet to be output by the first time limit, using the packet identifier corresponding to the packet. The determination as to whether or not the packet receiving unit 241 has received the next packet to be output by the first time limit is the determination of whether or not the packet acquisition unit 231 has acquired the next output packet by the first time limit. You may think that it is equivalent. Whether the packet receiving unit 241 has received the next packet to be output by the first time limit is determined by whether the audio output unit 261 has output the next output packet by the first time limit. You may think that it is equivalent. The determination unit 232 may also determine whether the packet reception unit 241 has received the next packet to be output before the Nth time limit. The determination unit 232 determines whether or not the packet receiving unit 241 has accumulated the next output packet in the packet storage unit 211 from the first time limit to the Nth time limit, using the packet identifier corresponding to the packet. May be.
 通信関連情報取得部233は、通信関連情報を取得する。通信関連情報とは、送信装置1と受信装置2との間の通信に関する情報である。通信関連情報は、例えば、パケットを受信する受信装置2の数である端末数、またはパケット受信部241が次に出力するパケットを受信できないことに関するエラー率情報、またはパケット受信部241が次に出力するパケットを受信できたこと関する正常率情報、のうちのいずれかの情報を含んでいてもよい。 The communication related information acquisition unit 233 acquires communication related information. The communication related information is information related to communication between the transmission device 1 and the reception device 2. The communication-related information is, for example, the number of terminals that is the number of receiving apparatuses 2 that receive packets, error rate information regarding that the packet receiving unit 241 cannot receive the next packet to be output, or the packet receiving unit 241 outputs next May include any information of normal rate information regarding the fact that the received packet could be received.
 通信関連情報取得部233は、例えば、送信装置1から、端末数情報取得部131が取得した端末数情報を受信することで、端末数を取得することができる。 The communication related information acquisition unit 233 can acquire the number of terminals by receiving, for example, the terminal number information acquired by the terminal number information acquisition unit 131 from the transmission device 1.
 また、通信関連情報取得部233は、エラー率情報または正常率情報を、例えば、パケット格納部211に格納されているパケットの数(または、かかるパケットと対になるパケット識別子の数)と、消失リスト格納部214に格納された消失リストに登録されているパケット識別子の数とを用いて、取得してもよい。例えば、パケット格納部211に格納されているパケット数が1000個で、消失リストに10個のパケット識別子が登録されている場合、エラー率は10/1000(=1%)、正常率は990/1000(=99%)のように計算される。ただし、通信関連情報の内容、取得先、取得方法等は問わない。 In addition, the communication related information acquisition unit 233 displays the error rate information or the normal rate information, for example, the number of packets stored in the packet storage unit 211 (or the number of packet identifiers paired with the packet) and the loss. It may be acquired using the number of packet identifiers registered in the loss list stored in the list storage unit 214. For example, when the number of packets stored in the packet storage unit 211 is 1000 and 10 packet identifiers are registered in the loss list, the error rate is 10/1000 (= 1%), and the normal rate is 990 / It is calculated as 1000 (= 99%). However, the content of communication-related information, the acquisition destination, the acquisition method, etc. are not limited.
 通信パラメータ変更部234は、1または2以上の通信パラメータを、通信関連情報に応じて、変更する。通信パラメータは、例えば、パケット格納部211の容量、再送要求送信部251が再送要求を送信可能な回数N、第一の期限から回数Nに対応する第Nの期限までのN個の期限、のうちの1種類以上の情報である。例えば、通信関連情報が端末数を含む場合、通信パラメータ変更部234は、端末数に応じて、パケット格納部211の容量(パケットをバッファリングできるメモリの容量)を増減したり、回数Nを多く又は少なくしたり、N個の期限を短くまたは長くしたりしてもよい。さらに具体的には、通信パラメータ変更部234は、端末数が閾値より多いまたは閾値以上の場合、トラフィックの増大によるエラー率の上昇または正常率の低下に備えて、パケット格納部211の容量を増加したり、回数Nを多くしたり、N個の期限を短くしたりしても良い。また、通信パラメータ変更部234は、端末数が閾値より少ないまたは閾値以下の場合、トラフィックの減少によるエラー率の低下または正常率の上昇を見越して、パケット格納部211の容量を減少したり、回数Nを少なくしたり、N個の期限を長くしたりしても良い。 The communication parameter changing unit 234 changes one or more communication parameters according to the communication related information. The communication parameters include, for example, the capacity of the packet storage unit 211, the number N of times that the retransmission request transmission unit 251 can transmit a retransmission request, and N time limits from the first time limit to the Nth time limit corresponding to the number N. One or more types of information. For example, when the communication-related information includes the number of terminals, the communication parameter changing unit 234 increases or decreases the capacity of the packet storage unit 211 (capacity of memory capable of buffering packets) according to the number of terminals, or increases the number N of times. Or it may be reduced, or the N deadlines may be shortened or lengthened. More specifically, the communication parameter changing unit 234 increases the capacity of the packet storage unit 211 in preparation for an increase in error rate or a decrease in normal rate due to an increase in traffic when the number of terminals is greater than or equal to the threshold. It is also possible to increase the number of times N or shorten the N deadlines. In addition, when the number of terminals is less than or less than the threshold, the communication parameter change unit 234 decreases the capacity of the packet storage unit 211 in anticipation of a decrease in the error rate or an increase in the normal rate due to a decrease in traffic. N may be reduced or N deadlines may be lengthened.
 また、通信関連情報がエラー率情報または正常率情報を含む場合、通信パラメータ変更部234は、エラー率情報または正常率情報に応じて、パケット格納部211の容量を増減したり、回数Nを多く又は少なくしたり、N個の期限を短くまたは長くしたりしてもよい。さらに具体的には、通信パラメータ変更部234は、エラー率が閾値より多いまたは閾値以上の場合、パケット格納部211の容量を増加したり、回数Nを多くしたり、N個の期限を短くしたりしても良い。また、通信パラメータ変更部234は、エラー率が閾値より少ないまたは閾値以下の場合、パケット格納部211の容量を減少したり、回数Nを少なくしたり、N個の期限を長くしたりしても良い。 When the communication related information includes error rate information or normal rate information, the communication parameter changing unit 234 increases or decreases the capacity of the packet storage unit 211 or increases the number N of times according to the error rate information or normal rate information. Or it may be reduced, or the N deadlines may be shortened or lengthened. More specifically, the communication parameter changing unit 234 increases the capacity of the packet storage unit 211, increases the number of times N, or shortens the N deadlines when the error rate is greater than or equal to the threshold. You may do it. Further, the communication parameter changing unit 234 may reduce the capacity of the packet storage unit 211, decrease the number of times N, or increase the N deadlines when the error rate is less than or less than the threshold. good.
 パケット生成部235は、パケット取得部231が次に出力するパケットを取得できなかった場合、パケット受信部241が受信したパケットであり、チェックサムパケットを含む2以上のパケットを用いて、次に出力するパケットを生成する。例えば、送信装置1から、パケットおよびチェックサムパケットが“m091”,“r091”,“m092”,“r092”,…,“m100”,“r100”,…のように送信され、そのうちパケット“m100”が消失した場合、パケット生成部235は、パケット受信部241が受信した9個のパケット“m091”~“m099”および “r100”を用いて、当該消失したパケット“m100”を生成することができる。なお、“m・・・”は受信装置2で出力されるパケットである。また、“r・・・”はチェックサムパケットである。 When the packet acquisition unit 231 cannot acquire the next packet to be output, the packet generation unit 235 uses the two or more packets including the checksum packet that are received by the packet reception unit 241 to output next. Packet to generate. For example, a packet and a checksum packet are transmitted as “m091”, “r091”, “m092”, “r092”,..., “M100”, “r100”,. "Is lost, the packet generator 235 may generate the lost packet“ m100 ”using the nine packets“ m091 ”to“ m099 ”and“ r100 ”received by the packet receiver 241. it can. “M...” Is a packet output from the receiving device 2. “R...” Is a checksum packet.
 第一速度情報取得部236は、第一速度情報を取得する。第一速度情報とは、パケット受信部241がパケットを受信する速度に関する情報をいう。第一速度情報は、第一の受信レートと言っても良い。第一速度情報は、例えば、1000パケット/秒といった情報である。第一速度情報が示す速度は、送信装置1のクロックに応じた速度である。送信装置1のクロックとは、前述したように、送信装置1のAD変換手段1212が音声をデジタル変換する際に利用するクロックである。 The first speed information acquisition unit 236 acquires first speed information. The first speed information is information related to the speed at which the packet receiving unit 241 receives a packet. The first speed information may be referred to as a first reception rate. The first speed information is information such as 1000 packets / second, for example. The speed indicated by the first speed information is a speed according to the clock of the transmission apparatus 1. As described above, the clock of the transmission apparatus 1 is a clock used when the AD conversion unit 1212 of the transmission apparatus 1 digitally converts sound.
 第二速度情報取得部237は、第二速度情報を取得する。第二速度情報とは、受信装置2の処理速度に関する情報である。受信装置2の処理速度に関する情報とは、例えば、DA変換手段2611がパケットをアナログ変換する速度などである。ただし、第二速度情報は、DA変換手段2611からフィードバックされる情報であり、アナログ変換処理の進行状況(例えば、既定の処理速度に対する遅れ等)を示す情報などであってもよく、その種類は問わない。第二速度情報が示す速度は、第一速度情報が示す速度と一致することが望ましいが、これら2つの速度は、送信装置1と受信装置2との間のクロックの差異(例えば、それぞれの変換回路が有する発振素子の発振周波数の不一致など)に起因して、例えば“1000パケット/秒”対“1000.1パケット/秒”つまり10000:10001などのように、ずれることがある。そして、かかるずれは、一般に、時間の経過に連れて拡大していく。 The second speed information acquisition unit 237 acquires second speed information. The second speed information is information regarding the processing speed of the receiving device 2. The information related to the processing speed of the receiving device 2 is, for example, the speed at which the DA conversion unit 2611 performs analog conversion of the packet. However, the second speed information is information fed back from the DA conversion unit 2611, and may be information indicating the progress status of the analog conversion process (for example, a delay with respect to a predetermined processing speed, etc.). It doesn't matter. The speed indicated by the second speed information is preferably the same as the speed indicated by the first speed information, but the two speeds are different from each other in the clock difference between the transmitting device 1 and the receiving device 2 (for example, the respective conversions). For example, “1000 packets / second” vs. “1000.1 packets / second”, that is, 10000: 1001, etc., may occur due to the oscillation frequency mismatch of the oscillation elements of the circuit. Such a deviation generally increases with the passage of time.
 補完処理部238は、ずれ情報に基づいて、クロック周波数の誤差を補完する処理であるずれ補完処理を行う。ずれ情報とは、第一速度情報と第二速度情報とから取得される情報であり、送信装置1と受信装置2とのクロック周波数の誤差に関する情報をいう。ずれ情報は、例えば、第一速度情報および第二速度情報に対応する2つの速度の比を示す情報であってもよい。ずれ補完処理とは、第一速度情報および第二速度情報に対応する2つの速度の比を1にする又は1に接近させるための処理である。例えば、第一速度情報および第二速度情報に対応する2つの速度の比がa:bであれば、受信装置2側のクロックの周期を“|b-a|/b”だけ長くする(a<bの場合)又は短くする(a>bの場合)処理である伸縮処理であってもよい。かかる伸縮処理は、例えば、既存の音声データの時間間隔を伸縮させるリサンプリング、ストレッチングなどであるが、既存の音声データの間を推定値で補間する補間処理を含んでいてもよい。ただし、ずれ補完処理の手法は問わない。なお、ずれ情報は、例えば、第一速度情報および第二速度情報に対応する2つの速度の差を示す情報であってもよい。かかるずれ補完処理によって、送信装置1と受信装置2の間で生じるクロック周波数の誤差に起因する出力音声の乱れ(例えば、音切れ、音飛び等)を低減できる。 The complement processing unit 238 performs a shift complement process, which is a process of complementing the clock frequency error, based on the shift information. The deviation information is information acquired from the first speed information and the second speed information, and refers to information regarding an error in the clock frequency between the transmission device 1 and the reception device 2. The deviation information may be information indicating a ratio of two speeds corresponding to the first speed information and the second speed information, for example. The shift complement process is a process for setting the ratio of two speeds corresponding to the first speed information and the second speed information to 1 or approaching 1. For example, if the ratio of the two speeds corresponding to the first speed information and the second speed information is a: b, the clock cycle on the receiving device 2 side is lengthened by “| b−a | / b” (a An expansion / contraction process that is a process of <b) or shortening (a> b) may be used. Such expansion / contraction processing is, for example, resampling / stretching for expanding / contracting the time interval of existing audio data, but may include interpolation processing for interpolating between existing audio data with estimated values. However, the method of misalignment complementing processing does not matter. The deviation information may be information indicating a difference between two speeds corresponding to the first speed information and the second speed information, for example. By such offset compensation processing, it is possible to reduce the disturbance of the output sound (for example, sound interruption, sound skipping, etc.) caused by the clock frequency error occurring between the transmission device 1 and the reception device 2.
 端末受信部24は、各種の情報を受信し得る。各種の情報とは、例えば、前述したパケットである。 The terminal receiving unit 24 can receive various types of information. The various information is, for example, the packet described above.
 パケット受信部241は、送信装置1からパケットを受信し、パケット格納部211に蓄積する。パケット受信部241は、通常、2以上のパケットを受信し、受信した2以上の各パケットを、当該パケットを識別するパケット識別子と対に蓄積する。なお、対に蓄積することは、パケットがパケット識別子を有することも含む。パケット受信部241は、前述したチェックサムパケットを含む3以上のパケットを受信してもよい。 The packet receiving unit 241 receives a packet from the transmission device 1 and accumulates it in the packet storage unit 211. The packet receiving unit 241 normally receives two or more packets, and accumulates the received two or more packets in pairs with a packet identifier that identifies the packet. Note that accumulating in pairs includes that a packet has a packet identifier. The packet receiving unit 241 may receive three or more packets including the checksum packet described above.
 端末送信部25は、各種の情報を送信し得る。各種の情報とは、例えば、前述した再送要求である。 The terminal transmission unit 25 can transmit various types of information. The various information is, for example, the above-described retransmission request.
 再送要求送信部251は、パケット受信部241が第一の期限までに次に出力するパケットを取得しない場合に、当該パケットを識別するパケット識別子を有する再送要求を送信装置1に送信する。再送要求は、通常、当該受信装置2を識別する端末識別子をさらに有する。ただし、再送要求送信部251は、パケット識別子のみを有する再送要求を、当該受信装置2を識別する端末識別子と対に送信してもよい。なお、再送要求送信部251は、通常、ユニキャストで再送要求を送信装置1に送信する。これは、再送要求自体が消失する可能性を低減するためである。 The retransmission request transmission unit 251 transmits a retransmission request having a packet identifier for identifying the packet to the transmission device 1 when the packet reception unit 241 does not acquire the next output packet by the first time limit. The retransmission request usually further includes a terminal identifier for identifying the receiving device 2. However, the retransmission request transmission unit 251 may transmit a retransmission request having only a packet identifier to a pair with a terminal identifier that identifies the receiving device 2. The retransmission request transmission unit 251 normally transmits a retransmission request to the transmission apparatus 1 by unicast. This is to reduce the possibility that the retransmission request itself is lost.
 再送要求送信部251は、判断部232が、パケット受信部241が第一の期限までに次に出力するパケットを受信しなかったと判断した場合に、再送要求を送信装置1に送信する。 The retransmission request transmission unit 251 transmits a retransmission request to the transmission device 1 when the determination unit 232 determines that the packet reception unit 241 has not received the next packet to be output by the first time limit.
 再送要求送信部251は、パケット受信部241が第Nの期限までに次に出力するパケットを受信しない場合に、N回目の再送要求を送信装置1に送信する。 The retransmission request transmission unit 251 transmits the Nth retransmission request to the transmission device 1 when the packet reception unit 241 does not receive the next packet to be output by the Nth time limit.
 再送要求送信部251は、第一期限情報が示す第一の期限までにパケット受信部241によって受信されなかったパケットを識別するパケット識別子を有する再送要求を送信装置1に送信するのに伴い、当該パケット識別子を有する再送要求を送信した回数(以下、単に“回数”と記す場合がある)の初期値“1”との対を消失リストに登録する。 As the retransmission request transmission unit 251 transmits a retransmission request having a packet identifier for identifying a packet that has not been received by the packet reception unit 241 by the first deadline indicated by the first deadline information, A pair with the initial value “1” of the number of times of transmission of a retransmission request having a packet identifier (hereinafter sometimes simply referred to as “number of times”) is registered in the erasure list.
 再送要求送信部251は、第N期限情報が示す第Nの期限までにパケット受信部241によって受信されなかったパケットを識別するパケット識別子を有するN回目の再送要求を送信装置1に送信するのに伴い、消失リストに登録されている当該パケット識別子と対になる回数をNに更新する。 The retransmission request transmission unit 251 transmits an N-th retransmission request having a packet identifier for identifying a packet that has not been received by the packet reception unit 241 by the Nth deadline indicated by the Nth deadline information to the transmission device 1. Accordingly, the number of times paired with the packet identifier registered in the loss list is updated to N.
 端末出力部26は、各種の情報を出力し得る。各種の情報とは、例えば、前述したパケットなどである。 The terminal output unit 26 can output various types of information. The various information is, for example, the packet described above.
 音声出力部261は、パケット取得部231が次に出力するパケットを取得した場合に、当該次に出力するパケットを音声出力する。パケット取得部231が次に出力するパケットを取得しない場合に、音声出力部261は、例えば、パケット生成部235が生成したパケットであり、当該次に出力するパケットに対応するパケットを音声出力しても良い。音声出力部261は、パケット取得部231が次に出力するパケット(例えばパケットk)を取得しない場合、例えば、期限情報が有する出力時刻(例えば出力時刻t(k))を用いてタイムアウトか否かを判断し、パケット生成部235は、タイムアウトと判断した場合に、当該次に出力するパケットに対応するパケットの生成を行ってもよい。 When the packet acquisition unit 231 acquires the next output packet, the audio output unit 261 outputs the next output packet as a sound. When the packet acquisition unit 231 does not acquire the next packet to be output, the voice output unit 261 outputs, for example, a packet generated by the packet generation unit 235 and corresponding to the packet to be output next. Also good. If the packet acquisition unit 231 does not acquire the next packet (for example, packet k), the audio output unit 261 determines whether or not a timeout has occurred using the output time (for example, output time t (k)) included in the deadline information, for example. When the packet generator 235 determines that a timeout has occurred, the packet generator 235 may generate a packet corresponding to the next packet to be output.
 DA変換手段2611は、パケット取得部231が取得したパケットをアナログ変換し、アナログ音声信号を生成する。アナログ変換とは、デジタルの音声データを、DA変換回路が有する発振素子等から出力されるクロックに従う周期で読み出し、アナログ波形を生成し、アナログの音声信号に変換する処理である。 The DA conversion unit 2611 performs analog conversion on the packet acquired by the packet acquisition unit 231 to generate an analog audio signal. Analog conversion is a process in which digital audio data is read in a cycle according to a clock output from an oscillation element or the like included in a DA conversion circuit, an analog waveform is generated, and converted into an analog audio signal.
 音声出力手段2612は、DA変換手段2611が生成した音声信号を、スピーカー等の出力デバイスを介して音声出力する。 The audio output unit 2612 outputs the audio signal generated by the DA conversion unit 2611 through an output device such as a speaker.
 格納部11、端末識別子格納部111、端末数情報格納部112、音声データ格納部113、送信時刻情報格納部114、端末格納部21、パケット格納部211、期限情報格納部212、出力時刻情報格納部213、および消失リスト格納部214は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。 Storage unit 11, terminal identifier storage unit 111, terminal number information storage unit 112, voice data storage unit 113, transmission time information storage unit 114, terminal storage unit 21, packet storage unit 211, time limit information storage unit 212, output time information storage The unit 213 and the disappearance list storage unit 214 are preferably non-volatile recording media, but can also be realized by volatile recording media.
 格納部11等に端末識別子等の情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。 It does not matter how information such as terminal identifiers is stored in the storage unit 11 or the like. For example, information may be stored in the storage unit 11 or the like via a recording medium, information transmitted via a communication line or the like may be stored in the storage unit 11 or the like, Alternatively, information input via the input device may be stored in the storage unit 11 or the like.
 受付部12、および端末受付部22は、入力デバイスのデバイスドライバーによって、または入力デバイスとそのデバイスドライバー等とで実現され得る。入力デバイスは、例えば、マイクロフォン、キーボードやマウスやタッチパネルによるもの等、何でもよい。音声データ受付部121、および音声受付手段1211は、マイクロフォンなどの音声入力デバイスのデバイスドライバーによって、または音声入力デバイスとそのデバイスドライバー等とで実現され得る。AD変換手段1212は、例えばAD変換回路などで実現され得る。 The accepting unit 12 and the terminal accepting unit 22 can be realized by a device driver of an input device or by an input device and its device driver. The input device may be anything such as a microphone, a keyboard, a mouse, or a touch panel. The voice data reception unit 121 and the voice reception unit 1211 can be realized by a device driver of a voice input device such as a microphone, or by a voice input device and its device driver. The AD conversion unit 1212 can be realized by, for example, an AD conversion circuit.
 処理部13、端末数情報取得部131、方式決定部132、チェックサムパケット生成部133、端末処理部23、パケット取得部231、判断部232、通信関連情報取得部233、通信パラメータ変更部234、パケット生成部235、第一速度情報取得部236、第二速度情報取得部237、および補完処理部238は、通常、MPUやメモリ等から実現され得る。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。 Processing unit 13, terminal number information acquisition unit 131, method determination unit 132, checksum packet generation unit 133, terminal processing unit 23, packet acquisition unit 231, determination unit 232, communication related information acquisition unit 233, communication parameter change unit 234, The packet generation unit 235, the first rate information acquisition unit 236, the second rate information acquisition unit 237, and the complement processing unit 238 can usually be realized by an MPU, a memory, or the like. The processing procedure of the processing unit 13 or the like is usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
 受信部14、再送要求受信部141は、端末受信部24、パケット受信部241は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されてもよい。 The receiving unit 14, the retransmission request receiving unit 141, the terminal receiving unit 24, and the packet receiving unit 241 are usually realized by wireless or wired communication means, but may be realized by means for receiving broadcasts.
 送信部15、パケット送信部151、パケット再送部152、端末送信部25、および再送要求送信部251は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されてもよい。 The transmission unit 15, the packet transmission unit 151, the packet retransmission unit 152, the terminal transmission unit 25, and the retransmission request transmission unit 251 are normally realized by wireless or wired communication means, but may be realized by broadcasting means.
 出力部16、および端末出力部26は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えてもよい。出力部16等は、出力デバイスのドライバーソフトによって、または出力デバイスとそのドライバーソフト等とで実現され得る。音声出力部261、および音声出力手段2612は、スピーカー等の音声出力デバイスを含むと考えても含まないと考えてもよい。DA変換手段2611は、例えばDA変換回路などで実現され得る。 The output unit 16 and the terminal output unit 26 may or may not include an output device such as a display or a speaker. The output unit 16 and the like can be realized by output device driver software, or by an output device and its driver software. The audio output unit 261 and the audio output unit 2612 may or may not include an audio output device such as a speaker. The DA conversion unit 2611 can be realized by, for example, a DA conversion circuit.
 次に、音声通信システムの動作について図4および図5のフローチャートを用いて説明する。図4は、送信装置1の動作を説明するフローチャートである。 Next, the operation of the voice communication system will be described with reference to the flowcharts of FIGS. FIG. 4 is a flowchart for explaining the operation of the transmission apparatus 1.
 (ステップS401)処理部13は、初期処理を実行する。初期処理は、例えば、パケットを送信する方式を示す方式情報に初期値をセットする処理などを含む。初期値は、通常“マルチキャスト”であるが、“ユニキャスト”でもよい。初期値は、前回の動作終了時点における方式情報の値であってもよい。初期値は、格納部11に格納されていてもよいし、方式決定部132が保持していてもよく、その所在は問わない。 (Step S401) The processing unit 13 executes initial processing. The initial process includes, for example, a process of setting an initial value in system information indicating a system for transmitting a packet. The initial value is normally “multicast”, but may be “unicast”. The initial value may be the value of the method information at the end of the previous operation. The initial value may be stored in the storage unit 11 or may be held by the method determination unit 132, and the location thereof is not limited.
 (ステップS402)音声データ受付部121は、音声受付手段1211が音声を受け付けたか否かを判別する。音声受付手段1211が音声を受け付けた場合はステップS403に進み、受け付けていない場合はステップS404に進む。 (Step S402) The voice data receiving unit 121 determines whether the voice receiving unit 1211 has received voice. If the voice receiving unit 1211 receives a voice, the process proceeds to step S403. If not received, the process proceeds to step S404.
 (ステップS403)AD変換手段1212は、音声受付手段1211が受け付けた音声をデジタル変換し、音声データを取得する。音声データ受付部121は、取得された音声データを音声データ格納部113に蓄積する。これによって、音声データ格納部113には、音声データ受付部121が受け付けた音声データを構成する2以上のパケットが、各パケットを識別するパケット識別子と対に格納される結果となる。その後、ステップS402に戻る。 (Step S403) The AD conversion unit 1212 digitally converts the voice received by the voice reception unit 1211 to obtain voice data. The audio data reception unit 121 accumulates the acquired audio data in the audio data storage unit 113. As a result, in the audio data storage unit 113, two or more packets constituting the audio data received by the audio data reception unit 121 are stored in pairs with packet identifiers for identifying each packet. Then, it returns to step S402.
 (ステップS404)処理部13は、変数iに初期値“1”をセットする。 (Step S404) The processing unit 13 sets an initial value “1” to the variable i.
 (ステップS405)処理部13は、音声データ格納部113にi番目のパケットがあるか否かを判別する。音声データ格納部113にi番目のパケットがある場合はステップS406に進み、ない場合はステップS402に戻る。 (Step S405) The processing unit 13 determines whether or not the i-th packet exists in the audio data storage unit 113. If there is an i-th packet in the voice data storage unit 113, the process proceeds to step S406, and if not, the process returns to step S402.
 (ステップS406)パケット送信部151は、i番目のパケットを、端末識別子格納部111に格納されている2以上の端末識別子で識別される2以上の受信装置に、方式情報が示す方式で送信する。パケット送信部151は、音声データ格納部113に格納されているi番目のパケットであり、送信したパケットに対応する送信済みパケットに、送信済みを示すフラグを付加してもよい。 (Step S406) The packet transmission unit 151 transmits the i-th packet to two or more receiving devices identified by two or more terminal identifiers stored in the terminal identifier storage unit 111 in a scheme indicated by the scheme information. . The packet transmission unit 151 is the i-th packet stored in the audio data storage unit 113, and a flag indicating transmission may be added to the transmitted packet corresponding to the transmitted packet.
 (ステップS407)処理部13は、チェックサムパケットを生成するか否かを判断する。例えば、処理部13は、音声データを構成する2以上のパケットの全てに対してチェックサムパケット生成する場合は、常に生成すると判断してもよいし、所定数(例えば2個、10個など)に1個の割合で生成する場合は、当該所定数回に1回の割合で生成すると判断してもよい。チェックサムパケットを生成する場合はステップS408に進み、生成しない場合はステップ410に進む。 (Step S407) The processing unit 13 determines whether to generate a checksum packet. For example, the processing unit 13 may determine that a checksum packet is always generated when generating checksum packets for all of two or more packets constituting audio data, or a predetermined number (for example, two, ten, etc.). However, it may be determined that the data is generated at a rate of once every predetermined number of times. If a checksum packet is to be generated, the process proceeds to step S408; otherwise, the process proceeds to step 410.
 (ステップS408)チェックサムパケット生成部133は、当該パケットに対応するチェックサムパケットを、当該パケットを含む2以上の送信済みパケットを用いて生成する。なお、チェックサムパケットの生成手順については前述したので繰り返さない。 (Step S408) The checksum packet generation unit 133 generates a checksum packet corresponding to the packet using two or more transmitted packets including the packet. Since the checksum packet generation procedure has been described above, it will not be repeated.
 (ステップS409)パケット送信部151は、チェックサムパケット生成部133が生成したチェックサムパケットをも、当該2以上の受信装置に当該方式情報が示す方式で送信する。その後、ステップS410に進む。 (Step S409) The packet transmission unit 151 also transmits the checksum packet generated by the checksum packet generation unit 133 to the two or more receiving apparatuses using the method indicated by the method information. Thereafter, the process proceeds to step S410.
 (ステップS410)処理部13は、変数iをインクリメントする。その後、ステップS405に戻る。 (Step S410) The processing unit 13 increments the variable i. Thereafter, the process returns to step S405.
 (ステップS411)処理部13は、再送要求受信部141が再送要求を受信したか否かを判別する。再送要求受信部141が再送要求を受信した場合はステップS412に進み、受信していない場合はステップS413に進む。 (Step S411) The processing unit 13 determines whether or not the retransmission request receiving unit 141 has received a retransmission request. If the retransmission request receiving unit 141 receives a retransmission request, the process proceeds to step S412. If not received, the process proceeds to step S413.
 (ステップS412)パケット再送部152は、再送要求受信部141が受信した再送要求が有するパケット識別子に対応するパケットを、当該再送要求を送信した受信装置2に、ユニキャストで送信する。その後、ステップS402に戻る。 (Step S412) The packet retransmission unit 152 transmits the packet corresponding to the packet identifier included in the retransmission request received by the retransmission request reception unit 141 to the reception device 2 that has transmitted the retransmission request by unicast. Then, it returns to step S402.
 (ステップS413)処理部13は、端末数情報を取得するタイミングか否かを判別する。具体的には、処理部13は、例えば、クロックを計数し、当該計数結果を示す第一回数が第一所定数に達した時、端末数情報を取得するタイミングであると判別し、第一回数をリセットする処理を、繰り返し実行してもよい。端末数情報を取得するタイミングである場合はステップS414に進み、端末数情報を取得するタイミングでない場合はステップS402に戻る。 (Step S413) The processing unit 13 determines whether it is time to acquire the terminal number information. Specifically, for example, the processing unit 13 counts the clock, and determines that it is the timing to acquire the terminal number information when the first number indicating the counting result reaches the first predetermined number. The process of resetting the number of times may be repeatedly executed. If it is time to acquire the terminal number information, the process proceeds to step S414. If it is not time to acquire the terminal number information, the process returns to step S402.
 (ステップS414)端末数情報取得部131は、端末識別子格納部111に格納されている2以上の端末識別子を用いて、端末数を示す端末数情報を取得する。 (Step S414) The terminal number information acquisition unit 131 uses the two or more terminal identifiers stored in the terminal identifier storage unit 111 to acquire terminal number information indicating the number of terminals.
 (ステップS415)方式決定部132は、端末数情報取得部131が取得した端末数情報に応じて、パケットを送信する方式として、マルチキャストを採用するか、ユニキャストを採用するかを決定する。詳しくは、方式決定部132は、端末数情報の示す端末数が、例えば、閾値以上または閾値より多い場合はマルチキャストを採用し、閾値以下または閾値より少ない場合はユニキャストを採用してもよい。 (Step S415) The method determining unit 132 determines whether to adopt multicast or unicast as a method of transmitting a packet according to the terminal number information acquired by the terminal number information acquiring unit 131. Specifically, the method determining unit 132 may employ multicast when the number of terminals indicated by the terminal number information is greater than or equal to a threshold or greater than the threshold, and may employ unicast when less than or less than the threshold.
 (ステップS416)方式決定部132は、決定した方式を方式情報にセットする。その後、ステップS402に戻る。 (Step S416) The method determining unit 132 sets the determined method in the method information. Then, it returns to step S402.
 なお、図4のフローチャートに従う処理は、例えば、送信装置1の電源オンに応じて開始し、送信装置1の電源オフまたは終了処理の割り込み等に応じて終了する。ただし、処理の開始または終了のためのトリガーは問わない。 Note that the processing according to the flowchart of FIG. 4 starts, for example, in response to power-on of the transmission device 1 and ends in response to power-off of the transmission device 1 or interruption of an end process. However, the trigger for starting or ending the process does not matter.
 また、図4では省略しているが、処理部13は、新たな受信装置2の追加や既存の受信装置2の離脱の有無を監視して、新たな受信装置2の追加があれば、当該受信装置2を識別する端末識別子を端末識別子格納部111に蓄積する一方、既存の受信装置2の離脱があれば、当該受信装置2を識別する端末識別子を端末識別子格納部111から削除する処理も行う。 Although omitted in FIG. 4, the processing unit 13 monitors the addition of a new receiving device 2 and the presence or absence of the existing receiving device 2, and if there is a new receiving device 2, While the terminal identifier for identifying the receiving device 2 is accumulated in the terminal identifier storage unit 111, if there is a detachment of the existing receiving device 2, the terminal identifier for identifying the receiving device 2 is deleted from the terminal identifier storage unit 111. Do.
 また、図4のフローチャートの説明において、“マルチキャスト”は“ブロードキャスト”と読み替えてもよい。 In the description of the flowchart of FIG. 4, “multicast” may be read as “broadcast”.
 図5は、受信装置2の動作を説明するフローチャートである。 FIG. 5 is a flowchart for explaining the operation of the receiving device 2.
 (ステップS501)パケット受信部241は、パケットを受信したか否かを判別する。パケットを受信した場合はステップS502に進み、パケットを受信していない場合はステップS503に進む。 (Step S501) The packet receiver 241 determines whether or not a packet has been received. If a packet has been received, the process proceeds to step S502. If no packet has been received, the process proceeds to step S503.
 (ステップS502)パケット受信部241は、受信したパケットを、当該パケットを識別するパケット識別子と対に、パケット格納部211に蓄積する。これに伴い、端末処理部23は、パケット格納部211に格納された2以上の各パケットの出力時刻を決定し、出力時刻情報を出力時刻情報格納部213に蓄積する。その後、ステップS501に戻る。 (Step S502) The packet receiving unit 241 stores the received packet in the packet storage unit 211 in a pair with a packet identifier for identifying the packet. Accordingly, the terminal processing unit 23 determines the output time of each of two or more packets stored in the packet storage unit 211, and accumulates the output time information in the output time information storage unit 213. Thereafter, the process returns to step S501.
 (ステップS503)音声出力部261は、次に出力するパケットがパケット格納部211にあるか否かを判別する。次に出力するパケットがパケット格納部261ある場合はステップS504に進み、ない場合はステップS505に進む。 (Step S503) The audio output unit 261 determines whether or not the packet to be output next is in the packet storage unit 211. If the packet to be output next is in the packet storage unit 261, the process proceeds to step S504, and if not, the process proceeds to step S505.
 (ステップS504)パケット取得部231は、当該パケットをパケット格納部211から取得する。その後、ステップS507に進む。 (Step S504) The packet acquisition unit 231 acquires the packet from the packet storage unit 211. Thereafter, the process proceeds to step S507.
 (ステップS505)音声出力部261は、タイムアウトか否かを判断する。例えば、音声出力部261は、前回のパケット出力からの経過時間が閾値以上になる又は閾値を超えると、タイムアウトと判断してもよい。タイムアウトであると判断された場合はステップS506に進み、タイムアウトとではないと判断された場合はステップS508に進む。 (Step S505) The audio output unit 261 determines whether or not a timeout has occurred. For example, the audio output unit 261 may determine that a timeout has occurred when the elapsed time from the previous packet output exceeds or exceeds the threshold. If it is determined that the time is out, the process proceeds to step S506. If it is determined that the time is not out, the process proceeds to step S508.
 (ステップS506)パケット生成部235は、パケット受信部241が受信したパケットであり、チェックサムパケットを含む2以上のパケットを用いて、次に出力するパケットを生成する。なお、次に出力するパケットを生成する手順については前述したので繰り返さない。その後、ステップS507に進む。 (Step S506) The packet generation unit 235 is a packet received by the packet reception unit 241, and generates a packet to be output next using two or more packets including a checksum packet. Since the procedure for generating the next packet to be output has been described above, it will not be repeated. Thereafter, the process proceeds to step S507.
 (ステップS507)DA変換手段2611は、パケット取得部231が取得したパケットまたはパケット生成部235が生成したパケットをアナログ変換し、音声信号を生成する。音声出力手段2612は、DA変換手段2611が生成した音声信号をスピーカーなどの出力デバイスを介して出力する。その後、ステップS501に戻る。 (Step S507) The DA conversion unit 2611 performs analog conversion on the packet acquired by the packet acquisition unit 231 or the packet generated by the packet generation unit 235 to generate an audio signal. The audio output unit 2612 outputs the audio signal generated by the DA conversion unit 2611 via an output device such as a speaker. Thereafter, the process returns to step S501.
 (ステップS508)端末処理部23は、再送要求を送信するタイミングか否かを判別する。具体的には、端末処理部23は、例えば、クロックを計数し、当該計数結果を示す第二回数が第二所定数に達した時、パケットを出力するタイミングであると判別し、第二回数をリセットする処理を、繰り返し実行してもよい。再送要求を送信するタイミングである場合はステップS509に進み、再送要求を送信するタイミングでない場合はステップS514に進む。 (Step S508) The terminal processing unit 23 determines whether it is time to transmit a retransmission request. Specifically, for example, the terminal processing unit 23 counts the clock, determines that it is the timing to output the packet when the second number indicating the counting result reaches the second predetermined number, and determines the second number of times. The process of resetting may be repeated. If it is time to transmit a retransmission request, the process proceeds to step S509. If it is not time to transmit a retransmission request, the process proceeds to step S514.
 (ステップS509)再送要求送信部251は、次のパケットに対する再送要求を送信する処理である再送要求送信処理を実行する。詳しくは、再送要求送信部251は、次のパケットを識別するパケット識別子を有する再送要求を、当該受信装置2を識別する端末識別子と対に、送信装置1に送信する。1回目の再送要求の場合は、再送要求送信部251は、当該パケット識別子と当該回数i(初期値“1”)との対を、消失リスト格納部214に格納されている消失リストに登録し、2回目の再送要求の場合は、回数iをインクリメントする処理を実行してもよい。その後、ステップS501に戻る。 (Step S509) The retransmission request transmission unit 251 executes a retransmission request transmission process that is a process of transmitting a retransmission request for the next packet. Specifically, the retransmission request transmission unit 251 transmits a retransmission request having a packet identifier for identifying the next packet to the transmission device 1 in a pair with a terminal identifier for identifying the reception device 2. In the case of the first retransmission request, the retransmission request transmission unit 251 registers the pair of the packet identifier and the number of times i (initial value “1”) in the erasure list stored in the erasure list storage unit 214. In the case of the second retransmission request, a process of incrementing the number of times i may be executed. Thereafter, the process returns to step S501.
 (ステップS510)端末処理部23は、速度情報を取得するタイミングか否かを判別する。具体的には、端末処理部23は、例えば、クロックを計数し、当該計数結果を示す第三回数が第三所定数に達した時、速度情報を取得するタイミングであると判別し、第三回数をリセットする処理を、繰り返し実行してもよい。速度情報を取得するタイミングである場合はステップS511に進み、速度情報を取得するタイミングでない場合はステップS514に進む。 (Step S510) The terminal processing unit 23 determines whether it is time to acquire speed information. Specifically, for example, the terminal processing unit 23 counts the clock, and determines that it is the timing to acquire the speed information when the third number indicating the counting result reaches the third predetermined number. The process of resetting the number of times may be repeatedly executed. If it is time to acquire speed information, the process proceeds to step S511. If it is not time to acquire speed information, the process proceeds to step S514.
 (ステップS511)第一速度情報取得部236は、第一速度情報を取得する。なお、第一速度情報については前述したので繰り返さない。 (Step S511) The first speed information acquisition unit 236 acquires first speed information. Since the first speed information has been described above, it will not be repeated.
 (ステップS512)第二速度情報取得部237は、第二速度情報を取得する。なお、第二速度情報については前述したので繰り返さない。 (Step S512) The second speed information acquisition unit 237 acquires the second speed information. Since the second speed information has been described above, it will not be repeated.
 (ステップS513)補完処理部238は、取得した第一および第二の2つの速度情報を用いて、ずれ情報を取得し、取得したずれ情報に基づいて、ずれ補完処理を行う。なお、ずれ情報およびずれ補完処理については前述したので繰り返さない。これにより、送信装置1および受信装置2の間のクロック周波数の誤差は音声伸縮処理等により補完され、当該誤差に起因する出力音声の乱れが、解消または軽減される。その後、ステップS501に戻る。 (Step S513) The complement processing unit 238 acquires the shift information using the acquired first and second speed information, and performs the shift complement process based on the acquired shift information. Since the shift information and the shift complement processing have been described above, they will not be repeated. Thereby, the error of the clock frequency between the transmission device 1 and the reception device 2 is complemented by the sound expansion / contraction process or the like, and the disturbance of the output sound due to the error is eliminated or reduced. Thereafter, the process returns to step S501.
 (ステップS514)端末処理部23は、通信関連情報を取得するタイミングか否かを判別する。具体的には、端末処理部23は、例えば、クロックを計数し、当該計数結果を示す第四回数が第四所定数に達した時、通信関連情報を取得するタイミングであると判別し、第四回数をリセットする処理を、繰り返し実行してもよい。通信関連情報を取得するタイミングである場合はステップS515に進み、通信関連情報を取得するタイミングでない場合はステップS501に戻る。 (Step S514) The terminal processing unit 23 determines whether it is time to acquire communication-related information. Specifically, for example, the terminal processing unit 23 counts the clock, determines that it is the timing to acquire the communication related information when the fourth number indicating the counting result reaches the fourth predetermined number, The process of resetting the four times may be repeatedly executed. If it is time to acquire communication-related information, the process proceeds to step S515. If it is not time to acquire communication-related information, the process returns to step S501.
 (ステップS515)通信関連情報取得部233は、例えば、端末数、エラー率情報、正常率情報のうちの、いずれかの情報を含む通信関連情報を取得する。なお、通信関連情報の取得手順については前述したので繰り返さない。 (Step S515) The communication related information acquisition unit 233 acquires communication related information including any one of the number of terminals, error rate information, and normal rate information, for example. Note that the procedure for acquiring communication related information has been described above and will not be repeated.
 (ステップS516)通信パラメータ変更部234は、パケット格納部211の容量、再送要求送信部251が再送要求を送信可能な回数N、第一の期限から回数Nに対応する第Nの期限までのN個の期限、のうちの1種類以上の情報である通信パラメータを、通信関連情報取得部233が取得した通信関連情報に応じて変更する。なお、通信パラメータの変更手順については前述したので繰り返さない。その後、ステップS501に戻る。 (Step S516) The communication parameter changing unit 234 determines the capacity of the packet storage unit 211, the number N of times that the retransmission request transmission unit 251 can transmit a retransmission request, and N from the first time limit to the Nth time limit corresponding to the number N. The communication parameter, which is one or more types of information within the period, is changed according to the communication related information acquired by the communication related information acquisition unit 233. Since the communication parameter changing procedure has been described above, it will not be repeated. Thereafter, the process returns to step S501.
 なお、図5のフローチャートの従う処理は、例えば、受信装置2の電源オンに応じて開始し、受信装置2の電源オフまたは終了処理の割り込み等に応じて終了する。ただし、この処理を開始または終了するためのトリガーは問わない。
 また、図5のフローチャートにおいては、次に出力するパケットがないと判別された場合、タイムアウトになるまでの期間に再送要求の送信を行い、タイムアウトになったら、チェックサムを含む2以上のパケットによる補完を行ったが、例えば、次に出力するパケットがないと判別された場合、補完に必要なチェックサムを含む2以上のパケットが揃ったか否かを判別し、揃っていたら補完を行い、揃っていなければ再送要求の送信を行うようにしてもよい。そして、タイムアウトになっても、次に出力するパケットがなく、チェックサムを含む2以上のパケットによる補完も行えない場合に、当該次に出力するパケットの出力は断念し、スムージング処理を行ってもよい。スムージング処理とは、当該次に出力するパケットの直前に出力したパケットと、当該次に出力するパケットの直後に出力するパケットとの間のギャップで生じるノイズであるギャップノイズを低減する処理である。スムージング処理は、例えば、当該直前に出力したパケットの音声を無音までフェードアウトした後、無音から、直後に出力するパケットの音声レベルまでフェードインする処理などであるが、ギャップを滑らかに繋いでギャップノイズを低減する処理であれば、どのような処理でもよい。
Note that the processing according to the flowchart of FIG. 5 starts, for example, in response to power-on of the receiving device 2 and ends in response to power-off of the receiving device 2 or an interruption in termination processing. However, the trigger for starting or ending this process does not matter.
Further, in the flowchart of FIG. 5, when it is determined that there is no next packet to be output, a retransmission request is transmitted in a period until a timeout occurs, and when the timeout occurs, two or more packets including a checksum are used. For example, if it is determined that there is no next packet to be output, it is determined whether or not two or more packets including a checksum necessary for completion are prepared. If not, a retransmission request may be transmitted. Even if a time-out occurs, if there is no packet to be output next and complementation by two or more packets including a checksum cannot be performed, the output of the next output packet is abandoned and smoothing processing is performed. Good. The smoothing process is a process for reducing gap noise, which is noise generated in a gap between a packet output immediately before the next output packet and a packet output immediately after the next output packet. The smoothing process is, for example, a process of fading out the voice of the packet output immediately before to the silence and then fading in from the silence to the voice level of the packet output immediately after. Any process may be used as long as the process is reduced.
 また、図5のフローチャートにおいて、上記ステップS509に代えて、以下のようなステップS509a~S509eが実行されてもよい。 In the flowchart of FIG. 5, the following steps S509a to S509e may be executed instead of the above step S509.
 (ステップS509a)判断部232は、MPUの内蔵時計から現在時刻を取得する。または、判断部232は、音声出力部261が直前に出力したパケットのパケット識別子を取得してもよい。 (Step S509a) The determination unit 232 acquires the current time from the MPU built-in clock. Alternatively, the determination unit 232 may acquire the packet identifier of the packet output immediately before by the audio output unit 261.
 (ステップS509b)判断部232は、取得した現在時刻と、出力時刻情報格納部213に格納されている出力時刻情報とを用いて、出力時刻が現在時刻よりも第一時間T(1)後のパケットを識別するパケット識別子をパケット格納部211から取得する。または、判断部232は、音声出力部261が直前に出力したパケットのパケット識別子に自然数(例えば、“N-1”またはそれ以下の自然数)を加算したパケット識別子を、例えば音声出力部261から取得してもよい。 (Step S509b) The determination unit 232 uses the acquired current time and the output time information stored in the output time information storage unit 213 to output the output time after the first time T (1) from the current time. A packet identifier for identifying a packet is acquired from the packet storage unit 211. Alternatively, the determination unit 232 acquires, from the audio output unit 261, for example, a packet identifier obtained by adding a natural number (for example, “N−1” or a natural number equal to or less than that) to the packet identifier of the packet output immediately before by the audio output unit 261. May be.
 (ステップS509c)判断部232は、出力時刻が現在時刻よりも第一時間T(1)後のパケットが受信済みか否かを判断する。判断部232は、例えば、出力時刻が現在時刻よりも第一時間T(1)後のパケットを識別するパケット識別子を取得できた場合に、当該パケットが受信済みであると判断し、かかるパケット識別子を取得できなかった場合に、当該パケットは受信済みでないと判断してもよい。または、判断部232は、上記のようにして音声出力部261から取得したパケット識別子で識別されるパケットが受信済みか否かを判断してもよい。かかるパケット識別子で識別されるパケットが受信済みでない場合はステップS509dに進み、受信済みである場合はステップS509eに進む。 (Step S509c) The determination unit 232 determines whether or not a packet whose output time is a first time T (1) after the current time has been received. For example, when the packet identifier for identifying the packet whose output time is after the first time T (1) from the current time can be acquired, the determination unit 232 determines that the packet has been received, and the packet identifier May not be received, it may be determined that the packet has not been received. Alternatively, the determination unit 232 may determine whether a packet identified by the packet identifier acquired from the audio output unit 261 as described above has been received. If the packet identified by the packet identifier has not been received, the process proceeds to step S509d. If the packet has been received, the process proceeds to step S509e.
 (ステップS510d)再送要求送信部251は、かかるパケット識別子で識別されるパケットに対する1回目の再送要求を送信する処理である第一再送要求送信処理を実行する。なお、第一再送要求送信処理につては後述する。 (Step S510d) The retransmission request transmission unit 251 executes a first retransmission request transmission process that is a process of transmitting a first retransmission request for the packet identified by the packet identifier. The first retransmission request transmission process will be described later.
 (ステップS510e)再送要求送信部251は、消失リストに登録されているパケット識別子で識別されるパケットに対する2回目~N回目の再送要求を送信する処理である第二再送要求送信処理を実行する。なお、第一再送要求送信処理につては後述する。その後、ステップS501に戻る。 (Step S510e) The retransmission request transmission unit 251 executes a second retransmission request transmission process, which is a process of transmitting the second to Nth retransmission requests for the packet identified by the packet identifier registered in the loss list. The first retransmission request transmission process will be described later. Thereafter, the process returns to step S501.
 上記ステップS510dの第一再送要求送信処理では、例えば次のステップS601~S603が実行されてもよい。 In the first retransmission request transmission process in step S510d, for example, the following steps S601 to S603 may be executed.
 (ステップS601)再送要求送信部251は、当該パケットを識別するパケット識別子を有する1回目の再送要求を送信装置1に送信する。 (Step S601) The retransmission request transmission unit 251 transmits a first retransmission request having a packet identifier for identifying the packet to the transmission device 1.
 (ステップS602)再送要求送信部251は、当該パケット識別子と対になる回数iに初期値“1”をセットする。 (Step S602) The retransmission request transmission unit 251 sets an initial value “1” for the number of times i paired with the packet identifier.
 (ステップS603)再送要求送信部251は、当該パケット識別子と当該回数iとの対を、消失リスト格納部214に格納されている消失リストに登録する。その後、上位処理にリターンする。 (Step S603) The retransmission request transmission unit 251 registers the pair of the packet identifier and the number of times i in the erasure list stored in the erasure list storage unit 214. Thereafter, the process returns to the upper process.
 上記ステップS510eの第二再送要求送信処理では、例えば、以下のステップS701~S708が実行されてもよい。 In the second retransmission request transmission process in step S510e, for example, the following steps S701 to S708 may be executed.
 (ステップS701)再送要求送信部251は、変数jに初期値“1”をセットする。 (Step S701) The retransmission request transmission unit 251 sets an initial value “1” in the variable j.
 (ステップS702)再送要求送信部251は、消失リストにj番目のパケット識別子があるか否かを判別する。消失リストにj番目のパケット識別子がある場合はステップS703に進み、ない場合は上位処理にリターンする。 (Step S702) The retransmission request transmission unit 251 determines whether or not the j-th packet identifier is in the erasure list. If there is a j-th packet identifier in the loss list, the process proceeds to step S703, and if not, the process returns to the upper process.
 (ステップS703)再送要求送信部251は、j番目のパケット識別子で識別されるパケットは受信済みか否かを判別する。具体的には、再送要求送信部251は、例えば、パケット格納部211にj番目のパケット識別子で識別されるパケットが格納されていれば、j番目のパケット識別子で識別されるパケットが受信済みであると判断し、格納されていなければ、受信済みでないと判断してもよい。j番目のパケット識別子で識別されるパケットが受信済みである場合はステップS704に進み、受信済みでない場合はステップS705に進む。 (Step S703) The retransmission request transmission unit 251 determines whether the packet identified by the jth packet identifier has been received. Specifically, for example, if the packet identified by the jth packet identifier is stored in the packet storage unit 211, the retransmission request transmission unit 251 has received the packet identified by the jth packet identifier. If it is determined that it has not been stored, it may be determined that it has not been received. If the packet identified by the jth packet identifier has been received, the process proceeds to step S704, and if not received, the process proceeds to step S705.
 (ステップS704)再送要求送信部251は、j番目のパケット識別子と回数iとの対を消失リストから削除する。その後、ステップS708に進む。 (Step S704) The retransmission request transmission unit 251 deletes the pair of the jth packet identifier and the number of times i from the erasure list. Thereafter, the process proceeds to step S708.
 (ステップS705)再送要求送信部251は、j番目のパケット識別子に対応する回数iが回数N以上であるか否かを判別する。j番目のパケット識別子に対応する回数iが回数N以上でない(つまり、回数iが回数N未満である)場合はステップS706に進み、回数iが回数N以上である場合はステップS708に進む。 (Step S705) The retransmission request transmission unit 251 determines whether the number of times i corresponding to the jth packet identifier is equal to or greater than the number of times N. If the number of times i corresponding to the j-th packet identifier is not equal to or greater than the number N (that is, the number i is less than the number N), the process proceeds to step S706. If the number i is equal to or greater than the number N, the process proceeds to step S708.
 (ステップS706)再送要求送信部251は、j番目のパケット識別子に対応する回数iをインクリメントする。 (Step S706) The retransmission request transmission unit 251 increments the number of times i corresponding to the j-th packet identifier.
 (ステップS707)再送要求送信部251は、j番目のパケット識別子を有するi回目の再送要求を送信装置1に送信する。その後、ステップS703に戻る。 (Step S707) The retransmission request transmission unit 251 transmits the i-th retransmission request having the j-th packet identifier to the transmission device 1. Thereafter, the process returns to step S703.
 (ステップS708)再送要求送信部251は、変数jをインクリメントする。その後、ステップS702に戻る。 (Step S708) The retransmission request transmission unit 251 increments the variable j. Thereafter, the process returns to step S702.
 上記ステップS501dの第一再送要求送信処理および上記ステップS501eの第二再送要求送信処理によれば、受信装置2が、次に出力するパケット(例えばパケット“k”)よりも後のパケットであり、次のパケットを出力する時点でバッファリングされているべきパケット(例えば、パケット“k+4”など)がない場合に、かかるロストパケットに対する再送要求を送信し、送信装置1は、当該ロストパケットを当該受信装置2にユニキャストで送信することで、当該ロストパケットの出力時刻が到来する前に、当該ロストパケットのリカバーに成功している可能性が高まる。 According to the first retransmission request transmission process in step S501d and the second retransmission request transmission process in step S501e, the reception device 2 is a packet after a packet to be output next (for example, packet “k”), When there is no packet (for example, packet “k + 4”, etc.) that should be buffered at the time of outputting the next packet, a retransmission request for the lost packet is transmitted, and the transmission apparatus 1 receives the lost packet. By transmitting to the apparatus 2 by unicast, the possibility that the lost packet is successfully recovered before the output time of the lost packet arrives increases.
 以下、本実施の形態における音声通信システムの具体的な動作について説明する。ただし、本動作例は、本発明を何ら限定するものではなく、適宜変更され得ることはいうまでもない。 Hereinafter, specific operations of the voice communication system according to the present embodiment will be described. However, this operation example does not limit the present invention in any way, and needless to say, the operation example can be changed as appropriate.
 現在、送信装置1は、例えば、国際会議場やスタジアム等で同時通訳が発する声の音声データをWi-Fi(登録商標)で送信している。2以上の各受信装置2は、音声データを受信し、同時通訳の声を音声出力している。 Currently, the transmitter 1 is transmitting Wi-Fi (registered trademark), for example, voice data of a voice that is simultaneously interpreted at an international conference hall or a stadium. Each of the two or more receiving apparatuses 2 receives voice data and outputs a voice of simultaneous interpretation as voice.
 送信装置1の端末識別子格納部111には、当該2以上(例えば、数百、数千など)の受信装置2を識別する2以上の端末識別子が格納されている。端末数情報格納部112には、本音声通信システムを構成する受信装置2の数(端末数)を示す端末数情報が格納されている。格納部11には、“マルチキャスト”を示す方式情報が格納されている。音声データ格納部113には、音声データ受付部121が現在までに受け付けた音声データを構成する2以上のパケットが、各パケットを識別するパケット識別子(例えば“1”,“2”,…,“k”,…といった、順序を示す識別番号)と対に格納されている。 The terminal identifier storage unit 111 of the transmission device 1 stores two or more terminal identifiers that identify the two or more (for example, several hundreds, thousands, etc.) of the reception devices 2. The number-of-terminals information storage unit 112 stores number-of-terminals information indicating the number of receiving apparatuses 2 (number of terminals) constituting the voice communication system. The storage unit 11 stores method information indicating “multicast”. In the audio data storage unit 113, two or more packets constituting the audio data received by the audio data receiving unit 121 so far are packet identifiers (for example, “1”, “2”,..., “ k ″,... are stored in pairs.
 2以上の各受信装置2のパケット格納部211には、パケット受信部241が現在までに受信したパケットが、当該パケットを識別するパケット識別子と対に格納されている。なお、パケット格納部211の容量は、端末ごとに異なっていてよい。 In the packet storage unit 211 of each of the two or more receiving apparatuses 2, packets received by the packet reception unit 241 so far are stored in pairs with packet identifiers that identify the packets. Note that the capacity of the packet storage unit 211 may be different for each terminal.
 期限情報格納部212には、第一の期限から第Nの期限までのN個の期限に対応するN個の期限情報が格納されている。N個の期限情報とは、第一の期限を示す第一期限情報、第二の期限を示す第二期限情報、…、および第Nの期限を示す第N期限情報である。なお、自然数Nは、端末ごとに異なっていてよい。 The deadline information storage unit 212 stores N pieces of deadline information corresponding to N deadlines from the first deadline to the Nth deadline. The N pieces of deadline information are first deadline information indicating the first deadline, second deadline information indicating the second deadline,..., And Nth deadline information indicating the Nth deadline. Note that the natural number N may be different for each terminal.
 送信装置1において、音声データ受付部121が音声データを受け付けると、当該音声データを構成する2以上の各パケットが、当該パケットを識別するパケット識別子と対に、音声データ格納部113に蓄積される。 In the transmission apparatus 1, when the audio data receiving unit 121 receives audio data, two or more packets constituting the audio data are accumulated in the audio data storage unit 113 in pairs with a packet identifier for identifying the packet. .
 パケット送信部151は、パケットを送信するタイミングか否かを判別しており、パケットを送信するタイミングである場合、音声データ格納部113に格納されている2以上のパケットを、端末識別子格納部111に格納されている2以上の端末識別子で識別される2以上の受信装置に、方式情報が示す方式(現在は、マルチキャスト)で順次送信する。 The packet transmission unit 151 determines whether it is time to transmit a packet. If it is time to transmit a packet, the packet identifier 151 stores two or more packets stored in the voice data storage unit 113. Are sequentially transmitted to the two or more receiving devices identified by the two or more terminal identifiers stored in the network using the method indicated by the method information (currently multicast).
 チェックサムパケット生成部133は、パケット送信部151が送信するパケットに対応するチェックサムパケットを、当該パケットを含む2以上の送信済みパケットを用いて生成する。例えば、パケット送信部151が送信するパケットがパケット“m100”であり、一のチェックサムパケットの生成に用いるパケットの数が10個である場合、チェックサムパケット生成部133は、当該パケット“m100”に対応するチェックサムパケット“r100”を、当該パケット“m100”を含む過去の10個のパケット“m091”,“m092”,…,“m100”を用いて生成してもよい。パケット送信部151は、パケット“m100”の送信後、こうしてチェックサムパケット生成部133が生成したチェックサムパケット“r100”をも、当該2以上の受信装置に当該方式で送信する。 The checksum packet generation unit 133 generates a checksum packet corresponding to the packet transmitted by the packet transmission unit 151 using two or more transmitted packets including the packet. For example, when the packet transmitted by the packet transmission unit 151 is the packet “m100” and the number of packets used to generate one checksum packet is 10, the checksum packet generation unit 133 determines that the packet “m100” May be generated using the past 10 packets “m091”, “m092”,..., “M100” including the packet “m100”. After transmitting the packet “m100”, the packet transmission unit 151 also transmits the checksum packet “r100” generated by the checksum packet generation unit 133 in this manner to the two or more receiving devices in the method.
 以上の処理が繰り返されることで、音声データを構成する2以上のパケットと、当該2以上のパケットに対応する2以上のチェックサムパケットとが、交互に、2以上の各受信装置2にマルチキャストで送信される。 By repeating the above process, two or more packets constituting the audio data and two or more checksum packets corresponding to the two or more packets are alternately transmitted to the two or more receiving apparatuses 2 by multicast. Sent.
 処理部13は、再送要求受信部141が再送要求を受信したか否かも判別している。再送要求受信部141が再送要求を受信した場合、パケット再送部152は、当該再送要求が有するパケット識別子に対応するパケットを音声データ格納部113から取得し、取得したパケットを、当該再送要求を送信した受信装置2に、ユニキャストで送信する。 The processing unit 13 also determines whether or not the retransmission request receiving unit 141 has received a retransmission request. When the retransmission request receiving unit 141 receives the retransmission request, the packet retransmission unit 152 acquires a packet corresponding to the packet identifier included in the retransmission request from the voice data storage unit 113, and transmits the acquired packet to the retransmission request. Unicast to the receiving device 2 that has been transmitted.
 処理部13は、端末数情報を取得するタイミングか否かをも判別している。端末数情報を取得するタイミングである場合、端末数情報取得部131は、端末識別子格納部111に格納されている2以上の端末識別子を用いて、端末数を示す端末数情報を取得する。方式決定部132は、この端末数情報に応じて、パケットを送信する方式として、マルチキャストを採用するか、ユニキャストを採用するかを決定する。例えば、端末数情報の示す端末数が、閾値以上または閾値より多い場合はマルチキャストを採用し、閾値以下または閾値より少ない場合はユニキャストを採用することが決定されてもよい。方式決定部132は、こうして決定した方式を方式情報にセットする。それによって、例えば、既存の端末の離脱によって、端末数が閾値を下回ると、パケットの送信方式は、マルチキャストからユニキャストに変更される。その後、新たな端末の参加によって、端末数が閾値を上回ると、パケットの送信方式は、ユニキャストからマルチキャストに変更される。 The processing unit 13 also determines whether or not it is time to acquire the terminal number information. When it is time to acquire the terminal number information, the terminal number information acquisition unit 131 acquires terminal number information indicating the number of terminals using two or more terminal identifiers stored in the terminal identifier storage unit 111. The method determining unit 132 determines whether to adopt multicast or unicast as a method for transmitting packets according to the number-of-terminals information. For example, when the number of terminals indicated by the number-of-terminals information is greater than or equal to the threshold value or greater than the threshold value, it may be determined to employ multicast, and when less than or less than the threshold value, unicast may be employed. The method determining unit 132 sets the method determined in this way in the method information. Thus, for example, when the number of terminals falls below the threshold due to the withdrawal of an existing terminal, the packet transmission method is changed from multicast to unicast. Thereafter, when the number of terminals exceeds a threshold value due to the participation of a new terminal, the packet transmission method is changed from unicast to multicast.
 2以上の各受信装置2において、パケット受信部241がパケットを受信すると、当該パケットは、当該パケットを識別するパケット識別子と対に、パケット格納部211に蓄積される。 In each of the two or more receiving apparatuses 2, when the packet receiving unit 241 receives a packet, the packet is stored in the packet storage unit 211 in a pair with a packet identifier for identifying the packet.
 パケット取得部231は、パケットを出力するタイミングか否かを判別しており、パケットを出力するタイミングである場合、次に出力するパケットをパケット格納部211から取得する。具体的には、パケット取得部231は、直前に出力されたパケットのパケット識別子を記憶しており、記憶している識別子の次の識別子(例えば、直前のパケットのパケット識別子に1を加えた数)に対応するパケットをパケット格納部211から探索し、取得する。 The packet acquisition unit 231 determines whether or not it is time to output a packet. If it is time to output a packet, the packet acquisition unit 231 acquires the next packet to be output from the packet storage unit 211. Specifically, the packet acquisition unit 231 stores the packet identifier of the packet output immediately before, and the identifier next to the stored identifier (for example, the number obtained by adding 1 to the packet identifier of the previous packet) ) Is retrieved from the packet storage unit 211 and acquired.
 パケット取得部231が次に出力するパケットを取得しない場合、音声出力部261は、計時を開始し、タイムアウトか否かを判断する。タイムアウトと判断されると、パケット生成部235は、パケット受信部241が受信したパケットであり、チェックサムパケットを含む2以上のパケットを用いて、次に出力するパケットを生成する。例えば、パケット格納部211に、パケットおよびチェックサムパケット“m091”,“r091”,“m092”,“r092”,…,“m099”,“r099”,“r100”,“m101”,“r101”,…が格納されており、出力時刻が現在時刻に対応するパケットがパケット“m100”で、このパケット“m100”が消失している場合、パケット生成部235は、パケット格納部211に格納されている9個のパケット“m091”~“m099”およびチェックサムパケット“r100”を用いて、当該消失したパケット“m100”を生成する。 When the packet acquisition unit 231 does not acquire the next packet to be output, the voice output unit 261 starts timing and determines whether or not a timeout has occurred. If it is determined that a timeout has occurred, the packet generator 235 generates a packet to be output next using two or more packets that are packets received by the packet receiver 241 and include a checksum packet. For example, the packet storage unit 211 stores packets and checksum packets “m091”, “r091”, “m092”, “r092”,..., “M099”, “r099”, “r100”, “m101”, “r101”. ,... Are stored, and if the packet whose output time corresponds to the current time is the packet “m100” and this packet “m100” is lost, the packet generation unit 235 stores the packet in the packet storage unit 211. The lost packet “m100” is generated using the nine packets “m091” to “m099” and the checksum packet “r100”.
 音声出力部261は、パケット格納部211から取得したパケット、またはパケット生成部235が生成したパケット、を音声出力する。詳しくは、音声出力部261は、当該パケットをアナログ変換して、音声を取得し、スピーカーから出力する。 The voice output unit 261 outputs the packet acquired from the packet storage unit 211 or the packet generated by the packet generation unit 235 by voice. Specifically, the audio output unit 261 performs analog conversion on the packet, acquires audio, and outputs the audio from the speaker.
 端末処理部23は、再送要求を行うタイミングか否かを判別しており、再送要求を行うタイミングである場合、 The terminal processing unit 23 determines whether it is time to make a retransmission request, and when it is time to make a retransmission request,
 再送要求送信部251は、再送要求送信処理を実行する。再送要求送信処理では、再送要求送信部251は、最初、次に出力するパケットを識別するパケット識別子を有する1回目の再送要求を、送信装置1に送信する。 The retransmission request transmission unit 251 executes retransmission request transmission processing. In the retransmission request transmission process, the retransmission request transmission unit 251 first transmits a first retransmission request having a packet identifier for identifying the next packet to be output to the transmission apparatus 1.
 1回目の再送要求を送信してから第一の期限までに、当該次に出力するパケットが受信されない場合、再送要求送信部251は、当該次に出力するパケットに対する2回目の再送要求を、次回の再送要求を行うタイミングで送信する。2回目の再送要求を送信してから第二の期限までに、当該次に出力するパケットが受信されない場合、再送要求送信部251は、当該次に出力するパケットに対する3回目の再送要求を、次々回の再送要求を行うタイミングで送信する。かかる処理は、タイムアウトとなるまでに、最大でN回繰り返される。 If the next packet to be output is not received by the first time limit after transmitting the first retransmission request, the retransmission request transmission unit 251 sends the second retransmission request for the next packet to be output next time. Is sent at the timing of requesting retransmission. If the next output packet is not received by the second time limit after the second retransmission request is transmitted, the retransmission request transmission unit 251 sends the third retransmission request for the next output packet one after another. Is sent at the timing of requesting retransmission. Such processing is repeated at most N times before time-out occurs.
 タイムアウト前に当該次に出力するパケットが受信された場合、音声出力部261は、当該受信されたパケットを音声出力し、受信されない場合、音声出力部261は、当該次に出力するパケットに対応するパケットであり、パケット生成部235が上記のようにチェックサムパケットを用いて生成したパケットを音声出力する。 When the next output packet is received before the time-out, the audio output unit 261 outputs the received packet as audio, and when not received, the audio output unit 261 corresponds to the next output packet. The packet generator 235 outputs the packet generated by using the checksum packet as described above.
 端末処理部23は、通信関連情報を取得するタイミングか否かを判別している。通信関連情報を取得するタイミングであると判別された場合、通信関連情報取得部233は、例えば、端末数、エラー率情報、正常率情報のうちの、いずれかの情報を含む通信関連情報を取得する。通信パラメータ変更部234は、パケット格納部211の容量、再送要求送信部251が再送要求を送信可能な回数N、第一の期限から回数Nに対応する第Nの期限までのN個の期限、のうちの1種類以上の情報である通信パラメータを、通信関連情報取得部233が取得した通信関連情報に応じて変更する。 The terminal processing unit 23 determines whether it is time to acquire communication-related information. When it is determined that it is time to acquire communication-related information, the communication-related information acquisition unit 233 acquires communication-related information including any of the number of terminals, error rate information, and normal rate information, for example. To do. The communication parameter changing unit 234 includes the capacity of the packet storage unit 211, the number N of times that the retransmission request transmission unit 251 can transmit a retransmission request, N time limits from the first time limit to the Nth time limit corresponding to the number N, The communication parameter that is one or more types of information is changed according to the communication related information acquired by the communication related information acquisition unit 233.
 例えば、通信関連情報が端末数を含む場合、通信パラメータ変更部234は、端末数が閾値以上または閾値より多ければ、容量を増やして、回数Nを多くし、N個の期限を早めてもよいし、端末数が閾値以下または閾値より少なければ、回数Nを少なくし、N個の期限を遅くして、容量を減らしてもよい。 For example, when the communication-related information includes the number of terminals, the communication parameter changing unit 234 may increase the capacity, increase the number of times N, and advance the N deadlines if the number of terminals is greater than or equal to the threshold value. However, if the number of terminals is equal to or less than the threshold value or less than the threshold value, the number of times N may be decreased, the N deadlines may be delayed, and the capacity may be reduced.
 関連情報がエラー率情報を含む場合、通信パラメータ変更部234は、エラー率情報の示すエラー率が閾値以上または閾値より高ければ、または、容量を増やして、回数Nを多くし、N個の期限を早めてもよいし、エラー率が閾値以下または閾値より低ければ、回数Nを少なくし、N個の期限を遅くして、容量を減らしてもよい。または、通信関連情報が正常率情報を含む場合、通信パラメータ変更部234は、正常率情報の示す正常率が閾値以下または閾値より低ければ、容量を増やして、回数Nを多くし、N個の期限を早めてもよいし、正常率が閾値以上または閾値より高ければ、回数Nを少なくし、N個の期限を遅くして、容量を減らすことも可能である。 When the related information includes error rate information, the communication parameter changing unit 234 increases the number of times N by increasing the capacity if the error rate indicated by the error rate information is equal to or higher than the threshold value or higher than the threshold value. If the error rate is equal to or lower than the threshold value or lower than the threshold value, the number N may be reduced, and the N deadlines may be delayed to reduce the capacity. Alternatively, when the communication-related information includes normal rate information, the communication parameter changing unit 234 increases the capacity, increases the number of times N, and increases N if the normal rate indicated by the normal rate information is equal to or lower than the threshold value The time limit may be advanced, or if the normal rate is equal to or higher than the threshold value or higher than the threshold value, the number N may be reduced, and the N time limits may be delayed to reduce the capacity.
 端末処理部23は、速度情報を取得するタイミングか否かをも判別している。速度情報を取得するタイミングであると判別された場合、第一速度情報取得部236は、第一速度情報を取得し、第二速度情報取得部237は、第二速度情報を取得する。補完処理部238は、取得された第一および第二の2つの速度情報を用いて、ずれ情報を取得し、取得したずれ情報に基づいて、ずれ補完処理を行う。例えば、第一速度情報および第二速度情報に対応する2つの速度の比が“1000パケット/秒”対“1000.1パケット/秒”つまり10000:10001である場合、補完処理部238は、受信装置2側のクロックの周期を1/10000だけ遅延させる補完処理を行ってもよい。これにより、送信装置1および受信装置2の間のクロック周波数の誤差に起因する出力音声の乱れが解消または軽減される。 The terminal processing unit 23 also determines whether or not it is time to acquire speed information. When it is determined that it is time to acquire speed information, the first speed information acquisition unit 236 acquires first speed information, and the second speed information acquisition unit 237 acquires second speed information. The complement processing unit 238 acquires the shift information using the acquired first and second two speed information, and performs the shift complement process based on the acquired shift information. For example, when the ratio of the two speeds corresponding to the first speed information and the second speed information is “1000 packets / second” vs. “1000.1 packets / second”, that is, 10000: 10001, the complementary processing unit 238 receives Complementary processing for delaying the clock cycle on the apparatus 2 side by 1/10000 may be performed. Thereby, the disturbance of the output sound due to the error in the clock frequency between the transmission device 1 and the reception device 2 is eliminated or reduced.
 以上、本実施の形態によれば、送信装置1は、音声データを受け付けると、音声データを構成する2以上のパケットであり、パケットを識別するパケット識別子に対応する2以上のパケットを、順次送信し、パケット識別子を有する再送要求を受信装置2から受信すると、再送要求が有するパケット識別子に対応するパケットを、再送要求を送信した受信装置2に、ユニキャストで送信し、受信装置2は、送信装置1からパケットを受信すると、パケット格納部211に蓄積し、パケット格納部211に格納されているパケットであり、パケットに対応するパケット識別子を用いて、次に出力するパケットを取得し、次に出力するパケットを取得した場合に、次に出力するパケットを出力する一方、第一の期限までに次に出力するパケットを受信しない場合に、再送要求を送信装置1に送信する音声通信システムにより、受信装置2でのパケットロスの発生を抑え、受信装置2で生じる音声の乱れを解消または軽減しつつ、受信装置2での音声出力の遅延を短縮できる。 As described above, according to the present embodiment, when receiving audio data, transmitting apparatus 1 sequentially transmits two or more packets corresponding to a packet identifier that are two or more packets constituting the audio data and identifies the packet. When the retransmission request having the packet identifier is received from the receiving device 2, the packet corresponding to the packet identifier included in the retransmission request is transmitted by unicast to the receiving device 2 that has transmitted the retransmission request. When a packet is received from the apparatus 1, the packet is stored in the packet storage unit 211 and stored in the packet storage unit 211. The packet to be output next is acquired using the packet identifier corresponding to the packet, When the packet to be output is acquired, the next output packet is output, but the next output packet by the first deadline When not receiving, the voice communication system that transmits a retransmission request to the transmitter 1 suppresses the occurrence of packet loss in the receiver 2 and eliminates or reduces the audio disturbance generated in the receiver 2, while the receiver 2 Audio output delay can be reduced.
 また、上記音声通信システムにおいて、受信装置2は、第一の期限までに次に出力するパケットを受信したか否かを、パケットに対応するパケット識別子を用いて判断し、第一の期限までに次に出力するパケットを受信しなかったと判断した場合に、再送要求を送信装置に送信することで、受信装置でのパケットロスの発生を抑え、音声の乱れを解消または軽減しつつ、音声出力の遅延を短縮できる。 In the voice communication system, the receiving device 2 determines whether or not the next output packet is received by the first time limit by using the packet identifier corresponding to the packet, and by the first time limit. When it is determined that the packet to be output next has not been received, a retransmission request is transmitted to the transmission device, thereby suppressing the occurrence of packet loss at the reception device and eliminating or reducing the audio disturbance. Delay can be shortened.
 また、上記音声通信システムにおいて、受信装置2は、第Nの期限(Nは2以上の自然数)までに次に出力するパケットを受信しない場合に、N回目の再送要求を送信装置に送信することにより、受信装置2では、1回目の再送要求を送信しても、次に出力するパケットが受信されない場合、2回目以降の再送要求を送信することで、ロストパケットのリカバー率の向上が期待できる。 In the above voice communication system, the receiving apparatus 2 transmits an N-th retransmission request to the transmitting apparatus when the next output packet is not received by the Nth time limit (N is a natural number of 2 or more). Thus, if the next output packet is not received even if the first retransmission request is transmitted, the receiving apparatus 2 can be expected to improve the lost packet recovery rate by transmitting the second and subsequent retransmission requests. .
 また、上記音声通信システムにおいて、受信装置2は、送信装置1と当該受信装置2との間の通信に関する情報である通信関連情報を取得し、パケット格納部211の容量、再送要求を送信可能な回数N、第一の期限から回数Nに対応する第Nの期限までのN個の期限のうちの1種類以上の情報である通信パラメータを、通信関連情報に応じて、変更することにより、2以上の各受信装置2が、通信関連情報(端末数、エラー率等)を取得し、通信パラメータを通信関連情報に応じて動的に変更することで、送信装置1との間の通信に応じて、音声の乱れの解消または軽減を図ったり、バッファリング量の削減ひいては遅延の短縮を図ったりすることができる。 In the voice communication system, the reception device 2 can acquire communication-related information that is information related to communication between the transmission device 1 and the reception device 2, and can transmit the capacity of the packet storage unit 211 and a retransmission request. By changing the communication parameter, which is one or more types of information among the N times from the number N, the first time limit to the Nth time limit corresponding to the number N, according to the communication related information, 2 Each of the above receiving devices 2 obtains communication related information (number of terminals, error rate, etc.) and dynamically changes communication parameters according to the communication related information, thereby responding to communication with the transmitting device 1. Thus, it is possible to eliminate or reduce the audio disturbance, and to reduce the amount of buffering and thus the delay.
 また、上記音声通信システムにおいて、通信関連情報は、パケットを受信する受信装置2の数である端末数、または受信装置2が次に出力するパケットを受信できないことに関するエラー率情報、または受信装置2が次に出力するパケットを受信できたこと関する正常率情報のうちのいずれかの情報を含むことにより、2以上の各受信装置2が、通信パラメータを通信関連情報に含まれる端末数、エラー率または正常率に応じて動的に変更することで、送信装置との間の通信で生じるパケットロスの頻度に応じて、音声の乱れの解消または軽減を図ったり、バッファリング量の削減ひいては遅延の短縮を図ったりすることができる。 In the voice communication system, the communication-related information is the number of terminals that is the number of receiving apparatuses 2 that receive a packet, the error rate information regarding that the receiving apparatus 2 cannot receive the next output packet, or the receiving apparatus 2 By including any one of the normal rate information regarding that the packet to be output next can be received, each of the two or more receiving devices 2 has the communication parameter including the number of terminals and the error rate included in the communication related information. Or, by changing dynamically according to the normal rate, depending on the frequency of packet loss that occurs in communication with the transmitting device, it is possible to eliminate or reduce voice disturbance, reduce the amount of buffering, and thus reduce the delay. It can be shortened.
 また、上記音声通信システムにおいて、送信装置1は、パケットを受信する受信装置2の数に関する端末数情報を取得し、端末数情報に応じて、パケットを送信する方式として、マルチキャストまたはブロードキャストを採用するか、ユニキャストを採用するかを決定し、決定した方式に基づいて、パケットを送信することにより、送信装置1は、マルチキャストまたはブロードキャストと、ユニキャストとのうち、端末数に応じた方式でパケットを送信するので、端末数によらず、通信路の帯域への圧迫が軽減され、かつパケットロスによる音声の乱れが軽減される。 In the voice communication system, the transmission device 1 acquires terminal number information regarding the number of reception devices 2 that receive packets, and adopts multicast or broadcast as a method of transmitting packets according to the terminal number information. Or unicast is adopted, and the transmission device 1 transmits the packet based on the determined method, so that the transmission device 1 can transmit the packet in a method according to the number of terminals among multicast, broadcast, and unicast. Thus, regardless of the number of terminals, pressure on the communication path band is reduced, and voice disturbance due to packet loss is reduced.
 例えば、端末数が閾値以下または閾値より少ない場合は、利用帯域は多いがロスの少ないユニキャストでパケットを送信することで、帯域への圧迫と音声の乱れが共に軽減される端末数が閾値以上または閾値より多い場合は、利用帯域は少ないがロスの多いマルチキャストまたはブロードキャストでパケットを送信し、パケットロスが生じた場合の再送はユニキャストで行うことができる。 For example, when the number of terminals is less than or less than the threshold, the number of terminals that can reduce both compression on the band and voice disturbance by transmitting packets with unicast with a large amount of bandwidth but low loss is greater than or equal to the threshold. Alternatively, when the number is larger than the threshold, the packet is transmitted by multicast or broadcast with a small bandwidth but a large loss, and retransmission when packet loss occurs can be performed by unicast.
 また、上記音声通信システムにおいて、送信装置1は、受信装置2が受信できなかったパケットを構成するためのパケットであるチェックサムパケットを、送信する2以上のパケットを用いて生成し、チェックサムパケットを含む3以上のパケットを送信し、受信装置2は、チェックサムパケットを含む3以上のパケットを受信し、次に出力するパケットを取得できなかった場合、チェックサムパケットを含む2以上のパケットを用いて、次に出力するパケットを生成することにより、受信装置2で、パケットロスが発生し、再送要求を1回以上送信しても、次に出力するパケットを受信できない場合、当該受信装置2が受信したチェックサムパケットを含む2以上のパケットを用いてロストパケットを復元することができる。その結果、例えば、再送要求を送信し続ける場合と比べて、送受信の効率が高まる。 In the voice communication system, the transmission device 1 generates a checksum packet, which is a packet for configuring a packet that the reception device 2 could not receive, using two or more packets to be transmitted. When the receiving apparatus 2 receives three or more packets including a checksum packet and fails to obtain a packet to be output next, the receiving device 2 transmits two or more packets including the checksum packet. If a packet loss occurs in the receiving device 2 by generating a packet to be output next, and the packet to be output next cannot be received even if the retransmission request is transmitted one or more times, the receiving device 2 The lost packet can be reconstructed using two or more packets including the checksum packet received. As a result, for example, the transmission / reception efficiency is increased as compared with the case where the retransmission request is continuously transmitted.
 また、上記音声通信システムにおいて、送信装置1は、アナログの音声を受け付ける音声受付手段1211と、音声をデジタル変換し、音声データを取得するAD変換手段1212とを有し、受信装置2は、パケットをアナログ変換し、音声を取得するDA変換手段2611と、音声を出力する音声出力手段2612とを有し、受信装置2は、パケットを受信する速度に関する第一速度情報を取得し、受信装置2の処理速度に関する第二速度情報を取得して、第一速度情報と第二速度情報とから取得される情報であり、送信装置1と受信装置2とのクロック周波数の誤差に関するずれ情報に基づいて、クロック周波数の誤差を補完する処理であるずれ補完処理を行うことにより、送信装置1と各受信装置2の間で生じるクロック周波数の誤差に起因する出力音声の乱れを低減できる。 Further, in the above voice communication system, the transmission device 1 includes a voice reception unit 1211 that receives analog voice, and an AD conversion unit 1212 that digitally converts the voice and obtains voice data. Are converted to analog signals to obtain voice, and DA output means 2611 for outputting voice, and voice output means 2612 for outputting voice. The receiving apparatus 2 acquires first speed information regarding the speed at which packets are received, and the receiving apparatus 2 Is obtained from the first speed information and the second speed information, and is based on the deviation information about the clock frequency error between the transmission device 1 and the reception device 2. The error in the clock frequency that occurs between the transmission device 1 and each reception device 2 is obtained by performing a shift compensation process that is a process for compensating for an error in the clock frequency. It is possible to reduce the disturbance of the output sound due to.
 さらに、本実施の形態における処理は、ソフトウェアで実現してもよい。そして、このソフトウェアをソフトウェアダウンロード等により配布してもよい。また、このソフトウェアをDVDなどの記録媒体に記録して流布してもよい。なお、このことは、本明細書における他の実施の形態においても該当する。 Furthermore, the processing in the present embodiment may be realized by software. Then, this software may be distributed by software download or the like. Further, this software may be recorded on a recording medium such as a DVD and distributed. This also applies to other embodiments in this specification.
 なお、本実施の形態における送信装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、音声データを2以上の受信装置2に送信する送信装置1のコンピュータによって実行されるプログラムであって、前記コンピュータを、音声データを受け付ける音声データ受付部121と、前記音声データを構成する2以上のパケットであり、パケットを識別するパケット識別子に対応する2以上のパケットを、順次送信するパケット送信部151と、パケット識別子を有し、第一の期限までに次に出力するパケットを受信しない場合に送信された再送要求を前記受信装置2から受信する再送要求受信部141と、前記再送要求が有するパケット識別子に対応するパケットを、前記再送要求を送信した受信装置2に、ユニキャストで送信するパケット再送部152として機能させるためのプログラムである。 In addition, the software which implement | achieves the transmitter 1 in this Embodiment is the following programs. That is, this program is a program executed by a computer of the transmission device 1 that transmits audio data to two or more reception devices 2, and the computer receives the audio data reception unit 121 that receives audio data and the audio data. The packet transmission unit 151 that sequentially transmits two or more packets corresponding to the packet identifier that identifies the packet and the packet identifier, which are output next by the first deadline A retransmission request receiving unit 141 that receives a retransmission request transmitted from the receiving device 2 when not receiving a packet, and a packet corresponding to a packet identifier included in the retransmission request to the receiving device 2 that has transmitted the retransmission request. This is a program for causing the packet retransmission unit 152 to transmit by unicast.
 また、本実施の形態における受信装置2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、上記送信装置1から音声データを受信し出力する受信装置2のコンピュータによって実行されるプログラムであって、前記コンピュータがアクセス可能な記録媒体は、パケットを格納するパケット格納部211を格納しており、前記コンピュータを、前記送信装置1からパケットを受信し、前記パケット格納部211に蓄積するパケット受信部241と、前記パケット格納部211に格納されているパケットであり、パケットに対応するパケット識別子を用いて、次に出力するパケットを取得するパケット取得部231と、前記パケット取得部231が次に出力するパケットを取得した場合に、前記次に出力するパケットを出力する音声出力部261と、前記パケット受信部241が第一の期限までに次に出力するパケットを受信しない場合に、再送要求を前記送信装置1に送信する再送要求送信部251として機能させるためのプログラムである。 Further, the software that realizes the receiving apparatus 2 in the present embodiment is the following program. That is, this program is a program executed by the computer of the receiving device 2 that receives and outputs audio data from the transmitting device 1, and the recording medium accessible by the computer is a packet storage unit 211 that stores packets. A packet receiving unit 241 that receives a packet from the transmission device 1 and stores the packet in the packet storage unit 211, and a packet stored in the packet storage unit 211. A packet acquisition unit 231 that acquires a packet to be output next using a corresponding packet identifier, and an audio output that outputs the packet to be output next when the packet acquisition unit 231 acquires a packet to be output next 261 and the packet receiver 241 output next by the first time limit. If not receiving a packet, a program for functioning as a retransmission request transmitting unit 251 transmits a retransmission request to the transmitting apparatus 1.
 図6は、本実施の形態におけるプログラムを実行して、音声通信システムを実現するコンピュータシステム900の外観の一例を示す図である。本実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現され得る。図6において、コンピュータシステム900は、ディスクドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、ディスプレイ904とを備える。なお、キーボード902やマウス903やディスプレイ904をも含むシステム全体をコンピュータと呼んでもよい。 FIG. 6 is a diagram illustrating an example of the external appearance of a computer system 900 that executes the program according to the present embodiment to realize a voice communication system. The present embodiment can be realized by computer hardware and a computer program executed on the computer hardware. In FIG. 6, the computer system 900 includes a computer 901 including a disk drive 905, a keyboard 902, a mouse 903, and a display 904. Note that the entire system including the keyboard 902, the mouse 903, and the display 904 may be called a computer.
 図7は、コンピュータシステム900の内部構成の一例を示す図である。図7において、コンピュータ901は、ディスクドライブ905に加えて、MPU911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するストレージ914と、MPU911、ROM912等を相互に接続するバス915と、インターネット等のネットワークへの接続を提供するネットワークカード916と、を備える。ストレージ914は、例えば、ハードディスク、ソリッドステートドライブ、フラッシュメモリなどである。 FIG. 7 is a diagram illustrating an example of the internal configuration of the computer system 900. In FIG. 7, in addition to the disk drive 905, a computer 901 is connected to an MPU 911, a ROM 912 for storing a program such as a bootup program, and the MPU 911, and temporarily stores an instruction of an application program. A RAM 913 that provides storage space, a storage 914 that stores application programs, system programs, and data, a bus 915 that interconnects MPU 911, ROM 912, and the like, and a network card 916 that provides connection to a network such as the Internet . The storage 914 is, for example, a hard disk, a solid state drive, a flash memory, or the like.
 コンピュータシステム900に、音声通信システムの機能を実行させるプログラムは、例えば、DVD、CD-ROM等のディスク921に記憶されて、ディスクドライブ905に挿入され、ストレージ914に転送されてもよい。これに代えて、そのプログラムは、インターネット等のネットワークを介してコンピュータ901に送信され、ストレージ914に記憶されてもよい。プログラムは、実行の際にRAM913にロードされる。なお、プログラムは、ディスク921、またはネットワークから直接、ロードされてもよい。また、ディスク921に代えて他の着脱可能な記録媒体(例えば、DVDやメモリカード等)を介して、プログラムがコンピュータシステム900に読み込まれてもよい。 A program that causes the computer system 900 to execute the function of the voice communication system may be stored in a disk 921 such as a DVD or a CD-ROM, inserted into the disk drive 905, and transferred to the storage 914. Alternatively, the program may be transmitted to the computer 901 via a network such as the Internet and stored in the storage 914. The program is loaded into the RAM 913 when executed. The program may be loaded directly from the disk 921 or the network. Further, the program may be read into the computer system 900 via another removable recording medium (for example, a DVD or a memory card) instead of the disk 921.
 プログラムは、コンピュータの詳細を示す901に、音声通信システムの機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。 The program may not necessarily include an operating system (OS) or a third-party program for executing the function of the voice communication system in 901 indicating the details of the computer. The program may include only a part of an instruction that calls an appropriate function or module in a controlled manner and obtains a desired result. How the computer system 900 operates is well known and will not be described in detail.
 なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。 In the above program, in a transmission step for transmitting information, a reception step for receiving information, etc., processing performed by hardware, for example, processing performed by a modem or an interface card in the transmission step (only performed by hardware). Not included) is not included.
 また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。 Further, the computer that executes the program may be singular or plural. That is, centralized processing may be performed, or distributed processing may be performed.
 また、上記実施の形態において、一の装置に存在する2以上の通信手段(受信部14および送信部15など)は、物理的に一の媒体で実現されてもよいことは言うまでもない。 In the above embodiment, it is needless to say that two or more communication means (such as the reception unit 14 and the transmission unit 15) existing in one apparatus may be physically realized by one medium.
 また、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。 In the above embodiment, each processing (each function) may be realized by centralized processing by a single device (system), or may be realized by distributed processing by a plurality of devices. May be.
 本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。 The present invention is not limited to the above-described embodiment, and various modifications are possible, and it goes without saying that these are also included in the scope of the present invention.
 以上のように、本発明にかかる音声通信システム等によれば、受信装置でのパケットロスの発生を抑え、受信装置で生じる音声の乱れを解消または軽減しつつ、受信装置での音声出力の遅延を短縮できるという効果を有し、音声通信システム等として有用である。 As described above, according to the audio communication system and the like according to the present invention, the delay of audio output at the receiving device while suppressing the occurrence of packet loss at the receiving device and eliminating or reducing the audio disturbance occurring at the receiving device. Is useful as a voice communication system.

Claims (14)

  1. 音声データを送信する送信装置と音声データを受信し出力する2以上の受信装置とを具備する音声通信システムであって、
    前記送信装置は、
    音声データを受け付ける音声データ受付部と、
    前記音声データを構成する2以上のパケットであり、パケットを識別するパケット識別子に対応する2以上のパケットを、順次送信するパケット送信部と、
    パケット識別子を有する再送要求を前記受信装置から受信する再送要求受信部と、
    前記再送要求が有するパケット識別子に対応するパケットを、前記再送要求を送信した受信装置に、ユニキャストで送信するパケット再送部とを具備し、
    前記受信装置は、
    パケットを格納するパケット格納部と、
    前記送信装置からパケットを受信し、前記パケット格納部に蓄積するパケット受信部と、
    前記パケット格納部に格納されているパケットであり、パケットに対応するパケット識別子を用いて、次に出力するパケットを取得するパケット取得部と、
    前記パケット取得部が次に出力するパケットを取得した場合に、前記次に出力するパケットを出力する音声出力部と、
    前記パケット受信部が第一の期限までに次に出力するパケットを受信しない場合に、再送要求を前記送信装置に送信する再送要求送信部とを具備する音声通信システム。
    An audio communication system comprising a transmitting device for transmitting audio data and two or more receiving devices for receiving and outputting audio data,
    The transmitter is
    An audio data receiving unit for receiving audio data;
    A packet transmission unit that sequentially transmits two or more packets corresponding to a packet identifier that is a packet identifier that identifies two or more packets constituting the voice data;
    A retransmission request receiving unit for receiving a retransmission request having a packet identifier from the receiving device;
    A packet retransmission unit that transmits a packet corresponding to a packet identifier included in the retransmission request to a receiving apparatus that has transmitted the retransmission request by unicast;
    The receiving device is:
    A packet storage unit for storing packets;
    A packet receiving unit that receives packets from the transmitting device and stores the packets in the packet storage unit;
    A packet stored in the packet storage unit, using a packet identifier corresponding to the packet, a packet acquisition unit for acquiring a packet to be output next;
    When the packet acquisition unit acquires a packet to be output next, an audio output unit that outputs the packet to be output next;
    A voice communication system comprising: a retransmission request transmission unit configured to transmit a retransmission request to the transmission device when the packet reception unit does not receive a packet to be output next by a first time limit.
  2. 前記受信装置は、
    前記パケット受信部が第一の期限までに次に出力するパケットを受信したか否かを、パケットに対応するパケット識別子を用いて判断する判断部をさらに具備し、
    前記再送要求送信部は、
    前記判断部が、前記パケット受信部が第一の期限までに次に出力するパケットを受信しなかったと判断した場合に、再送要求を前記送信装置に送信する請求項1記載の音声通信システム。
    The receiving device is:
    A determination unit that determines whether the packet reception unit has received a packet to be output next before the first time limit by using a packet identifier corresponding to the packet;
    The retransmission request transmitter is
    2. The voice communication system according to claim 1, wherein the determination unit transmits a retransmission request to the transmission device when it is determined that the packet reception unit has not received the next packet to be output before the first time limit.
  3. 前記再送要求送信部は、
    前記パケット受信部が第Nの期限までに次に出力するパケットを受信しない場合に、N(Nは2以上の自然数)回目の再送要求を前記送信装置に送信する請求項1記載の音声通信システム。
    The retransmission request transmitter is
    2. The voice communication system according to claim 1, wherein when the packet receiving unit does not receive a packet to be output next before the N-th time limit, a N (N is a natural number of 2 or more) retransmission request is transmitted to the transmission device. .
  4. 前記受信装置は、
    送信装置と受信装置との間の通信に関する情報である通信関連情報を取得する通信関連情報取得部と、
    前記パケット格納部の容量、前記再送要求送信部が再送要求を送信可能な回数N、前記第一の期限から前記回数Nに対応する第Nの期限までのN個の期限のうちの1種類以上の情報である通信パラメータを、前記通信関連情報に応じて、変更する通信パラメータ変更部とをさらに具備する請求項1記載の音声通信システム。
    The receiving device is:
    A communication related information acquisition unit that acquires communication related information that is information related to communication between the transmission device and the reception device;
    One or more types of the capacity of the packet storage unit, the number N of times that the retransmission request transmission unit can transmit a retransmission request, and N time limits from the first time limit to the Nth time limit corresponding to the number N The voice communication system according to claim 1, further comprising: a communication parameter changing unit that changes the communication parameter which is the information of the communication parameter according to the communication related information.
  5. 前記通信関連情報は、
    パケットを受信する受信装置の数である端末数、または前記パケット受信部が次に出力するパケットを受信できないことに関するエラー率情報、または前記パケット受信部が次に出力するパケットを受信できたこと関する正常率情報のうちのいずれかの情報を含む請求項4記載の音声通信システム。
    The communication related information is:
    Number of terminals that are the number of receiving devices that receive packets, error rate information regarding that the packet receiving unit cannot receive the next output packet, or that the packet receiving unit has received the next output packet The voice communication system according to claim 4, comprising any of the normal rate information.
  6. 前記送信装置は、
    パケットを受信する受信装置の数に関する端末数情報を取得する端末数情報取得部と、
    前記端末数情報に応じて、パケットを送信する方式として、マルチキャストまたはブロードキャストを採用するか、ユニキャストを採用するかを決定する方式決定部とをさらに具備し、
    前記パケット送信部は、
    前記方式決定部が決定した方式に基づいて、パケットを送信する請求項1記載の音声通信システム。
    The transmitter is
    A terminal number information acquisition unit that acquires terminal number information related to the number of receiving apparatuses that receive packets;
    According to the number-of-terminals information, a method determining unit that determines whether to adopt multicast or broadcast or unicast as a method of transmitting a packet,
    The packet transmitter is
    The voice communication system according to claim 1, wherein the packet is transmitted based on a method determined by the method determining unit.
  7. 前記送信装置は、
    前記受信装置が受信できなかったパケットを構成するためのパケットであるチェックサムパケットを、前記パケット送信部が送信する2以上のパケットを用いて生成するチェックサムパケット生成部をさらに具備し、
    前記パケット送信部は、
    前記チェックサムパケットを含む3以上のパケットを送信し、
    前記パケット受信部は、
    前記チェックサムパケットを含む3以上のパケットを受信し、
    前記受信装置は、
    前記パケット取得部が次に出力するパケットを取得できなかった場合、前記チェックサムパケットを含む2以上のパケットを用いて、前記次に出力するパケットを生成するパケット生成部をさらに具備する請求項1記載の音声通信システム。
    The transmitter is
    A checksum packet generation unit that generates a checksum packet that is a packet that constitutes a packet that could not be received by the reception device using two or more packets that the packet transmission unit transmits;
    The packet transmitter is
    Sending three or more packets including the checksum packet;
    The packet receiver
    Receiving three or more packets including the checksum packet;
    The receiving device is:
    The packet generation unit further generates a packet to be output next using two or more packets including the checksum packet when the packet acquisition unit cannot acquire a packet to be output next. The described voice communication system.
  8. 前記音声データ受付部は、
    アナログの音声を受け付ける音声受付手段と、
    前記音声をデジタル変換し、音声データを取得するAD変換手段とを具備し、
    前記音声出力部は、
    前記パケットをアナログ変換し、音声を取得するDA変換手段と、
    前記音声を出力する音声出力手段とを具備し、
    前記受信装置は、
    前記パケット受信部がパケットを受信する速度に関する第一速度情報を取得する第一速度情報取得部と、
    当該受信装置の処理速度に関する第二速度情報を取得する第二速度情報取得部と、
    前記第一速度情報と前記第二速度情報とから取得される情報であり、送信装置と受信装置とのクロック周波数の誤差に関するずれ情報に基づいて、当該クロック周波数の誤差を補完する処理であるずれ補完処理を行う補完処理部とをさらに具備する請求項1記載の音声通信システム。
    The voice data receiving unit
    Voice receiving means for receiving analog voice;
    AD conversion means for digitally converting the sound and obtaining sound data,
    The audio output unit
    DA conversion means for analog-converting the packet and obtaining voice;
    Voice output means for outputting the voice,
    The receiving device is:
    A first rate information acquisition unit for acquiring first rate information relating to a rate at which the packet receiving unit receives a packet;
    A second speed information acquisition unit for acquiring second speed information regarding the processing speed of the receiving device;
    A shift that is information acquired from the first speed information and the second speed information, and that is a process of complementing the clock frequency error based on the shift information regarding the clock frequency error between the transmitting device and the receiving device. The voice communication system according to claim 1, further comprising a complement processing unit that performs a complement process.
  9. 音声データを2以上の受信装置に送信する送信装置であって、
    音声データを受け付ける音声データ受付部と、
    前記音声データを構成する2以上のパケットであり、パケットを識別するパケット識別子に対応する2以上のパケットを、順次送信するパケット送信部と、
    パケット識別子を有し、第一の期限までに次に出力するパケットを受信しない場合に送信された再送要求を前記受信装置から受信する再送要求受信部と、
    前記再送要求が有するパケット識別子に対応するパケットを、前記再送要求を送信した受信装置に、ユニキャストで送信するパケット再送部とを具備する送信装置。
    A transmitting device that transmits audio data to two or more receiving devices,
    An audio data receiving unit for receiving audio data;
    A packet transmission unit that sequentially transmits two or more packets corresponding to a packet identifier that is a packet identifier that identifies two or more packets constituting the voice data;
    A retransmission request receiving unit that has a packet identifier and receives a retransmission request transmitted from the receiving device when a packet to be output next is not received by the first deadline;
    A transmission apparatus comprising: a packet retransmission unit that unicasts a packet corresponding to a packet identifier included in the retransmission request to a reception apparatus that has transmitted the retransmission request.
  10. 請求項9記載の送信装置から音声データを受信し出力する受信装置であって、
    パケットを格納するパケット格納部と、
    前記送信装置からパケットを受信し、前記パケット格納部に蓄積するパケット受信部と、
    前記パケット格納部に格納されているパケットであり、パケットに対応するパケット識別子を用いて、次に出力するパケットを取得するパケット取得部と、
    前記パケット取得部が次に出力するパケットを取得した場合に、前記次に出力するパケットを出力する音声出力部と、
    前記パケット受信部が第一の期限までに次に出力するパケットを受信しない場合に、再送要求を前記送信装置に送信する再送要求送信部とを具備する受信装置。
    A receiving device that receives and outputs audio data from the transmitting device according to claim 9,
    A packet storage unit for storing packets;
    A packet receiving unit that receives packets from the transmitting device and stores the packets in the packet storage unit;
    A packet stored in the packet storage unit, using a packet identifier corresponding to the packet, a packet acquisition unit for acquiring a packet to be output next;
    When the packet acquisition unit acquires a packet to be output next, an audio output unit that outputs the packet to be output next;
    A receiving apparatus comprising: a retransmission request transmitting section that transmits a retransmission request to the transmitting apparatus when the packet receiving section does not receive a packet to be output next by a first time limit.
  11. 音声データを2以上の受信装置に送信する送信装置が具備する音声データ受付部、パケット送信部、再送要求受信部、およびパケット再送部によって行われる送信方法であって、
    前記音声データ受付部が、音声データを受け付ける音声データ受付ステップと、
    前記パケット送信部が、前記音声データを構成する2以上のパケットであり、パケットを識別するパケット識別子に対応する2以上のパケットを、順次送信するパケット送信ステップと、
    前記再送要求受信部が、パケット識別子を有し、第一の期限までに次に出力するパケットを受信しない場合に送信された再送要求を前記受信装置から受信する再送要求受信ステップと、
    前記パケット再送部が、前記再送要求が有するパケット識別子に対応するパケットを、前記再送要求を送信した受信装置に、ユニキャストで送信するパケット再送ステップとを含む送信方法。
    A transmission method performed by an audio data reception unit, a packet transmission unit, a retransmission request reception unit, and a packet retransmission unit included in a transmission device that transmits audio data to two or more reception devices,
    A voice data receiving step in which the voice data receiving unit receives voice data;
    A packet transmission step in which the packet transmission unit sequentially transmits two or more packets corresponding to a packet identifier that identifies two or more packets constituting the voice data;
    A retransmission request receiving step for receiving, from the receiving device, a retransmission request transmitted when the retransmission request receiving unit has a packet identifier and does not receive a packet to be output next by a first time limit;
    A packet retransmission step in which the packet retransmission unit transmits a packet corresponding to a packet identifier included in the retransmission request to a receiving apparatus that has transmitted the retransmission request by unicast.
  12. 請求項11記載の送信装置から音声データを受信し出力する受信装置が具備するパケット受信部、パケット取得部、音声出力部、および再送要求送信部によって行われる受信方法であって、
    記録媒体は、
    パケットを格納するパケット格納部を具備しており、
    前記パケット受信部が、前記送信装置からパケットを受信し、前記パケット格納部に蓄積するパケット受信ステップと、
    前記パケット取得部が、前記パケット格納部に格納されているパケットであり、パケットに対応するパケット識別子を用いて、次に出力するパケットを取得するパケット取得ステップと、
    前記音声出力部が、前記パケット取得部が次に出力するパケットを取得した場合に、前記次に出力するパケットを出力する音声出力ステップと、
    前記再送要求送信部が、前記パケット受信部が第一の期限までに次に出力するパケットを受信しない場合に、再送要求を前記送信装置に送信する再送要求送信ステップとを含む受信方法。
    A reception method performed by a packet reception unit, a packet acquisition unit, a voice output unit, and a retransmission request transmission unit included in a reception device that receives and outputs audio data from the transmission device according to claim 11,
    The recording medium is
    A packet storage unit for storing packets;
    A packet receiving step in which the packet receiving unit receives a packet from the transmission device and accumulates the packet in the packet storage unit;
    The packet acquisition unit is a packet stored in the packet storage unit, and a packet acquisition step of acquiring a packet to be output next using a packet identifier corresponding to the packet;
    When the voice output unit acquires a packet to be output next by the packet acquisition unit, a voice output step of outputting the packet to be output next;
    A retransmission method, comprising: a retransmission request transmission step in which the retransmission request transmission unit transmits a retransmission request to the transmission device when the packet reception unit does not receive the next packet to be output before the first time limit.
  13. 音声データを2以上の受信装置に送信する送信装置のコンピュータによって実行されるプログラムを記録した記録媒体であって、
    前記コンピュータを、
    音声データを受け付ける音声データ受付部と、
    前記音声データを構成する2以上のパケットであり、パケットを識別するパケット識別子に対応する2以上のパケットを、順次送信するパケット送信部と、
    パケット識別子を有し、第一の期限までに次に出力するパケットを受信しない場合に送信された再送要求を前記受信装置から受信する再送要求受信部と、
    前記再送要求が有するパケット識別子に対応するパケットを、前記再送要求を送信した受信装置に、ユニキャストで送信するパケット再送部として機能させるためのプログラムを記録した記録媒体。
    A recording medium that records a program executed by a computer of a transmitting device that transmits audio data to two or more receiving devices,
    The computer,
    An audio data receiving unit for receiving audio data;
    A packet transmission unit that sequentially transmits two or more packets corresponding to a packet identifier that is a packet identifier that identifies two or more packets constituting the voice data;
    A retransmission request receiving unit that has a packet identifier and receives a retransmission request transmitted from the receiving device when a packet to be output next is not received by the first deadline;
    A recording medium recording a program for causing a receiving apparatus that has transmitted the retransmission request to function as a packet retransmission unit that transmits a packet corresponding to the packet identifier included in the retransmission request by unicast.
  14. 請求項13記載の送信装置から音声データを受信し出力する受信装置のコンピュータによって実行されるプログラムを記録した記録媒体であって、
    前記コンピュータがアクセス可能な記録媒体は、
    パケットを格納するパケット格納部を具備しており、
    前記コンピュータを、
    前記送信装置からパケットを受信し、前記パケット格納部に蓄積するパケット受信部と、
    前記パケット格納部に格納されているパケットであり、パケットに対応するパケット識別子を用いて、次に出力するパケットを取得するパケット取得部と、
    前記パケット取得部が次に出力するパケットを取得した場合に、前記次に出力するパケットを出力する音声出力部と、
    前記パケット受信部が第一の期限までに次に出力するパケットを受信しない場合に、再送要求を前記送信装置に送信する再送要求送信部として機能させるためのプログラムを記録した記録媒体。
    A recording medium recording a program executed by a computer of a receiving device that receives and outputs audio data from the transmitting device according to claim 13,
    The computer-accessible recording medium is
    A packet storage unit for storing packets;
    The computer,
    A packet receiving unit that receives packets from the transmitting device and stores the packets in the packet storage unit;
    A packet stored in the packet storage unit, using a packet identifier corresponding to the packet, a packet acquisition unit for acquiring a packet to be output next;
    When the packet acquisition unit acquires a packet to be output next, an audio output unit that outputs the packet to be output next;
    A recording medium on which a program for causing a retransmission request to function as a retransmission request transmission unit that transmits a retransmission request to the transmission device when the packet reception unit does not receive a packet to be output next by a first time limit.
PCT/JP2017/024431 2016-07-08 2017-07-04 Audio communication system, transmission device, reception device, transmission method, reception method, and recording medium WO2018008618A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-135624 2016-07-08
JP2016135624A JP2018007192A (en) 2016-07-08 2016-07-08 Voice communication system, transmitter, receiver, transmission method, reception method, and program

Publications (1)

Publication Number Publication Date
WO2018008618A1 true WO2018008618A1 (en) 2018-01-11

Family

ID=60912726

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/024431 WO2018008618A1 (en) 2016-07-08 2017-07-04 Audio communication system, transmission device, reception device, transmission method, reception method, and recording medium

Country Status (2)

Country Link
JP (1) JP2018007192A (en)
WO (1) WO2018008618A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005276079A (en) * 2004-03-26 2005-10-06 Matsushita Electric Ind Co Ltd Data distribution server and data distribution system
JP2005354542A (en) * 2004-06-14 2005-12-22 Hitachi Kokusai Electric Inc Receiver
JP2007134836A (en) * 2005-11-09 2007-05-31 Sony Corp Packet transmitter, communication system and program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3871661B2 (en) * 2003-07-25 2007-01-24 株式会社東芝 Multimedia content receiving apparatus and multimedia content receiving method
JP4269933B2 (en) * 2003-12-24 2009-05-27 岩崎通信機株式会社 IP telephone dynamic buffer control method and apparatus
JP4462996B2 (en) * 2004-04-27 2010-05-12 富士通株式会社 Packet receiving method and packet receiving apparatus
US8543893B2 (en) * 2009-09-02 2013-09-24 Agere Systems Llc Receiver for error-protected packet-based frame
KR20120082416A (en) * 2009-10-07 2012-07-23 톰슨 라이센싱 An efficient application-layer automatic repeat request retransmission method for reliable real-time data streaming in networks
JP2012213110A (en) * 2011-03-31 2012-11-01 Sony Corp Wireless communication device and wireless communication method, and wireless communication system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005276079A (en) * 2004-03-26 2005-10-06 Matsushita Electric Ind Co Ltd Data distribution server and data distribution system
JP2005354542A (en) * 2004-06-14 2005-12-22 Hitachi Kokusai Electric Inc Receiver
JP2007134836A (en) * 2005-11-09 2007-05-31 Sony Corp Packet transmitter, communication system and program

Also Published As

Publication number Publication date
JP2018007192A (en) 2018-01-11

Similar Documents

Publication Publication Date Title
US11223439B1 (en) Maintaining a time of day in a physical layer circuit including compensating for drift away from a grandmaster time
CN109889543B (en) Video transmission method, root node, child node, P2P server and system
EP3304851B1 (en) Audio data buffering
US9338208B2 (en) Common event-based multidevice media playback
JP5854243B2 (en) Method and apparatus for IP video signal synchronization
US20140068107A1 (en) Common event-based multidevice media playback
WO2016145235A1 (en) Location based services audio system
CN114328618B (en) Cache data synchronization method, device, equipment and storage medium
US20170286051A1 (en) Clock Synchronization for Audio Playback Devices
CN107104782B (en) Data transmission method and device
CN106105141A (en) Realize the delivery acceleration device of extension transmission control function
KR102132309B1 (en) Playback synchronization
WO2014078818A1 (en) Common event-based multidevice media playback
CN110830460A (en) Connection establishing method and device, electronic equipment and storage medium
JP6116240B2 (en) Transmission device, transmission method, and program
WO2018008618A1 (en) Audio communication system, transmission device, reception device, transmission method, reception method, and recording medium
US10686897B2 (en) Method and system for transmission and low-latency real-time output and/or processing of an audio data stream
US20170318071A1 (en) Method to Handle Problematic Patterns in a Low Latency Multimedia Streaming Environment
WO2023078232A1 (en) Transmission method and apparatus
JP6582722B2 (en) Content distribution device
US20160299713A1 (en) Data aggregator serving between data source and electronic device and associated data management method
US10050693B2 (en) Method and system for reducing sounding overhead in wireless communication
KR101627796B1 (en) Device Indicator Data Transmitting Method for Network based AV System
JP5506362B2 (en) Transmission device and transmission method
WO2016203870A1 (en) Transmission apparatus, transmission method, and communication system

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17824221

Country of ref document: EP

Kind code of ref document: A1