JP2008259094A - Wireless lan telephone communication method and system - Google Patents
Wireless lan telephone communication method and system Download PDFInfo
- Publication number
- JP2008259094A JP2008259094A JP2007101534A JP2007101534A JP2008259094A JP 2008259094 A JP2008259094 A JP 2008259094A JP 2007101534 A JP2007101534 A JP 2007101534A JP 2007101534 A JP2007101534 A JP 2007101534A JP 2008259094 A JP2008259094 A JP 2008259094A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- transmission
- voice
- packet
- wireless lan
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
Abstract
Description
本発明は、本発明は無線LANを利用した無線LAN電話通信方法及びシステムに関するものである。 The present invention relates to a wireless LAN telephone communication method and system using a wireless LAN.
近年、VoIP技術を利用したIP電話が普及している。IP電話では音声をパケット化して、インターネットや専用のネットワークを通して音声を送受信するため、通話コストが安く、また、大手プロバイダがさまざまな地域でサービスを提供しているため、最近では、企業だけでなく、多くの家庭でも利用されるようになった。さらに、最近では、IP電話機をコードレス化する動きも出てきた。例えば、親機でIP電話のプロトコルを終端し、親機から子機は従来のコードレス電話機の方式で音声を子機とやりとりする製品も発表されている。そして、さらに、IP電話のプロトコルを親機で終端するのではなく、子機で終端できるようにし、その子機をホットスポットなどのような公共の無線アクセスポイントに持ち出して、安価に通話できるような無線LANによるコードレス電話機も提案されている。 In recent years, IP telephones using VoIP technology have become widespread. IP phones packetize voice and send and receive voices over the Internet and dedicated networks, so call costs are low, and major providers offer services in various regions, so recently not only companies It has been used in many homes. Recently, there has also been a movement to make IP telephones cordless. For example, a product has been announced in which the parent device terminates the IP telephone protocol, and the parent device transmits the voice to the child device using a conventional cordless telephone system. In addition, the IP phone protocol is not terminated at the master unit, but can be terminated at the slave unit, and the slave unit can be brought to a public wireless access point such as a hotspot to make a cheap call. A cordless telephone using a wireless LAN has also been proposed.
従来の無線LAN電話について、図面を用いて説明する。 A conventional wireless LAN telephone will be described with reference to the drawings.
図38は従来の無線LAN電話の通話時における親機から子機への音声パケットの送信の様子を表した図である。従来の無線LAN電話では、音声パケットは無線フレームと1対1に対応付けられており、エラーが発生した場合は、IEEE802.11の規格により再送によってエラー回復を行うことが規定されているため、エラー発生時には、無線フレームの再送が行われる(例えば特許文献1参照)。
しかしながら上記の従来の構成では、有線に比べてエラーの発生率の高い無線通信において実際にエラーが発生した場合、再送を行わなければならないため、通信帯域を有効に利用できず、また、再送を行うと音声が遅延し、通話品質が劣化してしまう、という課題があった。 However, in the above-described conventional configuration, when an error actually occurs in wireless communication having a higher error rate compared to wired communication, retransmission must be performed, so the communication band cannot be used effectively, and retransmission is not performed. When this is done, there is a problem that the voice is delayed and the call quality is deteriorated.
本発明は、通信帯域を有効に利用し、かつ、通話品質の高い無線LAN電話通信方法及びシステムを提供することを目的とする。 An object of the present invention is to provide a wireless LAN telephone communication method and system that effectively uses a communication band and has high call quality.
本発明は、発生した音声パケットを複製して1つ以上のコピーを保存しておき、送信時に、以前に発生した1つ以上の音声パケットのコピーと最近発生した音声パケットを1つの無線フレームにまとめて送信する手段と、受信した側で、もとのパケットに分割する手段を設けたものである。 The present invention duplicates a generated voice packet and saves one or more copies, and at the time of transmission, copies of one or more previously generated voice packets and recently generated voice packets into one radio frame. Means for transmitting the data collectively and means for dividing the packet into the original packets are provided on the receiving side.
この構成によれば、無線LANにおいてしばしば発生するバーストエラーが発生しても、音声パケットを冗長化して送信することになるので、再送信を行う必要が無く、音の途切れや遅延が無く、通話品質の高い無線LAN電話通信方法及びシステムを提供することができる。 According to this configuration, even if a burst error that often occurs in a wireless LAN occurs, voice packets are redundantly transmitted, so there is no need to retransmit, there is no interruption or delay in sound, and there is no call. A high-quality wireless LAN telephone communication method and system can be provided.
本発明によれば、無線LANによる通信においてしばしば発生するバーストエラーが発生しても、音声パケットを冗長化して送信することになるので、再送信を行う必要が無く、音の途切れや遅延の無い、高い通話品質を実現できる。 According to the present invention, even if a burst error that frequently occurs in wireless LAN communication occurs, voice packets are redundantly transmitted, so there is no need to retransmit, and there is no sound interruption or delay. High call quality can be achieved.
本発明は、発生した音声パケットを複製して1つ以上のコピーを保存しておき、送信時に、以前に発生した1つ以上の音声パケットのコピーと最近発生した音声パケットを1つの無線フレームにまとめて送信する手段と、受信した側で、もとのパケットに分割する手段を設けている。 The present invention duplicates a generated voice packet and saves one or more copies, and at the time of transmission, copies of one or more previously generated voice packets and recently generated voice packets into one radio frame. Means for transmitting the data collectively and means for dividing the packet into the original packets are provided on the receiving side.
これにより、無線LANにおいてしばしば発生するバーストエラーが発生しても、音声パケットを冗長化して送信することになるので、再送を行う必要が無く、音の途切れや遅延の無い、高い通話品質を提供することができる。 As a result, even if burst errors that often occur in wireless LANs occur, voice packets are redundantly transmitted, so there is no need to retransmit, providing high call quality without sound interruption or delay can do.
また、音声の遅延許容時間、音声のコーデック周期、音声のコーデック遅延、および、あらかじめ指定されたネットワークの遅延量とあらかじめ指定されたアルゴリズムによって決定される無線フレームの送信予定時刻、から送信待ち許容時間を計算して、その送信待ち時間の許容範囲内で、音声パケットを冗長化して複数の音声パケットをひとつの無線フレームにまとめて送信し、受信側で、元通り複数の冗長化された音声パケットに分解するように構成されてもよい。 In addition, the waiting time for transmission from the allowable delay time of voice, the codec period of voice, the codec delay of voice, and the scheduled transmission time of the radio frame determined by a predetermined network delay amount and a predetermined algorithm. Within the permissible range of the transmission waiting time, the voice packets are made redundant and a plurality of voice packets are transmitted together in one radio frame, and on the receiving side, a plurality of redundant voice packets are restored. It may be configured to be decomposed into
これにより、音声の遅延許容時間内で最大限の冗長化を行うので、エラー率の高い通信環境でも音声の途切れや遅延のない、高い通話品質を提供できる。 As a result, the maximum redundancy is performed within the allowable delay time of the voice, so that it is possible to provide high call quality with no voice interruption or delay even in a communication environment with a high error rate.
また、音声の遅延許容時間内で音声パケットをキューに保管しておき、連続しない2つ以上の音声パケットをあらかじめ決められたアルゴリズムによって選択し、それらを1つの無線フレームにまとめて送信するように構成してもよい。 In addition, voice packets are stored in a queue within a voice delay allowable time, and two or more non-consecutive voice packets are selected by a predetermined algorithm, and are transmitted together in one radio frame. It may be configured.
これにより、音声パケットがインターリーブされるので、バーストエラーに強い通話を提供できる。 Thereby, since voice packets are interleaved, it is possible to provide a call resistant to burst errors.
また、ネットワークの遅延を測定して、ネットワークの遅延に適応するように構成してもよい。 Further, the network delay may be measured and adapted to the network delay.
これにより、ネットワークのトラフィックが変化して遅延量が変化しても送信側で許容できる送信待ち時間を調整できるので、ネットワークの変動にも影響を受けない高品質の通話を提供できる。 As a result, even if the network traffic changes and the amount of delay changes, the transmission waiting time that can be tolerated on the transmission side can be adjusted, so that it is possible to provide a high-quality call that is not affected by changes in the network.
また、受信履歴バッファと重複パケット検索部を設けて、受信側で重複して受信した音声パケットを破棄するように構成してもよい。 In addition, a reception history buffer and a duplicate packet search unit may be provided so that voice packets received redundantly on the receiving side may be discarded.
これにより、不必要な音声パケット(重複した音声パケット)がネットワークに流れることを防ぐので、ネットワークのトラフィックを圧迫しない良好な通信環境を提供できる。 As a result, unnecessary voice packets (duplicate voice packets) are prevented from flowing through the network, so that it is possible to provide a good communication environment that does not impose network traffic.
また、複数の音声パケットをひとつの無線フレームにまとめる際に、上位プロトコルヘッダを解析して、上位プロトコルの冗長なヘッダを縮退させるように構成してもよい。 In addition, when a plurality of voice packets are combined into one radio frame, the upper protocol header may be analyzed to degenerate the redundant header of the upper protocol.
これにより、冗長なデータが圧縮されるので、無線通信帯域を圧迫しない高品質な通信環境を提供できる。 Thereby, since redundant data is compressed, it is possible to provide a high-quality communication environment that does not compress the wireless communication band.
また、通信エラー率をモニターして、エラー率に応じて音声パケットを冗長化して送信するか、どうかを選択するように構成してもよい。 Further, the communication error rate may be monitored, and it may be configured to select whether or not the voice packet is made redundant and transmitted according to the error rate.
これにより、エラー率が高い場合のみ冗長化を行うので、エラー率の少ない環境では無線通信帯域に余計な負荷をかけない良好な通信環境を提供できる。 Thereby, since redundancy is performed only when the error rate is high, it is possible to provide a good communication environment that does not place an extra load on the wireless communication band in an environment with a low error rate.
以下、本発明の実施の形態について図面を用いて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(実施の形態1)
まず、無線LAN電話装置子機について説明する。
(Embodiment 1)
First, the wireless LAN telephone device slave unit will be described.
図1は、本発明による実施の形態1における無線LAN電話装置子機を示す機能ブロック図である。 FIG. 1 is a functional block diagram showing a wireless LAN telephone device slave unit according to the first embodiment of the present invention.
図1において、101は、発呼先の指定、着呼時に通話の指示および終話の指示をするための操作部、102は、音声を入力するための音声入力部、103は、音声を出力するための音声出力部、104は、受信した無線フレームから取り出されたデータを蓄積する受信バッファ、105は、無線送信用のデータを蓄積する送信バッファ、107は、送信バッファ105に蓄積したデータを無線フレーム化して送信、また、無線フレームを受信してフレームの内容を受信バッファ104に格納する無線通信部、108は、時間の経過を測定するためのRTCである。
In FIG. 1, 101 is an operation unit for designating a call destination, instructing a call at the time of an incoming call, and an instruction for terminating a call, 102 is a voice input unit for inputting a voice, and 103 outputs a voice. An
109は、音声のコーデック周期を記憶するパラメータ記憶部、110は、音声入力部102から入力した音声をA/D変換し、所定のアルゴリズムを用いて音声パケットに変換(エンコード)する、また、音声データを所定のアルゴリズムを用いてデコードした上で、D/A変換し、音声出力部103に出力するコーデック部、111は、コーデック部110がエンコードした音声パケットをエンコードが完了した時刻、すなわち、送信要求受付時刻とともにFIFO方式で記憶する送信パケットキュー、112は、送信待ち時間内に送信パケットキュー111に入力されたパケットをひとつの無線フレームにまとめて前記送信バッファに書き込むペイロード統合部、113は、無線フレームとして受け取ったデータをパケットに分解してFIFO方式で記憶する、受信パケットキュー、114は、受信バッファ104に記憶された内容をもともとひとつのパケットであったかどうか判断し、複数のパケットが統合されている場合は、これを複数のパケットに分解し、受信パケットキュー113にFIFO方式で書き込む、ペイロード分割部である。
109 is a parameter storage unit that stores the codec period of the audio, 110 is A / D converted audio input from the
116は、発呼、着呼、呼の接続・切断の制御、および、各呼の状態に応じたダイヤルトーン、ビジートーン、リンガー、リング・バック・トーンを音声出力部103に出力する呼制御部、117は、呼の設定や解除、通話時の音声パケットの送受信、を指定されたプロトコルに従って処理するプロトコル処理部、118は、上位プロトコルを解析する、上位プロトコル解析部、119は、無線通信におけるエラー率を算出し、あらかじめ指定されたエラー率よりも低いかどうかを判定する、エラー率判定部、130は、全体を制御する制御部である。
116 is a call controller that controls outgoing / incoming calls, call connection / disconnection, and dial tone, busy tone, ringer, ring back tone according to the state of each call to the
図2は、本発明の実施の形態1における無線LAN電話装置子機を示す装置ブロック図である。 FIG. 2 is a device block diagram showing the wireless LAN telephone device slave unit according to the first embodiment of the present invention.
図2において、201は、中央処理装置(以下、CPUと称する)、202は、ROM、203は、RAM、204は、RTC、205は、ベースバンド、206は、RF、207は、A/D、208は、マイク、209は、D/A、210は、スピーカ、211は、キーボード、212は、コーデックである。 In FIG. 2, 201 is a central processing unit (hereinafter referred to as CPU), 202 is ROM, 203 is RAM, 204 is RTC, 205 is baseband, 206 is RF, 207 is A / D. , 208 is a microphone, 209 is a D / A, 210 is a speaker, 211 is a keyboard, and 212 is a codec.
図1及び図2において、101の操作部は、211のキーボードによって、102の音声入力部は、208のマイクによって、103の音声出力部は、210のスピーカによって、それぞれ実現されている。
1 and 2, the
104の受信バッファ、105の送信バッファ、109のパラメータ記憶部、111の送信パケットキュー、113の受信パケットキューは、203のRAMによって実現されている。 104 reception buffers, 105 transmission buffers, 109 parameter storage units, 111 transmission packet queues, and 113 reception packet queues are realized by 203 RAMs.
107の無線通信部は、205のベースバンドと206のRFによって実現されている。また、108のRTCは、204のRTCによって、また、110のコーデック部は、212のコーデック、207のA/D、209のD/Aによって、それぞれ実現されている。
The
112のペイロード統合部、114のペイロード分割部、116の呼制御部、117のプロトコル処理部、118の上位プロトコル解析部、119のエラー率判定部、及び、130の制御部は、201のCPUが202のROMの中に記憶しているプログラムを、202のROMの中に記憶しているデータを参照したり、203のRAMに記憶しているデータを参照したり、変更したりしながら実行することによって実現されている。
112 payload integration unit, 114 payload division unit, 116 call control unit, 117 protocol processing unit, 118 high-level protocol analysis unit, 119 error rate determination unit, and 130 control unit are provided by 201 CPU. The program stored in the
続いて、無線LAN電話装置親機について説明する。 Next, the wireless LAN telephone device base unit will be described.
図3は、本発明による実施の形態1における無線LAN電話装置親機を示す機能ブロック図である。 FIG. 3 is a functional block diagram showing the wireless LAN telephone apparatus master according to the first embodiment of the present invention.
図3において、104は、受信した無線フレームから取り出されたデータを蓄積する受信バッファ、105は、無線送信用のデータを蓄積する送信バッファ、106は、有線のネットワークと接続するためのLAN通信部、107は、送信バッファ105に蓄積したデータを無線フレーム化して送信、また、無線フレームを受信してフレームの内容を受信バッファ104に格納する無線通信部、108は、時間の経過を測定するためのRTCである。
In FIG. 3, 104 is a reception buffer for accumulating data extracted from received radio frames, 105 is a transmission buffer for accumulating data for radio transmission, and 106 is a LAN communication unit for connecting to a wired network. 107 is a wireless frame for transmitting the data accumulated in the
111は、後述する有線−無線ブリッジ部120が、中継が必要と判断したLAN側からのイーサネット(登録商標)フレームを無線フレーム化して送信するために、送信要求受付時刻とともにFIFO方式で記憶する送信パケットキュー、112は、送信待ち時間内に送信パケットキュー111に入力されたパケットをひとつの無線フレームにまとめて前記送信バッファに書き込むペイロード統合部、113は、無線フレームとして受け取ったデータをパケットに分解してFIFO方式で記憶する受信パケットキュー、114は、受信バッファ104に記憶された内容をもともとひとつのパケットであったかどうか判断し、複数のパケットが統合されている場合は、これを複数のパケットに分解し、受信パケットキュー113にFIFO方式で書き込むペイロード分割部、118は、上位プロトコルを解析する、上位プロトコル解析部、119は、無線通信におけるエラー率を算出し、あらかじめ指定されたエラー率よりも低いかどうかを判定するエラー率判定部、120は、有線と無線の間のフレームを必要があれば中継し、さもなければ破棄する有線−無線ブリッジ部、130は、全体を制御する制御部である。
111 is a transmission that is stored in the FIFO method together with a transmission request reception time in order to transmit the Ethernet (registered trademark) frame from the LAN side that is determined to be relayed by the wired-to-
図4は、本発明の実施の形態1における無線LAN電話装置親機を示す装置ブロック図である。 FIG. 4 is a device block diagram showing the wireless LAN telephone device base unit in the first embodiment of the present invention.
図4において、201は、CPU、202は、ROM、203は、RAM、204は、RTC、205は、ベースバンド、206は、RF、213は、ネットワークI/Fである。 In FIG. 4, 201 is a CPU, 202 is a ROM, 203 is a RAM, 204 is an RTC, 205 is a baseband, 206 is an RF, and 213 is a network I / F.
図3及び図4において、受信バッファ104、送信バッファ105、送信パケットキュー111、受信パケットキュー113は、RAM203によって実現される。
3 and 4, the
無線通信部107は、ベースバンド205とRF206によって、RTC108は、RTC204によって、LAN通信部106は、ネットワークI/F213によって、それぞれ実現される。
The
ペイロード統合部112、ペイロード分割部114、上位プロトコル解析部118、エラー率判定部119、有線−無線ブリッジ部120、制御部130は、CPU201がROM202の中に記憶しているプログラムを、ROM202の中に記憶しているデータを参照したり、RAM203に記憶しているデータを参照したり、変更したりしながら実行することによって実現される。
The
続いて、本発明の無線LAN電話システムの全体構成について説明する。 Next, the overall configuration of the wireless LAN telephone system of the present invention will be described.
図5は、本発明の実施の形態1における無線LAN電話システムを示した図である。
FIG. 5 is a diagram showing a wireless LAN telephone system according to
図5に示すように、子機Aは親機Aの管理下にあり、同様に、子機Bは親機Bの管理下にある。親機A、親機Bはそれぞれインターネットに接続されている。親機A、親機Bにはブリッジの機能が搭載されていて、子機からの無線フレームを、LAN通信部(有線)を使用してインターネット側にイーサネット(登録商標)フレームとして中継したり、インターネット側からのイーサネット(登録商標)フレームを子機に無線フレームとして中継したりする。 As shown in FIG. 5, the slave device A is under the control of the master device A, and similarly, the slave device B is under the control of the master device B. Base unit A and base unit B are each connected to the Internet. The base unit A and the base unit B have a bridge function, and relay a wireless frame from the slave unit as an Ethernet (registered trademark) frame to the Internet side using a LAN communication unit (wired). An Ethernet (registered trademark) frame from the Internet side is relayed as a wireless frame to the slave unit.
以上のように構成された無線LAN電話システムについて、親機と子機の動作について、図6のシーケンスチャートにしたがって説明する。 Regarding the wireless LAN telephone system configured as described above, the operations of the master unit and the slave unit will be described with reference to the sequence chart of FIG.
以下説明する動作は、近年VoIPでしばしば利用されているSIPというプロトコルを参考にしている。ただし、説明を必要以上に複雑にしないため、多少、処理を簡略化して説明している。また、ここでは、親機、子機の連携に重点を置いて説明をすることにする。子機の「エンコード」「デコード」、親機の「ブリッジ処理」、親機・子機の「無線送信」「無線受信」は後に詳細を説明する。なお、本実施の形態では、子機は最初、待ち受け状態にあるものとする。 The operation described below refers to a protocol called SIP that is often used in VoIP in recent years. However, in order not to make the description unnecessarily complicated, the process is somewhat simplified. In addition, here, explanation will be given with an emphasis on the cooperation between the parent device and the child device. Details of “encoding” and “decoding” of the slave unit, “bridge processing” of the master unit, and “wireless transmission” and “wireless reception” of the master unit and slave unit will be described later. In the present embodiment, it is assumed that the slave unit is initially in a standby state.
ステップE01
まず、子機Aのユーザは、子機Aの操作部101を利用して発呼先を指定する(ステップE01)。ここでは、ユーザが操作部101より、発呼先の番号050−1001−1234を入力し、発呼を指示したものとする。
Step E01
First, the user of the slave unit A uses the
ステップM02
制御部130は操作部101より入力された発呼先番号を受け取り、呼制御部116対して、指定された発呼先番号に呼を設定するよう要求する。呼制御部116は、「呼の接続要求」を子機Bに知らせるため、「INVITE」メッセージを作成して、プロトコル処理部117に子機Bまで送信するよう要求する。プロトコル処理部117は、無線通信部107を通して親機Aに「INVITE」を意味するデータを送信する(詳細は「子機送信処理」として後述)。親機Aは受け取った無線フレームを有線のイーサネット(登録商標)フレームに変換しインターネットへ送信する(詳細は「親機ブリッジ処理」として後述)。親機Aから送信されたイーサネット(登録商標)フレームはインターネット(図では省略)を通って、親機Bに到着する。親機Bでは、受け取ったイーサネット(登録商標)フレームを中継し、無線フレームに変換して、子機Bに送信する(詳細は「親機ブリッジ処理」として後述)。子機Bでは、親機Bが送信した無線フレームを受け取り、無線通信部107、プロトコル処理部117を経由して呼制御部116に「INVITE」メッセージが通知される(詳細は「子機受信処理」として後述)。これにより子機Bは着呼したことになる。
Step M02
The
ステップE03
子機Bでは、呼制御部116がコーデック部110にリンガー(着信音)を流すよう要求する。すると、コーデック部110は、音声出力部103に着信音として記憶している音声を出力する。
Step E03
In the slave unit B, the
ステップM04
子機Bでは、呼制御部116は「着呼を受け入れた」旨を子機Aに知らせるため、「RINGING」メッセージを作成し、プロトコル処理部117に子機Aまで送信するよう要求する。プロトコル処理部117は、無線通信部107を経由して、「RINGING」意味するデータを親機Bへ送信する。このデータは親機Bによって無線フレームからイーサネット(登録商標)フレームに変換され、インターネットを通り、親機Aに届く。さらに、親機Aは受け取ったイーサネット(登録商標)フレームを中継し、無線フレームとして子機Aに送信する。
Step M04
In the slave unit B, the
ステップE05
子機Aでは、無線通信部107、プロトコル処理部117を経由して、呼制御部116が「RINGING」メッセージを受け取り、発呼先が着呼を受け入れた旨を知る。呼制御部116は、コーデック部110にリング・バック・トーン(呼び出し音、以降RBTと略記する)を出力するよう要求する。すると、コーデック部110は、音声出力部103にRBTを出力する。
Step E05
In the slave unit A, the
ステップE06
子機Bにおいて、ユーザがリンガーを聞いて着信していることに気がつくと、操作部101を操作して、通話を指示する。すると、子機Bでは、制御部130が操作部101から「通話を指示された」旨を受け取り、呼制御部116に「呼を接続する」よう要求する。
Step E06
In slave unit B, when the user hears the ringer and notices that he / she is receiving a call, he / she operates the
ステップM07
子機Bにおいて、呼制御部116は、「着呼に対してユーザが応答した」旨を子機Aに知らせるため、「CONNECT−OK」メッセージ作成し、子機Aに送信するようプロトコル処理部117に要求する。プロトコル処理部117は、無線通信部107を経由して、「CONNECT−OK」を意味するデータを親機Bに送信する。すると、親機Bでは子機Bから受け取った無線フレームをイーサネット(登録商標)フレームに変換して中継し、イーサネット(登録商標)フレームはインターネットを通って親機Aに届く。親機Aでは、届いたイーサネット(登録商標)フレームを無線フレームに変換して中継し、子機Aに送信する。子機Aでは、無線通信部107、プロトコル処理部117を経由して、「CONNECT−OK」を呼制御部116が受け取り、コーデック部110にRBTを停止さるよう要求する。すると、コーデック部はRBTを停止する。
Step M07
In the slave unit B, the
ステップE08
以降、全2重の通信路が確保され、通話が可能となる。ここでは、インターネットの通信帯域は十分広く、遅延も数10ms程度であることを仮定している。つまり、子機Aと子機Bの間での通信のボトルネックは子機−親機間であると仮定している。
Step E08
Thereafter, a full-duplex communication path is secured, and a call becomes possible. Here, it is assumed that the communication band of the Internet is sufficiently wide and the delay is about several tens of ms. That is, it is assumed that the bottleneck for communication between the slave unit A and the slave unit B is between the slave unit and the master unit.
ステップM09
通話中、子機Aのユーザの音声は子機Aの音声入力部102に入力され、コーデック部110によってエンコードされ、音声パケットとしてプロトコル処理部117によって子機Bまで送信される。子機Bでは、無線通信部107、プロトコル処理部117を経由してコーデック部110が音声パケットを受け取り、これをデコードし、結果を子機Bの音声出力部103に出力する。子機B側からのユーザの音声が子機Aに届く処理は、前述の処理とちょうど対称の処理となるため、説明を省略する。
Step M09
During a call, the voice of the user of the slave unit A is input to the
ステップE10
子機Bのユーザは通話を終了するため、呼切断を操作部101から指示する。すると、制御部130は操作部101から呼切断の指示を受け取って、呼制御部116に呼切断を要求する。呼制御部116はエンコードタスクとデコードタスクを停止する。すると、コーデック部110はコーデックを停止する。以降、音声パケットを受け取っても破棄し、音声の入力に対してエンコードも行わない。
Step E10
The user of the slave unit B instructs the call disconnection from the
ステップM11
子機Bにおいて、呼制御部116は、「BYE」メッセージを作成し、プロトコル処理部117に子機Aまで送信するよう要求する。プロトコル処理部117は、無線通信部107を経由して、「BYE」を意味するデータを親機Bに送信する。これまでと同様に、「BYE」メッセージは、親機B、インターネット、親機Aを経由して子機Aに到着する。
Step M11
In the slave unit B, the
ステップE12
子機Aにおいて、呼制御部116は、無線通信部107、プロトコル処理部117を経由して「BYE」のメッセージを受け取る。呼制御部116はエンコードタスクとデコードタスクを停止する。すると、コーデック部110はコーデックを停止する。以降、音声パケットを受け取っても破棄し、音声の入力に対してもエンコードを行わない。
Step E12
In the handset A, the
ステップM13
子機Aにおいて、呼制御部116は「BYE−OK」メッセージを作成し、子機Bまで送信するようプロトコル処理部117に要求する。プロトコル処理部117は、無線通信部107を経由して、「BYE−OK」を意味するデータを親機Aに送信する。これまでと同様に、「BYE−OK」のメッセージは親機A、インターネット、親機Bを経由して子機Bに届く。
Step M13
In the slave unit A, the
ステップE14
子機Bにおいて、呼制御部116は、無線通信部107、プロトコル処理部117を経由して、「BYE−OK」メッセージを受け取る。以降、子機Bは「待ち受けモード」となる。
Step E14
In the slave unit B, the
次に、本実施の形態の子機の動作の概要を説明する。 Next, an outline of the operation of the slave unit of the present embodiment will be described.
図7は、本発明の実施の形態1における子機のタスク構成図を示している。 FIG. 7 shows a task configuration diagram of the slave unit in the first embodiment of the present invention.
本実施の形態では、音声をエンコードするエンコードタスク、音声をデコードするデコードタスク、呼設定・接続・切断などを行う呼制御タスク、送信パケットキューに記憶された音声パケットを無線フレームとして送信する無線送信タスク、無線フレームを受信して音声パケットにし、受信パケットキューに書き込む無線受信タスクが並行して動作しているものとする。エンコードタスク、デコードタスク、呼制御タスクはプロトコル処理タスクに対して送信要求、受信要求を行う。受信要求を行ったあと、プロトコル処理タスクは要求があったデータを受信すると、その旨を、受信要求を行ったタスクに通知する。なお、図中の矢印はデータの流れを示している。 In this embodiment, an encoding task for encoding audio, a decoding task for decoding audio, a call control task for performing call setup / connection / disconnection, and wireless transmission for transmitting audio packets stored in the transmission packet queue as radio frames It is assumed that a task, a wireless reception task that receives a wireless frame, converts it into a voice packet, and writes it to the reception packet queue is operating in parallel. The encoding task, decoding task, and call control task make a transmission request and a reception request to the protocol processing task. After making the reception request, when the protocol processing task receives the requested data, the protocol processing task notifies the requesting task to that effect. In addition, the arrow in a figure has shown the flow of data.
次に、本実施の形態における親機の動作の概要を説明する。 Next, an outline of the operation of the parent device in the present embodiment will be described.
図8は、本発明の実施の形態1における親機のタスク構成図を示している。 FIG. 8 shows a task configuration diagram of the parent device in the first embodiment of the present invention.
親機では、子機と同様に無線送信タスク、無線受信タスクおよび、「無線受信タスクが受け取った無線フレームを吟味し、有線と無線の間でフレームを中継するかどうかを決定し、必要があれば、フレームの形式を変換した後、LAN通信部106を介してイーサネット(登録商標)フレームを送信する、また、LAN通信部106を通して受信したイーサネット(登録商標)フレームを吟味し、有線と無線の間でフレームを中継するかどうかを決定し、必要があれば、フレームの形式を変換した後、無線送信タスクに渡す」ブリッジタスクが並行して動作している。
In the master unit, as with the slave unit, the wireless transmission task, the wireless reception task, and “the wireless frame received by the wireless reception task should be examined to determine whether to relay the frame between wired and wireless. For example, after converting the format of the frame, an Ethernet (registered trademark) frame is transmitted via the
以降、子機のそれぞれのタスク動作についてフローチャートを使用して説明する。 Hereinafter, each task operation of the slave unit will be described using a flowchart.
まず、エンコードタスクの処理について図9のフローチャートに従って説明する。 First, the encoding task process will be described with reference to the flowchart of FIG.
エンコードタスクは、呼制御タスクによって通話中に起動される。通話が終わると呼制御タスクによって停止させられる。以下の説明は通話中のエンコードタスクの動作である。 The encoding task is activated during a call by a call control task. When the call ends, it is stopped by the call control task. The following description is the operation of the encoding task during a call.
ステップS01
コーデック部110は音声入力部102から音声の受け取り、サンプリング(A/D変換)およびエンコードを行う。
Step S01
The
ステップS02
コーデック部110はパラメータ記憶部109に記憶されたコーデック間隔を参照し、RTC108と比較しながらコーデック間隔で指定されている時間だけエンコードが行われたかどうかを判断する。指定された時間が経過していれば、ステップS03へ進む。さもなければ、ステップS01に戻る。
Step S02
The
ステップS03
コーデック部110はサンプリングしたデータをプロトコル処理部117に渡し、送信を要求する。ステップS01に戻る。
Step S03
The
次に、デコードタスクの処理について図10のフローチャートに従って説明する。 Next, decoding task processing will be described with reference to the flowchart of FIG.
デコードタスクは呼制御タスクによって通話中に起動される。通話が終わると呼制御タスクによって停止させられる。以下の説明は通話中のデコードタスクの動作である。 The decode task is activated during a call by the call control task. When the call ends, it is stopped by the call control task. The following description is the operation of the decoding task during a call.
ステップS101
コーデック部110は、プロトコル処理部117から受信通知を受け取っているかどうかを確認する。受信通知を受け取っていれば、ステップS102へ進む。さもなければ、ステップS101に戻る。
Step S101
The
ステップS102
コーデック部110はプロトコル処理部117から受信データを受け取る。
Step S102
The
ステップS103
コーデック部110は受け取ったデータのRTPヘッダを参照し、前回の受信データのタイムスタンプと一致するかどうかを判断する。一致する場合はステップS101へ、さもなければ、ステップS104へ進む。
Step S103
The
ステップS104
コーデック部110は受け取ったデータのRTPヘッダに書かれているタイムスタンプを記憶する。
Step S104
The
ステップS105
コーデック部110は受け取ったデータをデコードし、結果をD/A変換し、その出力を音声出力部103に出力する。ステップS101に戻る。
Step S105
The
次に、呼制御タスクの動作について図11のステートチャートに従って説明する。 Next, the operation of the call control task will be described with reference to the state chart of FIG.
まず、子機Aの電源がONされて、子機Aのユーザが発呼、通話、切断を行う一連の処理について呼制御タスクの動作を子機Aの側から説明する。 First, the operation of the call control task will be described from the side of the handset A with respect to a series of processes in which the handset A is turned on and the user of the handset A makes a call, talks, and disconnects.
ステップE−1
子機の電源ONが操作部101から指示されると、制御部130は呼制御タスク、プロトコル処理タスク、無線送信タスク、無線受信タスクを起動する。呼制御タスクは起動されると、待ち受け状態に遷移する。すると、以降、発着呼が可能になる。
Step E-1
When the
ステップE−2
子機Aでユーザが操作部101を操作して子機Bに発呼を行う。子機Aの制御部130は操作部101からの「発呼」の通知を受け、発呼先番号を受け取り、呼制御部116に相手先番号を指定して「呼接続」要求する。呼制御部116は、「INVITE」メッセージを子機Bまで送信するようプロトコル処理部117に要求する。子機Bは、「INVITE」メッセージを受け付けて、着呼中となり、「RINGING」メッセージを子機Aに送り返してくる。子機Aの呼制御部116はプロトコル処理部117経由で子機Bからの「RINGING」メッセージを受信し、発呼中状態に遷移する。呼制御部116はRBTを音声出力部103に出力し、ユーザに「呼び出し中」であることを知らせる。
Step E-2
The user operates the
ステップE−3
子機Bでは、リンガー(着信音)が鳴っており、ユーザは着信音に気づいて着信を受け入れる。すると、エンコードタスク、デコードタスクが起動された後、「CONNECT−OK」メッセージを子機Aに送信してくる。子機Aでは、呼制御部116が、「CONNECT−OK」メッセージを、プロトコル処理部117を経由して受け取る。すると、呼制御部116は前述のエンコードタスクとデコードタスクを起動し、コーデック部110は、以降の音声入力部102からの音声をA/D変換およびエンコードし、音声パケットとしてプロトコル処理部117に渡す。また、コーデック部110はプロトコル処理部117が受け取った音声パケットをデコードおよびD/A変換し、音声出力部103に出力する。通話中に遷移する。
Step E-3
In cordless handset B, a ringer (ringing tone) is ringing, and the user notices the ringing tone and accepts the incoming call. Then, after the encoding task and the decoding task are activated, a “CONNECT-OK” message is transmitted to the child device A. In the slave unit A, the
ステップE−9
子機Aのユーザが通話を終えた場合、子機Aの操作部101を操作して、呼を切断する。制御部130は操作部101からの切断操作の通知を受け、呼制御部116に「呼切断」を要求する。呼制御部116はエンコードタスクとデコードタスクを停止させる。すると、呼制御部116は「BYE」メッセージを子機Bへ送るようプロトコル処理部117に要求する。プロトコル処理部117は無線処理部107を経由して「BYE」メッセージを意味するデータを親機Aに送信し、インターネット、親機B、を経由して子機Bに到着する。子機Bは「BYE」メッセージを受け取ると、「BYE−OK」を子機Aに返送する。子機Aでは、無線通信部107、プロトコル処理部117を経由して、呼制御部116が「BYE−OK」メッセージを受け取る。すると、待ち受け状態に遷移する。
Step E-9
When the user of the slave unit A finishes the call, the
ステップE−7
また、ユーザが発呼中に発呼を取りやめる場合は、操作部101から発呼取りやめの指示を行い、制御部130が操作部101から発呼取りやめの指示を受け取り、呼制御部116に発呼取りやめを要求する。呼制御部116はプロトコル処理部117に「CANCEL」のメッセージを子機Bへ送信するよう要求する。子機Bはリンガーを停止、「CANCEL−OK」メッセージを子機Aに送信する。子機Aでは、子機Bからの「CANCEL−OK」をプロトコル処理部117が受け取り呼制御部116に通知すると、呼制御部116は待ち受け状態に遷移する。
Step E-7
When a user cancels a call while making a call, the
次に、子機B側からみた、呼制御タスクの動作について説明する。 Next, the operation of the call control task as seen from the handset B side will be described.
ステップE−4
プロトコル処理部117は子機Aから「INVITE」メッセージを受け取り、呼制御部116に通知する。呼制御部116はプロトコル処理部117に「RINGING」メッセージを子機Aに返送するよう要求する。呼制御部116はリンガーを音声出力部103に出力し、ユーザに着信が発生していることを知らせる。呼制御部116は着呼中状態に遷移する。
Step E-4
The
ステップE−5
ユーザはリンガーによって着呼していることを知り、操作部101を操作して、着信に応答する。制御部130は操作部101から着信応答を受け取り、呼制御部116に応答を要求する。すると、呼制御部116は「CONNECT−OK」メッセージを子機Aに送信するようプロトコル処理部117に要求する。プロトコル処理部117は「CONNECT−OK」メッセージを子機Aに送信する。さらに呼制御部116は、音声出力部103へのリンガーの出力を停止し、エンコードタスクとデコードタスクを起動して、以降の音声入力部102からの音声がA/D変換・エンコードされ、音声パケットとして子機Aへ送信されるようにし、また、子機Aからの音声パケットがデコード・D/A変換され、音声出力部103から出力されるようにする。
Step E-5
The user learns that the ringer is receiving a call and operates the
ステップE−9
プロトコル処理部117は子機Aから「BYE」メッセージを受信し、呼制御部116に通知する。呼制御部116はエンコードタスクとデコードタスクを停止し、待ち受け状態に遷移する。
Step E-9
The
また、子機Aのユーザが発呼中に発呼を取りやめた場合は、次のようになる。 Further, when the user of the slave unit A cancels the call during the call, the following occurs.
ステップE−8
プロトコル処理部117は「CANCEL」メッセージを受信し、呼制御部116に通知する。呼制御部116はリンガーを停止し、子機Aに「CANCEL−OK」メッセージを送信するようプロトコル処理部117に要求し、待ち受け状態に遷移する。
Step E-8
The
次に、プロトコル処理タスクの動作について図12のフローチャートに従って説明する。 Next, the operation of the protocol processing task will be described with reference to the flowchart of FIG.
ステップS121
プロトコル処理部117は、エンコードタスク、デコードタスク、呼制御タスクから、送信要求があるかどうかを調べる。あれば、ステップS122へ、なければ、ステップS123へ進む。
Step S121
The
ステップS122
プロトコル処理部117は、送信要求を受け付けて、各プロトコルにしたがってヘッダを付加し、送信パケットキュー111に入れる。送信パケットキュー111はあて先ごとに用意されている。ここであて先とは、IEEE802.11で規定されている送信先MACアドレスである。このとき、この送信要求を受け付けた時刻を、RTC108を参照して、送信要求と対応付けて書き込む。ステップS121に進む。
Step S122
The
ここでは、音声パケットをエンコードタスクから受け取ったとして、説明する。プロトコル処理部117は、音声パケットにRTPヘッダ、UDPヘッダ、IPヘッダ、LLCヘッダを付加し、あて先のMACアドレスを決定する(通常、あて先はIPアドレスで与えられており、プロトコル処理部117はこれをMACアドレスに変換する。詳細は、通常のTCP/IPの通信処理と同様なので省略する。)。プロトコル処理部117は、MACアドレスごとに用意された送信パケットキュー111の中から音声パケットのあて先のMACアドレスを持った送信パケットキューを選択し、音声パケットを送信パケットキュー111に入れる。このとき、RTC108を参照し、送信要求受付時刻として、送信パケットキューに書き込む。ステップS121へ進む。
Here, a description will be given assuming that an audio packet is received from the encoding task. The
ステップS123
プロトコル処理部117は、受信パケットキュー113にデータが届いているかどうか確認する。届いていればステップS124へ、さもなければ、ステップS121へ進む。
Step S123
The
ステップS124
プロトコル処理部117は受信パケットキュー113から受信データを取り出す。
Step S124
The
ステップS125
データのあて先を確認する。あて先がデコードタスクであれば、デコードタスクへ、呼制御タスクであれば、呼制御タスクへ通知する。ステップS121へ進む。
Step S125
Check the data destination. If the destination is a decode task, it notifies the decode task, and if it is a call control task, notifies the call control task. Proceed to step S121.
次に、無線送信タスクの動作を図13のフローチャートに従って説明する。 Next, the operation of the wireless transmission task will be described with reference to the flowchart of FIG.
なお、本実施の形態では無線送信タスクは、子機、親機ともに同一の処理を行う。送信パケットキュー111はあて先のMACアドレスごとに存在し、無線送信タスクは以下の処理を送信パケットキュー111ごとに行う。但し、以下の説明では、ひとつの送信パケットキュー111に注目してその動作を説明する。
In the present embodiment, the wireless transmission task performs the same processing for both the child device and the parent device. The
ステップS131
制御部130は送信パケットキュー111を参照して、キューが空かどうかを判断する。空ならば、ステップS131へ、さもなければステップS132へ進む。
Step S131
The
ステップS132
制御部130は無線通信部107に送信可能かどうかを問い合わせる。具体的には、無線通信部107が、現在通信を行っている周波数の電波が存在するかどうかを判断し、さらに、あらかじめ決められた時間、電波が存在しないことを、RTC108を参照しながら確認する。前述の時間を経過しても電波が検出されなかった場合は、送信可能と判断し、制御部130に送信可能であることを通知する。また、前述の時間内に電波が検出された場合は、送信不可能として制御部130に通知する。送信可能であれば、ステップS133へ、送信不可能であればステップS131へ進む。
Step S132
The
ステップS133
制御部130は送信パケットキュー111の最初のエントリに注目する。
Step S133
The
ステップS134
制御部130は、エラー率判定部119にエラー率があらかじめ設定された閾値よりエラー率が低いかどうかを問い合わせる。エラー率判定部119は、制御部130に判定結果を渡す。受け取った判定結果から、エラー率が低い場合はステップS143へ、さもなければステップS135へ進む。
Step S134
The
ここでは、エラー率が高いものとして説明を続ける。 Here, the description is continued assuming that the error rate is high.
ステップS135
制御部130は送信パケットキュー111を参照して、エントリの数が1より大きいかどうかを判断する。1より大きい場合はステップS136へ、さもなければ、ステップS131へ進む。
Step S135
The
ステップS136
制御部130は、送信パケットキュー111から注目中のエントリのデータを取り出す。
Step S136
The
ステップS137
制御部130は、ステップS136で取り出されたデータをマージするようペイロード統合部112に指示する。詳細は後述する。送信バッファ105に送信すべきデータが書き込まれる。
Step S137
The
ステップS138
制御部130は、次のエントリに注目する。
Step S138
The
ステップS139
制御部130は、注目中のエントリのデータをコピーする。ここでは、送信パケットキュー111からエントリを取り出さずに、データのコピーのみを行う。
Step S139
The
ステップS140
制御部130は、ステップS139でコピーしたデータ、あるいはステップS143で取り出されたデータをマージするようペイロード統合部112に指示する。詳細は後述する。送信バッファ105に送信すべきデータが書き込まれる。
Step S140
The
ステップS141
ここでは無線フレームはIEEE802.11iで規定された暗号化方式によって暗号化されるものとする。制御部130は、無線通信部107にCCMPヘッダとMICキーを付加するよう指示する。すると、無線通信部107は、暗号化アルゴリズムにしたがってCCMPヘッダとMICキーを計算し、送信バッファ105のIEEE802.11iで規定されたペイロードの位置に追加する。
Step S141
Here, it is assumed that the radio frame is encrypted by an encryption method defined by IEEE 802.11i. The
ステップS142
制御部130は、無線通信部107に送信バッファ105の内容を送信するよう指示する。すると、無線通信部107は指示された内容を無線フレームとして空中に放出する。ステップS131へ進む。
Step S142
The
このようにして、2つの音声パケットパケットはひとつの無線フレームにまとめられる。また、ステップS134でエラー率が低いと判断された場合は、次のようになる。 In this way, two voice packet packets are combined into one radio frame. If it is determined in step S134 that the error rate is low, the process is as follows.
ステップS143
ステップS136と同様の処理を行う。ステップS140へ進むという流れになる。この場合は、従来の無線LANと同様、パケットをそのままひとつの無線フレームとして送信する処理となる。
Step S143
Processing similar to that in step S136 is performed. The flow proceeds to step S140. In this case, as in a conventional wireless LAN, the packet is transmitted as it is as one wireless frame.
次に、マージ処理の詳細を図14のフローチャートに従って説明する。 Next, the details of the merge process will be described with reference to the flowchart of FIG.
ここでは、制御部130によって送信すべきデータがペイロード統合部112に渡されているものとして説明する。
Here, it is assumed that data to be transmitted by the
ステップS151
ペイロード統合部112は、送信バッファ105にデータが書き込まれているかどうかを判断する。書き込まれていればステップS157へ、さもなければ、ステップS152へ進む。
Step S151
The
ステップS152
ペイロード統合部112は送信バッファ105にMACヘッダを書き込む。
Step S152
The
ステップS153
ペイロード統合部112は上位プロトコル解析部118にエントリの内容を渡す。すると、上位プロトコル解析部118は、パケット内の上位プロトコル(ここでは、LLC、IP、UDP、RTP)のプロトコルヘッダを認識し、各レイヤのヘッダを記憶する。もし、すでに、以前の上位プロトコルのヘッダを記憶していた場合は上書きする。
Step S153
The
ステップS154
ペイロード統合部112は、受け取った音声パケットの合計バイト数を算出する。ここでは、LLCヘッダ(8バイト)+IPv6ヘッダ(40バイト)+UDPヘッダ(8バイト)+RTPヘッダ(12バイト)+音声(80バイト)=148バイトとなる。
Step S154
The
ステップS155
ペイロード統合部112はステップS154で得られた合計バイト数をペイロードデリミタ1として送信バッファ105に書き込む。ここでは148を書き込む。
Step S155
The
ステップS156
ペイロード統合部112は音声パケットとして受け取ったデータを送信バッファ105に書き込む。マージ処理を終了する。
Step S156
The
ステップS157
ペイロード統合部112は上位プロトコル解析部118にエントリの内容を渡す。すると、上位プロトコル解析部118は、パケット内の上位プロトコル(ここでは、LLC、IP、UDP、RTP)のプロトコルヘッダを認識し、ステップS153で記憶していた内容と比較する。上位プロトコル解析部118はヘッダを解析した結果をペイロード統合部112に渡す。ここでは、LLCヘッダ、IPヘッダ、UDPヘッダが冗長であることをペイロード統合部112に知らせる。
Step S157
The
ステップS158
ペイロード統合部112は、冗長なヘッダを省略すると送信すべきデータの合計バイト数がいくらになるかを計算する。ここでは、冗長なヘッダがどれかを示すフラグ1バイトと省略できないRTPヘッダ12バイトと音声データ80バイトの合計93を算出する。
Step S158
The
ステップS159
ペイロード統合部112は、ステップS158で算出した値をペイロードデリミタとして送信バッファ105に書き込む。ここでは93が書き込まれる。
Step S159
The
ステップS160
次に、ペイロード統合部112は冗長なヘッダがどれかを示すフラグ1バイトを送信バッファ105に書き込む。ここではフラグは、OSIのレイヤモデルにしたがって、第2層、第3層、第4層、第5〜7層をおのおの2ビットで表現しており、00は「もともと対応するヘッダがなかった」、01は「ヘッダがあったが冗長なので省略した」、10「省略できなかった」を表すものとする。ここでは、LLCヘッダ、IPヘッダ、UDPヘッダは省略可能で、RTPヘッダは省略できないため、フラグの値は01010110となる。
Step S160
Next, the
ステップS161
ペイロード統合部112は、省略できなかったヘッダと音声データを送信バッファ105に書き込む。マージ処理を終了する。
Step S161
The
ここでは、続いてRTPヘッダ12バイトと音声データ80バイトを送信バッファ105に書き込む。
Here, 12 bytes of RTP header and 80 bytes of audio data are subsequently written in the
図15は本実施の形態との比較として、IEEE 802.11の無線フレーム・フォーマットを使って音声パケットをひとつだけ送信した場合を示している。また、図16は本実施の形態によって2つの音声パケットがひとつの無線フレームにまとめられたときの無線フレームのフォーマットを示している。 FIG. 15 shows a case where only one voice packet is transmitted using the wireless frame format of IEEE 802.11 as a comparison with the present embodiment. FIG. 16 shows a radio frame format when two voice packets are combined into one radio frame according to this embodiment.
まず、無線通信部107に内蔵された暗号化エンジンによってCCMPヘッダが書き込まれ、MICキーが付加された後、PLCPプリアンブル、PLCPヘッダおよびFCSを無線通信部107が無線フレームを生成するときに付加する。図15、図16の比較より、本来2つの音声パケットを2つの無線フレームで送信せずに、1つの無線フレームにまとめると、フレーム長は25%大きくなるだけなので、伝送効率が大幅に下げることなく、冗長な音声パケットを送信することができることがわかる。これにより、途中の無線フレームの1つがエラーによって喪失しても、前後の無線フレームには喪失した音声パケットが含まれているので、音声を遅延させる再送を行わずに、音声パケットを受信側で復元することができる。
First, after the CCMP header is written by the encryption engine built in the
次に、無線受信タスクの動作を図17のフローチャートに従って説明する。 Next, the operation of the wireless reception task will be described with reference to the flowchart of FIG.
ここで、自局宛の無線フレームは無線通信部107によって受信され、暗号が解除された状態で受信バッファ104にフレームの内容がデータとして書き込まれているものとする。すなわち、CCMPヘッダとMICキーは取り除かれているものとする。また、ここでは、自局宛の無線フレーム以外は無線通信部によって無視されているものとする。すなわち、受信バッファに書き込まれるデータは自局宛のものに限るものとする。
Here, it is assumed that the wireless frame addressed to the local station is received by the
ステップS171
ペイロード分割部114は受信バッファ104を参照してデータを受信しているかどうかを判断する。受信していればステップS172へ、さもなければ、ステップS171へ進む。
Step S171
The
ステップS172
ペイロード分割部114は受信バッファ104からデータをとりだす。
Step S172
The
ステップS173
ペイロード分割部114は、MACヘッダを取り出す。
Step S173
The
ステップS174
ペイロード分割部114は最初のペイロードに注目する。
Step S174
ステップS175
ペイロード分割部114は次の1バイトをデリミタと解釈し、値を読み出し、ペイロードが何バイトかを得て、そのバイト数分だけペイロードとして切り出す。
Step S175
The
ステップS176
ペイロード分割部114は、ステップS175で得たペイロードを上位プロトコル解析部118に渡す。すると、上位プロトコル解析部118は、第2層、第3層、第4層、第5〜7層でのヘッダを解釈し、ペイロード分割部114に通知する。ここではLLCヘッダ、IPヘッダ、UDPヘッダ、RTPヘッダと解釈できたとする。上位プロトコル解析部118はそれぞれのレイヤごとにヘッダを記憶する。
Step S176
The
ステップS177
ペイロード分割部114は、得られたペイロードを受信パケットキュー113に入れる。
Step S177
The
ステップS178
ペイロード分割部114は、受信バッファ104を参照して、すべてのペイロードを切り出したかどうか判断する。すべてのペイロードの切り出しが終わっていれば、ステップS171へ、さもなければ、ステップS179へ進む。
Step S178
The
ステップS179
ペイロード分割部114は、受信バッファ104を参照して、次のペイロードに注目する。
Step S179
The
ステップS180
ペイロード分割部114は、受信バッファ104中の次の1バイトをデリミタと解釈し、値を読み出し、注目中のペイロードが何バイトかを得て、そのバイト数分だけペイロードとして切り出す。
Step S180
The
ステップS181
ペイロード分割部114は、次の1バイトを省略フラグと解釈し、どのレイヤのヘッダが省略されているかを判断する。さらに、省略されているヘッダに対しては、ステップS176で記憶しているヘッダの内容からヘッダを復元するよう上位プロトコル解析部118に指示する。すると、上位プロトコル解析部118は、ペイロードとステップS176で記憶した内容を比較し、各レイヤのヘッダを復元する。ここでは、IPヘッダとUDPヘッダにはチェックサムが含まれるため、ペイロードの内容からチェックサムを計算し、ヘッダとして復元する。以上で、ヘッダが省略される前の音声パケット全体が復元されたことになる。ステップS177へ進む。
Step S181
The
ここでは、フラグの値が01010110であったとすると、フラグは、OSIのレイヤモデルにしたがって、第2層、第3層、第4層、第5〜7層をおのおの2ビットで表現しており、00は「もともと対応するヘッダがなかった」、01は「ヘッダがあったが冗長なので省略した」、10「省略できなかった」を表すので、それぞれ、LLCヘッダは省略、IPヘッダ省略、UDPヘッダ省略、RTPヘッダ省略なし、と解釈できる。したがって、今注目しているフラグから後ろはRTPヘッダとして解釈し、省略されているヘッダに関してはステップS176で記憶した内容に基づき復元する。さらに、IPヘッダとUDPヘッダに関してチェックサムを再計算し、ヘッダを復元する。 Here, assuming that the value of the flag is 01011010, the flag represents the second layer, the third layer, the fourth layer, and the fifth to seventh layers by 2 bits according to the OSI layer model. 00 represents “there was no corresponding header originally”, 01 represents “there was a header but was omitted because it was redundant”, and 10 “it could not be omitted”, so the LLC header was omitted, the IP header was omitted, and the UDP header, respectively. It can be interpreted as omission, no omission of the RTP header. Therefore, the portion after the flag of interest is interpreted as an RTP header, and the omitted header is restored based on the content stored in step S176. Further, the checksum is recalculated for the IP header and the UDP header, and the header is restored.
以上の処理によって、もともと2つの音声パケットがひとつの無線フレームにまとめられていても、正しくもとの音声パケットに分割され、プロトコル処理部117に渡される。
Through the above processing, even though two voice packets are originally combined into one radio frame, they are correctly divided into the original voice packets and passed to the
ここで、正常に通信が行われた場合、同じ音声パケットを2つ受信することになるが、RTPプロトコルでは、前述のデコードタスクの説明で示したとおり、デコードタスクが、RTPヘッダ内のタイムスタンプをチェックしながら、不要なパケットを破棄し、必要なパケットのみデコード処理し、音声として再生するので問題は無い。 Here, when communication is normally performed, two identical voice packets are received. However, in the RTP protocol, as shown in the description of the decode task described above, the decode task includes a time stamp in the RTP header. There is no problem because unnecessary packets are discarded while only the necessary packets are decoded and reproduced as audio.
次に、親機のタスクについて説明する。但し、無線受信タスクと無線送信タスクは子機と同一なので説明を省略する。 Next, the task of the master unit will be described. However, since the wireless reception task and the wireless transmission task are the same as the slave unit, the description thereof is omitted.
ブリッジタスクの処理について図18のフローチャートに従って説明する。 The bridge task process will be described with reference to the flowchart of FIG.
ステップS191
有線−無線ブリッジ部120は、受信パケットキュー113にエントリがあるかどうかを判断する。エントリがあればステップS192へ、さもなければ、ステップS195へ進む。
Step S191
The wired-
ステップS192
有線−無線ブリッジ部120は、受信パケットキュー113からエントリを取り出す。
Step S192
The wired-
ステップS193
有線−無線ブリッジ部120は、ステップS192で取り出したエントリの内容を参照して、LAN側(有線)に中継する必要があるかどうかを判断する。この判断においてはOSI第2層のあて先を利用する。本実施例では、第2層はIEEE802.11で規定されているMACアドレスによって判断する。この判断のためのアドレスの学習方法などは、本発明の主旨と関係ないので割愛する。中継が必要な場合はステップS194へ、さもなければ、ステップS191へ進む。
Step S193
The wired-
ステップS194
有線−無線ブリッジ部120は、IEEE802.11のMACヘッダ形式をIEEE802.3のMACヘッダの形式に変換し、LAN通信部106よりエントリの内容を送信する。ステップS191へ進む。
Step S194
The wired-
ステップS195
有線−無線ブリッジ部120はLAN通信部106に有線LANからデータを受信しているかどうかを問い合わせる。受信していれば、ステップS196へ、さもなければ、ステップS191へ進む。
Step S195
The wired-
ステップS196
有線−無線ブリッジ部120はLAN通信部106から受信データを受け取る。
Step S196
The wired-
ステップS197
有線−無線ブリッジ部120は、ステップS196で取り出した受信データを無線LAN側に中継する必要があるかどうかを判断する。中継するかどうかの判断の方法は従来のブリッジ処理と同様なので割愛する。中継する必要がある場合は、ステップS198へ、さもなければ、ステップS191へ進む。
Step S197
The wired-
ステップS198
有線−無線ブリッジ部120は、ステップS196で取り出した受信データをIEEE802.3のMACヘッダの形式からIEEE802.11のMACヘッダの形式に変換し、送信パケットキュー111に入れる。ステップS191へ進む。
Step S198
The wired-
図19は、本実施の形態において音声パケットがどのように送信されるかを示している。 FIG. 19 shows how voice packets are transmitted in the present embodiment.
図19では、無線フレームAに音声パケット1と音声パケット2が、無線フレームBに音声パケット2と音声パケット3が、無線フレームCに音声パケット3と音声パケット4が、それぞれひとつにまとめられて送信されている。
In FIG. 19,
図20では、無線フレームBが通信エラーとなり喪失した場合を示している。受信側は、無線フレームAと無線フレームCによって、音声パケット1、音声パケット2、音声パケット3、音声パケット4を受信することができる。したがって、無線フレームBを再送する必要は無い。
FIG. 20 shows a case where the radio frame B is lost due to a communication error. The receiving side can receive the
以上のように、従来、エラーの発生によって、再送を余儀なくされ、その分、以降の音声の到着時刻が遅延して、さらに、この遅延が蓄積することによって、受信端末側がジッターバッファのオーバーフローを起こし、音声の途切れなどの品質低下が引き起こされていたが、本実施例1によれば、上記の構成により、音声パケットを冗長化して送信するので、エラーが発生しても、再送することなしに、もとの音声を復元することができる。 As described above, conventionally, due to the occurrence of an error, retransmission is unavoidable, and the subsequent arrival time of the voice is delayed, and further, this delay accumulates, causing the receiving terminal side to overflow the jitter buffer. However, according to the first embodiment, since the voice packet is made redundant by the above configuration, even if an error occurs, it is not retransmitted. , The original voice can be restored.
また、音声パケットをまとめてひとつの無線フレームとして送信するので、帯域を必要以上に圧迫しない。さらに、音声パケットを解析して、不要なヘッダを省略してひとつの無線フレームにまとめるため、1フレームあたりのデータ量を削減できる。このことにより、無線LAN電話の利用者に対しては、品質のよい通話環境を提供し、また、同じ無線LAN内でデータ通信を行っているユーザに対して、必要以上に帯域を圧迫せず、良好な通信環境を提供できる。 Moreover, since voice packets are collectively transmitted as a single radio frame, the bandwidth is not compressed more than necessary. Furthermore, since the voice packet is analyzed and unnecessary headers are omitted to be combined into one wireless frame, the data amount per frame can be reduced. As a result, a wireless LAN telephone user is provided with a high-quality telephone environment, and a user who performs data communication within the same wireless LAN does not press the bandwidth more than necessary. Can provide a good communication environment.
なお、本実施の形態では、エラーが発生した場合に再送を行わないことを前提にしているが、再送回数を従来よりも少なくしても、本発明の主旨になんら変わりなく、十分な効果が得られる。 In this embodiment, it is assumed that retransmission is not performed when an error occurs. However, even if the number of retransmissions is smaller than the conventional one, the gist of the present invention is not changed and sufficient effects are obtained. can get.
(実施の形態2)
図21は、本発明の実施の形態2における子機の機能ブロック図である。
(Embodiment 2)
FIG. 21 is a functional block diagram of the slave unit in the second embodiment of the present invention.
図21において、101は、発呼先の指定、着呼時に通話の指示および終話の指示をするための操作部、102は、音声を入力するための音声入力部、103は、音声を出力するための音声出力部、104は、受信した無線フレームから取り出されたデータを蓄積する受信バッファ、105は、無線送信用のデータを蓄積する送信バッファである。
In FIG. 21, 101 is a call destination, an operation unit for instructing a call at the time of an incoming call, and an instruction for terminating a call, 102 is a voice input unit for inputting voice, and 103 outputs a voice. An
107は、前記送信バッファ105に蓄積したデータを無線フレーム化して送信、また、無線フレームを受信してフレームの内容を前記受信バッファ104に格納する無線通信部、108は、時間の経過を測定するためのRTC、109は、音声の遅延許容時間、音声のコーデック周期、音声のコーデック遅延、および、あらかじめ指定されたネットワークの遅延量を記憶するパラメータ記憶部である。
A
110は、前記音声入力部102から入力した音声をA/D変換し、所定のアルゴリズムを用いて音声パケットに変換(エンコード)する、また、音声データを所定のアルゴリズムを用いてデコードした上で、D/A変換し、前記音声出力部103に出力するコーデック部、111は、前記コーデック部110がエンコードした音声パケットをエンコードが完了した時刻、すなわち、送信要求受付時刻とともにFIFO方式で記憶する送信パケットキュー、112は、送信待ち時間内に送信パケットキュー111に入力されたパケットをひとつの無線フレームにまとめて前記送信バッファに書き込むペイロード統合部である。
110 A / D converts the voice input from the
113は、無線フレームとして受け取ったデータをパケットに分解してFIFO方式で記憶する、受信パケットキュー、114は、前記受信バッファ104に記憶された内容をもともとひとつのパケットであったかどうか判断し、複数のパケットが統合されている場合は、これを複数のパケットに分解し、前記受信パケットキュー113にFIFO方式で書き込む、ペイロード分割部である。
113 receives data received as a radio frame into packets and stores them in a FIFO manner. A
115は、前記パラメータ記憶部109に記憶された音声の遅延許容時間、音声のコーデック周期、音声のコーデック遅延、および、あらかじめ指定されたネットワークの遅延量を参照し、RTC108の値を送信要求受付時刻と比較し、送信待ちの許容時間を算出する、送信待ち許容時間算出部である。
115 refers to the audio delay allowable time, the audio codec period, the audio codec delay, and the network delay amount specified in advance, stored in the
116は、発呼、着呼、呼の接続・切断の制御、および、各呼の状態に応じたダイヤルトーン、ビジートーン、リンガー、リング・バック・トーンを前記音声出力部103に出力する呼制御部、117は、呼の設定や解除、通話時の音声パケットの送受信、を指定されたプロトコルに従って処理するプロトコル処理部、121は、ネットワークの遅延を測定する、ネットワーク遅延測定部、130は、全体を制御する制御部である。
116 is a call control unit that controls outgoing / incoming calls, call connection / disconnection, and outputs a dial tone, busy tone, ringer, ring back tone according to the state of each call to the
上記図21の構成と図2の構成との対応関係について説明する。 The correspondence between the configuration of FIG. 21 and the configuration of FIG. 2 will be described.
101の操作部は、211のキーボードによって、102の音声入力部は、208のマイクによって、103の音声出力部は、210のスピーカによって実現される。
The
104の受信バッファ、105の送信バッファ、109のパラメータ記憶部、111の送信パケットキュー、113の受信パケットキューは、203のRAMによって、実現される。 104 reception buffers, 105 transmission buffers, 109 parameter storage units, 111 transmission packet queues, and 113 reception packet queues are realized by 203 RAMs.
107の無線通信部は、205のベースバンドと206のRFによって、108のRTCは、204のRTCによって、110のコーデック部は、212のコーデック、207のA/D、209のD/Aによって、それぞれ実現される。 107 wireless communication units are 205 baseband and 206 RF, 108 RTCs are 204 RTCs, 110 codecs are 212 codecs, 207 A / Ds, 209 D / As, Each is realized.
112のペイロード統合部、114のペイロード分割部、115の送信待ち許容時間算出部、121のネットワーク遅延測定部、および、130の制御部は、201のCPUが202のROMの中に記憶しているプログラムを、202のROMの中に記憶しているデータを参照したり、203のRAMに記憶しているデータを参照したり、変更したりしながら実行することによって実現される。
112 payload integration units, 114 payload division units, 115 transmission waiting time calculation units, 121 network delay measurement units, and 130 control units are stored in the ROM of 202 by the CPU of 201. The program is realized by referring to data stored in the
図22は、本発明の実施の形態2における親機の機能ブロック図である。 FIG. 22 is a functional block diagram of the parent device in the second embodiment of the present invention.
図22において、104は、受信した無線フレームから取り出されたデータを蓄積する受信バッファ、105は、無線送信用のデータを蓄積する送信バッファ、106は、有線のネットワークと接続するためのLAN通信部、107は、送信バッファ105に蓄積したデータを無線フレーム化して送信、また、無線フレームを受信してフレームの内容を受信バッファ104に格納する無線通信部である。
In FIG. 22, 104 is a reception buffer for accumulating data extracted from received radio frames, 105 is a transmission buffer for accumulating data for radio transmission, and 106 is a LAN communication unit for connecting to a wired network. 107 is a wireless communication unit that converts the data stored in the
108は、時間の経過を測定するためのRTC、111は、後述する有線−無線ブリッジ部120が、中継が必要と判断したLAN側からのイーサネット(登録商標)フレームを無線フレーム化して送信するために、送信要求受付時刻とともにFIFO方式で記憶する送信パケットキュー、112は、送信待ち時間内に送信パケットキュー111に入力されたパケットをひとつの無線フレームにまとめて前記送信バッファに書き込むペイロード統合部である。
108 is an RTC for measuring the passage of time, and 111 is a wireless frame for transmitting an Ethernet (registered trademark) frame from the LAN side, which will be described later, that the wired-
113は、無線フレームとして受け取ったデータをパケットに分解してFIFO方式で記憶する、受信パケットキュー、114は、受信バッファ104に記憶された内容をもともとひとつのパケットであったかどうか判断し、複数のパケットが統合されている場合は、これを複数のパケットに分解し、受信パケットキュー113にFIFO方式で書き込む、ペイロード分割部である。
113 receives data received as a radio frame into packets and stores them in a FIFO manner. Receive
120は、有線と無線の間のフレームを必要があれば中継し、さもなければ破棄する、有線−無線ブリッジ部、130は、全体を制御する、制御部である。
上記図22の構成と図4の構成との対応関係について説明する。 The correspondence between the configuration of FIG. 22 and the configuration of FIG. 4 will be described.
104の受信バッファ、105の送信バッファ、111の送信パケットキュー、113の受信パケットキューは、203のRAMによって、実現される。 The 104 reception buffer, 105 transmission buffer, 111 transmission packet queue, and 113 reception packet queue are realized by 203 RAMs.
107の無線通信部は、205のベースバンドと206のRFによって、108のRTCは、204のRTCによって、106のLAN通信部は、213のネットワークI/Fによって、それぞれ実現される。
The
112のペイロード統合部、114のペイロード分割部、120の有線−無線ブリッジ部、および、130の制御部は、201のCPUが202のROMの中に記憶しているプログラムを、202のROMの中に記憶しているデータを参照したり、203のRAMに記憶しているデータを参照したり、変更したりしながら実行することによって、実現される。
The
無線LAN電話システム全体の構成および親機と子機の動作概要は実施の形態1と変わらないので説明を省略する。 The overall configuration of the wireless LAN telephone system and the operation outline of the parent device and the child device are not different from those of the first embodiment, and thus description thereof is omitted.
まず、子機の動作について説明する。 First, the operation of the slave unit will be described.
図23は、子機のタスク構成を示している。図7と比較して、測定タスクがあらたに追加されている。一方、親機については、タスク構成は実施の形態例1(図8)と同様である。 FIG. 23 shows a task configuration of the slave unit. Compared to FIG. 7, a measurement task is newly added. On the other hand, the task configuration of the parent device is the same as that of the first embodiment (FIG. 8).
次に、子機のタスクについてその動作を説明する。なお、子機のタスクのうち、エンコードタスク、デコードタスク、呼制御タスクは実施の形態1と同一なので説明を省略する。
ここでは、実施の形態1との相違点となる測定タスクについて、図24のフローチャートに従って、説明する。
Next, the operation of the task of the slave unit will be described. Of the tasks of the slave unit, the encoding task, decoding task, and call control task are the same as those in the first embodiment, and thus description thereof is omitted.
Here, the measurement task which is different from the first embodiment will be described according to the flowchart of FIG.
本実施の形態では、通話を行う子機同士があらかじめ別の方法でお互いのRTC108をあわせていることを前提にしている。お互いの時計を合わせる方法としてはGPSを用いる方法や、NTPと呼ばれるプロトコルを用いる方法が一般的であるが、ここでは詳細を記述しない。
In the present embodiment, it is premised that the slave units that are making a call match each other's
ステップS211
ネットワーク遅延測定部121は受信パケットキュー113を参照して、測定パケットが届いているかどうかを判断する。届いていればステップS212へ、さもなければ、S214へ進む。
Step S211
The network
ステップS212
ネットワーク遅延測定部121は、受信パケットキュー113から、パケットを取り出す。
Step S212
The network
ステップS213
ネットワーク遅延測定部121は、取り出したパケットの中身を参照して、そのパケットがいつ送信されたかを読み取り、RTC108を参照して、現在の時刻と比較する。その結果をネットワークの遅延量としてパラメータ記憶部109に書き込む。ステップS211へ進む。ここでは、パケットに書かれた時刻が12:33 12.654 223だったとする。現在、RTC108が12:33 12.734 223を示しているとすると時間差は80msとなり、これをパラメータ記憶部109にネットワーク遅延量として書き込む。ステップS211へ進む。
Step S213
The network
ステップS214
ネットワーク遅延測定部121は、RTC108を参照して送信予定時刻になったかどうかを判断する。予定時刻になっていれば、次の送信予定時刻を設定して、ステップS215へ、さもなければ、ステップS211へ進む。ここでは、測定パケットの送信は5秒に一度とする。したがって、現在のRTC108の値が12:33 17.255 109であるとすれば、送信予定時刻は、5秒後の12:33 22.255 109となる。
Step S214
The network
ステップS215
ネットワーク遅延測定部121は、RTC108を参照して、現在の時刻12:33 17.255 109を読み取り、これをパケットの内容として送信パケットキュー111に入れる。ステップS211へ進む。
Step S215
The network
このように、子機がお互いに、測定パケットを交換することによって、ネットワークの遅延量を測定し、これを基に無線送信タスクで「いくつの音声パケットをひとつの無線フレームにまとめるか」を決定する(詳細は後述)。これにより、ネットワークのトラフィックに変動が起こってネットワーク遅延量が変化しても、音声の遅延許容時間の範囲内で音声パケットを冗長化することができるので、安定した通話を確保できる。 In this way, the slave units exchange measurement packets with each other to measure the amount of delay in the network, and based on this, determine how many voice packets should be combined into one radio frame based on the wireless transmission task. (Details will be described later). As a result, even if the network traffic fluctuates and the network delay amount changes, the voice packet can be made redundant within the range of the voice delay allowable time, so that a stable call can be secured.
図25は、本発明の実施の形態2における子機の無線送信タスクのフローチャートである。送信パケットキュー111はあて先のMACアドレスごとに存在し、無線送信タスクは以下の処理を送信パケットキュー111ごとに行う。但し、以下の説明では、ひとつの送信パケットキュー111に注目してその動作を説明する。
FIG. 25 is a flowchart of the wireless transmission task of the child device in the second embodiment of the present invention. The
ステップS221〜S223
実施の形態1における図13のステップS131〜S133と同一の処理を行う。
Steps S221 to S223
The same processing as steps S131 to S133 of FIG. 13 in the first embodiment is performed.
ステップS224
制御部130は、注目中のエントリに関して、送信待ち許容時間算出部115に、送信待ち許容時間を算出するよう要求する。すると、送信待ち許容時間算出部115はパラメータ記憶部109とRTC108とエントリと対応付けて記録された送信要求受付時刻とを参照し、遅延許容時間を算出する。まず、RTC108と注目中のエントリの送信要求受付時刻から送信待ち時間(送信要求を受け付けてからどれくらい時間が経過しているか)を求める。ここでは以下の値であるとする。
Step S224
The
RTC=12:33 22.043 994
送信要求受付時刻=12:33 22.008 876
ゆえに、送信待ち時間=RTC−送信要求受付時刻=35msとなる。
さらに、以下の値、
コーデック周期=10ms
コーデック遅延=1ms
ネットワーク遅延=80ms
コーデック待ち時間=10ms
全体遅延許容時間=120ms
がパラメータ記憶部109にあらかじめ、記憶されているものとする。なお、コーデック遅延とは、音声が入力されてからA/D変換されて、指定されたアルゴリズムによって(ここではμ則PCM 8kHz 8ビットサンプリングが指定されているものとする)エンコードされたデータが出てくるまでの時間であり、このデータをコーデック周期に相当する分だけ集めてはじめて音声フレームとすることができる。また、音声フレームをデコードしてD/A変換して、音声として出力されるまでの遅延時間も同じ値としている。コーデックのアルゴリズムによってはこの遅延時間は非対称となることもあるが、ここでは対称であるとして説明を続ける。さらに、コーデック待ち時間とは受信側でジッターバッファを設けて、デコード待ちの音声パケットを一時的に貯めておき、パケットの到着が変動しても、音声が途切れないようにするための、時間である。ネットワーク遅延は、前述の測定タスクによって定期的に更新されているものとする。以上の値と次式によって送信待ち許容時間を計算する。
RTC = 12: 33 22.043 994
Transmission request reception time = 12: 33 22.08 876
Therefore, transmission waiting time = RTC−transmission request reception time = 35 ms.
In addition, the following values:
Codec period = 10 ms
Codec delay = 1 ms
Network delay = 80ms
Codec waiting time = 10 ms
Total delay allowable time = 120 ms
Is stored in the
送信待ち許容時間=全体遅延許容時間−コーデック周期−コーデック遅延×2
−ネットワーク遅延−コーデック待ち時間−送信待ち時間
図26は上式を分かりやすく図示したものである。
Allowable transmission wait time = Allowable total delay time-Codec period-
-Network delay-Codec waiting time-Transmission waiting time FIG. 26 illustrates the above equation in an easy-to-understand manner.
上式より注目しているエントリの送信待ち許容時間は−17msとなる。ここで値が負であるということは、今から送信しても許容時間内に音声が到着しないことを示している。 The allowable transmission waiting time of the entry focused on from the above equation is -17 ms. Here, the negative value indicates that the voice does not arrive within the allowable time even if it is transmitted from now.
送信待ち許容時間算出部115は制御部130に「送信待ち許容時間が−17msである」ことを通知する。
The transmission waiting allowable
ステップS225
制御部130が送信待ち許容時間算出部115から受け取った送信待ち許容時間が負の値を示している場合、つまり、今から送信しても間に合わない場合は、ステップS226へ、さもなければステップS229へ進む。ここでは、負の値を示しているのでステップS226へ進む。
Step S225
If the transmission waiting allowable time received by the
ステップS226
制御部130は、送信パケットキュー111から注目中のエントリのデータを取り出す。
Step S226
The
上の例では、注目中のエントリは今から送信しても間に合わない、と判断されて、破棄されることになる。 In the above example, it is determined that the entry of interest is not in time even if it is transmitted from now on, and is discarded.
ステップS227
制御部130は、送信パケットキュー111を参照して、注目中のエントリの次にエントリが存在するかどうかを判断する。存在すればステップS227へ、さもなければ、ステップS221へ進む。ここでは、図27に示すように、エントリが存在するものとして説明を続ける。
Step S227
The
ステップS228
制御部130は、次のエントリに注目する。ステップS224へ進む。
Step S228
The
以上のように、ステップS224〜S228の処理を繰り返すことで、送信しても許容時間内に相手に到着しない音声パケットを破棄する。ここまでの例では、図27におけるエントリ1と2が破棄される。
As described above, by repeating the processing of steps S224 to S228, voice packets that do not arrive at the other party within the allowable time even if transmitted are discarded. In the example so far,
次に、ステップS225で、今から送信したら許容時間内に相手に到着すると判断された場合について説明する。エントリ3では、許容時間内に到着すると判断されるためステップS229へ進む。
Next, a case will be described in which it is determined in step S225 that it will arrive at the other party within an allowable time after transmission from now. Since
ステップS229
制御部130は、注目中のエントリの内容をコピーする。ここでは、エントリ3の内容が一時的に制御部130によって記憶される。
Step S229
The
ステップS230
制御部130は、ステップS229でコピーしたデータをマージするようペイロード統合部112に指示する。詳細は後述する。送信バッファ105に送信すべきデータが書き込まれる。
Step S230
The
ステップS231
制御部130は、送信パケットキュー111を参照して、注目中のエントリの次にエントリが存在するかどうかを判断する。存在すればステップS232へ、さもなければ、ステップS233へ進む。
Step S231
The
ステップS229〜S232を繰り返すことで、エントリがなくなるまで送信パケットキューのエントリの内容がマージされていく。 By repeating steps S229 to S232, the contents of the entries in the transmission packet queue are merged until there are no more entries.
ステップS232
制御部130は、次のエントリに注目する。ステップS229へ進む。
Step S232
The
ステップS233
エントリ5までのデータがマージされた後、パケット送信キュー11には、もうマージすべきエントリが無いので、ステップS233が実行される。
Step S233
After the data up to the
ここでは無線フレームはIEEE802.11iで規定された暗号化方式によって暗号化されるものとする。制御部130は、無線通信部107にCCMPヘッダとMICキーを付加するよう指示する。すると、無線通信部107は、暗号化アルゴリズムにしたがってCCMPヘッダとMICキーを計算し、送信バッファ105のIEEE802.11iで規定されたペイロードの位置に追加する。
Here, it is assumed that the radio frame is encrypted by an encryption method defined by IEEE 802.11i. The
ステップS234
制御部130は、無線通信部107に送信バッファ105の内容を送信するよう指示する。すると、無線通信部107は指示された内容を無線フレームとして空中に放出する。ステップS221へ進む。
Step S234
The
ここで、IEEE 802.11で規定されているプリアンブルやFCSは無線通信部107で付加されるものとする。
Here, it is assumed that the preamble and FCS defined in IEEE 802.11 are added by the
次に、データのマージ処理について図28のフローチャートに従って説明する。実施例1と比較すると、本実施例では、上位プロトコル解析処理を行わないで、単純にペイロードをひとつの無線フレームにまとめている。 Next, data merge processing will be described with reference to the flowchart of FIG. Compared with the first embodiment, in this embodiment, payloads are simply combined into one radio frame without performing upper protocol analysis processing.
ステップS241
ペイロード統合部112は、送信バッファ105にデータが書き込まれているかどうかを判断する。書き込まれていればステップS244へ、さもなければ、ステップS242へ進む。
Step S241
The
ステップS242
ペイロード統合部112は送信バッファ105にMACヘッダを書き込む。ステップS244へ進む。
Step S242
The
ステップS243
ペイロード統合部112は、受け取った音声パケットの合計バイト数を算出する。ここでは、LLCヘッダ(8バイト)+IPv6ヘッダ(40バイト)+UDPヘッダ(8バイト)+RTPヘッダ(12バイト)+音声(80バイト)=148バイトとなる。
Step S243
The
ステップS244
ペイロード統合部112はステップS243で得られた合計バイト数をペイロードデリミタとして送信バッファ105に書き込む。ここでは148を書き込む。
Step S244
The
ステップS245
ペイロード統合部112は音声パケットとして受け取ったデータを送信バッファ105に書き込む。マージ処理を終了する。
Step S245
The
以上のようにして、書き込まれた送信バッファ105の様子を図29に示す。これまでの例では図27におけるエントリ3〜5がペイロード1〜3として書き込まれている。
FIG. 29 shows the state of the
次に、無線受信タスクの動作について図30のフローチャートに従って説明する。 Next, the operation of the wireless reception task will be described with reference to the flowchart of FIG.
なお、本実施の形態では無線受信タスクは、子機、親機ともに同一の処理を行う。ここで、自局宛の無線フレームは無線通信部107によって受信され、受信バッファ104にフレームの内容をデータとして書き込んでいるものとする。
In the present embodiment, the wireless reception task performs the same processing for both the child device and the parent device. Here, it is assumed that the radio frame addressed to the own station is received by the
ステップS251〜S254
実施の形態1における図17のステップS171〜S174と同一である。
Steps S251 to S254
This is the same as steps S171 to S174 in FIG. 17 in the first embodiment.
ステップS255
ペイロード分割部114は先頭の1バイトをデリミタと解釈し、値を読み出し、ペイロードが何バイトかを得て、以降のペイロードを取り出す。ステップS257へ進む。
Step S255
The
ステップS256〜S259
実施の形態1における図17のステップS177〜S180と同一である。
Steps S256 to S259
This is the same as steps S177 to S180 in FIG. 17 in the first embodiment.
以上の処理によって、もともと複数の音声パケットがひとつの無線フレームにまとめられていても、正しくもとの音声パケットに分割され、プロトコル処理部117に渡される。デコードタスクは、規定された遅延時間内にデコード処理を完了し、音声として再生する。
By the above processing, even if a plurality of voice packets are originally combined into one radio frame, they are correctly divided into the original voice packets and passed to the
次に、親機についてであるが、親機のタスク構成は実施の形態1と同様であり、ブリッジタスクは、実施の形態1と同様である。無線受信タスクについては実施の形態2の子機と同様であるため、説明を省略し、ここでは親機の無線送信タスクのみを説明する。 Next, regarding the parent device, the task configuration of the parent device is the same as that of the first embodiment, and the bridge task is the same as that of the first embodiment. Since the wireless reception task is the same as that of the child device of the second embodiment, the description thereof is omitted, and only the wireless transmission task of the parent device is described here.
本実施の形態における親機の無線送信タスクについて図31のフローチャートに従って説明する。 The radio transmission task of the master unit in this embodiment will be described with reference to the flowchart of FIG.
ステップS261〜S262
子機における図25のステップS221〜S222と同一の処理を行う。
Steps S261 to S262
The same processing as that in steps S221 to S222 in FIG.
ステップS263
子機における図25のステップS223と同一の処理を行う。ステップS264へ進む。
Step S263
The same processing as that in step S223 in FIG. The process proceeds to step S264.
ステップS264
子機における図25のステップS226と同一の処理を行う。ステップS265へ進む。
Step S264
The same processing as that in step S226 in FIG. Proceed to step S265.
ステップS265〜S269
子機における図25のステップS230〜S233と同一の処理を行う。
Steps S265 to S269
The same processing as that in steps S230 to S233 in FIG.
ステップS269
子機における図25のステップS234と同一の処理を行う。ステップS261へ進む。
Step S269
The same processing as that in step S234 in FIG. Proceed to step S261.
これまで説明してきたように、本実施の形態で示した子機と親機を組み合わせて利用すれば、通話中の音声の遅延を実用的な範囲内に抑えたまま、エラーが発生しても音が途切れない通話品質の高い通話品質を提供できる。 As explained so far, if the slave unit and the master unit shown in this embodiment are used in combination, even if an error occurs while keeping the voice delay during a call within a practical range, It can provide high call quality with no sound interruption.
以上のように、従来、エラーの発生によって、再送が起き、その分、以降の音声の到着時刻が遅延して、さらに、この遅延が蓄積することによって、受信端末側がジッターバッファのオーバーフローを起こし、音声の途切れなどの品質低下が引き起こされていたが、本実施の形態によれば、上記の構成により、音声パケットを冗長化して送信するので、エラーが発生してももとの音声を復元することができる。 As described above, conventionally, due to the occurrence of an error, retransmission has occurred, and accordingly, the arrival time of the subsequent voice is delayed, and further, this delay accumulates, causing the receiving terminal side to overflow the jitter buffer, Although quality degradation such as voice interruption has been caused, according to the present embodiment, voice packets are redundantly transmitted by the above configuration, so that the original voice is restored even if an error occurs. be able to.
また、音声パケットをまとめてひとつの無線フレームとして送信するので、帯域を必要以上に圧迫しない。さらに、ネットワークのトラフィックが変動しても、ネットワークの遅延時間を測定し、これに送信のタイミングと1フレーム当りのパケットの重畳量を適応させることができる。このことにより、無線LAN電話の利用者に対しては、品質のよい通話環境を提供し、また、同じ無線LAN内でデータ通信を行っているユーザに対して、必要以上に帯域を圧迫せず、良好な通信環境を提供できる。 Moreover, since voice packets are collectively transmitted as a single radio frame, the bandwidth is not compressed more than necessary. Furthermore, even if the network traffic fluctuates, the delay time of the network can be measured, and the transmission timing and the amount of packet superposition per frame can be adapted to this. As a result, a wireless LAN telephone user is provided with a high-quality telephone environment, and a user who performs data communication within the same wireless LAN does not press the bandwidth more than necessary. Can provide a good communication environment.
(実施の形態3)
図32は、本発明の実施の形態3における子機の機能ブロック図である。
(Embodiment 3)
FIG. 32 is a functional block diagram of a slave unit in the third embodiment of the present invention.
図32において、101は、発呼先の指定、着呼時に通話の指示および終話の指示をするための操作部、102は、音声を入力するための音声入力部、103は、音声を出力するための音声出力部、104は、受信した無線フレームから取り出されたデータを蓄積する受信バッファ、105は、無線送信用のデータを蓄積する送信バッファである。
In FIG. 32, 101 designates a call destination, an operation unit for instructing a call at the time of an incoming call, and an instruction for terminating a call, 102 a voice input unit for inputting voice, and 103 outputting voice. An
107は、送信バッファ105に蓄積したデータを無線フレーム化して送信、また、無線フレームを受信してフレームの内容を受信バッファ104に格納する無線通信部、108は、時間の経過を測定するためのRTC、109は、音声の遅延許容時間、音声のコーデック周期、音声のコーデック遅延、および、あらかじめ指定されたネットワークの遅延量を記憶するパラメータ記憶部である。
107 is a wireless communication unit that converts the data accumulated in the
110は、音声入力部102から入力した音声をA/D変換し、所定のアルゴリズムを用いて音声パケットに変換(エンコード)する、また、音声データを所定のアルゴリズムを用いてデコードした上で、D/A変換し、前記音声出力部103に出力するコーデック部、111は、前記コーデック部110がエンコードした音声パケットをエンコードが完了した時刻、すなわち、送信要求受付時刻とともにFIFO方式で記憶する送信パケットキューである。
110 performs A / D conversion on the voice input from the
112は、送信待ち時間内に送信パケットキュー111に入力されたパケットをひとつの無線フレームにまとめて前記送信バッファに書き込むペイロード統合部、113は、無線フレームとして受け取ったデータをパケットに分解してFIFO方式で記憶する、受信パケットキューである。
112 is a payload integration unit that writes packets that are input to the
114は、前記受信バッファ104に記憶された内容をもともとひとつのパケットであったかどうか判断し、複数のパケットが統合されている場合は、これを複数のパケットに分解し、前記受信パケットキュー113にFIFO方式で書き込む、ペイロード分割部、
115は、前記パラメータ記憶部109に記憶された音声の遅延許容時間、音声のコーデック周期、音声のコーデック遅延、および、あらかじめ指定されたネットワークの遅延量を参照し、RTC108の値を送信要求受付時刻と比較し、送信待ちの許容時間を算出する、送信待ち許容時間算出部である。
114 determines whether or not the content stored in the
115 refers to the audio delay allowable time, the audio codec period, the audio codec delay, and the network delay amount specified in advance stored in the
116は、発呼、着呼、呼の接続・切断の制御、および、各呼の状態に応じたダイヤルトーン、ビジートーン、リンガー、リング・バック・トーンを前記音声出力部103に出力する呼制御部、117は、呼の設定や解除、通話時の音声パケットの送受信、を指定されたプロトコルに従って処理するプロトコル処理部である。
116 is a call control unit that controls outgoing / incoming calls, call connection / disconnection, and outputs a dial tone, busy tone, ringer, ring back tone according to the state of each call to the
122は、FIFO方式であらかじめ決められた数の音声パケットの内容または識別子を記憶する受信履歴バッファ、123は、前記受信履歴バッファ122を参照して、指定された音声パケットと同一音声パケットが記憶されているかどうか検索する、重複パケット検索部、130は、全体を制御する、制御部である。
ここで、図32の構成と図2の構成との対応関係について説明する。 Here, the correspondence between the configuration of FIG. 32 and the configuration of FIG. 2 will be described.
101の操作部は、211のキーボードによって、102の音声入力部は、208のマイクによって、103の音声出力部は、210のスピーカによって、それぞれ実現されている。
The
104の受信バッファ、105の送信バッファ、109のパラメータ記憶部、111の送信パケットキュー、113の受信パケットキュー、122の受信履歴バッファは、203のRAMによって、実現されている。 The 104 reception buffer, 105 transmission buffer, 109 parameter storage unit, 111 transmission packet queue, 113 reception packet queue, and 122 reception history buffer are realized by 203 RAMs.
107の無線通信部は、205のベースバンドと206のRFによって、108のRTCは、204のRTCによって、110のコーデック部は、212のコーデック、207のA/D、209のD/Aによって実現されている。 107 wireless communication units are realized by 205 baseband and 206 RF, 108 RTCs are realized by 204 RTCs, 110 codec units are realized by 212 codecs, 207 A / D, and 209 D / A. Has been.
112のペイロード統合部、114のペイロード分割部、115の送信待ち許容時間算出部、123の重複パケット検索部、および、130の制御部は、201のCPUが202のROMの中に記憶しているプログラムを、202のROMの中に記憶しているデータを参照したり、203のRAMに記憶しているデータを参照したり、変更したりしながら実行することによって、実現されている。
112 payload integration unit, 114 payload division unit, 115 transmission waiting time calculation unit, 123 duplicate packet search unit, and 130 control unit are stored in the ROM of 202 by the CPU of 201. The program is implemented by referring to the data stored in the
図33は、本発明の実施の形態3における親機の機能ブロック図である。 FIG. 33 is a functional block diagram of the parent device in the third embodiment of the present invention.
図33において、104は、受信した無線フレームから取り出されたデータを蓄積する受信バッファ、105は、無線送信用のデータを蓄積する送信バッファ、106は、有線のネットワークと接続するためのLAN通信部である。 In FIG. 33, 104 is a reception buffer for accumulating data extracted from a received radio frame, 105 is a transmission buffer for accumulating data for radio transmission, and 106 is a LAN communication unit for connecting to a wired network. It is.
107は、送信バッファ105に蓄積したデータを無線フレーム化して送信、また、無線フレームを受信してフレームの内容を受信バッファ104に格納する無線通信部、108は、時間の経過を測定するためのRTC、111は、後述する有線−無線ブリッジ部120が、中継が必要と判断したLAN側からのイーサネット(登録商標)フレームを無線フレーム化して送信するために、送信要求受付時刻とともにFIFO方式で記憶する送信パケットキューである。
107 is a wireless communication unit that converts the data accumulated in the
112は、送信待ち時間内に送信パケットキュー111に入力されたパケットをひとつの無線フレームにまとめて前記送信バッファに書き込むペイロード統合部、113は、無線フレームとして受け取ったデータをパケットに分解してFIFO方式で記憶する、受信パケットキュー、114は、受信バッファ104に記憶された内容をもともとひとつのパケットであったかどうか判断し、複数のパケットが統合されている場合は、これを複数のパケットに分解し、受信パケットキュー113にFIFO方式で書き込む、ペイロード分割部である。
112 is a payload integration unit that writes packets that are input to the
120は、有線と無線の間のフレームを必要があれば中継し、さもなければ破棄する、有線−無線ブリッジ部、122は、FIFO方式であらかじめ決められた数の音声パケットの内容または識別子を記憶する受信履歴バッファ、123は、前記受信履歴バッファ122を参照して、指定された音声パケットと同一音声パケットが記憶されているかどうか検索する、重複パケット検索部、130は、全体を制御する、制御部である。
120 is a relay between wired and wireless frames if necessary, and is otherwise discarded. A wired-
ここで、図33の構成と図4の構成との対応関係について説明する。 Here, the correspondence between the configuration of FIG. 33 and the configuration of FIG. 4 will be described.
104の受信バッファ、105の送信バッファ、111の送信パケットキュー、113の受信パケットキュー、122の受信履歴バッファは、203のRAMによって、実現されている。 104 reception buffers, 105 transmission buffers, 111 transmission packet queues, 113 reception packet queues, and 122 reception history buffers are realized by 203 RAMs.
107の無線通信部は、205のベースバンドと206のRFによって、108のRTCは、204のRTCによって、106のLAN通信部は、213のネットワークI/Fによって、それぞれ実現されている。
The
112のペイロード統合部、114のペイロード分割部、120の有線−無線ブリッジ部、123の重複パケット検索部、および、130の制御部は、201のCPUが202のROMの中に記憶しているプログラムを、202のROMの中に記憶しているデータを参照したり、203のRAMに記憶しているデータを参照したり、変更したりしながら実行することによって、実現されている。
112 payload integration unit, 114 payload division unit, 120 wired-wireless bridge unit, 123 duplicate packet search unit, and 130 control unit are programs stored in
本実施の形態では、無線LAN電話システム全体の構成および親機と子機の動作概要は実施の形態1と変わらないので説明を省略する。また、同様に、親機と子機のタスク構成も実施の形態1と同一なので説明を省略する。 In the present embodiment, the overall configuration of the wireless LAN telephone system and the operation outline of the parent device and the child device are the same as those in the first embodiment, and thus the description thereof is omitted. Similarly, the task configuration of the parent device and the child device is the same as that of the first embodiment, and thus the description thereof is omitted.
図34は、本実施の形態における子機の無線送信タスクのフローチャートである。 FIG. 34 is a flowchart of the wireless transmission task of the child device in the present embodiment.
送信パケットキュー111はあて先のMACアドレスごとに存在し、無線送信タスクは以下の処理を送信パケットキュー111ごとに行う。但し、以下の説明では、ひとつの送信パケットキュー111に注目してその動作を説明する。本実施例は実施例2とよく似ているが、実施例2では許容時間内に送信できるパケットをすべてマージして送信するのに対し、本実施例では許容時間内に送信できるパケットのもっとも古いものともっとも新しいもののみをマージする、という点で異なっている。以下、この点を留意しながら詳しく説明する。
The
ステップS301〜S308
実施の形態2における図25のステップS221〜S228と同一の処理を行う。
Steps S301 to S308
The same processing as steps S221 to S228 of FIG. 25 in the second embodiment is performed.
ここまでの処理で今から送信しても許容時間内に到着しないパケットは送信パケットキュー111から削除されていることになる。
Packets that do not arrive within the allowable time even if they are transmitted from now on in the processing so far are deleted from the
ステップS309
制御部130は、送信パケットキュー111を参照して、注目中のエントリの次にエントリが存在するかどうかを判断する。存在すればステップS314へ、さもなければ、ステップS310へ進む。ここでは、エントリが存在しないものとして説明を続ける。この場合、送信パケットキュー111に音声パケットがひとつしか残っていないことになる。
Step S309
The
ステップS310
制御部130は、注目中のエントリの内容をコピーする。
Step S310
The
ステップS311
制御部130は、ステップS310でコピーしたデータをマージするようペイロード統合部112に指示する。詳細は後述する。送信バッファ105に送信すべきデータが書き込まれる。
Step S311
The
ステップS312
ここでは無線フレームはIEEE802.11iで規定された暗号化方式によって暗号化されるものとする。制御部130は、無線通信部107にCCMPヘッダとMICキーを付加するよう指示する。すると、無線通信部107は、暗号化アルゴリズムにしたがってCCMPヘッダとMICキーを計算し、送信バッファ105のIEEE802.11iで規定されたペイロードの位置に追加する。
Step S312
Here, it is assumed that the radio frame is encrypted by an encryption method defined by IEEE 802.11i. The
ステップS313
制御部130は、無線通信部107に送信バッファ105の内容を送信するよう指示する。すると、無線通信部107は指示された内容を無線フレームとして空中に放出する。ここで、IEEE 802.11で規定されているプリアンブルやFCSは無線通信部107で付加されるものとする。
Step S313
The
ステップS301へ進む。 Proceed to step S301.
次に、ステップS309で次のエントリが存在した場合について説明する。 Next, a case where the next entry exists in step S309 will be described.
図27に示すように5つのエントリが送信パケットキュー111に登録されていたものとする。ステップS309までの処理でエントリ1、2は今から送信しても許容時間内に到着しないので破棄されている。つまり現在エントリ3に注目している。エントリ4が送信パケットキュー111に存在するため、ステップS314が実行される。
Assume that five entries are registered in the
ステップS314
ステップS310と同一の処理を行う。
Step S314
The same processing as in step S310 is performed.
ステップS315
ステップS311と同一の処理を行う。
Step S315
The same processing as that in step S311 is performed.
ステップS316
ステップS308と同一の処理を行う。
Step S316
The same process as in step S308 is performed.
ステップS317
ステップS309と同一の処理を行う。次のエントリが存在する場合は、ステップS316へ、さもなければ、ステップS310へ進む。
Step S317
The same processing as in step S309 is performed. If the next entry exists, the process proceeds to step S316; otherwise, the process proceeds to step S310.
このように、ステップS314、S315の処理でもっとも古い音声パケットが送信データとしてマージされる。さらにステップS316、S317によって、送信パケットキュー111のなかでもっとも新しいパケットを見つける。
In this way, the oldest voice packet is merged as transmission data in the processes of steps S314 and S315. Furthermore, the newest packet is found in the
以降、ステップS310〜S313の処理によってもっとも古いパケットともっとも新しいパケットがマージされ、送信される。なお、本実施の形態では、実施の形態2と同一のマージ処理を行うものとする。 Thereafter, the oldest packet and the newest packet are merged and transmitted by the processing in steps S310 to S313. In the present embodiment, it is assumed that the same merge process as in the second embodiment is performed.
次に、無線受信タスクの動作について図35のフローチャートに従って説明する。 Next, the operation of the wireless reception task will be described with reference to the flowchart of FIG.
なお、本実施例では無線受信タスクは、子機、親機ともに同一の処理を行う。ここで、自局宛の無線フレームは無線通信部107によって受信され、受信バッファ104にフレームの内容をデータとして書き込んでいるものとする。
In this embodiment, the wireless reception task performs the same processing for both the slave unit and the master unit. Here, it is assumed that the radio frame addressed to the own station is received by the
ステップS321〜S325
実施の形態2における図30のステップS251〜S255と同一の処理を行う。
Steps S321 to S325
The same processing as steps S251 to S255 of FIG. 30 in the second embodiment is performed.
ステップS326
ペイロード分割部114は、重複パケット検索部123に現在注目中のペイロードと等しい内容のパケットが受信履歴バッファ122にすでに登録されているかどうかを問い合わせる。
Step S326
The
ステップS327
重複パケット検索部123は、ステップS326の結果を制御部130に通知する。この処理の詳細は後述する。登録されていれば、ステップS328へ、さもなければ、ステップS331へ進む。
Step S327
The duplicate
ステップS328〜S329
実施の形態2における図30のステップS257〜S258と同一の処理を行う。
Steps S328 to S329
The same processing as steps S257 to S258 of FIG. 30 in the second embodiment is performed.
ステップS330
実施の形態2における図30のステップS259と同一の処理を行う。ステップS326へ進む。
Step S330
The same process as step S259 of FIG. 30 in the second embodiment is performed. The process proceeds to step S326.
ステップS331
ペイロード分割部114は、得られたペイロードを受信パケットキュー113に入れる。ステップS328へ進む。
Step S331
The
以上の処理によって、もともと複数の音声パケットがひとつの無線フレームにまとめられていても、正しくもとの音声パケットに分割され、プロトコル処理部117に渡される。また、送信側によって同じ音声パケットがコピーされていて、異なる無線フレームで送信されても、本処理によって、同じ音声パケットは破棄される。これにより、親機では、同じ音声パケットをLANに流すことがなくなるので、ネットワークのトラフィックを不必要に増加させることはない。
By the above processing, even if a plurality of voice packets are originally combined into one radio frame, they are correctly divided into the original voice packets and passed to the
次に、前述の重複パケット検索処理について詳細を説明する。 Next, details of the above-described duplicate packet search process will be described.
図36は、本実施の形態における重複パケット検索処理を示したフローチャートである。 FIG. 36 is a flowchart showing duplicate packet search processing in the present embodiment.
ここでは、音声パケットの伝送をRTPプロトコルによって行うものとする。RTPプロトコルではヘッダ部にシーケンス番号が書き込まれており、音声パケットの重複や欠落、順序の入れ代わりなどを検出できるようになっている。ここでは、受信履歴バッファ122は、10個のシーケンス番号をFIFO方式で記憶するものとする。
Here, it is assumed that voice packets are transmitted by the RTP protocol. In the RTP protocol, a sequence number is written in the header portion, and it is possible to detect duplication or omission of voice packets, change of order, and the like. Here, it is assumed that the
ステップS341
重複パケット検索部123は、受信履歴バッファ122内にシーケンス番号が登録されているかどうかを判断する。ひとつも登録されていなければ、「重複なし」として処理を終了する。さもなければ、ステップS342へ進む。
Step S341
The duplicate
ステップS342
重複パケット検索部123は、受信履歴バッファ122内のFIFO方式で記憶されている最初のシーケンス番号に注目する。
Step S342
The duplicate
ステップS343
重複パケット検索部123は、ペイロード分割部114によって指定されたペイロードに含まれるRTPパケットのヘッダ部にあるシーケンス番号を参照して、現在注目しているシーケンス番号と一致するかどうかを照合する。一致する場合は、「重複あり」として処理を終了する。さもなければ、ステップS344へ進む。
Step S343
The duplicate
ステップS344
重複パケット検索部123は、受信履歴バッファ122内にいま注目中のシーケンス番号の次にもシーケンス番号が記憶されているかどうかを判断する。記憶されている場合は、ステップS345へ、さもなければ、「重複なし」として処理を終了する。
Step S344
The duplicate
ステップS345
重複パケット検索部123は、現在注目中のシーケンス番号を受信履歴バッファ122にFIFO方式で記憶されている次のシーケンス番号に移動する。ステップS343へ進む。
Step S345
The duplicate
以上の処理によって、本実施の形態では過去10パケットにわたって、受信した音声パケットのRTPヘッダのシーケンス番号を調べ、すでに受信したかどうかを判断する。これにより、すでに受信したものは「重複あり」として処理されるため、ペイロード統合部114の処理によって破棄されることになる。
With the above processing, in the present embodiment, the sequence number of the RTP header of the received voice packet is checked over the past 10 packets to determine whether or not it has already been received. As a result, what has already been received is processed as “duplicate”, and is discarded by the processing of the
次に、親機についてであるが、親機のタスク構成は実施の形態1と同様である。ここでは実施の形態1、2と異なる親機の無線送信タスクのみを説明する。 Next, regarding the parent device, the task configuration of the parent device is the same as that of the first embodiment. Here, only the wireless transmission task of the parent device different from the first and second embodiments will be described.
本実施の形態における親機の無線送信タスクについて図37のフローチャートに従って説明する。 The wireless transmission task of the master unit in this embodiment will be described with reference to the flowchart of FIG.
ステップS351〜S352
実施の形態1における図13のステップS131〜S132と同一の処理を行う。
Steps S351 to S352
The same processing as in steps S131 to S132 of FIG. 13 in the first embodiment is performed.
ステップS353
実施の形態1における図13のステップS133と同一の処理を行う。ステップS354へ進む。
Step S353
The same process as step S133 of FIG. 13 in the first embodiment is performed. Proceed to step S354.
ステップS354
制御部130は送信パケットキュー111を参照して、エントリの数が1より大きいかどうかを判断する。1より大きい場合はステップS355へ、さもなければ、ステップS358へ進む。
Step S354
The
ステップS355〜S361
実施の形態1における図13のステップS136〜S142と同一の処理を行う。ステップS351へ進む。
Steps S355 to S361
The same processing as steps S136 to S142 of FIG. 13 in the first embodiment is performed. The process proceeds to step S351.
これまで説明してきたように、本実施の形態で示した子機と親機を組み合わせて利用すれば、無線LANで発生しがちな、バーストエラーが発生して、連続した無線フレームが送信エラーとなっても、音声パケットのロスは発生しない。例えば、無線フレームAに音声パケット1と3、無線フレームBに音声パケット2と4、無線フレームCに音声パケット3と5、無線フレームDに音声パケット4と6、無線フレームEに音声パケット5と7、無線フレームFに音声パケット6と8がマージされて送信された場合、途中の無線フレームC,Dがバーストエラーによって連続して欠落しても、無線フレームCと無線フレームDに含まれる音声パケット3,5,4,6は、それぞれ無線フレームA、無線フレームE、無線フレームB,無線フレームFに含まれるため、受信側はこれを利用して、もとの音声を復元することが可能となる。また、実施例2で示した方法とは異なり、1フレームにつき音声パケットを2つだけ乗せる形になるので必要以上に無線フレームの長さが長くなることも無く、同じchを使って通信している他の端末への影響をより小さくすることができる。
As described above, if the slave unit and the master unit described in this embodiment are used in combination, burst errors that tend to occur in a wireless LAN occur, and continuous radio frames are considered transmission errors. Even if this happens, voice packet loss does not occur. For example,
以上のように、従来、エラーの発生によって、再送が起き、その分、以降の音声の到着時刻が遅延して、さらに、この遅延が蓄積することによって、受信端末側がジッターバッファのオーバーフローを起こし、音声の途切れなどの品質低下が引き起こされていたが、本実施例3によれば、上記の構成により、音声パケットを冗長化して送信するので、エラーが発生してももとの音声を復元することができる。また、音声パケットをまとめてひとつの無線フレームとして送信するので、帯域を必要以上に圧迫しない。さらに、バーストエラーによって連続して無線フレームの送受信に失敗しても、音声パケットをインターリーブすることによって、音声パケットが失われることを極力回避することができる。加えて、受信側で同一の音声パケットを破棄することにより、必要以上にネットワークに負荷をかける心配も無い。このことにより、無線LAN電話の利用者に対しては、品質のよい通話環境を提供し、また、同じ無線LAN内でデータ通信を行っているユーザに対して、必要以上に帯域を圧迫せず、良好な通信環境を提供できる。 As described above, conventionally, due to the occurrence of an error, retransmission has occurred, and accordingly, the arrival time of the subsequent voice is delayed, and further, this delay accumulates, causing the receiving terminal side to overflow the jitter buffer, Although quality degradation such as voice interruption has been caused, according to the third embodiment, voice packets are redundantly transmitted by the above configuration, so that the original voice is restored even if an error occurs. be able to. Moreover, since voice packets are collectively transmitted as a single radio frame, the bandwidth is not compressed more than necessary. Furthermore, even if transmission / reception of radio frames fails continuously due to a burst error, it is possible to avoid the loss of voice packets as much as possible by interleaving the voice packets. In addition, by discarding the same voice packet on the receiving side, there is no need to worry about placing more load on the network than necessary. As a result, a wireless LAN telephone user is provided with a high-quality telephone environment, and a user who performs data communication within the same wireless LAN does not press the bandwidth more than necessary. Can provide a good communication environment.
なお、本実施の形態では、2つの音声パケットを1つの無線フレームとして送信しているが、3つ以上の音声パケットをあらかじめ決められたアルゴリズムによって選択し、それらをひとつの無線フレームにして送信するようにしても本発明の主旨とはなんらかわりない。 In this embodiment, two voice packets are transmitted as one radio frame. However, three or more voice packets are selected by a predetermined algorithm and transmitted as one radio frame. Even so, there is no difference from the gist of the present invention.
本発明に係る無線LAN電話通信方法及びシステムは、無線通信におけるエラーの影響を回避し、高い通話品質を提供できるところから、例えば無線LANを利用したコードレス電話などへの利用が可能である。 The wireless LAN telephone communication method and system according to the present invention can be used for, for example, a cordless telephone using a wireless LAN because it avoids the influence of errors in wireless communication and can provide high call quality.
101 操作部
102 音声入力部
103 音声出力部
104 受信バッファ
105 送信バッファ
106 LAN通信部
107 無線通信部
108 RTC
109 パラメータ記憶部
110 コーデック部
111 送信パケットキュー
112 ペイロード統合部
113 受信パケットキュー
114 ペイロード分割部
115 送信待ち許容時間算出部
116 呼制御部
117 プロトコル処理部
118 上位プロトコル解析部
119 エラー率判定部
120 有線−無線ブリッジ部
121 ネットワーク遅延測定部
122 受信履歴バッファ
123 重複パケット検索部
130 制御部
201 CPU
202 ROM
203 RAM
204 RTC
205 ベースバンド
206 RF
207 A/D
208 マイク
209 D/A
210 スピーカ
211 キーボード
212 コーデック
213 ネットワークI/F
101
109
202 ROM
203 RAM
204 RTC
207 A / D
208 Microphone 209 D / A
210
Claims (11)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007101534A JP2008259094A (en) | 2007-04-09 | 2007-04-09 | Wireless lan telephone communication method and system |
US12/098,628 US20080247413A1 (en) | 2007-04-09 | 2008-04-07 | Communication apparatus and communication method |
PCT/JP2008/057384 WO2008126936A2 (en) | 2007-04-09 | 2008-04-09 | Communication apparatus and communication method with redundant packet transmission |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007101534A JP2008259094A (en) | 2007-04-09 | 2007-04-09 | Wireless lan telephone communication method and system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008259094A true JP2008259094A (en) | 2008-10-23 |
Family
ID=39826840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007101534A Pending JP2008259094A (en) | 2007-04-09 | 2007-04-09 | Wireless lan telephone communication method and system |
Country Status (3)
Country | Link |
---|---|
US (1) | US20080247413A1 (en) |
JP (1) | JP2008259094A (en) |
WO (1) | WO2008126936A2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013135397A (en) * | 2011-12-27 | 2013-07-08 | National Institute Of Information & Communication Technology | Label switching network |
JP2016502358A (en) * | 2012-12-12 | 2016-01-21 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Packet security using short MAC headers |
JP2016503997A (en) * | 2013-01-07 | 2016-02-08 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Implicit rekeying mechanism |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9172774B2 (en) * | 2011-04-13 | 2015-10-27 | Qualcomm Incorporated | Technique for managing communications at a router |
JP5657771B1 (en) * | 2013-12-10 | 2015-01-21 | パナソニックIpマネジメント株式会社 | Telephone device and mobile phone linkage method |
US10855411B2 (en) * | 2018-09-07 | 2020-12-01 | Apple Inc. | Voice quality over bluetooth link by enhancing scheduler behavior for retransmission frames |
GB2580068B (en) * | 2018-12-20 | 2021-02-24 | Advanced Risc Mach Ltd | Generating a vector predicate summary |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10118192A1 (en) * | 2001-04-11 | 2002-10-24 | Siemens Ag | Transmitting digital signals with various defined bit rates involves varying the number of frames in at least one packet depending on the length of at least one frame in packet |
JP4831890B2 (en) * | 2001-07-06 | 2011-12-07 | パナソニック株式会社 | Content management method and content management apparatus |
DE10133518B4 (en) * | 2001-07-10 | 2006-08-24 | Siemens Ag | Method and device for the wireless transmission of voice data |
JP3898523B2 (en) * | 2002-02-06 | 2007-03-28 | 株式会社日立国際電気 | Wireless data transmitting apparatus and wireless data receiving apparatus |
JP3880497B2 (en) * | 2002-09-27 | 2007-02-14 | Necインフロンティア株式会社 | LAN communication system |
JP3643824B2 (en) * | 2002-10-09 | 2005-04-27 | 株式会社バッファロー | Wireless LAN system, network service providing method, and medium storing network service providing program |
JP4100182B2 (en) * | 2003-01-30 | 2008-06-11 | 松下電器産業株式会社 | Communication terminal device and control method thereof |
JP2006074132A (en) * | 2004-08-31 | 2006-03-16 | Matsushita Electric Ind Co Ltd | Multicast communication method and gateway device |
JP2007116673A (en) * | 2005-09-22 | 2007-05-10 | Matsushita Electric Ind Co Ltd | Communication system |
JP4728792B2 (en) * | 2005-12-12 | 2011-07-20 | パナソニック株式会社 | IP communication apparatus, IP communication system including the same, and IP address setting method of IP communication apparatus |
US20080026753A1 (en) * | 2006-07-28 | 2008-01-31 | Matsushita Electric Industrial Co., Ltd. | Mobile communication system and communication line switching method in the mobile communication system |
-
2007
- 2007-04-09 JP JP2007101534A patent/JP2008259094A/en active Pending
-
2008
- 2008-04-07 US US12/098,628 patent/US20080247413A1/en not_active Abandoned
- 2008-04-09 WO PCT/JP2008/057384 patent/WO2008126936A2/en active Application Filing
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013135397A (en) * | 2011-12-27 | 2013-07-08 | National Institute Of Information & Communication Technology | Label switching network |
JP2016502358A (en) * | 2012-12-12 | 2016-01-21 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Packet security using short MAC headers |
US9906444B2 (en) | 2012-12-12 | 2018-02-27 | Qualcomm Incorporated | Security for packets using a short MAC header |
US9998370B2 (en) | 2012-12-12 | 2018-06-12 | Qualcomm Incorporated | Security for packets using a short MAC header |
JP2016503997A (en) * | 2013-01-07 | 2016-02-08 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Implicit rekeying mechanism |
Also Published As
Publication number | Publication date |
---|---|
US20080247413A1 (en) | 2008-10-09 |
WO2008126936A2 (en) | 2008-10-23 |
WO2008126936A3 (en) | 2009-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7301928B2 (en) | Wireless packet transfer apparatus and method | |
EP1074125B1 (en) | Alternating speech and data transmission in digital communications systems | |
JP5084842B2 (en) | Improved header compression in wireless communication networks | |
AU2003248437B2 (en) | Packet Transmission System and Packet Reception System | |
JP4676534B2 (en) | Traffic generation in the inactive user plane | |
JP4842075B2 (en) | Audio transmission device | |
JP2008259094A (en) | Wireless lan telephone communication method and system | |
US20020066012A1 (en) | Maintaining end-to-end synchronization on telecommunications connection | |
JP2002026963A (en) | Packet transmission method, repeater and data terminal | |
US7929571B2 (en) | System and method for implementing a preemptive retransmit for error recovery in a communications environment | |
KR100793345B1 (en) | Apparatus and method of processing packet in system for voice and data combined | |
AU2004258114B2 (en) | Performing compression of user datagram protocol packets | |
JP5028784B2 (en) | Wireless LAN telephone system, wireless LAN telephone system base unit, wireless LAN telephone system slave unit, wireless LAN telephone communication method, wireless LAN telephone communication program, and recording medium | |
JP4856251B2 (en) | Header suppression in wireless communication networks | |
WO2008001580A1 (en) | Communication apparatus and method | |
JP2005157045A (en) | Voice transmission method | |
JP4546114B2 (en) | Voice packet transfer method and terminal used therefor | |
MXPA01013115A (en) | Transmission of compressed information with real time requirement in a packet oriented information network. | |
JP4655870B2 (en) | Packet transmission / reception system and elapsed time measurement method | |
JP2007228081A (en) | Wireless communication apparatus, wireless communication method, and wireless access apparatus | |
JP2012049913A (en) | Communication apparatus | |
JP2005229378A (en) | Repeater and control method thereof | |
JP2005252429A (en) | Ip packetizing unit | |
Ali et al. | Real-time Voice over IP over Bluetooth | |
JP2012049914A (en) | Communication apparatus |