JP2005045739A - Apparatus, method and system for telephone conversation - Google Patents
Apparatus, method and system for telephone conversation Download PDFInfo
- Publication number
- JP2005045739A JP2005045739A JP2003280431A JP2003280431A JP2005045739A JP 2005045739 A JP2005045739 A JP 2005045739A JP 2003280431 A JP2003280431 A JP 2003280431A JP 2003280431 A JP2003280431 A JP 2003280431A JP 2005045739 A JP2005045739 A JP 2005045739A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- control
- data
- call
- information
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
本発明は、例えばVoIP(Voice over Internet Protocol)を使用したいわゆるインターネット電話等を行う通話装置、通話方法及び通話システムに関し、特に高音質の音声及び音響からなる実時間音響データをやり取りするために好適な通話装置、通話方法及び通話システムに関する。 The present invention relates to a call device, a call method, and a call system that perform a so-called Internet telephone using, for example, VoIP (Voice over Internet Protocol), and is particularly suitable for exchanging real-time acoustic data composed of high-quality voice and sound. TECHNICAL FIELD The present invention relates to a simple call device, a call method, and a call system.
音声をIPパケットにしてカプセル化することでIP網を介した音声通話を可能とする技術として、VoIPがある。VoIPによる通話を行うためには、通話したい相手の情報の取得、通話したい相手の呼び出し、応答といった一連の情報交換をする必要があり、これらの目的のために、SIP(Session Initiation Protocol)等の呼制御プロトコルが使用される。 VoIP is a technology that enables voice communication via an IP network by encapsulating voice in IP packets. In order to make a call by VoIP, it is necessary to exchange a series of information such as acquisition of information on the other party to be called, calling of the other party to be called, and response. For these purposes, SIP (Session Initiation Protocol) etc. A call control protocol is used.
近年、このようなVoIPを含め、インターネット等の通信回線網を利用し、実時間動画像データや、音声データ等の実時間音響データ等の実時間データを送信するシステムが増えている。このようなインターネット等の公衆回線網においては、複数の利用者がネットワークの帯域を供給しているため、輻輳制御手法、すなわち輻輳の回避及び輻輳発生時の鎮静化手法が大きな課題となっている。従って、実時間性を重要とする通信形態が増えるという変化に伴い、実時間データの通信における輻輳制御手法が重要になってきている(下記特許文献1参照)。
In recent years, systems that transmit real-time data such as real-time moving image data and real-time acoustic data such as audio data by using a communication network such as the Internet including such VoIP are increasing. In such a public line network such as the Internet, since a plurality of users supply the network bandwidth, a congestion control method, that is, a congestion avoidance method and a sedation method at the time of occurrence of congestion is a major issue. . Therefore, with a change in the number of communication modes in which real-time property is important, congestion control techniques in real-time data communication have become important (see
ところで、従来、VoIPを使用した実時間音声コミュニケーションにおいては、人の音声の主たる情報が含まれているのは、4〜5KHz付近の周波数帯域であったため、チャンネル数は1、標本化周波数を8KHz〜16KHzに設定するのが常道であった。しかし、このような狭い帯域では背景雑音や雰囲気等を伝達するのは困難である。 By the way, conventionally, in real-time voice communication using VoIP, the main information of human voice is included in the frequency band near 4 to 5 KHz, so the number of channels is 1 and the sampling frequency is 8 KHz. It was usual to set to ~ 16KHz. However, it is difficult to transmit background noise and atmosphere in such a narrow band.
そこで、チャンネル数を2以上に設定し、標本化周波数をCDDA(Compact Disk Digital Audio)並の44.1KHzまで引き上げると、背景雑音や雰囲気等も伝送でき、また加えて、音声コミュニケーションに、既存の楽曲コンテンツを流用した高音質なBGM機能等を付加することなども可能になる。 Therefore, if the number of channels is set to 2 or more and the sampling frequency is raised to 44.1 KHz, which is the same level as CDDA (Compact Disk Digital Audio), background noise and atmosphere can be transmitted. It is also possible to add a high-quality BGM function using music content.
ところがチャンネル数を2以上に設定し、標本化周波数をCDDA並の44.1KHzまで引き上げて、無圧縮の16bits LinearPCM(Phase Code Modulation:パルス符号変調)のデータを伝送する場合、ネットワーク上の伝送ビットレートは1411.2Kbps以上になってしまい、実インターネット環境で利用するのは難しい。したがって、現状では高能率符号化方式を用いる必要があるが、近時のCPUの性能の向上により、実時間音声コミュニケーションにおいても高能率符号化方式を採用することが可能になってきている。 However, when the number of channels is set to 2 or more, the sampling frequency is raised to 44.1 KHz, which is the same level as CDDA, and uncompressed 16-bit Linear PCM (Phase Code Modulation) data is transmitted, the transmission bit on the network The rate is over 1411.2Kbps, making it difficult to use in a real internet environment. Therefore, it is necessary to use a high-efficiency encoding method at present, but with the recent improvement in CPU performance, it has become possible to adopt a high-efficiency encoding method even in real-time voice communication.
なお、高能率符号化方式にはいくつかの方式があるが、先ず周波数分解を行い、信号を複数のサブバンドに分割したうえ、それぞれのブロックを、聴覚心理特性を利用して符号化精度を適応的に変化させて、必要最低限のビット数で所定の周波数成分をエントロピー符号するものが殆どである。この高能率符号化により、符号化する周波数成分に応じてビットレートは可変になる。 There are several high-efficiency encoding methods. First, frequency decomposition is performed, the signal is divided into a plurality of subbands, and each block is encoded using the psychoacoustic characteristics. Most of them adaptively change and entropy code a predetermined frequency component with a minimum number of bits. With this high-efficiency encoding, the bit rate becomes variable according to the frequency component to be encoded.
即ち、従来の一般の電話のように、伝送ビットレートも音のクオリティも低い場合には、ネットワーク状況に応じて動的に圧縮方式のパラメータを変更して輻輳制御をする必要が生じなかったものの、BGM機能等を付加したような高音質な実時間音響データをやり取りする実時間音声コミュニケーションを行う場合には、ネットワークのデータ伝送レートが高くなる。したがって、通話中に何らかの要因でネットワーク帯域が混雑しはじめた場合、通話が一時的に遮断されることを余儀なくされることが少なくなく、このようなBGM機能が付加されているような高音質音声の実時間コミュニケーションにおいては、上記特許文献1のように、動的に圧縮方式のパラメータを変更する必要が生じる。
That is, when the transmission bit rate and the sound quality are low as in the case of the conventional general telephone, it is not necessary to dynamically control the congestion by changing the compression method parameters according to the network conditions. In the case of performing real-time voice communication for exchanging high-quality real-time acoustic data with the addition of the BGM function or the like, the data transmission rate of the network becomes high. Therefore, when the network bandwidth starts to be congested for some reason during a call, the call is often forced to be temporarily interrupted, and high-quality sound with such a BGM function added. In the real-time communication, it is necessary to dynamically change the parameters of the compression method as in
しかしながら、VoIPによる実時間音声コミュニケーションにおいては、基本的にはSIP等の呼制御プロトコルを用いてシグナリングを行い、通話相手のIPアドレス・ポート番号・音声及び音響圧縮方式を知る。そして、自身とその目標アドレスとの間で双方向にRTP(Real-Time Transport Protocol)及びRTCP(Real-Time Control Protocol)のストリームを送受信するのが基本的な仕組みである。通常、一度RTPのストリームが確立されると、音声圧縮方式は再呼制御を行わない限り変更できない。また、再呼制御を行うと通話が一時的に遮断される。 However, in real-time voice communication by VoIP, basically, signaling is performed using a call control protocol such as SIP to know the IP address, port number, voice and acoustic compression method of the other party. The basic mechanism is to send and receive RTP (Real-Time Transport Protocol) and RTCP (Real-Time Control Protocol) streams bi-directionally between itself and its target address. Normally, once an RTP stream is established, the audio compression method cannot be changed unless the recall control is performed. Further, when the recall control is performed, the call is temporarily interrupted.
即ち、符号化する周波数成分に応じて別々の音声・音楽圧縮方式として分類してしまうと、再呼制御が必要となるため、ネットワーク帯域が何らかの理由で混雑する等した際、そのままの伝送ビットレートであっても、伝送ビットレートを下げるために必要となる再呼制御によっても、通話が一時的に遮断されてしまうという問題点がある。そこで、同一の音声・音楽圧縮方式がネットワーク帯域に応じて、通話を遮断することなく動的にサブバンド分割数及び符号化すべき周波数成分を決定する仕組みの一般化が望まれる。 In other words, if it is classified as a separate voice / music compression method according to the frequency component to be encoded, it is necessary to perform recall control. Therefore, when the network bandwidth is congested for some reason, the transmission bit rate remains unchanged. Even so, there is a problem that the call is temporarily interrupted even by the recall control required to lower the transmission bit rate. Therefore, it is desired to generalize a mechanism in which the same voice / music compression method dynamically determines the number of subband divisions and frequency components to be encoded without blocking a call according to the network band.
本発明は、このような従来の実情に鑑みて提案されたものであり、音声にBGM及び効果音等を合成した高音質な音声コミュニケーションをインターネットを介して行う際に、通話を遮断することなく、ネットワーク帯域に応じて符号化・伝送する音響周波数成分を動的に決定することができる通話装置、通話方法及び通話システムを提供することを目的とする。 The present invention has been proposed in view of such a conventional situation, and when performing high-quality voice communication in which voice is synthesized with BGM, sound effects and the like via the Internet, the call is not interrupted. Another object of the present invention is to provide a call device, a call method, and a call system capable of dynamically determining an acoustic frequency component to be encoded / transmitted according to a network band.
上述した目的を達成するために、本発明に係る通話装置は、インターネットを介して実時間音響データの送受信を行う通話装置において、音声を含む実時間音響データを圧縮符号化する圧縮符号化手段と、上記圧縮符号化手段により圧縮符号化されたデータを格納したデータパケットを生成するデータパケット生成手段と、少なくとも上記データパケットの送受信を管理する管理情報を格納した制御パケットを生成する制御パケット生成手段と、1以上の他の通話装置に対して、上記データパケット及び上記制御パケットを送信する送信手段と、上記他の通話装置からのデータパケット及び制御パケットを受信する受信手段と、上記他の通話装置からのデータパケットの伝送レートを制御する制御情報を生成する制御手段とを有し、上記制御パケット生成手段は、上記管理情報と共に上記制御情報を格納した上記制御パケットを生成することを特徴とする。 In order to achieve the above-described object, a communication device according to the present invention includes a compression encoding unit that compresses and encodes real-time acoustic data including voice in a communication device that transmits and receives real-time acoustic data via the Internet. A data packet generating means for generating a data packet storing data compressed and encoded by the compression encoding means, and a control packet generating means for generating a control packet storing at least management information for managing transmission / reception of the data packet Transmitting means for transmitting the data packet and the control packet to one or more other communication devices; receiving means for receiving the data packet and control packet from the other communication device; and the other communication Control means for generating control information for controlling the transmission rate of data packets from the device, and the control Packet generating means, and generates the control packet that stores the control information together with the management information.
本発明においては、他の通話装置からのデータパケットの伝送レートを制御する制御情報生成し、これを上記管理情報と共に格納した上記制御パケットとして他の通話装置に送信することで、これを受信する他の通話装置に対し、制御パケットの制御情報に基づき他の通話装置が送信するデータパケットの伝送レートを設定させることができる。即ち、ネットワーク帯域が急激に混雑し始めた場合や受信側で聞き取りにくい等の状態が生じた場合に、データパケットの受信側でデータパケットの送信側の送信データの伝送レートの制御をすることができ、またこの制御情報を、呼制御の際のメッセージではなく、制御パケットと共に送信するため、データパケットの送受信を停止する必要がない。 In the present invention, the control information for controlling the transmission rate of the data packet from the other communication device is generated, and this is received by transmitting it to the other communication device as the control packet stored together with the management information. It is possible to set the transmission rate of the data packet transmitted by the other call device based on the control information of the control packet. In other words, when the network bandwidth starts to be suddenly congested or when it is difficult to hear on the receiving side, the data packet receiving side can control the transmission rate of transmission data on the data packet transmitting side. In addition, since this control information is transmitted together with the control packet instead of the message at the time of call control, it is not necessary to stop the transmission / reception of the data packet.
また、上記制御手段は、上記受信手段が受信する上記他の通話装置からのデータパケットの伝送レートを計測し、該計測結果に基づき上記制御情報を生成するか、又はユーザ操作に基づき上記制御情報を生成することができ、この制御情報としては、上記他の通話装置からのデータパケットに格納される実時間音響データの圧縮率を制御する情報、例えば上記他の通話装置からのデータパケットに格納される実時間音響データの圧縮すべき周波数帯域及び/又はサブバンド分割数を指定する情報等とすることができ。これにより、他の通話装置が送信してくるデータパケットに格納する実時間音響データの圧縮符号化方式を変更させることができる。 Further, the control means measures the transmission rate of the data packet from the other call device received by the receiving means, and generates the control information based on the measurement result, or the control information based on a user operation. As the control information, information for controlling the compression rate of the real-time acoustic data stored in the data packet from the other call device, for example, the data packet from the other call device is stored. Information specifying the frequency band to be compressed and / or the number of subband divisions of the real-time acoustic data to be compressed. Thereby, the compression encoding system of the real-time acoustic data stored in the data packet transmitted by another telephone apparatus can be changed.
更に、上記受信手段は、受信した上記データパケットをバッファリングする受信バッファを有し、上記制御手段は、上記受信バッファのサイズに応じて欠落データパケットの再送要求を指示する再送要求指示情報を生成し、上記制御パケット生成手段は、上記再送要求指示情報を格納した上記制御パケットを生成することができ、他の通話装置からの伝送レートを制御する制御情報と供に、受信されるまでにエラーが生じるか又は伝送途中で失われる等した欠落パケットの再送要求を行う再送要求指示情報を制御パケットにて送信することができる。
更にまた、上記データパケットに格納された実時間音響データは、音声とバックグラウンドミュージック及び/又は効果音とが合成されたものであり、音声のみではなくバックグラウンドミュージック等が付加されて情報量が大きい送信データであっても必要に応じて伝送レートを制御することにより通信が遮断されることがない。 Furthermore, the real-time acoustic data stored in the data packet is a combination of voice and background music and / or sound effects, and not only the voice but also background music is added to reduce the amount of information. Even if the transmission data is large, communication is not interrupted by controlling the transmission rate as necessary.
また、上記圧縮符号化手段は、上記他の通話装置からの制御パケットに格納された上記伝送レートを制御する制御情報に基づき上記他の通話装置に送信する実時間音響データの圧縮率を変更することができ、通話相手となる他の通話装置からの要求に応じて送信するデータパケットに格納する実時間音響データの圧縮率を変更し、送信するデータパケットの伝送レートを可変とすることができる。 The compression encoding means changes a compression rate of real-time acoustic data to be transmitted to the other call device based on control information for controlling the transmission rate stored in a control packet from the other call device. It is possible to change the compression rate of real-time acoustic data stored in a data packet to be transmitted in response to a request from another telephone device that is a call partner, and to change the transmission rate of the data packet to be transmitted .
本発明に係る通話方法は、インターネットを介して実時間音響データの送受信を行う通話方法において、音声を含む実時間音響データを圧縮符号化する圧縮符号化工程と、上記圧縮符号化工程にて圧縮符号化されたデータを格納したデータパケットを生成するデータパケット生成工程と、少なくとも上記データパケットの送受信を管理する管理情報を格納した制御パケットを生成する制御パケット生成工程と、1以上の他の通話装置に対して、上記データパケット及び上記制御パケットを送信する送信工程と、上記他の通話装置からのデータパケット及び制御パケットを受信する受信工程と、上記他の通話装置からのデータパケットの伝送レートを制御する制御情報を生成する制御工程とを有し、上記制御パケット生成工程では、上記管理情報と共に上記制御情報を格納した上記制御パケットを生成することを特徴とする。 The call method according to the present invention is a call method for transmitting and receiving real-time acoustic data via the Internet. A compression encoding step for compressing and encoding real-time acoustic data including speech, and compression by the compression encoding step. A data packet generating step for generating a data packet storing encoded data, a control packet generating step for generating a control packet storing at least management information for managing transmission / reception of the data packet, and one or more other calls A transmission step of transmitting the data packet and the control packet to a device; a reception step of receiving the data packet and the control packet from the other communication device; and a transmission rate of the data packet from the other communication device. And a control step for generating control information for controlling the control packet. And generating the control packet that stores the control information together.
本発明に係る通話システムは、2以上の通話装置がインターネットを介して実時間音響データの送受信を行う通話システムにおいて、各通話装置は、音声を含む実時間音響データを圧縮符号化する圧縮符号化手段と、上記圧縮符号化手段により圧縮符号化されたデータを格納したデータパケットを生成するデータパケット生成手段と、少なくとも上記データパケットの送受信を管理する管理情報を格納した制御パケットを生成する制御パケット生成手段と、1以上の他の通話装置に対して、上記データパケット及び上記制御パケットを送信する送信手段と、上記他の通話装置からのデータパケット及び制御パケットを受信する受信手段と、上記他の通話装置からのデータパケットの伝送レートを制御する制御情報を生成する制御手段とを有し、少なくとも2つの通話装置の一方の上記制御パケット生成手段は、上記管理情報と共に他方の通話装置からのデータパケットの伝送レートを制御する上記制御情報を格納した上記制御パケットを生成し、上記他方の通話装置の上記圧縮符号化手段は、上記一方の通話装置からの制御パケットに格納された上記制御情報に基づき該一方の通話装置に送信する実時間音響データの圧縮率を変更することを特徴とする。 The call system according to the present invention is a call system in which two or more call devices transmit and receive real-time acoustic data via the Internet. Each call device compresses and encodes real-time acoustic data including voice. Means, a data packet generating means for generating a data packet storing data encoded by the compression encoding means, and a control packet for generating a control packet storing at least management information for managing transmission / reception of the data packet Generating means, transmitting means for transmitting the data packet and the control packet to one or more other communication devices, receiving means for receiving the data packet and control packet from the other communication device, and the other Control means for generating control information for controlling the transmission rate of data packets from the telephone device The control packet generation means of one of the at least two call devices generates the control packet storing the control information for controlling the transmission rate of the data packet from the other call device together with the management information, and the other call The compression encoding means of the apparatus changes the compression rate of the real-time acoustic data transmitted to the one communication device based on the control information stored in the control packet from the one communication device. .
本発明においては、一方の通話装置が、自身の通話対象となる他方の通話装置が送信するデータパケットの伝送レートを制御することができ、また、他方の通話装置からの要求に応じて該他方の通話装置に送信する実時間音響データの圧縮符号化方式を変更して当該他方の通話装置に伝送するデータパケットの伝送レートを制御することができる。 In the present invention, one call device can control the transmission rate of data packets transmitted by the other call device that is the subject of the call, and the other call device can respond to a request from the other call device. It is possible to control the transmission rate of data packets transmitted to the other telephone device by changing the compression encoding method of the real-time acoustic data transmitted to the other telephone device.
本発明に係る通話装置によれば、インターネットを介して実時間音響データの送受信を行う通話装置において、音声を含む実時間音響データを圧縮符号化する圧縮符号化手段と、上記圧縮符号化手段により圧縮符号化されたデータを格納したデータパケットを生成するデータパケット生成手段と、少なくとも上記データパケットの送受信を管理する管理情報を格納した制御パケットを生成する制御パケット生成手段と、1以上の他の通話装置に対して、上記データパケット及び上記制御パケットを送信する送信手段と、上記他の通話装置からのデータパケット及び制御パケットを受信する受信手段と、上記他の通話装置からのデータパケットの伝送レートを制御する制御情報を生成する制御手段とを有し、上記制御パケット生成手段は、上記管理情報と共に上記制御情報を格納した上記制御パケットを生成するので、データパケットの受信側で、制御パケットにより、データパケットの送信側となっている他の通話装置の送信伝送レートの制御をすることができ、例えばネットワーク帯域が急激に混雑し始めた場合や受信側で聞き取りにくい等の状態が生じた場合には通話相手となる他の通話装置が送信する伝送レートを再呼制御することなく下げさせることがき、よって高音質で情報量が大きい実時間音響データを送受信するような場合であっても通話を継続することができる。 According to the communication device according to the present invention, in the communication device that transmits and receives real-time acoustic data via the Internet, the compression encoding means that compresses and encodes real-time acoustic data including voice, and the compression encoding means A data packet generating means for generating a data packet storing the compression-encoded data, a control packet generating means for generating a control packet storing at least management information for managing transmission / reception of the data packet, and one or more other data packets Transmission means for transmitting the data packet and the control packet to the communication device, reception means for receiving the data packet and control packet from the other communication device, and transmission of the data packet from the other communication device Control means for generating control information for controlling the rate, the control packet generation means, Since the control packet storing the control information together with the physical information is generated, the data packet receiving side controls the transmission transmission rate of the other communication device on the data packet transmitting side by the control packet. For example, if the network bandwidth suddenly starts to get congested or if it is difficult to hear on the receiving side, the transmission rate transmitted by the other call device that is the other party of the call is reduced without re-controlling the call. Therefore, even when real-time acoustic data having a high sound quality and a large amount of information is transmitted / received, the call can be continued.
また、本発明に係る通話システムによれば、2以上の通話装置がインターネットを介して実時間音響データの送受信を行う通話システムにおいて、各通話装置は、音声を含む実時間音響データを圧縮符号化する圧縮符号化手段と、上記圧縮符号化手段により圧縮符号化されたデータを格納したデータパケットを生成するデータパケット生成手段と、少なくとも上記データパケットの送受信を管理する管理情報を格納した制御パケットを生成する制御パケット生成手段と、1以上の他の通話装置に対して、上記データパケット及び上記制御パケットを送信する送信手段と、上記他の通話装置からのデータパケット及び制御パケットを受信する受信手段と、上記他の通話装置からのデータパケットの伝送レートを制御する制御情報を生成する制御手段とを有し、少なくとも2つの通話装置の一方の上記制御パケット生成手段は、上記管理情報と共に他方の通話装置からのデータパケットの伝送レートを制御する上記制御情報を格納した上記制御パケットを生成し、上記他方の通話装置の上記圧縮符号化手段は、上記一方の通話装置からの制御パケットに格納された上記制御情報に基づき該一方の通話装置に送信する実時間音響データの圧縮率を変更するので、一方の通話装置が、自身の通話対象となる他方の通話装置からのデータパケットの伝送レートを制御することができ、また、他方の通話装置からの要求に応じて他方の通話装置に伝送するデータパケットに格納する実時間音響データの圧縮符号化方式を変更して伝送レートを制御することができ、情報量が多い、例えばBGMや効果音等が付加された等高音質な実時間音響データをやり取りするような場合であっても伝送レートを動的に変化させることができるので、ネットワーク帯域が混雑した場合でも通話が遮断されることがない。 Further, according to the call system of the present invention, in a call system in which two or more call devices transmit and receive real-time acoustic data via the Internet, each call device compresses and encodes real-time sound data including voice. Compression encoding means for generating data packets, data packet generating means for generating data packets storing data encoded by the compression encoding means, and control packets storing at least management information for managing transmission / reception of the data packets. Control packet generating means for generating, transmitting means for transmitting the data packet and the control packet to one or more other telephone apparatuses, and receiving means for receiving the data packet and control packet from the other telephone apparatus And control for generating control information for controlling the transmission rate of data packets from the other communication device. The control packet generation means of one of the at least two communication devices generates the control packet storing the control information for controlling the transmission rate of the data packet from the other communication device together with the management information. Then, the compression coding means of the other call device changes the compression rate of the real-time acoustic data transmitted to the one call device based on the control information stored in the control packet from the one call device. Therefore, one call device can control the transmission rate of data packets from the other call device that is the subject of the call, and can respond to the request from the other call device to the other call device. The transmission rate can be controlled by changing the compression encoding method of the real-time acoustic data stored in the data packet to be transmitted, and the amount of information is large, such as BGM or Since the transmission rate can be changed dynamically even when real-time sound data with high quality sound with added sound etc. is exchanged, the call is blocked even when the network bandwidth is congested There is nothing.
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、2以上の通話装置がインターネットを介してVoIPにより通話を行う通話装置としてのVoIPクライアント及びこれを備えた通話システムとしてのVoIPシステムに適用したものである。本実施の形態におけるVoIPクライアントは、通話装置間での通話継続を可能とするため、ネットワーク帯域に応じて、音質を可変にする、即ち同一の音声・音楽圧縮方式におけるサブバンド分割数及び符号化すべき周波数成分を動的に決定するものである。 Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. In this embodiment, the present invention is applied to a VoIP client as a call device in which two or more call devices make a call by VoIP over the Internet and a VoIP system as a call system including the same. The VoIP client according to the present embodiment makes the voice quality variable according to the network bandwidth, that is, the number of subband divisions and the encoding in the same voice / music compression system, in order to enable the call to continue between the call devices. The power frequency component is dynamically determined.
先ず、本実施の形態におけるVoIPを使用したネットワークコミュニケーションをオ行うVoIPシステムの概略について説明する。図1は、本実施の形態におけるVoIPシステムの一例を示す模式図である。本実施の形態におけるVoIPシステムでは、例えば2チャンネル以上で、且つユーザ間で、通話のみではなく様々な効果音及びBGM等も共有することができる高音質の音声コミュニケーションを実現するものである。なお、本実施の形態におけるVoIPシステムは、2つの通話装置(以下、VoIPクライアントという。)間で行なわれるものとするが、VoIPシステムを構成するVoIPクライアントは2つに限らず、従ってVoIPクライアントを介してネットワークコミュニケーションに参加可能な参加者は2以上であってもよい。 First, an outline of a VoIP system that performs network communication using VoIP in the present embodiment will be described. FIG. 1 is a schematic diagram showing an example of a VoIP system in the present embodiment. The VoIP system according to the present embodiment realizes high-quality voice communication that can share not only a call but also various sound effects and BGM, for example, between two or more channels and between users. Note that the VoIP system in the present embodiment is performed between two call devices (hereinafter referred to as VoIP clients). However, the number of VoIP clients constituting the VoIP system is not limited to two. There may be two or more participants who can participate in network communication.
図1に示すように、VoIPシステム100は、例えばPC(Personal Computer)等のVoIPクライアント111と、これとインターネット130を介して接続されたVoIPクライアント121とを有する。
As shown in FIG. 1, the
このVoIPシステム100においては、VoIPクライアント111のユーザ110と、VoIPクライアント121のユーザ120とは、自身のVoIPクライアント111、121に搭載される後述するVoIP用のアプリケーション(ソフト・フォン)等と、例えばマイクロフォンとヘッドフォンとからなるヘッドセット又はマイクロフォンと受話器とからなるハンドセットとを使用し、インターネット130を介して通信相手とコミュニケーションを行う。
In the
インターネット130は、一般公衆回線等の通信回線や、情報通信ネットワークを複数接続することによって世界中に拡がったネットワーク環境である。現在、広帯域、高速な通信回線の普及によってブロードバンド伝送(Broadband Transmission)を可能としている。光ファイバー、非対称ディジタル加入者線、無線等を用い、500kbps以上の通信回線でネットワークを構成している。
The
このインターネット130には、VoIP通信を制御するVoIPサーバ131、及び音源データ132及びダウンロードユーザインフォメーション133等のデータを管理するウェブサーバ134等が接続されている。また、各VoIPクライアント111、121には、各VoIPクライアント111、121が有するウェブブラウザ112、122等によりウェブサーバ134からダウンロードするか、又は自身で購入若しくは編集した音源データ113、123が記憶されている。
Connected to the
ウェブサーバ134のデータベースに格納されている音源データ132、及びユーザがダウンロード等して所持している音源データ113、123は、例えばBGM(Back Ground Music)等に使用される音楽や、波の音・拍手の音・雷鳴・ベルの音等の各種効果音であり、これらの音源データは、ユーザ間のネットワークコミュニケーションにて使用することができる。
The
次に、このVoIPクライアントについて説明する。図2は、VoIPシステムを構成するVoIPクライアントの機能を示すブロック図である。図2に示すように、このようなインターネットコミュニケーションを行うためのVoIPクライアント20は、コミュニケーションに参加している参加者、即ち通話相手へデータを送信する送信手段21と、通話相手からのデータを受け取る受信手段41とを有する。
Next, the VoIP client will be described. FIG. 2 is a block diagram showing the functions of the VoIP client constituting the VoIP system. As shown in FIG. 2, the
送信手段21は、マイクが接続され、外部(ユーザ)の音声をキャッチするマイクキャプチャ(MIC capture)22と、例えばMP3(MPEG(Moving Picture Experts Group)1オーディオLayer3)、又はMPEG4等に圧縮された各種効果音(Sound Effect:SE)の音源ファイルが記憶された効果音ファイル記憶部23と、同じく圧縮された各種BGMの音源ファイルが記憶されたBGMファイル記憶部24と、効果音ファイル及びBGMファイルを読み出しデコードする夫々デコーダ25及び26と、マイクによりキャプチャした音声、効果音、及びBGMのゲインを制御して音量調整するゲイン調整部27〜29と、これらの3つの音を合成する合成部30と、合成した音を圧縮符号化するエンコーダ31と、圧縮符号化されたデータをデータパケットとしてのRTPパケットに格納するデータパケット生成手段としてのパケット化部(packetize)32aと、後述する制御情報を生成する制御部34と、該制御情報及びRTPパケットをコントロールする管理情報等をRTCPパケットに格納する制御パケット生成手段としてのRTCPパケット化部32bと、RTPパケット及びRTCPパケット等を送信する送信部33とを有する。送信部33から送られたRTPパケットがインターネット130を介して通信対象となる他のVoIPクライアントに送信される。
The transmission means 21 is connected to a microphone, and is compressed into a microphone capture (MIC capture) 22 that catches the external (user) voice and, for example, MP3 (MPEG (Moving Picture Experts Group) 1 audio Layer 3) or MPEG4 Sound effect
一方、インターネット130を介して通信相手の送信手段21から送られるデータを受信する受信手段41は、RTPパケット及びRTCPパケット等を受信する受信部42と、受信したRTPパケットをデパケッタイズするRTPデパケット化部(depacketize)43aと、RTCPパケットをデパケッタイズするRTCPデパケット化部(depacketize)43bと、RTPパケットの到着時間を補正するデジッタ部(de-jitter)44と、送られたRTPパケットのエラーが生じた部分又は伝送中に損失した部分等の欠落部分を補償するパケット補償部(packet loss compensator)45と、パケット補償部45からのデータを復号伸張するデコーダ46と、例えばMP3、MPEG4等に圧縮された着信音の音源ファイルが記憶された着信音ファイル(Ring Tone File)記憶部47と、着信音ファイルを読み出しデコードするデコーダ48と、デコーダ46及び48のゲイン調整をする夫々ゲイン調整部49及び50と、上述した送信手段21における合成部30にて合成された送信用のPCMデータ、即ち送信者側自身の音源のゲイン調整するゲイン調整部52と、ゲイン調整された送信用のデータ、通信相手から送信されてきたデータ、及び着信音データを合成する合成部53と、合成部53にて合成されたデータをヘッドフォン(HP)へ出力する出力部54と、合成部53へ出力される着信音とは別に着信音のゲインを調整するゲイン調整部51と、ゲイン調整された着信音を外部へ出力するスピーカ(SP)55とを有する。
On the other hand, the receiving means 41 for receiving data sent from the transmitting means 21 of the communication partner via the
次に、このVoIPクライアントのデータの送受信方法について説明する。先ず、送信側において、マイクキャプチャ22は、マイクにより入力されたユーザの音声をキャッチしてゲイン調整部27へ送る。ゲイン調整部27は、音声データに対し、ユーザの指示によるか又は自動的に、ゲイン係数k1を乗算し、所望の大きさにゲイン調整する。
Next, a data transmission / reception method of the VoIP client will be described. First, on the transmission side, the
効果音ファイル記憶部23及びBGMファイル記憶部24は、例えばMP3、MPEG4等の圧縮技術により予め圧縮された音源ファイルが記憶された、例えばハードディスクドライブ(HDD)、ROM(read only memory)又は光磁気ディスクからなり、デコーダ25及び26は、これらの圧縮符号化データを読み出し、読み出した圧縮符号化データをPCMデータに変換する。更に、デコーダ25、26は、変換したPCMデータを夫々ゲイン調整部28、29へ送り、ゲイン調整部28、29は、送られてきたデータに対し、ユーザの指示によるか又は自動的に、夫々ゲイン係数k2及びk3を乗算して、所望の大きさにゲイン調整する。
The sound effect
ゲイン調整部27〜29にてゲイン調整された実時間音響データの音声、BGM及び効果音は、合成部30に供給され、合成部30はゲイン調整部27〜29の出力を飽和処理しつつ加算し、この加算結果をエンコーダ31に出力する。エンコーダ31は、この加算結果をネットワークにて送信するために、例えばMPEG4等にエンコードする。エンコードされたデータは、リアルタイム・トランスポート・プロトコル(Real-time Transport Protocol:RTP)に従ってデータをパケット化するRTPパケット化(packetize)部32に供給される。
The sound, BGM, and sound effect of the real-time acoustic data whose gain is adjusted by the
RTPパケット化部32aは、エンコードデータをRTPパケットにパケット化し、パケット化データは、送信部33からインターネット130を介して通信相手のVoIPクライアントへ送信される。
The
また、制御部34は、後述するRTCPパケットのレポートブロック等に格納される各種管理情報を管理すると共に、RTCPパケットの拡張部分に格納される制御情報を生成する。制御情報とは、通信相手となる他のVoIPクライアントが送信してくるRTPパケットに格納される実時間音響データの圧縮率を指定する例えばエンコード帯域及びサブバンド分割数等の情報、及び伝送途中でエラーが生じたり又は失われたような欠落パケットの再送要求を指示する情報等である。また、本実施の形態におけるVoIPクライアントが送受信するRTCPパケットの拡張部分には、RTCP受信部42にて受信したパケットのジッタを相殺するための揺らぎ吸収バッファ及び再生する前の無圧縮のPCMデータを格納しておくPCMバッファの容量等も記述することができる。
In addition, the
そして、RTCPパケット化部32bは、この制御情報及び管理情報をRTCPパケットにパケット化し、このパケット化データも送信部33からインターネット130を介して通信相手のVoIPクライアントへ送信される。
The
また、VoIPによる通話では、RTPパケットを送信する前に、制御部34がSIP等の呼制御プロトコルにより、送信部33を介して、通信対象となる他のVoIPクライアントに対し呼シグナリングを行う。そして、他のVoIPクライアントの間でRTP/RTCPセッションが確立された後、送信部33がRTPパケット及びRTCPパケットを送信することができる。呼シグナリング方法及びRTP/RTCPパケットの詳細は後述する。
In a VoIP call, before transmitting an RTP packet, the
一方、受信側においては、受信部42がインターネット130を介して送られてくるRTPパケット及びRTCPパケット等を受信する。そして、RTCPデパケット化部43bは、受信したRTCPパケットを分解し、制御部34は、RTCPパケットの拡張部分に格納されている制御情報を取り出し、この制御情報のうち、上述したエンコード帯域及びサブバンド分割数等からなる圧縮率制御情報をエンコーダ31に供給する。エンコーダ31は、通話相手となる他のVoIPクライアントからの要求としての上記圧縮制御情報により、エンコードする実時間音響データの圧縮率を変更する。
On the other hand, on the receiving side, the receiving
また、デパケット化部43は、受信部42が受信したRTPパケットを逆パケット化した後、デジッタ部44が例えばネットワークの状態等により受信が遅れる等して到着時刻が不均等になっているデータを補正し、等間隔化する。この補正は、逆パケット化されIP、UDP(User Datagram Protocol)から分解されたRTPのタイムスタンプ、シーケンシャルナンバーを基に行なわれる。その後、パケット補償部45がネットワークの送受信において欠落又は受信不能等となったパケットを保障する処理、具体的には、欠落したパケットの代わりにその前又は後のパケットと同じパケットを使用するようにしたり、欠落したパケットの再送要求をして改めて欠落パケットを受信するようにする等したりしてパケットの損失を補償する。こうして得られたMPEG4等の圧縮データはデコーダ46にてデコードされ、これをゲイン調整部49がユーザ指示又は自動的に、ゲイン係数k5を乗算してゲイン調整する。
Further, the depacketizing unit 43 converts the RTP packet received by the receiving
デコーダ48は、他のVoIPクライアントから呼シグナリングされたとき、即ち電話がかかってきたときにユーザに通知するための呼び出し用の呼び出し音又は呼び出し用に使用する音楽等からなる着信音の音源ファイルを着信音ファイル記憶部47から読み出す。ファイル記憶部47からの着信音データは、ユーザの所望によって予め選択されており、着信のタイミングに従って図示しないRAMに読み出されながらデコーダ48にてデコードされる。着信音の音源ファイルも、BGM等の音源ファイル等と同様にMP3、MPEG4等に圧縮されたものとなっており、ファイル単位の着信音データとしてファイル記憶部47に複数ファイル分記憶されている。そして、デコーダ48は、読み出した音源ファイルをデコードし、デコードされた音源データをゲイン調整部50、51がユーザ指示又は自動的に、夫々ゲイン係数k6、k7を乗算することでゲイン調整する。
The
合成部53は、着信音及び通信相手から送信されゲイン調整部49にてゲイン調整された、通話相手から受け取った受信側実時間音響データと、ゲイン調整部52から出力される自身が送信する送信側実時間音響データとを加算処理する。ゲイン調整部52は、送信される送信側実時間音響データを通話相手と共有するため、送信側実時間音響データにユーザが設定するループバック音量レベルであるゲイン係数k4を乗算するものである。
The synthesizing
そして、合成部53にて合成されたこれらのデータは、ヘッドフォン54を介して出力されユーザに伝えられる。また、着信音ファイル記憶部47から読み出された着信音データは、ヘッドフォン54とは別にスピーカ55からも出力されるよう構成されている。
The data synthesized by the
このようなVoIPクライアントにおいては、RTCPパケットに制御情報を格納して通話相手となる他のVoIPクライアントに送信することで、ネットワークの輻輳状態に応じて、受信するRTPパケットの伝送レートを制御することができる。即ち、他のVoIPクライアントが圧縮すべきエンコード帯域及びサブバンド分割数等を指定し、例え一時的に音質が落ちたとしても、通話を継続させるようにすることができる。 In such a VoIP client, control information is stored in an RTCP packet and transmitted to another VoIP client as a communication partner, thereby controlling a transmission rate of a received RTP packet according to a network congestion state. Can do. That is, it is possible to specify the encoding band and the number of subband divisions to be compressed by other VoIP clients, and to continue the call even if the sound quality temporarily decreases.
更に、一般の電話に比してダイナミックレンジを広くすることで、ステレオ等の高音質の音声とBGM及び効果音等からなる音響とが合成された合成音を送受信することができ、従ってBGM等を付加しても会話(音声)をマスキングすることがない。また、効果音及びBGM等の音源ファイルから読み出した音と、通信者自身が話した音声、即ちマイク音とを別々にゲイン調整することができるため、効果音及びBGMの音量を所望のレベルに調整することができ、ユーザは、通信相手へ例えば自身の気分を伝えたりすることができる。 Furthermore, by widening the dynamic range as compared with a general telephone, it is possible to transmit and receive a synthesized sound in which a high-quality sound such as stereo and sound composed of BGM and sound effects are synthesized. Even if is added, conversation (voice) is not masked. In addition, since the sound read from the sound source file such as the sound effect and BGM and the sound spoken by the communication person, that is, the microphone sound can be adjusted separately, the sound effect and the volume of the BGM can be set to desired levels. The user can adjust the user's feelings, for example, to the communication partner.
また、着信音をヘッドフォン54とスピーカ55とで別々に出力することにより、例えばユーザがヘッドフォン54を使用してVoIPによる通信中に一時的にVoIPクライアント20から離れたり、通話が終了した後もヘッドフォン54をセットしたままにしておいたりした場合であっても、着信音がスピーカ55から外部に出力されるようにすることができる。
In addition, by outputting the ringtone separately from the
次に、このVoIPクライアントに使用されるソフトウェアについて説明する。図3は、一般的なPC向けVoIPクライアントアプリケーションを含むソフトウェアモジュールを示す図である。VoIPクライアントは、この図3に示す開放型システム間相互接続(Open System Interconnection:OSI)のアーキテクチャに基づく各階層のプロトコルに応じたソフトウェアモジュール1を実行することにより上述の図2に示した機能を達成する。
Next, software used for the VoIP client will be described. FIG. 3 is a diagram illustrating a software module including a general VoIP client application for a PC. The VoIP client performs the function shown in FIG. 2 by executing the
図3において下位層から上位層に向かって各階層を説明する。先ず、物理層2としての機能にはユニバーサル・シリアル・バス(Universal Serial Bus:USB)カメラドライバ2a、USBオーディオドライバ2b及び各種ドライバ2cがある。カメラドライバ2aからのビデオデータやオーディオドライバ2bからのオーディオデータの伝送条件の物理的条件を合わせるレイヤである。
In FIG. 3, each layer will be described from the lower layer to the upper layer. First, the functions as the
次に、データリンク層としての機能には、オペレーティングシステム(Operating System:OS)3がある。隣接ノード間の誤りのないデータ伝送を実行するためのものである。 Next, the function as the data link layer includes an operating system (OS) 3. This is for executing data transmission without error between adjacent nodes.
そして、ネットワーク層としての機能には、インターネットプロトコル(Internet Protocol:IP)制御部4がある。ネットワーク層は、データ送受信に使用する通信経路を選択し、フロー制御・品質制御などの通信制御を行うところである。信頼性を追求しないコネクションレス(Connectionless)パケット伝送プロトコルであるIPは、信頼性保証機能、フロー制御機能、エラー回復機能を上位階層(トランスポート層とアプリケーション層)に任せている。
The network layer function includes an Internet Protocol (IP)
トランスポート層としての機能には、トランスポート・コントロール・プロトコル(Transport Control Protocol:TCP)/ユーザ・データグラム・プロトコル(User Datagram Protocol:UDP)制御部5がある。
The function as the transport layer includes a transport control protocol (TCP) / user datagram protocol (UDP)
トランスポート層では、IPアドレスを使用してエンド・ツー・エンドの伝送を行う。ネットワークの種類に依存せず、要求される品質クラスに従ってフロー制御や順序制御を行う。TCPは信頼性保証機能を持ち、伝送したデータの各バイトにシーケンス番号を付け、受信側から受け取り通知(Acknowledgment:ACK(確認応答))が送られてこなければデータを再送する。UDPは、アプリケーション間のデータグラムの送信機能を提供する。IPネットワークを用いて、音声・動画像をストリーミング再生する場合、一般にエラー時に再送を行うTCPのようなトランスポート・プロトコルは使用できない。また、TCPは、1対1通信用のプロトコルであり、複数の相手に情報を送信することができない。そこで、このような用途には、UDPが用いられる。即ち、例えば再送制御を必要とする等、信頼性が高い通信を行う際にはTCP通信としてTCPパケットを生成し、音声及び映像データ、並びに後述するSIPを伝送する等、リアルタイム性が高い通信を行う際にはUDP通信としUDパケットを生成する。 In the transport layer, end-to-end transmission is performed using an IP address. Regardless of the type of network, flow control and sequence control are performed according to the required quality class. TCP has a reliability guarantee function, attaches a sequence number to each byte of transmitted data, and retransmits the data if no acknowledgment (Acknowledgment: ACK) is sent from the receiving side. UDP provides a function for transmitting datagrams between applications. When streaming an audio / video using an IP network, generally, a transport protocol such as TCP that retransmits when an error occurs cannot be used. TCP is a protocol for one-to-one communication, and information cannot be transmitted to a plurality of partners. Therefore, UDP is used for such applications. In other words, when performing highly reliable communication such as requiring retransmission control, TCP packets are generated as TCP communication, and communication with high real-time properties such as transmission of audio and video data and SIP described later is performed. When performing, UDP communication is generated as UDP communication.
UDPは、アプリケーションのプロセスがリモートマシン上の他のアプリケーションのプロセスへデータを伝送することを、最小のオーバーヘッドで行えるように設計されている。そのため、UDPのヘッダに入る情報は、送信元ポート番号、宛先ポート番号、データ長、チェックサムのみであり、TCPにあるパケットの順序を表す番号を入れるフィールドがないので、ネットワーク上で異なる経路を介して伝送されるなどによりパケットの順序が入れ替わってしまった場合に、その順序を正しい状態に戻す処理を行うことができない。また、送信時のタイムスタンプ等の時間情報を入れるフィールドは、TCPにもUDPにもない。 UDP is designed to allow application processes to transmit data to other application processes on a remote machine with minimal overhead. Therefore, the information entered in the UDP header is only the source port number, destination port number, data length, and checksum, and there is no field for entering the number indicating the order of packets in TCP. When the order of the packets is changed due to transmission through the network, processing for returning the order to the correct state cannot be performed. Also, there is no field for inputting time information such as a time stamp at the time of transmission in TCP or UDP.
セッション層6としての機能には、セッション・イニシエーション・プロトコル(Session Initiation Protocol:SIP)制御部11、RTP/RTCP制御部12、コーデック(codec)13、通話音とBGM又は効果音の合成処理ソフトウェアを構成する保留音制御部14、BGM合成部15、及び着信音制御部16がある。セッション層6は、情報の伝送制御を行う。アプリケーション間における対話モードを管理して会話単位の制御を行う。
The functions as the
SIP制御部11は、IPネットワーク上でマルチメディアセッションを確立・変更・終了するための、セッション層6のシグナリングプロトコル(RFC3261で標準化)により呼制御を行う。
The
また、RTP/RTCP制御部12のうち、RTPは、音声データにBGM及び効果音等が合成され圧縮符号化された送信データを送信するためのプロトコルであり、送信データに時間情報及び順序情報を付与してネットワークを通じて音声データ送受信する機能を有する。また、RTCPは、RTPを制御する制御プロトコルであり、RTPのフロー制御、クロック同期及びデータの再生時刻の認識、情報源の認識等を行う機能を有する。
Of the RTP /
コーデック13は、送信音(伝送データ)を後述する高能率音響圧縮及び復号する機能を有する。
行う また、プレゼンテーション層としての機能には、VoIP通話制御7がある。プレゼンテーション層では、アプリケーションで送受信する情報の表現形式を管理して、データの変換や暗号化を行う。VoIP通話制御部7は、VoIP通話機能の全体をコントロールする制御部である。
The codec 13 has a function of compressing and decoding the transmission sound (transmission data) described later with high efficiency.
The
最上層のアプリケーション層としての機能には、コンピュータを視覚的に操作するためのグラフィカルユーザインターフェース(Graphical User Interface:GUI)8がある。アプリケーション層は、ユーザプログラムで使用する通信機能の外部仕様を管理して、それに基づく情報のやり取りを行う層であり、GUI8は、ユーザ操作用のインターフェイスを提供し、ユーザの手入力情報をハンドリングする。
As a function of the uppermost application layer, there is a graphical user interface (GUI) 8 for visually operating a computer. The application layer is a layer for managing external specifications of communication functions used in the user program and exchanging information based on the external specifications. The
図4は、GUIの一例を示す模式図である。GUI8は、図4に示すように、VoIPクライアントアプリケーション1の終了処理を行うアプリケーション制御部61と、情報表示部62と、ダイヤル部63と、ヘッドセットボリューム部64aと、スピーカボリューム部64bと、サウンドエフェクト選択表示部65と、サウンドエフェクト制御部66と、BGM選択表示部67と、BGM制御部68、音質制御部69とを有する。
FIG. 4 is a schematic diagram illustrating an example of a GUI. As shown in FIG. 4, the
情報表示部62は、ユーザが通信対象となる相手先の番号をダイヤルした場合のダイヤル番号や、通信相手が話し中か否か等の相手状態等を表示する。ダイヤル部63は、VoIP相手先をダイヤルするため等のテンキーからなる。また、ヘッドセットボリューム64aは、ヘッドセットから出力される音量を調節し、スピーカボリューム部64bは、スピーカから出力される音量を調節する。サウンドエフェクト選択部65は、ユーザが使用可能なサウンドエフェクト音源データファイルの表示するものであり、例えば銃声音、雷音、拍手の音、歓声音等を選択でき、サウンドエフェクト制御部66により、効果音の再生及び停止、並びに音量調節を行う。これにより、効果音の各種効果音でユーザが通話相手への気持ち等を表現することができる。
The
また、BGM選択表示部67は、ユーザが使用可能な例えばタヒチの波の音等のBGM音源データファイルを表示するものであり、更にBGM制御部68により、BGMの再生及び停止、並びにBGMの音量調節を行うことで、サウンドエフェクトと同様、ユーザ自身が選択し、調節した音量により、ユーザの気分やその場の雰囲気を通信相手へ伝えること等ができる。
Further, the BGM
更に、音質制御部69は、音声のみのコミュニケーションを行うときと、BGM及び効果音付きの高音質なコミュニケーションを行うときとで、ユーザが音質を選択することができ、これにより、エンコーダが圧縮符号化方式を変更し、伝送レートが可変となる。 Furthermore, the sound quality control unit 69 allows the user to select the sound quality when performing only voice communication and when performing high sound quality communication with BGM and sound effects, so that the encoder can compress the compression code. The transmission rate is variable.
次に、ソフトウェアモジュール1を実行するVoIPクライアントのハードウェア構成について説明する。図5は、VoIPクライアントのハードウェア構成を示すブロック図である。図5に示すように、VoIPクライアント20において、CPU(Central Processing Unit)221は、ROM(Read Only Memory)222に記憶されている上記ソフトウェアモジュールを構成する各種プログラム、又は記憶部228からRAM(Random Access Memory)223にロードされた上述のソフトウェアモジュール1を構成する各種プログラムに従って各種の処理を実行する。また、図示せぬタイマが計時動作を行い、時刻情報をCPU221に供給する。RAM223にはまた、CPU221が各種の処理を実行する上において必要なデータ等も適宜記憶される。
Next, the hardware configuration of the VoIP client that executes the
CPU221、ROM222及びRAM223は、バス224を介して相互に接続されている。このバス224にはまた、入出力インターフェイス225も接続されている。
The
入出力インターフェイス225には、キーボード、マウス等よりなる入力部226、CRT、LCD等よりなるディスプレイ、並びに、ヘッドフォンやスピーカ等よりなる出力部227、ハードディスク等より構成される記憶部228、モデム、ターミナルアダプタなどより構成される通信部229が接続されている。
The input /
通信部229は、図示せぬインターネットを介しての通信処理を行う。CPU221から提供されたデータを送信する。また通信部229は通信相手から受信したデータをCPU221、RAM223、記憶部228に出力する。記憶部228はCPU221との間でやり取りし、情報の保存・消去を行う。通信部229はまた、他のクライアントとの間で、アナログ信号またはディジタル信号の通信処理を行う。
The
入出力インターフェイス225にはまた、必要に応じてドライブ230が接続され、磁気ディスク241、光ディスク242、光磁気ディスク243、或いは半導体メモリ244等が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部228にインストールされる。
A
次に、このようなハードウェア構成のVoIPクライアントが上述の図2に示すソフトウェアモジュール1を構成する各種プログラムを実行することによりVoIP通話を実行する方法について説明する。
Next, a method for executing a VoIP call by the VoIP client having such a hardware configuration executing various programs constituting the
図6は、図3に示す一般的なPC向けソフトウェアモジュールのうち、VoIP通話制御部7が制御するRTP/RTCPパケットの送受信機能を説明する図である。図6に示すように、VoIP通話制御部7の制御は、スレッド1〜スレッド5に分けることができる。スレッド1は、送信者がRTPパケットを送信するまでの処理、即ち送信者が発話した音声を含むデータを格納したデータパケットを送信する処理であり、スレッド2、3は、送信されたRTPパケットを受信して再生するまでの処理、即ち上記送信者が通信対象となっている相手の音声を含むデータを聞くまでの処理である。
FIG. 6 is a diagram for explaining the RTP / RTCP packet transmission / reception function controlled by the VoIP
また、スレッド4は、オペレーティングシステム(OS)3に付随するスレッドライブラリにより自動生成される。スレッドライブラリは、プライオリティに応じてスレッド1、スレッド2及びスレッド3のメインプロセッサ(図5に示すCPU221)上での計算資源配分、即ちスケジューリングを行う。
The
また、スレッド5は、アプリケーションであるGUI8のメインスレッドであり、スレッド1、スレッド2及びスレッド3を生成したり破棄したりすると共に、プログラミングされたアルゴリズム或いはユーザ操作に応じてスレッド1、スレッド2及びスレッド3の制御を行う。
The
RTP/RTCPパケットの送信処理であるスレッド1においては、マイクからユーザの音声をキャプチャしてPCMデータを受け取り(Capture)、必要に応じて、BGM合成部15等により、キャプチャサンプル・フレーム毎に、効果音及びBGMと音声とを合成し(Effect or Mixing)、コーデック13は、そのデータを圧縮符号化する(encode)。この際、コーデック13は、上述したように、他のVoIPクライアントから受信したRTCPパケットに含まれる制御情報の圧縮率を制御する情報に基づき、圧縮符号化方法を決定する。そして、RTP/RTCP制御部12が、圧縮符号化したデータをRTPパケット化し、また、VoIP通話制御部7が生成した他のVoIPクライアントが圧縮すべきエンコード帯域及びサブバンド分割数等の制御情報をRTCPパケット化し、(packet)、これらのパケットを送信する(send)。
In the
また、RTPパケットの送信処理とは別に、通信対象の通話装置におけるコーデックの圧縮符号化方式を制御するための制御情報を格納したRTCPパケットの送信処理が行われる。 In addition to the RTP packet transmission process, an RTCP packet transmission process that stores control information for controlling the codec compression encoding method in the communication target communication device is performed.
一方、RTPパケットの受信処理においては、VoIPクライアントの受信側に設けられたデコード処理前後の揺らぎ吸収バッファ、即ち、エンコードされたバイトストリームPCMを格納する揺らぎ吸収バッファ(Forward Jitter buffer)BF1と、デコードされ無圧縮のlinearPCMとされたデータを格納するPCMバッファ(Backward Jitter buffer)BF2とを使用する。 On the other hand, in the RTP packet receiving process, a fluctuation absorbing buffer provided before and after the decoding process provided on the receiving side of the VoIP client, that is, a fluctuation absorbing buffer (Forward Jitter buffer) BF1 for storing the encoded byte stream PCM, and a decoding A PCM buffer (Backward Jitter buffer) BF2 for storing data that has been converted into an uncompressed linear PCM is used.
そして、RTP/RTCPパケットの受信機能のうち、スレッド2では、RTP/RTCP制御部12がRTPパケットを受信し(Receive)、ネットワーク上で発生したデータ損失及び転送パケットのデータエラー等の欠落パケットを補う処理を行い(parse)、デコード処理前に設けられた揺らぎ吸収バッファBF1に格納する(push&pop)する。これをコーデック13が復号伸張し(decode)、デコード処理後に設けられる揺らぎ吸収バッファ(PCMバッファ)BF2に、無圧縮のデータとして格納する(push)。
In the RTP / RTCP packet reception function, in the
そして、スレッド3においては、USBカメラドライバ2a、USBオーディオドライバ2b及び各種ドライバ2cが、揺らぎ吸収バッファBF2から無圧縮のデータを読み出し(pop)、この読み出したデータを再生する(sound device)。
In the
また、スレッド1にて行うエフェクト効果及びBGMと音声との合成(Effect or Mixing)は、スレッド3において、揺らぎ吸収バッファBF2からデータを読み出した後であって、再生する前に行ってもよく、また無圧縮のデータを格納するPCMバッファを用意せず、揺らぎ吸収バッファからデータを読み出し復号したデータを揺らぎ吸収バッファBF2に格納することなく再生するようにしてもよい。
Further, the effect effect and the synthesis (Effect or Mixing) of BGM and sound performed in the
更にRTPパケットの受信処理とは別に、VoIP通話制御部7がコーデック13における圧縮符号化方式を制御するため、受信したRTCPパケットに含まれる制御情報を取り出す等のRTCPパケットの受信処理が行われる。
Further, in addition to the RTP packet reception process, the VoIP
次に、RTPパケットに格納する実時間音響データのコーデックの変更制御方法について更に詳細に説明する。本実施の形態におけるVoIPシステムにおいては、ネットワークの輻湊状態に応じ、送信する音声データにBGM及び効果音等が合成された送信データの圧縮率、即ちデータの伝送レートを再呼制御することなく異ならせることにより、高音質で情報量が大きい送信データであっても、通信を継続可能にするものである。 Next, the codec change control method for real-time acoustic data stored in the RTP packet will be described in more detail. In the VoIP system according to the present embodiment, the compression rate of transmission data obtained by synthesizing BGM, sound effects, and the like with voice data to be transmitted, that is, the transmission rate of the data differs depending on the network congestion state without re-call control. By doing so, communication can be continued even for transmission data having high sound quality and a large amount of information.
具体的には、例えばネットワークが何らかの要因で混雑した場合においは、再呼制御を行なわずにそのコーデック(圧縮符号化方式)を変更してビットレートを下げること等が挙げられる。 Specifically, for example, when the network is congested for some reason, the bit rate can be lowered by changing the codec (compression encoding method) without performing the recall control.
このため、RTP/RTCP制御部12は、受信するRTPパケットからネットワーク伝送レートを常時又は定期的に計測する。この伝送レートの計測結果に応じて、VoIP通話制御部7は、RTCPパケットにて、欠落パケットの再送要求を行なわせると同時に、通信相手が圧縮すべき周波数成分を通知させる。
For this reason, the RTP /
具体的には、例えば、RTPパケットの伝送遅延(時間的な遅れ)が大きくなる等して伝送レートが小さくなり、VoIP通話制御部7がネットワークが混雑していると判断した場合、RTP/RCTP制御部12が、送信音の圧縮すべき周波数として、例えば高周波成分を削除又はビット割当てを減らして圧縮する等するように通知するためのRTCPパケットを生成するよう制御する。
Specifically, for example, when the transmission rate is reduced due to an increase in transmission delay (temporal delay) of the RTP packet and the VoIP
これにより、例えばビットレートを下げるような指示(制御情報)を有するRTCPパケットを受けとった他のVoIPクライアントでは、当該他のVoIPクライアントのRTP/RCTP制御部からVoIP通話制御部を介してこの制御情報がコーデックに入力され、コーデックが圧縮符号化方式を変更する。こうして圧縮符号化方式がコーデックにより変更され送信レートが小さくされた送信データがRTP/RCTP制御部12からRTPパケットとされ、他のVoIPクライアントから送信される。こうして、VoIPクライアントは、通話相手となる他のVoIPクライアントから送信されるRTPパケットの伝送レートを制御する制御情報をRTCPパケットにより送信し、他のVoIPクライアントから送信されるRTPパケットの伝送レートを制御することができる。
Thereby, for example, in another VoIP client that has received an RTCP packet having an instruction (control information) to lower the bit rate, the control information is transmitted from the RTP / RCTP control unit of the other VoIP client via the VoIP call control unit. Is input to the codec, and the codec changes the compression encoding method. In this way, the transmission data in which the compression coding method is changed by the codec and the transmission rate is reduced is converted from the RTP /
このように、受信側となるVoIPクライアントの要求により、送信側となる他のVoIPクライアントが圧縮符号化方式を変更することにより、高音質な音声とBGM及び効果音が合成された合成音源データ、即ち高いビットレートで送信する必要があるデータ通信中に、何らかの要因でネットワーク帯域が急激に混雑し始めた場合、たとえ音質が一時的に低下したとしても会話(通信)を遮断することなく、継続させることができる。即ち、SIP等の呼制御のためのメッセージを使用することなく、RTCPパケットを使用して圧縮符号化方式の変更を行うことができるので通話が遮断されることがない。 In this way, in response to a request from the VoIP client on the receiving side, another VoIP client on the transmitting side changes the compression encoding method, so that synthesized sound source data in which high-quality sound, BGM, and sound effects are synthesized, In other words, if the network bandwidth suddenly becomes crowded for some reason during data communication that needs to be transmitted at a high bit rate, it will continue without interrupting the conversation (communication) even if the sound quality temporarily decreases Can be made. That is, since the compression encoding method can be changed using the RTCP packet without using a call control message such as SIP, the call is not blocked.
また、本実施の形態におけるRTCPパケットは、後述するように拡張可能なRTCP APPパケットであり、RTCPパケットを使用して、欠落パケットの再送要求を行うことができ、この欠落パケットの再送要求を行うと同時に、他のVoIPクライアントが圧縮すべき周波数成分を通知することができるため、処理が迅速になる。 Further, the RTCP packet in the present embodiment is an RTCP APP packet that can be expanded as will be described later, and the RTCP packet can be used to make a retransmission request for the missing packet, and the retransmission request for the missing packet is made. At the same time, the frequency components to be compressed can be notified by other VoIP clients, so the processing becomes quick.
次に、本実施の形態におけるVoIPシステムにおいて更に詳細に説明する。VoIPクライアント間における上述したRTC/RTCPパケットの送受信は、先ず、一方のVoIPクライアントが他方のVoIPクライアントに呼シグナリングを行い、両者が通話相手のIPアドレス、ポート番号、音声及び音響圧縮方式等を認識する必要がある。ここでは、図3に示すようなVoIPクライアントアプリケーション1を備えたPC(Personal Computer)がUA(User Agent)となり、このUA同士でVoIPする際の呼制御方法について説明する。
Next, the VoIP system in the present embodiment will be described in more detail. In the above RTC / RTCP packet transmission / reception between VoIP clients, first, one VoIP client performs call signaling to the other VoIP client, and both recognize the IP address, port number, voice and acoustic compression method of the other party. There is a need to. Here, a PC (Personal Computer) having a
図7は、図3に示すVoIPソフトウェア1を使用して通話を行う際に、やり取りされるメッセージ・データの流れを示す図である。
FIG. 7 is a diagram showing a flow of message data exchanged when a call is made using the
図7に示すUA1、UA2は、SIPによってVoIPの呼制御を行うSIPUAである。このようなVoIP通信において、SIPを用いた開始側(発呼側)として動作している場合はUAC(UA Client)となり、通信の受け手側(着呼側)として動作している場合はUAS(UA Server)となり、両VoIPクライアント111、121間でデータ(メッセージ)がやり取りされる。SIPのメッセージには、UACからUASへ送られるメッセージであるリクエストと、UASからUACへ返されるメッセージであるレスポンスとがあり、リクエストのメッセージ・ボディには、SDP(Session Description Protocol)に基づいたセッション情報が収納される。また、OKレスポンス等の所定のレスポンスには、通話に使用するコーデックを選択するためのSDPメッセージを含む。
UA1 and UA2 shown in FIG. 7 are SIPUAs that perform VoIP call control by SIP. In such VoIP communication, when operating as a start side (calling side) using SIP, it becomes UAC (UA Client), and when operating as a communication receiver side (calling side), UAS ( UA Server), and data (messages) are exchanged between both
先ず、発呼側のUA1から着呼側のUA2へセッション参加要求としてINVITE SDP1(D1)が送られる。着呼側のUA1にこれが届くと、着呼側のUA2からリクエストが受信され処理中であることを示す100Tryningレスポンス及び180 Ringingレスポンス(D2)が送られ、次いで、発呼側のUA1からリクエストが受理されたことを示す200 OKSDPレスポンス(D3)が送られる。この180 Ringingレスポンスは、着呼側のUA2にて呼び出し音を鳴らしている状態を示し、着呼側のUA2にて受話器を取り上げたときに、200 OKSDPレスポンスが送られる。そして、発呼側のUA1からACK(D4)が送られることにより、通信のためのポートが開かれる。こうしてRTP/RTCPのセッションを確立し、音声及び音響データを送受信し合う(D5)。 First, INVITE SDP1 (D1) is sent from the calling side UA1 to the called side UA2 as a session participation request. When this arrives at the callee UA1, a request is received from the callee UA2 and a 100 Tryning response and a 180 Ringing response (D2) are sent indicating that the request is being processed. A 200 OKSDP response (D3) is sent indicating that it has been accepted. The 180 Ringing response indicates a state in which a ringing tone is sounded by the called side UA2, and a 200 OKSDP response is sent when the handset is picked up by the called side UA2. Then, an ACK (D4) is sent from the calling side UA1, thereby opening a port for communication. In this way, an RTP / RTCP session is established, and voice and acoustic data are transmitted and received (D5).
また、逆に着呼側であったUA2が発呼側となり、UA1へセッション参加要求INVITE SDP2(D6)が送られた場合、着呼側となったUA1から発呼側UA2(クライアント側)のエラーを伝える405 Not Acceptableレスポンス(D7)が送信された場合、これを受信した発呼側UA2は、ACK(D8)を送信し、再び着呼側のUA1へセッション参加要求INVITE SDP2(D9)を再送する。 On the other hand, when UA2 that is the called side becomes the calling side and a session participation request INVITE SDP2 (D6) is sent to UA1, the calling side UA2 (client side) When a 405 Not Acceptable response (D7) indicating an error is transmitted, the calling side UA2 that has received this transmits ACK (D8), and again sends a session participation request INVITE SDP2 (D9) to the called side UA1. resend.
着呼側UA1がこれを正常に受信できれば、これを知らせる200 OKレスポンス(D10)が送られ、発呼側からACK(D11)が送られることにより、新しいRTP/RTCPのセッションを確立し、音声及び音響データを送受信し合う(D12)。 If the called side UA1 can normally receive this, a 200 OK response (D10) is sent to notify this, and an ACK (D11) is sent from the calling side, so that a new RTP / RTCP session is established. And transmit and receive acoustic data (D12).
このように、先ず始めに呼制御を行ってからRTP/RTCPのセッションを確立し、音声及び音響データを送受信し合う。 As described above, first, after performing call control, an RTP / RTCP session is established, and voice and acoustic data are transmitted and received.
図8は、図7に示す呼制御の際に使用されるSDPの記述例を示す図である。図8に示すように、SDPで示されるタグ(注釈記号)のうち、「v」はバージョン番号を示し、「o」はセッション生成者とセッション識別用の情報を示し、o=<ユーザ名><SDPメッセージ識別番号><メッセージ識別サブ番号><ネットワーク・タイプ><アドレス・タイプ><アドレス>と記述される。また「s」はセッションのタイトルを示し、「c」はコネクションデータを示し、s=<開始時刻><終了時刻>と記述される。 FIG. 8 is a diagram showing a description example of the SDP used in the call control shown in FIG. As shown in FIG. 8, among tags (annotation symbols) indicated by SDP, “v” indicates a version number, “o” indicates a session creator and information for session identification, and o = <user name> <SDP message identification number> <message identification subnumber> <network type> <address type> <address> “S” indicates the title of the session, “c” indicates connection data, and is described as s = <start time> <end time>.
また、「m」はメディア名とトランスポートアドレスを示し、m=<メディア種別><ポート番号><トランスポート・プロトコル><ペイロード・タイプ>と記述され、「a」はメディア属性を示し、m=rtpmap:<ペイロード・タイプ><符号化則>/<クロック>と記述される。 “M” indicates a media name and transport address, m = <media type> <port number> <transport protocol> <payload type>, “a” indicates a media attribute, m = Rtpmap: <payload type> <coding rule> / <clock>.
このように、SIPは、IPアドレス・ポート番号・音声及び音響圧縮方式を記述することができ、呼制御の際にはこのSDPを、お互いに送受信し合う。VoIPシステムにおいては、このSIPによりRTP/RTCPのセッションを確立し、RTP/RTCPパケットの送受信を行うが、上述した如く、音声及び音響圧縮方式をこのSIPの呼制御において確立してしまうと、ネットワーク帯域の混雑の度合いによって伝送ビットレートを可変とするために、再び再呼制御が必要となる。 In this way, the SIP can describe the IP address, port number, voice and acoustic compression method, and this SDP is mutually transmitted and received during call control. In the VoIP system, an RTP / RTCP session is established by this SIP and RTP / RTCP packets are transmitted / received. As described above, if the voice and acoustic compression method is established by this SIP call control, In order to make the transmission bit rate variable according to the degree of bandwidth congestion, it is necessary to perform the recall control again.
そこで、本実施の形態においては、RTCPパケットを拡張したAPPパケットを使用して、受信側にてデータの到着状態、即ち送信側の伝送レートを常時又は定期的に計測し、この伝送レートに基づき、伝送レートを挙げるか、又は下げるかの判断を行い、これをAPPパケットにより送信側に通知して送信するデータの伝送レートを制御するものである。 Therefore, in the present embodiment, the arrival state of data on the receiving side, that is, the transmission rate on the transmitting side, is constantly or periodically measured using an APP packet that is an extension of the RTCP packet, and based on this transmission rate. In this case, it is determined whether to increase or decrease the transmission rate, and this is notified to the transmission side by an APP packet to control the transmission rate of data to be transmitted.
次に、RTP/RTCPのセッションを確立した後送受信されるRTP/RTCPパケットについて説明する。図9(a)及び(b)は、RTPパケットの夫々構成及びヘッダのフォーマットを示す図であり、図10(a)乃至(c)は、アプリケーションによって拡張可能なRTCP APPパケットの構成、そのヘッダ(RTCP APP Application-defined Header)、及び送信レポートのフォーマット例を示す図である。 Next, RTP / RTCP packets transmitted / received after establishing an RTP / RTCP session will be described. FIGS. 9A and 9B are diagrams showing the configuration of the RTP packet and the format of the header. FIGS. 10A to 10C show the configuration of the RTCP APP packet that can be expanded by the application and its header. It is a figure which shows the example of a format of (RTCP APP Application-defined Header) and a transmission report.
RTPは、インターネット等のIPネットワークにおいて、リアルタイムに音声や動画を送信/受信するトランスポート・プロトコルであり、RFC1889で勧告されている。RTPは、トランスポート層に位置し、一般にUDP上でRTCPと共に用いられる。 RTP is a transport protocol for transmitting / receiving voice and moving images in real time in an IP network such as the Internet, and is recommended by RFC1889. RTP is located in the transport layer and is generally used with RTCP over UDP.
そして、図9(a)に示すように、RTPパケットは、IPヘッダ、UDPヘッダ、RTPヘッダ及びRTPデータからなる。そして、RTPヘッダには、図9(b)に示すように、先頭から、バージョン情報格納部(V:version、例えばV=2)F1、パディング格納部(P:padding)F2、拡張ビット格納部(X:extension)F3、CSRC(contributing source)カウント格納部(CC)F4、マーカ情報(M:marker)格納部F4、マーカ・ビット格納部(M:maker)F5、ペイロード種別情報格納部(PT:payload type)F6、シーケンス番号情報格納部(sequence number)F7、タイムスタンプ格納部(time stamp)F8、SSRC識別子格納部(synchronization source identifier)F9、CSRC識別子格納部F10が設けられ、CSRC識別子格納部F10の後ろに実時間音響データが付加される。 And as shown to Fig.9 (a), an RTP packet consists of an IP header, a UDP header, an RTP header, and RTP data. In the RTP header, as shown in FIG. 9B, from the top, a version information storage unit (V: version, for example, V = 2) F1, a padding storage unit (P: padding) F2, an extension bit storage unit (X: extension) F3, CSRC (contributing source) count storage unit (CC) F4, marker information (M: marker) storage unit F4, marker bit storage unit (M: maker) F5, payload type information storage unit (PT : Payload type) F6, sequence number information storage unit (sequence number) F7, time stamp storage unit (time stamp) F8, SSRC identifier storage unit (synchronization source identifier) F9, and CSRC identifier storage unit F10 are provided to store CSRC identifiers. Real-time acoustic data is added behind the part F10.
バージョン情報格納部F1には、RTPのバージョンを示す情報が格納され、例えばRTP2を示すときには、その旨のバージョン情報が格納される。 The version information storage unit F1 stores information indicating the RTP version. For example, when indicating RTP2, the version information indicating that is stored.
カウント格納部F4は、ヘッダ中に示されるCSRC(寄与送信元識別子)の数を示す。 The count storage unit F4 indicates the number of CSRCs (contribution source identifiers) indicated in the header.
ペイロード種別情報格納部F6には、実時間音響データの種類を示す情報が格納され、例えば映像や音声を示す旨の情報等が格納される。 The payload type information storage unit F6 stores information indicating the type of real-time acoustic data, for example, information indicating video or audio.
シーケンス番号情報格納部F7には、RTPセッションにおいて、RTPパケットを送受信する度にカウントアップされ、送受信するRTPパケットの順番を認識するためのシーケンス番号が格納される。 The sequence number information storage unit F7 counts up every time an RTP packet is transmitted / received in an RTP session, and stores a sequence number for recognizing the order of RTP packets to be transmitted / received.
タイムスタンプ格納部F8には、実時間音響データを作成、更新した日時に関するタイムスタンプ情報が格納される。 The time stamp storage unit F8 stores time stamp information related to the date and time when real-time acoustic data is created and updated.
SSRC識別子格納部F9及びCSRC識別子格納部F10には、RTPセッションにおいて、データ送信側のソースを識別するための情報が格納される。SSRC識別子は、同期送信元識別子であり、同一ユーザが組み合わせて扱うべき複数のストリームが同じ値を共有するように割り当てた識別子であり、CSRC識別子は、寄与送信元識別子であり、ストリーム源を示す。複数のストリームがミキシング処理され1つのストリームデータとして提供される場合等に使用される。 The SSRC identifier storage unit F9 and the CSRC identifier storage unit F10 store information for identifying the source on the data transmission side in the RTP session. The SSRC identifier is a synchronous transmission source identifier, is an identifier assigned so that a plurality of streams to be handled in combination by the same user share the same value, and the CSRC identifier is a contributing transmission source identifier, indicating a stream source . This is used when a plurality of streams are mixed and provided as one stream data.
図3に示すRTP/RTCP制御部8は、RTPに従って実時間音響データを送信するに際して、上記各格納部に各種情報を格納すると共に、各格納部に格納された各種情報を認識して実時間音響データを抽出する処理をする。
When transmitting real-time acoustic data according to RTP, the RTP /
上述のRTPが音声・動画像データそのものを送信/受信するプロトコルであるのに対し、RTCPは、周期的に、パケットロス、遅延ジッタ、ラウンドトリップ等の回線品質を評価し、その帯域に見合ったリアルタイム通信を実現するため情報を送信/受信するプロトコルである。 While RTP is a protocol that transmits / receives audio / video data itself, RTCP periodically evaluates line quality such as packet loss, delay jitter, round trip, etc., and matches the bandwidth. A protocol for transmitting / receiving information in order to realize real-time communication.
このRTCPを用いることにより、相手からフィードバックされてくる情報により、ネットワークの状態などを推測して送信レートを変更するなどの動的な処理を行うことができる。また、今誰がデータを送信していて、誰が受信しているかを示す情報もRTCPパケットで同時に送っているので、今現在の参加者の情報を知ることもできる。 By using this RTCP, it is possible to perform dynamic processing such as changing the transmission rate by estimating the network state or the like based on information fed back from the other party. In addition, since information indicating who is currently sending data and who is receiving it is also sent at the same time in the RTCP packet, it is possible to know the current participant information.
図10(a)に示すように、RTCPパケットは、IPヘッダ、UDPヘッダ、RTCPヘッダ及びRTCPデータからなる。そして、拡張可能なRTCPパケットであるRTCP APPパケットのヘッダには、図10(b)に示すように、先頭から、バージョン情報格納部(V:version、例えばV=2)F11、パディング格納部(P:padding)F12、subtype格納部F13、パケットタイプ(PT:packet type)格納部F14、レポート長格納部(length)F16、SSRC/CSRC識別子格納部F17、アスキー(ASCII:American Standard Code for Information、情報交換用アメリカ標準コード)で記述されるName格納部F18が設けられ、この後に、アプリケーション独自のデータが格納されるデータ格納部(Application-Dependent Data)F19が付加される。 As shown in FIG. 10A, the RTCP packet includes an IP header, a UDP header, an RTCP header, and RTCP data. In the header of the RTCP APP packet, which is an expandable RTCP packet, as shown in FIG. 10B, the version information storage unit (V: version, for example, V = 2) F11, the padding storage unit ( P: padding) F12, subtype storage unit F13, packet type (PT) storage unit F14, report length storage unit (length) F16, SSRC / CSRC identifier storage unit F17, ASCII (American Standard Code for Information), A Name storage unit F18 described in (American standard code for information exchange) is provided, and a data storage unit (Application-Dependent Data) F19 for storing application-specific data is added thereto.
パケットタイプPT格納部F14には、RTCPパケットの種別が記録され、本実施の形態においては、このパケットタイプPT=APP(Application:アプリケーション固有情報)=204(パケットタイプ値)と記述される。APPは、RTCP規定外のアプリケーション固有の制御情報を通知するためのパケットであることを示す。 The type of RTCP packet is recorded in the packet type PT storage unit F14, and in this embodiment, this packet type PT = APP (Application: application specific information) = 204 (packet type value) is described. APP indicates that it is a packet for notifying application-specific control information outside the RTCP standard.
図3に示すRTP/RTCP制御部8は、RTCP APPパケットとして、上述したように、欠落パケットの再送要求、及びRTPパケットを受信した際のジッタを吸収するために使用するRTPパケット受信のための揺らぎ吸収バッファのサイズ等をデータ格納部F19に記述して送信することができる。そして同時に、VoIP通話制御部3の指示により、通信相手が送信すべき送信データにおける圧縮する周波数成分の情報を記述して送信することができる。
As described above, the RTP /
ここで、RTCPパケットには、RTPデータの送信者から送られるタイプのRTCP SR(Sender Report)パケットと、RTPデータの受信者から送られるタイプのRTCPパケットRTCP RR(Receiver Report)パケットとがある。 Here, the RTCP packet includes an RTCP SR (Sender Report) packet of a type sent from a sender of RTP data and an RTCP packet RTCP RR (Receiver Report) packet of a type sent from a receiver of RTP data.
SRパケットは、ストリームを送出している端末から他の端末に対して送出されるもので、自装置が送出したストリームに関する情報である送信情報(sender info)と、受信したストリーム各々についてストリームの受信状態(パケット破棄率、ジッタ等)を送信装置へ報告するためのレポートブロック(reception report block)とを含み、RRパケットは、他の通話装置から受信したスリームに関する情報を通知するためのもので、同じく受信したストリーム各々についてストリームの受信状態を送信装置へ報告するためのレポートブロックを含むものである。 The SR packet is transmitted from a terminal that is transmitting a stream to another terminal. Transmission information (sender info) that is information about a stream transmitted by the own device and reception of the stream for each received stream Including a report block (reception report block) for reporting the state (packet discard rate, jitter, etc.) to the transmitting device, and the RR packet is for notifying information on a stream received from another communication device, Similarly, each received stream includes a report block for reporting the reception status of the stream to the transmitting apparatus.
このレポートブロックは、図10(c)に示すように、パケットの送信者の同期送信元(SSRC:Synchronization Source)識別子、RTP損失率、損失RTPパケット数、受信シーケンス番号、到着時間間隔のジッタの平均値、最後に受信したSRの送信時刻(LSR:Last SR timestamp)、最後にSRを受信した時刻からこのRRを送るまでの時間(DLSR:Delay since Last SR)を入れることになっている。 As shown in FIG. 10C, this report block includes a synchronization source (SSRC) identifier of a packet sender, an RTP loss rate, a number of lost RTP packets, a reception sequence number, and jitter of an arrival time interval. The average value, the last received SR transmission time (LSR: Last SR timestamp), and the time from the last SR received time to sending this RR (DLSR: Delay since Last SR) are entered.
したがって、送信側においては、RTPデータの送信の際に、送信RTPパケット数及び送信RTPバイト数を管理しておき、また、受信側においては、RTPデータの受信の際に、受信RTPパケット数、損失RTPパケット数及び到着時間のジッタ等の管理情報を管理する。 Therefore, the transmission side manages the number of transmission RTP packets and the number of transmission RTP bytes when transmitting RTP data, and the reception side receives the number of received RTP packets when receiving RTP data. Management information such as the number of lost RTP packets and jitter of arrival time is managed.
図11は、本実施の形態におけるRTCP APPパケットの交換時にやりとりされるメッセージを示す図である。RTPのSenderでもありReceiverでもあるUA1とUA2との間でやり取りされるSRブロックを含むRTCPパケット及びRRブロックを含むRTCPパケットにおいては、図11に示すように、拡張データとして、エンコード帯域幅(Encode Bandwidth)、サブバンド分割ブロック数(sub band Numbers)、デコード処理部前後の揺らぎ吸収バッファサイズ(時間に換算可能)(Forward and Backward Jitter Buffer size)、上記吸収バッファにキューイングされているデータサイズ(時間に換算可能)(Buffer queued size)、RTPパケットの再送リクエスト情報(Re-Request:sequence number)を記述することができる。RTPパケットの再送リクエストにはシーケンス番号を利用する。 FIG. 11 is a diagram showing messages exchanged when exchanging RTCP APP packets in the present embodiment. In an RTCP packet including an SR block and an RTCP packet including an RR block exchanged between UA1 and UA2 which are both RTP Sender and Receiver, as shown in FIG. Bandwidth), number of subband division blocks (sub band Numbers), fluctuation absorption buffer size before and after decoding processing unit (convertible to time) (Forward and Backward Jitter Buffer size), data size queued in the absorption buffer ( (Can be converted into time) (Buffer queued size) and RTP packet retransmission request information (Re-Request: sequence number) can be described. The sequence number is used for the RTP packet retransmission request.
UA1は、UA1のユーザの音声にBGM・効果音等が合成された送信音源ストリームをRTPパケットにて送信する。また、UA2も、UA2のユーザの音声にBGM・効果音等が合成された合成音をRTPパケットにて送信する。
The UA1 transmits a transmission sound source stream in which BGM, sound effects, and the like are synthesized with the voice of the user of the UA1, using an RTP packet. The
そして、例えばUA1は、RTCP APPパケットに、ストリーム受信装置としてのUA1がストリーム送信装置としてのUA2に対してそのストリーム受信状態を報告するレポートブロックに加え、UA2から送られるRTPパケットの到着状態に応じて、制御情報としてのエンコード帯域幅及びサブバンド分割ブロック数を記述する。これを受けたUA2は、そのエンコード帯域幅及びサブバンド分割ブロック数に基づき、UA1に送信する送信データのエンコード帯域及びサブバンド分割ブロック数を変更することで、伝送レートを変更する。 For example, UA1 adds to the RTCP APP packet a report block in which UA1 as the stream receiving device reports the stream reception status to UA2 as the stream transmitting device, and also according to the arrival status of the RTP packet sent from UA2. Thus, the encoding bandwidth and the number of subband division blocks as control information are described. Receiving this, UA2 changes the transmission rate by changing the encoding band and the number of subband division blocks of transmission data to be transmitted to UA1, based on the encoding bandwidth and the number of subband division blocks.
また同様に、UA2からUA1に対して、UA1から送られるRTPパケットの到着状態に応じて伝送レートを制御するための制御情報としてエンコード帯域幅及びサブバンド分割ブロック数を通知することができ、同様に、これを受けたUA1はエンコードすべき帯域及びサブバンド分割ブロック数を変更し、伝送レートを変更する。
Similarly, the UA2 can notify the UA1 of the encoding bandwidth and the number of subband division blocks as control information for controlling the transmission rate according to the arrival state of the RTP packet sent from the UA1. In response, the
更に、UA1とUA2との間にて、SR(Sender Report)ブロックを含むRTCPパケットを送信してからSR(Receiver Report)ブロックを含むRTCPパケットを受信するまでの時間がRTT(Round Trip Time)として求められ、UA1は、このRTTと、自身のデコード処理部前後の揺らぎ吸収バッファサイズとに応じてUA2から再送してもらうことが可能な欠落パケットのシーケンス番号を通知する。即ち、RTTの計算結果に基づき、再送要求したパケットが送られてくるまでの時間情報が得られ、再送要求したパケットが到着する時刻よりそのパケットのデコードを開始予定時間又は再生予定時間が遅いときは再送要求を行うことができる。 Furthermore, a time from when an RTCP packet including an SR (Sender Report) block is transmitted between the UA1 and the UA2 to when an RTCP packet including an SR (Receiver Report) block is received is an RTT (Round Trip Time). UA1 notifies the sequence number of the missing packet that can be retransmitted from UA2 according to this RTT and the fluctuation absorbing buffer size before and after its own decoding processing unit. That is, based on the RTT calculation result, the time information until the retransmission requested packet is sent is obtained, and the packet decoding start scheduled time or reproduction scheduled time is later than the time when the retransmission requested packet arrives Can make a retransmission request.
なお、このアプリケーション固有情報APPとして、自身のデコード処理前後の揺らぎ吸収バッファサイズ、この揺らぎ吸収バッファを占有しているデータ量等の情報も記載することができ、これらの通知を受けた通話相手側のVoIPクライアントは、これらの値に基づき、送信するデータの伝送レートを変更する等してもよい。 The application specific information APP can also describe information such as the fluctuation absorbing buffer size before and after its own decoding process, the amount of data occupying the fluctuation absorbing buffer, and the other party receiving the notification. The VoIP client may change the transmission rate of data to be transmitted based on these values.
このように、UA1及びUA2において、RTCP APPパケットに含まれるエンコード帯域幅及びサブバンド分割ブロック数により、通信相手から送られるRTPパケットの圧縮すべき音の周波数成分を、通話相手に通知することができ、高音質な音声通話中に、何らかの要因でネットワーク帯域が急激に混雑しはじめた場合であっても、伝送レートを下げることにより、会話を遮断されることなく、継続させることができる。 In this way, in UA1 and UA2, the frequency component of the sound to be compressed in the RTP packet sent from the communication partner can be notified to the call partner by the encoding bandwidth and the number of subband division blocks included in the RTCP APP packet. Even if the network bandwidth suddenly becomes congested for some reason during a high-quality voice call, the conversation can be continued without being cut off by lowering the transmission rate.
即ち、本実施の形態においては、例えばUA1からの送信データが格納されたRTPパケットを受信した受信側のUA2は、その受信結果に基づきUA1に伝送レートの変更を要求するRTCP APPパケットを送信する。これを受け取ったUA1が、受け取ったAPPパケットに含まれる制御情報に基づき、UA2に対して欠落パケットを再送すると共に、圧縮する周波数成分の情報に基づき送信データの圧縮符号化方式を変更し、よって伝送するデータの伝送レートを可変とすることができる。このように、RTPパケットの受信側の要求により、RTPパケットを送信する送信側のVoIPクライアントがコーデックを適宜変更したデータを伝送することにより、コーデックの変更通知をするための再呼制御が不要になり、通信が途切れることがない。 That is, in this embodiment, for example, the UA2 on the receiving side that has received the RTP packet storing the transmission data from the UA1 transmits an RTCP APP packet that requests the UA1 to change the transmission rate based on the reception result. . Receiving this, UA1 retransmits the missing packet to UA2 based on the control information included in the received APP packet, and changes the compression encoding method of the transmission data based on the information of the frequency component to be compressed. The transmission rate of data to be transmitted can be made variable. In this way, the VoIP client on the transmitting side that transmits the RTP packet transmits the data with the codec changed as appropriate in response to the request on the receiving side of the RTP packet, thereby eliminating the need for recall control to notify the codec change. Communication is not interrupted.
更に、本実施の形態においては、常時又は定期的に受信側において伝送レートを計測し、その伝送レートに応じて送信側のコーデックを自動的に制御するものとしたが、受信端末を使用しているユーザ操作に基づき同様に処理を行うことができる。 Furthermore, in this embodiment, the transmission rate is measured at the reception side constantly or periodically, and the codec on the transmission side is automatically controlled according to the transmission rate. The same processing can be performed based on the user operation.
即ち、図4に示すGUI8に示したように、例えば、伝送レートを上下するための音質制御部69等の操作部を設けておき、音声のみの通話か又は音声にBGM等を付加した高音質のデータによる通話かに応じてユーザ自身が伝送レートを指示できるようにしたり、又はユーザが例えば音声及び音響が聞き取りにくいと感じた場合には、ユーザ自身がこの操作部を操作して伝送レートを変更することができる。また、伝送レートを下げる際に高周波成分をカットするか、音響データをカットするか等を選択できるような操作部を設け、ユーザ操作に基づきVoIP通話制御部3がRTCP APPパケットを使用して、送信者側の伝送レートを制御するようにしてもよい。また、逆に、ユーザの要望に応じて伝送レートを上げて音質を向上可能なようにしておいてもよい。
That is, as shown in the
次に、パケットを送信してからメッセージの往復に要する時間を示すRTTの求め方について説明する。このRTTは、上述したように、VoIP通話制御部3によち、欠落パケットの再送要求を行う際、RTPパケットを受信した際のジッタを吸収するために使用するRTPパケット受信バッファのサイズと共に参照されるものである。
Next, a description will be given of how to obtain an RTT that indicates the time required for a message to reciprocate after a packet is transmitted. As described above, this RTT is referred to by the VoIP
図12は、RTCPを利用したRTTの計算方法を示すシーケンス図である。図12に示すように、RTPのSenderでもありReceiverでもあるUA1とUA2との間にて、先ず、UA1からRTCP SRパケットが送られると、UA2からRTCP RRパケットが送られる。RTCP RRパケットには、レポートブロックとしてLSR及びDLSRが記述されている。 FIG. 12 is a sequence diagram showing an RTT calculation method using RTCP. As shown in FIG. 12, when an RTCP SR packet is first sent from UA1 between UA1 and UA2, which are both RTP Sender and Receiver, an RTCP RR packet is sent from UA2. In the RTCP RR packet, LSR and DLSR are described as report blocks.
LSRは、最後に受信したSRパケットのNTP(Network Time Protocol)タイムスタンプであり、例えば図12においては、UA1がRTCP SRパケットを送信した時間(10 Nov 1995 11:33:25.125)である。RRパケットを受信したUA1は、RTCP RRパケットの到着時間A(10 Nov 1995 11:33:36.5)と、RRパケットのレポートブロックに記載されたLSRとからRTT(=LSR−A)を算出することができる。
The LSR is an NTP (Network Time Protocol) time stamp of the last received SR packet. For example, in FIG. 12, the LSR is a time (10
RTTには、最後にSRパケットを受信したとき、このレポートブロックを送信するまでの経過時間を1/65536秒単位で表した値を示すDLSR等が含まれる。これは、伝送レートやネットワークの混雑度合いによって変化するものである。 The RTT includes a DLSR or the like indicating a value representing the elapsed time until the report block is transmitted when the SR packet is last received in units of 1/65536 seconds. This changes depending on the transmission rate and the degree of network congestion.
こうしてUA1は、算出したRTT及びパケット到着時刻等によりネットワーク負荷を推定し、欠落パケットの再送要求をしたり、ストリームの伝送レートを調整する。このRTTは、RTCPパケットを送受信する毎に算出してもよく、又は所定時間経過毎に算出したり、コーデックを変更した際に算出するようにしておよい。
In this way, the
次に、聴覚心理特性を利用した高能率音響圧縮符号化及び復号伸張方法の一具体例について説明する。図13及び図14は、夫々高能率音響圧縮符号化部及び高能率音響復号伸張部を示すブロック図である。高能率音響圧縮符号化部70は、図2に示すエンコーダ31に対応するものであり、図13に示すように、時間周波数分解部71と、量子化部72と、聴覚心理モデル部73と、帯域割当て部74と、マルチプレクス75とを有する。
Next, a specific example of a high-efficiency acoustic compression encoding and decoding expansion method using auditory psychological characteristics will be described. 13 and 14 are block diagrams showing a high-efficiency acoustic compression encoding unit and a high-efficiency acoustic decoding / decompression unit, respectively. The high-efficiency acoustic
時間周波数分解部71は、時間軸の信号を所定時間単位でブロック化あるいはフレーム化してこのフレーム毎の時間軸の信号を周波数軸上の信号に変換(スペクトル変換)して複数の周波数帯域に分割する。
The time-
聴覚心理モデル部73は、一般に高域ほど帯域幅が広くなるような臨界帯域(クリティカルバンド)と呼ばれている帯域幅で、オーディオ信号を複数(例えば25バント)の帯域に分割する等の処理を行い、帯域割当て部74は、各帯域毎に所定のビット配分或いは、各帯域毎に適応的なビット割当て(ビットアロケーション)を行う。例えば、モディファイド離散コサイン変換(modified discrete cosine transform:MDCT)処理されて得られた係数データをビットアロケーションによって符号化する際には、各フレーム毎のMDCT処理により得られる各帯域毎のMDCT係数データに対して、適応的なビット数が割当てられる。
The
ここで、上述したRTCPパケットに格納される制御情報に含まれるエンコード帯域及びサブバンド分割ブロック数は、例えば聴覚心理モデル部73に供給され、エンコードすべきデータを指定されたエンコード帯域のデータのみとし、このエンコード帯域をサブバンド分割ブロック数に分割する等の処理を行う。
Here, the encoding band and the number of subband division blocks included in the control information stored in the RTCP packet described above are supplied to the
量子化部72は、帯域毎に割り当てられたビット数に基づき、量子化ステップ又は量子化サイズを決定して量子化する。
The
マルチプレクス75は、量子化されたデータを、帯域割当て部により割り当てられたビット数等の副情報と共に多重化して出力する。
The
また、図14に示すように、高能率音響復号伸張部80は、デマルチプレクス81と、逆量子化82と、時間周波数再構成部83とを有する。デマルチプレクス81は、高能率符号化されたデータが入力され、これをデマルチプレクスする。逆量子化部82は、出マルチプレクス81より取り出された帯域情報等の副情報に基づき量子化データを逆量子化し、時間周波数再構成部83は、時間軸上のデータを周波数軸上のデータに変換して出力する。
As shown in FIG. 14, the high-efficiency acoustic decoding /
このような高能率音響圧縮符号化によれば、音響情報チャンネルの全てのチャンネルを合わせた総ビットレ−トを可変とし、かつ一定の最大値を越えないようなビット配分を行なわせることができる。 According to such high-efficiency acoustic compression coding, the total bit rate of all the acoustic information channels can be made variable, and bit allocation can be performed so as not to exceed a certain maximum value.
即ち、APPパケットにて指定されたエンコード帯域により、圧縮すべき周波数成分を選択し、APPパケットにて指定されたサブバンド分割ブロック数にエンコード帯域を分割するので、通信相手からのAPPパケットに含まれるエンコード帯域及びサブバンド分割ブロック数に基づき、出力するデータのビット数を削減したり、又は増大させたりしてエンコードする実時間音響データの圧縮率を変更することで、伝送するビットレートを可変とすることができる。 That is, the frequency band to be compressed is selected according to the encoding band specified in the APP packet, and the encoding band is divided into the number of subband division blocks specified in the APP packet, so that it is included in the APP packet from the communication partner. The transmission bit rate can be changed by changing the compression rate of real-time audio data to be encoded by reducing or increasing the number of bits of output data based on the encoding band and the number of subband division blocks It can be.
また、ここでは、APPパケットにて圧縮すべき周波数成分を指定するものとしたが、例えば伝送ビットレートを指定するようにし、送信側の高能率圧縮符号化部70が、その指定された伝送ビットレートになるよう圧縮符号化するようにしてもよい。更に、制御情報として各帯域に割り当てるビット数や、量子化部が量子化する量子化ステップ又はサイズ等の情報を指定してもよい。
Here, the frequency component to be compressed is specified in the APP packet. However, for example, the transmission bit rate is specified, and the high-efficiency
1 VoIPクライアントアプリケーション、21 送信手段、22 マイクキャプチャ、23 効果音ファイル読み込み部、24 BGMファイル読み込み部、25,26,31 デコーダ、27,28,29 ゲイン調整部、30 合成部、31 エンコーダ、32 パケット化部、33 送信部、41 受信手段、42 受信部、43 デパケッタイズ部、44 デジッタ部、45 パケット補償部、46 デコーダ、47 読み出し部、48 復号部、49,50,51,52 ゲイン調整部、53 合成部、54 出力部、55 スピーカ、100 VoIP通信システム、111、121 VoIPクライアント、110,120 ユーザ、112,122 ウェブブラウザ、134 ウェブサーバ、113、123 音源データ、130 インターネット 1 VoIP client application, 21 transmitting means, 22 microphone capture, 23 sound effect file reading unit, 24 BGM file reading unit, 25, 26, 31 decoder, 27, 28, 29 gain adjusting unit, 30 synthesis unit, 31 encoder, 32 Packetizing unit, 33 transmitting unit, 41 receiving means, 42 receiving unit, 43 depacketizing unit, 44 dejittering unit, 45 packet compensating unit, 46 decoder, 47 reading unit, 48 decoding unit, 49, 50, 51, 52 gain adjusting unit , 53 synthesis unit, 54 output unit, 55 speaker, 100 VoIP communication system, 111, 121 VoIP client, 110, 120 user, 112, 122 web browser, 134 web server, 113, 123 sound source data, 130 interface Tsu door
Claims (19)
音声を含む実時間音響データを圧縮符号化する圧縮符号化手段と、
上記圧縮符号化手段により圧縮符号化されたデータを格納したデータパケットを生成するデータパケット生成手段と、
少なくとも上記データパケットの送受信を管理する管理情報を格納した制御パケットを生成する制御パケット生成手段と、
1以上の他の通話装置に対して、上記データパケット及び上記制御パケットを送信する送信手段と、
上記他の通話装置からのデータパケット及び制御パケットを受信する受信手段と、
上記他の通話装置からのデータパケットの伝送レートを制御する制御情報を生成する制御手段とを有し、
上記制御パケット生成手段は、上記管理情報と共に上記制御情報を格納した上記制御パケットを生成する
ことを特徴とする通話装置。 In a communication device that transmits and receives real-time acoustic data via the Internet,
Compression encoding means for compressing and encoding real-time acoustic data including speech;
Data packet generation means for generating a data packet storing data compressed and encoded by the compression encoding means;
Control packet generating means for generating a control packet storing management information for managing at least transmission and reception of the data packet;
Transmitting means for transmitting the data packet and the control packet to one or more other communication devices;
Receiving means for receiving data packets and control packets from the other communication device;
Control means for generating control information for controlling the transmission rate of the data packet from the other communication device,
The communication device, wherein the control packet generation unit generates the control packet storing the control information together with the management information.
ことを特徴とする請求項1記載の通話装置。 The call device according to claim 1, wherein the control means measures a transmission rate of a data packet from the other call device received by the receiving means, and generates the control information based on the measurement result. .
ことを特徴とする請求項1記載の通話装置。 The call device according to claim 1, wherein the control means generates the control information based on a user operation.
ことを特徴とする請求項1記載の通話装置。 The call device according to claim 1, wherein the control information includes information for controlling a compression rate of real-time acoustic data stored in a data packet from the other call device.
ことを特徴とする請求項4記載の通話装置。 The communication device according to claim 4, wherein the information for controlling the compression rate includes information for designating a frequency band to be compressed in real-time acoustic data stored in a data packet from the other communication device. .
ことを特徴とする請求項4記載の通話装置。 The communication device according to claim 4, wherein the information for controlling the compression rate includes information for designating a subband division number of real-time acoustic data stored in a data packet from the other communication device.
上記制御手段は、上記受信バッファのサイズに応じて欠落データパケットの再送要求を指示する再送要求指示情報を生成し、
上記制御パケット生成手段は、上記再送要求指示情報を格納した上記制御パケットを生成する
ことを特徴とする請求項1記載の通話装置。 The reception means has a reception buffer for buffering the received data packet,
The control means generates retransmission request instruction information for instructing a retransmission request for a missing data packet according to the size of the reception buffer,
The call device according to claim 1, wherein the control packet generation unit generates the control packet storing the retransmission request instruction information.
ことを特徴とする請求項1記載の通話装置。 The call device according to claim 1, wherein the real-time acoustic data stored in the data packet is a combination of voice and background music and / or sound effects.
ことを特徴とする請求項1記載の通話装置。 The compression encoding means changes a compression rate of real-time acoustic data to be transmitted to the other call device based on control information for controlling the transmission rate stored in a control packet from the other call device. The call device according to claim 1, wherein:
音声を含む実時間音響データを圧縮符号化する圧縮符号化工程と、
上記圧縮符号化工程にて圧縮符号化されたデータを格納したデータパケットを生成するデータパケット生成工程と、
少なくとも上記データパケットの送受信を管理する管理情報を格納した制御パケットを生成する制御パケット生成工程と、
1以上の他の通話装置に対して、上記データパケット及び上記制御パケットを送信する送信工程と、
上記他の通話装置からのデータパケット及び制御パケットを受信する受信工程と、
上記他の通話装置からのデータパケットの伝送レートを制御する制御情報を生成する制御工程とを有し、
上記制御パケット生成工程では、上記管理情報と共に上記制御情報を格納した上記制御パケットを生成する
ことを特徴とする通話方法。 In a call method that transmits and receives real-time acoustic data via the Internet,
A compression encoding process for compressing and encoding real-time acoustic data including speech;
A data packet generating step for generating a data packet storing the data compressed and encoded in the compression encoding step;
A control packet generation step of generating a control packet storing management information for managing at least transmission and reception of the data packet;
A transmission step of transmitting the data packet and the control packet to one or more other communication devices;
A receiving step of receiving a data packet and a control packet from the other communication device;
A control step of generating control information for controlling the transmission rate of data packets from the other communication device,
In the control packet generation step, the control packet storing the control information together with the management information is generated.
ことを特徴とする請求項10記載の通話方法。 11. The call according to claim 10, wherein in the control step, a transmission rate of a data packet from the other call device received in the reception step is measured, and the control information is generated based on the measurement result. Method.
ことを特徴とする請求項10記載の通話方法。 The call method according to claim 10, wherein in the control step, the control information is generated based on a user operation.
ことを特徴とする請求項10記載の通話方法。 The call method according to claim 10, wherein the control information includes information for controlling a compression rate of real-time acoustic data stored in a data packet from the other call device.
ことを特徴とする請求項13記載の通話方法。 The call method according to claim 13, wherein the information for controlling the compression rate includes information for designating a frequency band to be compressed in real-time acoustic data stored in a data packet from the other call device. .
ことを特徴とする請求項13記載の通話方法。 The call method according to claim 13, wherein the information for controlling the compression rate includes information for designating a subband division number of real-time acoustic data stored in a data packet from the other call device.
上記制御パケット生成工程では、上記再送要求指示情報を格納した上記制御パケットを生成する
ことを特徴とする請求項10記載の通話方法。 In the control step, retransmission request instruction information for instructing a retransmission request for a missing data packet is generated according to a capacity of a reception buffer for buffering the received data packet,
The call method according to claim 10, wherein, in the control packet generation step, the control packet storing the retransmission request instruction information is generated.
ことを特徴とする請求項10記載の通話方法。 The call method according to claim 10, wherein the real-time acoustic data stored in the data packet is a combination of voice and background music and / or sound effects.
ことを特徴とする請求項10記載の通話方法。 In the compression encoding step, the compression rate of the real-time acoustic data transmitted to the other call device is changed based on the control information for controlling the transmission rate stored in the control packet from the other call device. The call method according to claim 10, wherein:
各通話装置は、
音声を含む実時間音響データを圧縮符号化する圧縮符号化手段と、
上記圧縮符号化手段により圧縮符号化されたデータを格納したデータパケットを生成するデータパケット生成手段と、
少なくとも上記データパケットの送受信を管理する管理情報を格納した制御パケットを生成する制御パケット生成手段と、
1以上の他の通話装置に対して、上記データパケット及び上記制御パケットを送信する送信手段と、
上記他の通話装置からのデータパケット及び制御パケットを受信する受信手段と、
上記他の通話装置からのデータパケットの伝送レートを制御する制御情報を生成する制御手段とを有し、
少なくとも2つの通話装置の一方の上記制御パケット生成手段は、上記管理情報と共に他方の通話装置からのデータパケットの伝送レートを制御する上記制御情報を格納した上記制御パケットを生成し、
上記他方の通話装置の上記圧縮符号化手段は、上記一方の通話装置からの制御パケットに格納された上記制御情報に基づき該一方の通話装置に送信する実時間音響データの圧縮率を変更する
ことを特徴とする通話システム。
In a call system in which two or more call devices transmit and receive real-time acoustic data via the Internet,
Each communication device
Compression encoding means for compressing and encoding real-time acoustic data including speech;
Data packet generation means for generating a data packet storing data compressed and encoded by the compression encoding means;
Control packet generating means for generating a control packet storing management information for managing at least transmission and reception of the data packet;
Transmitting means for transmitting the data packet and the control packet to one or more other communication devices;
Receiving means for receiving data packets and control packets from the other communication device;
Control means for generating control information for controlling the transmission rate of the data packet from the other communication device,
The control packet generation means of one of the at least two communication devices generates the control packet storing the control information for controlling the transmission rate of the data packet from the other communication device together with the management information,
The compression coding means of the other call device changes a compression rate of real-time acoustic data transmitted to the one call device based on the control information stored in a control packet from the one call device. Call system characterized by.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003280431A JP2005045739A (en) | 2003-07-25 | 2003-07-25 | Apparatus, method and system for telephone conversation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003280431A JP2005045739A (en) | 2003-07-25 | 2003-07-25 | Apparatus, method and system for telephone conversation |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005045739A true JP2005045739A (en) | 2005-02-17 |
Family
ID=34266263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003280431A Pending JP2005045739A (en) | 2003-07-25 | 2003-07-25 | Apparatus, method and system for telephone conversation |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005045739A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007274480A (en) * | 2006-03-31 | 2007-10-18 | Toshiba Corp | Telephone system, and telephone terminal device |
JP2009514486A (en) * | 2005-10-31 | 2009-04-02 | クゥアルコム・インコーポレイテッド | Method and apparatus for detecting the presence of a terminal in a data session |
GB2499204A (en) * | 2012-02-07 | 2013-08-14 | Talkmusically Ltd | Coordinating the reproduction of user-selected audio or video content between a caller terminal and a call recipient terminal during a telephone call |
WO2014155495A1 (en) * | 2013-03-25 | 2014-10-02 | Nttエレクトロニクス株式会社 | Communication apparatus, reception apparatus, and transmission apparatus |
CN108389592A (en) * | 2018-02-27 | 2018-08-10 | 上海讯飞瑞元信息技术有限公司 | A kind of voice quality assessment method and device |
JP2020043563A (en) * | 2018-09-13 | 2020-03-19 | ライン プラス コーポレーションLINE Plus Corporation | Method and apparatus of providing call quality information |
-
2003
- 2003-07-25 JP JP2003280431A patent/JP2005045739A/en active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009514486A (en) * | 2005-10-31 | 2009-04-02 | クゥアルコム・インコーポレイテッド | Method and apparatus for detecting the presence of a terminal in a data session |
JP2007274480A (en) * | 2006-03-31 | 2007-10-18 | Toshiba Corp | Telephone system, and telephone terminal device |
GB2499204A (en) * | 2012-02-07 | 2013-08-14 | Talkmusically Ltd | Coordinating the reproduction of user-selected audio or video content between a caller terminal and a call recipient terminal during a telephone call |
WO2014155495A1 (en) * | 2013-03-25 | 2014-10-02 | Nttエレクトロニクス株式会社 | Communication apparatus, reception apparatus, and transmission apparatus |
JPWO2014155495A1 (en) * | 2013-03-25 | 2017-02-16 | Nttエレクトロニクス株式会社 | Communication device and transmission device |
CN108389592A (en) * | 2018-02-27 | 2018-08-10 | 上海讯飞瑞元信息技术有限公司 | A kind of voice quality assessment method and device |
JP2020043563A (en) * | 2018-09-13 | 2020-03-19 | ライン プラス コーポレーションLINE Plus Corporation | Method and apparatus of providing call quality information |
JP7333731B2 (en) | 2018-09-13 | 2023-08-25 | ライン プラス コーポレーション | Method and apparatus for providing call quality information |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4367657B2 (en) | Voice communication method and apparatus | |
US20190035383A1 (en) | Artificially generated speech for a communication session | |
JP5442771B2 (en) | Data transmission method in communication system | |
US7283585B2 (en) | Multiple data rate communication system | |
US7680099B2 (en) | Jitter buffer adjustment | |
US8831932B2 (en) | Scalable audio in a multi-point environment | |
JP4504429B2 (en) | Method and apparatus for managing media latency of voice over internet protocol between terminals | |
US20120004918A1 (en) | Full-Band Scalable Audio Codec | |
WO2009067954A1 (en) | A method and device for processing an audio stream | |
US7389093B2 (en) | Call method, call apparatus and call system | |
KR20110067972A (en) | The system and method of inernet settop-box including wideband voice internet telephone | |
US8457182B2 (en) | Multiple data rate communication system | |
JP4218456B2 (en) | Call device, call method, and call system | |
JP2005045739A (en) | Apparatus, method and system for telephone conversation | |
JP2005044310A (en) | Equipment for telephone conversation, copyright protection method, and system for telephone conversation | |
US20040062330A1 (en) | Dual-rate single band communication system | |
JP4050961B2 (en) | Packet-type voice communication terminal | |
JP2005045740A (en) | Device, method and system for voice communication | |
JP4207701B2 (en) | Call device, call method, and call system | |
KR100875936B1 (en) | Method and apparatus for matching variable-band multicodec voice quality measurement interval | |
JP2001308919A (en) | Communication unit | |
Mazurczyk et al. | Adaptive voip with audio watermarking for improved call quality and security | |
JP2005043423A (en) | Real-time packet processor and its method | |
JP5831095B2 (en) | Voice communication system, voice communication apparatus and program | |
JP2006074555A (en) | Audio/moving picture adjustment system in multimedia gateway |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060725 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080711 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081209 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090407 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090602 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090707 |