JP2008259094A - 無線lan電話通信方法及びシステム - Google Patents

無線lan電話通信方法及びシステム Download PDF

Info

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
Application number
JP2007101534A
Other languages
English (en)
Inventor
Natsuyuki Ono
奈津志 小野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2007101534A priority Critical patent/JP2008259094A/ja
Priority to US12/098,628 priority patent/US20080247413A1/en
Priority to PCT/JP2008/057384 priority patent/WO2008126936A2/en
Publication of JP2008259094A publication Critical patent/JP2008259094A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Small-Scale Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】通信帯域を有効に利用し、かつ、通話品質の高い無線LAN電話通信方法及びシステムを提供すること。
【解決手段】発生した音声パケットを複製して1つ以上のコピーを保存しておき、送信時に、以前に発生した1つ以上の音声パケットのコピーと最近発生した音声パケットを1つの無線フレームにまとめて送信する手段と、受信した側で、もとのパケットに分割する手段を有する構成とし、無線LANにおいてしばしば発生するバーストエラーが発生しても、音声パケットを冗長化して送信することになり、再送信を行う必要が無い。
【選択図】図1

Description

本発明は、本発明は無線LANを利用した無線LAN電話通信方法及びシステムに関するものである。
近年、VoIP技術を利用したIP電話が普及している。IP電話では音声をパケット化して、インターネットや専用のネットワークを通して音声を送受信するため、通話コストが安く、また、大手プロバイダがさまざまな地域でサービスを提供しているため、最近では、企業だけでなく、多くの家庭でも利用されるようになった。さらに、最近では、IP電話機をコードレス化する動きも出てきた。例えば、親機でIP電話のプロトコルを終端し、親機から子機は従来のコードレス電話機の方式で音声を子機とやりとりする製品も発表されている。そして、さらに、IP電話のプロトコルを親機で終端するのではなく、子機で終端できるようにし、その子機をホットスポットなどのような公共の無線アクセスポイントに持ち出して、安価に通話できるような無線LANによるコードレス電話機も提案されている。
従来の無線LAN電話について、図面を用いて説明する。
図38は従来の無線LAN電話の通話時における親機から子機への音声パケットの送信の様子を表した図である。従来の無線LAN電話では、音声パケットは無線フレームと1対1に対応付けられており、エラーが発生した場合は、IEEE802.11の規格により再送によってエラー回復を行うことが規定されているため、エラー発生時には、無線フレームの再送が行われる(例えば特許文献1参照)。
特開2002−247647号公報
しかしながら上記の従来の構成では、有線に比べてエラーの発生率の高い無線通信において実際にエラーが発生した場合、再送を行わなければならないため、通信帯域を有効に利用できず、また、再送を行うと音声が遅延し、通話品質が劣化してしまう、という課題があった。
本発明は、通信帯域を有効に利用し、かつ、通話品質の高い無線LAN電話通信方法及びシステムを提供することを目的とする。
本発明は、発生した音声パケットを複製して1つ以上のコピーを保存しておき、送信時に、以前に発生した1つ以上の音声パケットのコピーと最近発生した音声パケットを1つの無線フレームにまとめて送信する手段と、受信した側で、もとのパケットに分割する手段を設けたものである。
この構成によれば、無線LANにおいてしばしば発生するバーストエラーが発生しても、音声パケットを冗長化して送信することになるので、再送信を行う必要が無く、音の途切れや遅延が無く、通話品質の高い無線LAN電話通信方法及びシステムを提供することができる。
本発明によれば、無線LANによる通信においてしばしば発生するバーストエラーが発生しても、音声パケットを冗長化して送信することになるので、再送信を行う必要が無く、音の途切れや遅延の無い、高い通話品質を実現できる。
本発明は、発生した音声パケットを複製して1つ以上のコピーを保存しておき、送信時に、以前に発生した1つ以上の音声パケットのコピーと最近発生した音声パケットを1つの無線フレームにまとめて送信する手段と、受信した側で、もとのパケットに分割する手段を設けている。
これにより、無線LANにおいてしばしば発生するバーストエラーが発生しても、音声パケットを冗長化して送信することになるので、再送を行う必要が無く、音の途切れや遅延の無い、高い通話品質を提供することができる。
また、音声の遅延許容時間、音声のコーデック周期、音声のコーデック遅延、および、あらかじめ指定されたネットワークの遅延量とあらかじめ指定されたアルゴリズムによって決定される無線フレームの送信予定時刻、から送信待ち許容時間を計算して、その送信待ち時間の許容範囲内で、音声パケットを冗長化して複数の音声パケットをひとつの無線フレームにまとめて送信し、受信側で、元通り複数の冗長化された音声パケットに分解するように構成されてもよい。
これにより、音声の遅延許容時間内で最大限の冗長化を行うので、エラー率の高い通信環境でも音声の途切れや遅延のない、高い通話品質を提供できる。
また、音声の遅延許容時間内で音声パケットをキューに保管しておき、連続しない2つ以上の音声パケットをあらかじめ決められたアルゴリズムによって選択し、それらを1つの無線フレームにまとめて送信するように構成してもよい。
これにより、音声パケットがインターリーブされるので、バーストエラーに強い通話を提供できる。
また、ネットワークの遅延を測定して、ネットワークの遅延に適応するように構成してもよい。
これにより、ネットワークのトラフィックが変化して遅延量が変化しても送信側で許容できる送信待ち時間を調整できるので、ネットワークの変動にも影響を受けない高品質の通話を提供できる。
また、受信履歴バッファと重複パケット検索部を設けて、受信側で重複して受信した音声パケットを破棄するように構成してもよい。
これにより、不必要な音声パケット(重複した音声パケット)がネットワークに流れることを防ぐので、ネットワークのトラフィックを圧迫しない良好な通信環境を提供できる。
また、複数の音声パケットをひとつの無線フレームにまとめる際に、上位プロトコルヘッダを解析して、上位プロトコルの冗長なヘッダを縮退させるように構成してもよい。
これにより、冗長なデータが圧縮されるので、無線通信帯域を圧迫しない高品質な通信環境を提供できる。
また、通信エラー率をモニターして、エラー率に応じて音声パケットを冗長化して送信するか、どうかを選択するように構成してもよい。
これにより、エラー率が高い場合のみ冗長化を行うので、エラー率の少ない環境では無線通信帯域に余計な負荷をかけない良好な通信環境を提供できる。
以下、本発明の実施の形態について図面を用いて説明する。
(実施の形態1)
まず、無線LAN電話装置子機について説明する。
図1は、本発明による実施の形態1における無線LAN電話装置子機を示す機能ブロック図である。
図1において、101は、発呼先の指定、着呼時に通話の指示および終話の指示をするための操作部、102は、音声を入力するための音声入力部、103は、音声を出力するための音声出力部、104は、受信した無線フレームから取り出されたデータを蓄積する受信バッファ、105は、無線送信用のデータを蓄積する送信バッファ、107は、送信バッファ105に蓄積したデータを無線フレーム化して送信、また、無線フレームを受信してフレームの内容を受信バッファ104に格納する無線通信部、108は、時間の経過を測定するためのRTCである。
109は、音声のコーデック周期を記憶するパラメータ記憶部、110は、音声入力部102から入力した音声をA/D変換し、所定のアルゴリズムを用いて音声パケットに変換(エンコード)する、また、音声データを所定のアルゴリズムを用いてデコードした上で、D/A変換し、音声出力部103に出力するコーデック部、111は、コーデック部110がエンコードした音声パケットをエンコードが完了した時刻、すなわち、送信要求受付時刻とともにFIFO方式で記憶する送信パケットキュー、112は、送信待ち時間内に送信パケットキュー111に入力されたパケットをひとつの無線フレームにまとめて前記送信バッファに書き込むペイロード統合部、113は、無線フレームとして受け取ったデータをパケットに分解してFIFO方式で記憶する、受信パケットキュー、114は、受信バッファ104に記憶された内容をもともとひとつのパケットであったかどうか判断し、複数のパケットが統合されている場合は、これを複数のパケットに分解し、受信パケットキュー113にFIFO方式で書き込む、ペイロード分割部である。
116は、発呼、着呼、呼の接続・切断の制御、および、各呼の状態に応じたダイヤルトーン、ビジートーン、リンガー、リング・バック・トーンを音声出力部103に出力する呼制御部、117は、呼の設定や解除、通話時の音声パケットの送受信、を指定されたプロトコルに従って処理するプロトコル処理部、118は、上位プロトコルを解析する、上位プロトコル解析部、119は、無線通信におけるエラー率を算出し、あらかじめ指定されたエラー率よりも低いかどうかを判定する、エラー率判定部、130は、全体を制御する制御部である。
図2は、本発明の実施の形態1における無線LAN電話装置子機を示す装置ブロック図である。
図2において、201は、中央処理装置(以下、CPUと称する)、202は、ROM、203は、RAM、204は、RTC、205は、ベースバンド、206は、RF、207は、A/D、208は、マイク、209は、D/A、210は、スピーカ、211は、キーボード、212は、コーデックである。
図1及び図2において、101の操作部は、211のキーボードによって、102の音声入力部は、208のマイクによって、103の音声出力部は、210のスピーカによって、それぞれ実現されている。
104の受信バッファ、105の送信バッファ、109のパラメータ記憶部、111の送信パケットキュー、113の受信パケットキューは、203のRAMによって実現されている。
107の無線通信部は、205のベースバンドと206のRFによって実現されている。また、108のRTCは、204のRTCによって、また、110のコーデック部は、212のコーデック、207のA/D、209のD/Aによって、それぞれ実現されている。
112のペイロード統合部、114のペイロード分割部、116の呼制御部、117のプロトコル処理部、118の上位プロトコル解析部、119のエラー率判定部、及び、130の制御部は、201のCPUが202のROMの中に記憶しているプログラムを、202のROMの中に記憶しているデータを参照したり、203のRAMに記憶しているデータを参照したり、変更したりしながら実行することによって実現されている。
続いて、無線LAN電話装置親機について説明する。
図3は、本発明による実施の形態1における無線LAN電話装置親機を示す機能ブロック図である。
図3において、104は、受信した無線フレームから取り出されたデータを蓄積する受信バッファ、105は、無線送信用のデータを蓄積する送信バッファ、106は、有線のネットワークと接続するためのLAN通信部、107は、送信バッファ105に蓄積したデータを無線フレーム化して送信、また、無線フレームを受信してフレームの内容を受信バッファ104に格納する無線通信部、108は、時間の経過を測定するためのRTCである。
111は、後述する有線−無線ブリッジ部120が、中継が必要と判断したLAN側からのイーサネット(登録商標)フレームを無線フレーム化して送信するために、送信要求受付時刻とともにFIFO方式で記憶する送信パケットキュー、112は、送信待ち時間内に送信パケットキュー111に入力されたパケットをひとつの無線フレームにまとめて前記送信バッファに書き込むペイロード統合部、113は、無線フレームとして受け取ったデータをパケットに分解してFIFO方式で記憶する受信パケットキュー、114は、受信バッファ104に記憶された内容をもともとひとつのパケットであったかどうか判断し、複数のパケットが統合されている場合は、これを複数のパケットに分解し、受信パケットキュー113にFIFO方式で書き込むペイロード分割部、118は、上位プロトコルを解析する、上位プロトコル解析部、119は、無線通信におけるエラー率を算出し、あらかじめ指定されたエラー率よりも低いかどうかを判定するエラー率判定部、120は、有線と無線の間のフレームを必要があれば中継し、さもなければ破棄する有線−無線ブリッジ部、130は、全体を制御する制御部である。
図4は、本発明の実施の形態1における無線LAN電話装置親機を示す装置ブロック図である。
図4において、201は、CPU、202は、ROM、203は、RAM、204は、RTC、205は、ベースバンド、206は、RF、213は、ネットワークI/Fである。
図3及び図4において、受信バッファ104、送信バッファ105、送信パケットキュー111、受信パケットキュー113は、RAM203によって実現される。
無線通信部107は、ベースバンド205とRF206によって、RTC108は、RTC204によって、LAN通信部106は、ネットワークI/F213によって、それぞれ実現される。
ペイロード統合部112、ペイロード分割部114、上位プロトコル解析部118、エラー率判定部119、有線−無線ブリッジ部120、制御部130は、CPU201がROM202の中に記憶しているプログラムを、ROM202の中に記憶しているデータを参照したり、RAM203に記憶しているデータを参照したり、変更したりしながら実行することによって実現される。
続いて、本発明の無線LAN電話システムの全体構成について説明する。
図5は、本発明の実施の形態1における無線LAN電話システムを示した図である。
図5に示すように、子機Aは親機Aの管理下にあり、同様に、子機Bは親機Bの管理下にある。親機A、親機Bはそれぞれインターネットに接続されている。親機A、親機Bにはブリッジの機能が搭載されていて、子機からの無線フレームを、LAN通信部(有線)を使用してインターネット側にイーサネット(登録商標)フレームとして中継したり、インターネット側からのイーサネット(登録商標)フレームを子機に無線フレームとして中継したりする。
以上のように構成された無線LAN電話システムについて、親機と子機の動作について、図6のシーケンスチャートにしたがって説明する。
以下説明する動作は、近年VoIPでしばしば利用されているSIPというプロトコルを参考にしている。ただし、説明を必要以上に複雑にしないため、多少、処理を簡略化して説明している。また、ここでは、親機、子機の連携に重点を置いて説明をすることにする。子機の「エンコード」「デコード」、親機の「ブリッジ処理」、親機・子機の「無線送信」「無線受信」は後に詳細を説明する。なお、本実施の形態では、子機は最初、待ち受け状態にあるものとする。
ステップE01
まず、子機Aのユーザは、子機Aの操作部101を利用して発呼先を指定する(ステップE01)。ここでは、ユーザが操作部101より、発呼先の番号050−1001−1234を入力し、発呼を指示したものとする。
ステップ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は着呼したことになる。
ステップE03
子機Bでは、呼制御部116がコーデック部110にリンガー(着信音)を流すよう要求する。すると、コーデック部110は、音声出力部103に着信音として記憶している音声を出力する。
ステップM04
子機Bでは、呼制御部116は「着呼を受け入れた」旨を子機Aに知らせるため、「RINGING」メッセージを作成し、プロトコル処理部117に子機Aまで送信するよう要求する。プロトコル処理部117は、無線通信部107を経由して、「RINGING」意味するデータを親機Bへ送信する。このデータは親機Bによって無線フレームからイーサネット(登録商標)フレームに変換され、インターネットを通り、親機Aに届く。さらに、親機Aは受け取ったイーサネット(登録商標)フレームを中継し、無線フレームとして子機Aに送信する。
ステップE05
子機Aでは、無線通信部107、プロトコル処理部117を経由して、呼制御部116が「RINGING」メッセージを受け取り、発呼先が着呼を受け入れた旨を知る。呼制御部116は、コーデック部110にリング・バック・トーン(呼び出し音、以降RBTと略記する)を出力するよう要求する。すると、コーデック部110は、音声出力部103にRBTを出力する。
ステップE06
子機Bにおいて、ユーザがリンガーを聞いて着信していることに気がつくと、操作部101を操作して、通話を指示する。すると、子機Bでは、制御部130が操作部101から「通話を指示された」旨を受け取り、呼制御部116に「呼を接続する」よう要求する。
ステップ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を停止する。
ステップE08
以降、全2重の通信路が確保され、通話が可能となる。ここでは、インターネットの通信帯域は十分広く、遅延も数10ms程度であることを仮定している。つまり、子機Aと子機Bの間での通信のボトルネックは子機−親機間であると仮定している。
ステップM09
通話中、子機Aのユーザの音声は子機Aの音声入力部102に入力され、コーデック部110によってエンコードされ、音声パケットとしてプロトコル処理部117によって子機Bまで送信される。子機Bでは、無線通信部107、プロトコル処理部117を経由してコーデック部110が音声パケットを受け取り、これをデコードし、結果を子機Bの音声出力部103に出力する。子機B側からのユーザの音声が子機Aに届く処理は、前述の処理とちょうど対称の処理となるため、説明を省略する。
ステップE10
子機Bのユーザは通話を終了するため、呼切断を操作部101から指示する。すると、制御部130は操作部101から呼切断の指示を受け取って、呼制御部116に呼切断を要求する。呼制御部116はエンコードタスクとデコードタスクを停止する。すると、コーデック部110はコーデックを停止する。以降、音声パケットを受け取っても破棄し、音声の入力に対してエンコードも行わない。
ステップM11
子機Bにおいて、呼制御部116は、「BYE」メッセージを作成し、プロトコル処理部117に子機Aまで送信するよう要求する。プロトコル処理部117は、無線通信部107を経由して、「BYE」を意味するデータを親機Bに送信する。これまでと同様に、「BYE」メッセージは、親機B、インターネット、親機Aを経由して子機Aに到着する。
ステップE12
子機Aにおいて、呼制御部116は、無線通信部107、プロトコル処理部117を経由して「BYE」のメッセージを受け取る。呼制御部116はエンコードタスクとデコードタスクを停止する。すると、コーデック部110はコーデックを停止する。以降、音声パケットを受け取っても破棄し、音声の入力に対してもエンコードを行わない。
ステップM13
子機Aにおいて、呼制御部116は「BYE−OK」メッセージを作成し、子機Bまで送信するようプロトコル処理部117に要求する。プロトコル処理部117は、無線通信部107を経由して、「BYE−OK」を意味するデータを親機Aに送信する。これまでと同様に、「BYE−OK」のメッセージは親機A、インターネット、親機Bを経由して子機Bに届く。
ステップE14
子機Bにおいて、呼制御部116は、無線通信部107、プロトコル処理部117を経由して、「BYE−OK」メッセージを受け取る。以降、子機Bは「待ち受けモード」となる。
次に、本実施の形態の子機の動作の概要を説明する。
図7は、本発明の実施の形態1における子機のタスク構成図を示している。
本実施の形態では、音声をエンコードするエンコードタスク、音声をデコードするデコードタスク、呼設定・接続・切断などを行う呼制御タスク、送信パケットキューに記憶された音声パケットを無線フレームとして送信する無線送信タスク、無線フレームを受信して音声パケットにし、受信パケットキューに書き込む無線受信タスクが並行して動作しているものとする。エンコードタスク、デコードタスク、呼制御タスクはプロトコル処理タスクに対して送信要求、受信要求を行う。受信要求を行ったあと、プロトコル処理タスクは要求があったデータを受信すると、その旨を、受信要求を行ったタスクに通知する。なお、図中の矢印はデータの流れを示している。
次に、本実施の形態における親機の動作の概要を説明する。
図8は、本発明の実施の形態1における親機のタスク構成図を示している。
親機では、子機と同様に無線送信タスク、無線受信タスクおよび、「無線受信タスクが受け取った無線フレームを吟味し、有線と無線の間でフレームを中継するかどうかを決定し、必要があれば、フレームの形式を変換した後、LAN通信部106を介してイーサネット(登録商標)フレームを送信する、また、LAN通信部106を通して受信したイーサネット(登録商標)フレームを吟味し、有線と無線の間でフレームを中継するかどうかを決定し、必要があれば、フレームの形式を変換した後、無線送信タスクに渡す」ブリッジタスクが並行して動作している。
以降、子機のそれぞれのタスク動作についてフローチャートを使用して説明する。
まず、エンコードタスクの処理について図9のフローチャートに従って説明する。
エンコードタスクは、呼制御タスクによって通話中に起動される。通話が終わると呼制御タスクによって停止させられる。以下の説明は通話中のエンコードタスクの動作である。
ステップS01
コーデック部110は音声入力部102から音声の受け取り、サンプリング(A/D変換)およびエンコードを行う。
ステップS02
コーデック部110はパラメータ記憶部109に記憶されたコーデック間隔を参照し、RTC108と比較しながらコーデック間隔で指定されている時間だけエンコードが行われたかどうかを判断する。指定された時間が経過していれば、ステップS03へ進む。さもなければ、ステップS01に戻る。
ステップS03
コーデック部110はサンプリングしたデータをプロトコル処理部117に渡し、送信を要求する。ステップS01に戻る。
次に、デコードタスクの処理について図10のフローチャートに従って説明する。
デコードタスクは呼制御タスクによって通話中に起動される。通話が終わると呼制御タスクによって停止させられる。以下の説明は通話中のデコードタスクの動作である。
ステップS101
コーデック部110は、プロトコル処理部117から受信通知を受け取っているかどうかを確認する。受信通知を受け取っていれば、ステップS102へ進む。さもなければ、ステップS101に戻る。
ステップS102
コーデック部110はプロトコル処理部117から受信データを受け取る。
ステップS103
コーデック部110は受け取ったデータのRTPヘッダを参照し、前回の受信データのタイムスタンプと一致するかどうかを判断する。一致する場合はステップS101へ、さもなければ、ステップS104へ進む。
ステップS104
コーデック部110は受け取ったデータのRTPヘッダに書かれているタイムスタンプを記憶する。
ステップS105
コーデック部110は受け取ったデータをデコードし、結果をD/A変換し、その出力を音声出力部103に出力する。ステップS101に戻る。
次に、呼制御タスクの動作について図11のステートチャートに従って説明する。
まず、子機Aの電源がONされて、子機Aのユーザが発呼、通話、切断を行う一連の処理について呼制御タスクの動作を子機Aの側から説明する。
ステップE−1
子機の電源ONが操作部101から指示されると、制御部130は呼制御タスク、プロトコル処理タスク、無線送信タスク、無線受信タスクを起動する。呼制御タスクは起動されると、待ち受け状態に遷移する。すると、以降、発着呼が可能になる。
ステップ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に出力し、ユーザに「呼び出し中」であることを知らせる。
ステップE−3
子機Bでは、リンガー(着信音)が鳴っており、ユーザは着信音に気づいて着信を受け入れる。すると、エンコードタスク、デコードタスクが起動された後、「CONNECT−OK」メッセージを子機Aに送信してくる。子機Aでは、呼制御部116が、「CONNECT−OK」メッセージを、プロトコル処理部117を経由して受け取る。すると、呼制御部116は前述のエンコードタスクとデコードタスクを起動し、コーデック部110は、以降の音声入力部102からの音声をA/D変換およびエンコードし、音声パケットとしてプロトコル処理部117に渡す。また、コーデック部110はプロトコル処理部117が受け取った音声パケットをデコードおよびD/A変換し、音声出力部103に出力する。通話中に遷移する。
ステップ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」メッセージを受け取る。すると、待ち受け状態に遷移する。
ステップE−7
また、ユーザが発呼中に発呼を取りやめる場合は、操作部101から発呼取りやめの指示を行い、制御部130が操作部101から発呼取りやめの指示を受け取り、呼制御部116に発呼取りやめを要求する。呼制御部116はプロトコル処理部117に「CANCEL」のメッセージを子機Bへ送信するよう要求する。子機Bはリンガーを停止、「CANCEL−OK」メッセージを子機Aに送信する。子機Aでは、子機Bからの「CANCEL−OK」をプロトコル処理部117が受け取り呼制御部116に通知すると、呼制御部116は待ち受け状態に遷移する。
次に、子機B側からみた、呼制御タスクの動作について説明する。
ステップE−4
プロトコル処理部117は子機Aから「INVITE」メッセージを受け取り、呼制御部116に通知する。呼制御部116はプロトコル処理部117に「RINGING」メッセージを子機Aに返送するよう要求する。呼制御部116はリンガーを音声出力部103に出力し、ユーザに着信が発生していることを知らせる。呼制御部116は着呼中状態に遷移する。
ステップ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から出力されるようにする。
ステップE−9
プロトコル処理部117は子機Aから「BYE」メッセージを受信し、呼制御部116に通知する。呼制御部116はエンコードタスクとデコードタスクを停止し、待ち受け状態に遷移する。
また、子機Aのユーザが発呼中に発呼を取りやめた場合は、次のようになる。
ステップE−8
プロトコル処理部117は「CANCEL」メッセージを受信し、呼制御部116に通知する。呼制御部116はリンガーを停止し、子機Aに「CANCEL−OK」メッセージを送信するようプロトコル処理部117に要求し、待ち受け状態に遷移する。
次に、プロトコル処理タスクの動作について図12のフローチャートに従って説明する。
ステップS121
プロトコル処理部117は、エンコードタスク、デコードタスク、呼制御タスクから、送信要求があるかどうかを調べる。あれば、ステップS122へ、なければ、ステップS123へ進む。
ステップS122
プロトコル処理部117は、送信要求を受け付けて、各プロトコルにしたがってヘッダを付加し、送信パケットキュー111に入れる。送信パケットキュー111はあて先ごとに用意されている。ここであて先とは、IEEE802.11で規定されている送信先MACアドレスである。このとき、この送信要求を受け付けた時刻を、RTC108を参照して、送信要求と対応付けて書き込む。ステップS121に進む。
ここでは、音声パケットをエンコードタスクから受け取ったとして、説明する。プロトコル処理部117は、音声パケットにRTPヘッダ、UDPヘッダ、IPヘッダ、LLCヘッダを付加し、あて先のMACアドレスを決定する(通常、あて先はIPアドレスで与えられており、プロトコル処理部117はこれをMACアドレスに変換する。詳細は、通常のTCP/IPの通信処理と同様なので省略する。)。プロトコル処理部117は、MACアドレスごとに用意された送信パケットキュー111の中から音声パケットのあて先のMACアドレスを持った送信パケットキューを選択し、音声パケットを送信パケットキュー111に入れる。このとき、RTC108を参照し、送信要求受付時刻として、送信パケットキューに書き込む。ステップS121へ進む。
ステップS123
プロトコル処理部117は、受信パケットキュー113にデータが届いているかどうか確認する。届いていればステップS124へ、さもなければ、ステップS121へ進む。
ステップS124
プロトコル処理部117は受信パケットキュー113から受信データを取り出す。
ステップS125
データのあて先を確認する。あて先がデコードタスクであれば、デコードタスクへ、呼制御タスクであれば、呼制御タスクへ通知する。ステップS121へ進む。
次に、無線送信タスクの動作を図13のフローチャートに従って説明する。
なお、本実施の形態では無線送信タスクは、子機、親機ともに同一の処理を行う。送信パケットキュー111はあて先のMACアドレスごとに存在し、無線送信タスクは以下の処理を送信パケットキュー111ごとに行う。但し、以下の説明では、ひとつの送信パケットキュー111に注目してその動作を説明する。
ステップS131
制御部130は送信パケットキュー111を参照して、キューが空かどうかを判断する。空ならば、ステップS131へ、さもなければステップS132へ進む。
ステップS132
制御部130は無線通信部107に送信可能かどうかを問い合わせる。具体的には、無線通信部107が、現在通信を行っている周波数の電波が存在するかどうかを判断し、さらに、あらかじめ決められた時間、電波が存在しないことを、RTC108を参照しながら確認する。前述の時間を経過しても電波が検出されなかった場合は、送信可能と判断し、制御部130に送信可能であることを通知する。また、前述の時間内に電波が検出された場合は、送信不可能として制御部130に通知する。送信可能であれば、ステップS133へ、送信不可能であればステップS131へ進む。
ステップS133
制御部130は送信パケットキュー111の最初のエントリに注目する。
ステップS134
制御部130は、エラー率判定部119にエラー率があらかじめ設定された閾値よりエラー率が低いかどうかを問い合わせる。エラー率判定部119は、制御部130に判定結果を渡す。受け取った判定結果から、エラー率が低い場合はステップS143へ、さもなければステップS135へ進む。
ここでは、エラー率が高いものとして説明を続ける。
ステップS135
制御部130は送信パケットキュー111を参照して、エントリの数が1より大きいかどうかを判断する。1より大きい場合はステップS136へ、さもなければ、ステップS131へ進む。
ステップS136
制御部130は、送信パケットキュー111から注目中のエントリのデータを取り出す。
ステップS137
制御部130は、ステップS136で取り出されたデータをマージするようペイロード統合部112に指示する。詳細は後述する。送信バッファ105に送信すべきデータが書き込まれる。
ステップS138
制御部130は、次のエントリに注目する。
ステップS139
制御部130は、注目中のエントリのデータをコピーする。ここでは、送信パケットキュー111からエントリを取り出さずに、データのコピーのみを行う。
ステップS140
制御部130は、ステップS139でコピーしたデータ、あるいはステップS143で取り出されたデータをマージするようペイロード統合部112に指示する。詳細は後述する。送信バッファ105に送信すべきデータが書き込まれる。
ステップS141
ここでは無線フレームはIEEE802.11iで規定された暗号化方式によって暗号化されるものとする。制御部130は、無線通信部107にCCMPヘッダとMICキーを付加するよう指示する。すると、無線通信部107は、暗号化アルゴリズムにしたがってCCMPヘッダとMICキーを計算し、送信バッファ105のIEEE802.11iで規定されたペイロードの位置に追加する。
ステップS142
制御部130は、無線通信部107に送信バッファ105の内容を送信するよう指示する。すると、無線通信部107は指示された内容を無線フレームとして空中に放出する。ステップS131へ進む。
このようにして、2つの音声パケットパケットはひとつの無線フレームにまとめられる。また、ステップS134でエラー率が低いと判断された場合は、次のようになる。
ステップS143
ステップS136と同様の処理を行う。ステップS140へ進むという流れになる。この場合は、従来の無線LANと同様、パケットをそのままひとつの無線フレームとして送信する処理となる。
次に、マージ処理の詳細を図14のフローチャートに従って説明する。
ここでは、制御部130によって送信すべきデータがペイロード統合部112に渡されているものとして説明する。
ステップS151
ペイロード統合部112は、送信バッファ105にデータが書き込まれているかどうかを判断する。書き込まれていればステップS157へ、さもなければ、ステップS152へ進む。
ステップS152
ペイロード統合部112は送信バッファ105にMACヘッダを書き込む。
ステップS153
ペイロード統合部112は上位プロトコル解析部118にエントリの内容を渡す。すると、上位プロトコル解析部118は、パケット内の上位プロトコル(ここでは、LLC、IP、UDP、RTP)のプロトコルヘッダを認識し、各レイヤのヘッダを記憶する。もし、すでに、以前の上位プロトコルのヘッダを記憶していた場合は上書きする。
ステップS154
ペイロード統合部112は、受け取った音声パケットの合計バイト数を算出する。ここでは、LLCヘッダ(8バイト)+IPv6ヘッダ(40バイト)+UDPヘッダ(8バイト)+RTPヘッダ(12バイト)+音声(80バイト)=148バイトとなる。
ステップS155
ペイロード統合部112はステップS154で得られた合計バイト数をペイロードデリミタ1として送信バッファ105に書き込む。ここでは148を書き込む。
ステップS156
ペイロード統合部112は音声パケットとして受け取ったデータを送信バッファ105に書き込む。マージ処理を終了する。
ステップS157
ペイロード統合部112は上位プロトコル解析部118にエントリの内容を渡す。すると、上位プロトコル解析部118は、パケット内の上位プロトコル(ここでは、LLC、IP、UDP、RTP)のプロトコルヘッダを認識し、ステップS153で記憶していた内容と比較する。上位プロトコル解析部118はヘッダを解析した結果をペイロード統合部112に渡す。ここでは、LLCヘッダ、IPヘッダ、UDPヘッダが冗長であることをペイロード統合部112に知らせる。
ステップS158
ペイロード統合部112は、冗長なヘッダを省略すると送信すべきデータの合計バイト数がいくらになるかを計算する。ここでは、冗長なヘッダがどれかを示すフラグ1バイトと省略できないRTPヘッダ12バイトと音声データ80バイトの合計93を算出する。
ステップS159
ペイロード統合部112は、ステップS158で算出した値をペイロードデリミタとして送信バッファ105に書き込む。ここでは93が書き込まれる。
ステップS160
次に、ペイロード統合部112は冗長なヘッダがどれかを示すフラグ1バイトを送信バッファ105に書き込む。ここではフラグは、OSIのレイヤモデルにしたがって、第2層、第3層、第4層、第5〜7層をおのおの2ビットで表現しており、00は「もともと対応するヘッダがなかった」、01は「ヘッダがあったが冗長なので省略した」、10「省略できなかった」を表すものとする。ここでは、LLCヘッダ、IPヘッダ、UDPヘッダは省略可能で、RTPヘッダは省略できないため、フラグの値は01010110となる。
ステップS161
ペイロード統合部112は、省略できなかったヘッダと音声データを送信バッファ105に書き込む。マージ処理を終了する。
ここでは、続いてRTPヘッダ12バイトと音声データ80バイトを送信バッファ105に書き込む。
図15は本実施の形態との比較として、IEEE 802.11の無線フレーム・フォーマットを使って音声パケットをひとつだけ送信した場合を示している。また、図16は本実施の形態によって2つの音声パケットがひとつの無線フレームにまとめられたときの無線フレームのフォーマットを示している。
まず、無線通信部107に内蔵された暗号化エンジンによってCCMPヘッダが書き込まれ、MICキーが付加された後、PLCPプリアンブル、PLCPヘッダおよびFCSを無線通信部107が無線フレームを生成するときに付加する。図15、図16の比較より、本来2つの音声パケットを2つの無線フレームで送信せずに、1つの無線フレームにまとめると、フレーム長は25%大きくなるだけなので、伝送効率が大幅に下げることなく、冗長な音声パケットを送信することができることがわかる。これにより、途中の無線フレームの1つがエラーによって喪失しても、前後の無線フレームには喪失した音声パケットが含まれているので、音声を遅延させる再送を行わずに、音声パケットを受信側で復元することができる。
次に、無線受信タスクの動作を図17のフローチャートに従って説明する。
ここで、自局宛の無線フレームは無線通信部107によって受信され、暗号が解除された状態で受信バッファ104にフレームの内容がデータとして書き込まれているものとする。すなわち、CCMPヘッダとMICキーは取り除かれているものとする。また、ここでは、自局宛の無線フレーム以外は無線通信部によって無視されているものとする。すなわち、受信バッファに書き込まれるデータは自局宛のものに限るものとする。
ステップS171
ペイロード分割部114は受信バッファ104を参照してデータを受信しているかどうかを判断する。受信していればステップS172へ、さもなければ、ステップS171へ進む。
ステップS172
ペイロード分割部114は受信バッファ104からデータをとりだす。
ステップS173
ペイロード分割部114は、MACヘッダを取り出す。
ステップS174
ペイロード分割部114は最初のペイロードに注目する。
ステップS175
ペイロード分割部114は次の1バイトをデリミタと解釈し、値を読み出し、ペイロードが何バイトかを得て、そのバイト数分だけペイロードとして切り出す。
ステップS176
ペイロード分割部114は、ステップS175で得たペイロードを上位プロトコル解析部118に渡す。すると、上位プロトコル解析部118は、第2層、第3層、第4層、第5〜7層でのヘッダを解釈し、ペイロード分割部114に通知する。ここではLLCヘッダ、IPヘッダ、UDPヘッダ、RTPヘッダと解釈できたとする。上位プロトコル解析部118はそれぞれのレイヤごとにヘッダを記憶する。
ステップS177
ペイロード分割部114は、得られたペイロードを受信パケットキュー113に入れる。
ステップS178
ペイロード分割部114は、受信バッファ104を参照して、すべてのペイロードを切り出したかどうか判断する。すべてのペイロードの切り出しが終わっていれば、ステップS171へ、さもなければ、ステップS179へ進む。
ステップS179
ペイロード分割部114は、受信バッファ104を参照して、次のペイロードに注目する。
ステップS180
ペイロード分割部114は、受信バッファ104中の次の1バイトをデリミタと解釈し、値を読み出し、注目中のペイロードが何バイトかを得て、そのバイト数分だけペイロードとして切り出す。
ステップS181
ペイロード分割部114は、次の1バイトを省略フラグと解釈し、どのレイヤのヘッダが省略されているかを判断する。さらに、省略されているヘッダに対しては、ステップS176で記憶しているヘッダの内容からヘッダを復元するよう上位プロトコル解析部118に指示する。すると、上位プロトコル解析部118は、ペイロードとステップS176で記憶した内容を比較し、各レイヤのヘッダを復元する。ここでは、IPヘッダとUDPヘッダにはチェックサムが含まれるため、ペイロードの内容からチェックサムを計算し、ヘッダとして復元する。以上で、ヘッダが省略される前の音声パケット全体が復元されたことになる。ステップS177へ進む。
ここでは、フラグの値が01010110であったとすると、フラグは、OSIのレイヤモデルにしたがって、第2層、第3層、第4層、第5〜7層をおのおの2ビットで表現しており、00は「もともと対応するヘッダがなかった」、01は「ヘッダがあったが冗長なので省略した」、10「省略できなかった」を表すので、それぞれ、LLCヘッダは省略、IPヘッダ省略、UDPヘッダ省略、RTPヘッダ省略なし、と解釈できる。したがって、今注目しているフラグから後ろはRTPヘッダとして解釈し、省略されているヘッダに関してはステップS176で記憶した内容に基づき復元する。さらに、IPヘッダとUDPヘッダに関してチェックサムを再計算し、ヘッダを復元する。
以上の処理によって、もともと2つの音声パケットがひとつの無線フレームにまとめられていても、正しくもとの音声パケットに分割され、プロトコル処理部117に渡される。
ここで、正常に通信が行われた場合、同じ音声パケットを2つ受信することになるが、RTPプロトコルでは、前述のデコードタスクの説明で示したとおり、デコードタスクが、RTPヘッダ内のタイムスタンプをチェックしながら、不要なパケットを破棄し、必要なパケットのみデコード処理し、音声として再生するので問題は無い。
次に、親機のタスクについて説明する。但し、無線受信タスクと無線送信タスクは子機と同一なので説明を省略する。
ブリッジタスクの処理について図18のフローチャートに従って説明する。
ステップS191
有線−無線ブリッジ部120は、受信パケットキュー113にエントリがあるかどうかを判断する。エントリがあればステップS192へ、さもなければ、ステップS195へ進む。
ステップS192
有線−無線ブリッジ部120は、受信パケットキュー113からエントリを取り出す。
ステップS193
有線−無線ブリッジ部120は、ステップS192で取り出したエントリの内容を参照して、LAN側(有線)に中継する必要があるかどうかを判断する。この判断においてはOSI第2層のあて先を利用する。本実施例では、第2層はIEEE802.11で規定されているMACアドレスによって判断する。この判断のためのアドレスの学習方法などは、本発明の主旨と関係ないので割愛する。中継が必要な場合はステップS194へ、さもなければ、ステップS191へ進む。
ステップS194
有線−無線ブリッジ部120は、IEEE802.11のMACヘッダ形式をIEEE802.3のMACヘッダの形式に変換し、LAN通信部106よりエントリの内容を送信する。ステップS191へ進む。
ステップS195
有線−無線ブリッジ部120はLAN通信部106に有線LANからデータを受信しているかどうかを問い合わせる。受信していれば、ステップS196へ、さもなければ、ステップS191へ進む。
ステップS196
有線−無線ブリッジ部120はLAN通信部106から受信データを受け取る。
ステップS197
有線−無線ブリッジ部120は、ステップS196で取り出した受信データを無線LAN側に中継する必要があるかどうかを判断する。中継するかどうかの判断の方法は従来のブリッジ処理と同様なので割愛する。中継する必要がある場合は、ステップS198へ、さもなければ、ステップS191へ進む。
ステップS198
有線−無線ブリッジ部120は、ステップS196で取り出した受信データをIEEE802.3のMACヘッダの形式からIEEE802.11のMACヘッダの形式に変換し、送信パケットキュー111に入れる。ステップS191へ進む。
図19は、本実施の形態において音声パケットがどのように送信されるかを示している。
図19では、無線フレームAに音声パケット1と音声パケット2が、無線フレームBに音声パケット2と音声パケット3が、無線フレームCに音声パケット3と音声パケット4が、それぞれひとつにまとめられて送信されている。
図20では、無線フレームBが通信エラーとなり喪失した場合を示している。受信側は、無線フレームAと無線フレームCによって、音声パケット1、音声パケット2、音声パケット3、音声パケット4を受信することができる。したがって、無線フレームBを再送する必要は無い。
以上のように、従来、エラーの発生によって、再送を余儀なくされ、その分、以降の音声の到着時刻が遅延して、さらに、この遅延が蓄積することによって、受信端末側がジッターバッファのオーバーフローを起こし、音声の途切れなどの品質低下が引き起こされていたが、本実施例1によれば、上記の構成により、音声パケットを冗長化して送信するので、エラーが発生しても、再送することなしに、もとの音声を復元することができる。
また、音声パケットをまとめてひとつの無線フレームとして送信するので、帯域を必要以上に圧迫しない。さらに、音声パケットを解析して、不要なヘッダを省略してひとつの無線フレームにまとめるため、1フレームあたりのデータ量を削減できる。このことにより、無線LAN電話の利用者に対しては、品質のよい通話環境を提供し、また、同じ無線LAN内でデータ通信を行っているユーザに対して、必要以上に帯域を圧迫せず、良好な通信環境を提供できる。
なお、本実施の形態では、エラーが発生した場合に再送を行わないことを前提にしているが、再送回数を従来よりも少なくしても、本発明の主旨になんら変わりなく、十分な効果が得られる。
(実施の形態2)
図21は、本発明の実施の形態2における子機の機能ブロック図である。
図21において、101は、発呼先の指定、着呼時に通話の指示および終話の指示をするための操作部、102は、音声を入力するための音声入力部、103は、音声を出力するための音声出力部、104は、受信した無線フレームから取り出されたデータを蓄積する受信バッファ、105は、無線送信用のデータを蓄積する送信バッファである。
107は、前記送信バッファ105に蓄積したデータを無線フレーム化して送信、また、無線フレームを受信してフレームの内容を前記受信バッファ104に格納する無線通信部、108は、時間の経過を測定するためのRTC、109は、音声の遅延許容時間、音声のコーデック周期、音声のコーデック遅延、および、あらかじめ指定されたネットワークの遅延量を記憶するパラメータ記憶部である。
110は、前記音声入力部102から入力した音声をA/D変換し、所定のアルゴリズムを用いて音声パケットに変換(エンコード)する、また、音声データを所定のアルゴリズムを用いてデコードした上で、D/A変換し、前記音声出力部103に出力するコーデック部、111は、前記コーデック部110がエンコードした音声パケットをエンコードが完了した時刻、すなわち、送信要求受付時刻とともにFIFO方式で記憶する送信パケットキュー、112は、送信待ち時間内に送信パケットキュー111に入力されたパケットをひとつの無線フレームにまとめて前記送信バッファに書き込むペイロード統合部である。
113は、無線フレームとして受け取ったデータをパケットに分解してFIFO方式で記憶する、受信パケットキュー、114は、前記受信バッファ104に記憶された内容をもともとひとつのパケットであったかどうか判断し、複数のパケットが統合されている場合は、これを複数のパケットに分解し、前記受信パケットキュー113にFIFO方式で書き込む、ペイロード分割部である。
115は、前記パラメータ記憶部109に記憶された音声の遅延許容時間、音声のコーデック周期、音声のコーデック遅延、および、あらかじめ指定されたネットワークの遅延量を参照し、RTC108の値を送信要求受付時刻と比較し、送信待ちの許容時間を算出する、送信待ち許容時間算出部である。
116は、発呼、着呼、呼の接続・切断の制御、および、各呼の状態に応じたダイヤルトーン、ビジートーン、リンガー、リング・バック・トーンを前記音声出力部103に出力する呼制御部、117は、呼の設定や解除、通話時の音声パケットの送受信、を指定されたプロトコルに従って処理するプロトコル処理部、121は、ネットワークの遅延を測定する、ネットワーク遅延測定部、130は、全体を制御する制御部である。
上記図21の構成と図2の構成との対応関係について説明する。
101の操作部は、211のキーボードによって、102の音声入力部は、208のマイクによって、103の音声出力部は、210のスピーカによって実現される。
104の受信バッファ、105の送信バッファ、109のパラメータ記憶部、111の送信パケットキュー、113の受信パケットキューは、203のRAMによって、実現される。
107の無線通信部は、205のベースバンドと206のRFによって、108のRTCは、204のRTCによって、110のコーデック部は、212のコーデック、207のA/D、209のD/Aによって、それぞれ実現される。
112のペイロード統合部、114のペイロード分割部、115の送信待ち許容時間算出部、121のネットワーク遅延測定部、および、130の制御部は、201のCPUが202のROMの中に記憶しているプログラムを、202のROMの中に記憶しているデータを参照したり、203のRAMに記憶しているデータを参照したり、変更したりしながら実行することによって実現される。
図22は、本発明の実施の形態2における親機の機能ブロック図である。
図22において、104は、受信した無線フレームから取り出されたデータを蓄積する受信バッファ、105は、無線送信用のデータを蓄積する送信バッファ、106は、有線のネットワークと接続するためのLAN通信部、107は、送信バッファ105に蓄積したデータを無線フレーム化して送信、また、無線フレームを受信してフレームの内容を受信バッファ104に格納する無線通信部である。
108は、時間の経過を測定するためのRTC、111は、後述する有線−無線ブリッジ部120が、中継が必要と判断したLAN側からのイーサネット(登録商標)フレームを無線フレーム化して送信するために、送信要求受付時刻とともにFIFO方式で記憶する送信パケットキュー、112は、送信待ち時間内に送信パケットキュー111に入力されたパケットをひとつの無線フレームにまとめて前記送信バッファに書き込むペイロード統合部である。
113は、無線フレームとして受け取ったデータをパケットに分解してFIFO方式で記憶する、受信パケットキュー、114は、受信バッファ104に記憶された内容をもともとひとつのパケットであったかどうか判断し、複数のパケットが統合されている場合は、これを複数のパケットに分解し、受信パケットキュー113にFIFO方式で書き込む、ペイロード分割部である。
120は、有線と無線の間のフレームを必要があれば中継し、さもなければ破棄する、有線−無線ブリッジ部、130は、全体を制御する、制御部である。
上記図22の構成と図4の構成との対応関係について説明する。
104の受信バッファ、105の送信バッファ、111の送信パケットキュー、113の受信パケットキューは、203のRAMによって、実現される。
107の無線通信部は、205のベースバンドと206のRFによって、108のRTCは、204のRTCによって、106のLAN通信部は、213のネットワークI/Fによって、それぞれ実現される。
112のペイロード統合部、114のペイロード分割部、120の有線−無線ブリッジ部、および、130の制御部は、201のCPUが202のROMの中に記憶しているプログラムを、202のROMの中に記憶しているデータを参照したり、203のRAMに記憶しているデータを参照したり、変更したりしながら実行することによって、実現される。
無線LAN電話システム全体の構成および親機と子機の動作概要は実施の形態1と変わらないので説明を省略する。
まず、子機の動作について説明する。
図23は、子機のタスク構成を示している。図7と比較して、測定タスクがあらたに追加されている。一方、親機については、タスク構成は実施の形態例1(図8)と同様である。
次に、子機のタスクについてその動作を説明する。なお、子機のタスクのうち、エンコードタスク、デコードタスク、呼制御タスクは実施の形態1と同一なので説明を省略する。

ここでは、実施の形態1との相違点となる測定タスクについて、図24のフローチャートに従って、説明する。
本実施の形態では、通話を行う子機同士があらかじめ別の方法でお互いのRTC108をあわせていることを前提にしている。お互いの時計を合わせる方法としてはGPSを用いる方法や、NTPと呼ばれるプロトコルを用いる方法が一般的であるが、ここでは詳細を記述しない。
ステップS211
ネットワーク遅延測定部121は受信パケットキュー113を参照して、測定パケットが届いているかどうかを判断する。届いていればステップS212へ、さもなければ、S214へ進む。
ステップS212
ネットワーク遅延測定部121は、受信パケットキュー113から、パケットを取り出す。
ステップS213
ネットワーク遅延測定部121は、取り出したパケットの中身を参照して、そのパケットがいつ送信されたかを読み取り、RTC108を参照して、現在の時刻と比較する。その結果をネットワークの遅延量としてパラメータ記憶部109に書き込む。ステップS211へ進む。ここでは、パケットに書かれた時刻が12:33 12.654 223だったとする。現在、RTC108が12:33 12.734 223を示しているとすると時間差は80msとなり、これをパラメータ記憶部109にネットワーク遅延量として書き込む。ステップS211へ進む。
ステップS214
ネットワーク遅延測定部121は、RTC108を参照して送信予定時刻になったかどうかを判断する。予定時刻になっていれば、次の送信予定時刻を設定して、ステップS215へ、さもなければ、ステップS211へ進む。ここでは、測定パケットの送信は5秒に一度とする。したがって、現在のRTC108の値が12:33 17.255 109であるとすれば、送信予定時刻は、5秒後の12:33 22.255 109となる。
ステップS215
ネットワーク遅延測定部121は、RTC108を参照して、現在の時刻12:33 17.255 109を読み取り、これをパケットの内容として送信パケットキュー111に入れる。ステップS211へ進む。
このように、子機がお互いに、測定パケットを交換することによって、ネットワークの遅延量を測定し、これを基に無線送信タスクで「いくつの音声パケットをひとつの無線フレームにまとめるか」を決定する(詳細は後述)。これにより、ネットワークのトラフィックに変動が起こってネットワーク遅延量が変化しても、音声の遅延許容時間の範囲内で音声パケットを冗長化することができるので、安定した通話を確保できる。
図25は、本発明の実施の形態2における子機の無線送信タスクのフローチャートである。送信パケットキュー111はあて先のMACアドレスごとに存在し、無線送信タスクは以下の処理を送信パケットキュー111ごとに行う。但し、以下の説明では、ひとつの送信パケットキュー111に注目してその動作を説明する。
ステップS221〜S223
実施の形態1における図13のステップS131〜S133と同一の処理を行う。
ステップS224
制御部130は、注目中のエントリに関して、送信待ち許容時間算出部115に、送信待ち許容時間を算出するよう要求する。すると、送信待ち許容時間算出部115はパラメータ記憶部109とRTC108とエントリと対応付けて記録された送信要求受付時刻とを参照し、遅延許容時間を算出する。まず、RTC108と注目中のエントリの送信要求受付時刻から送信待ち時間(送信要求を受け付けてからどれくらい時間が経過しているか)を求める。ここでは以下の値であるとする。
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変換して、音声として出力されるまでの遅延時間も同じ値としている。コーデックのアルゴリズムによってはこの遅延時間は非対称となることもあるが、ここでは対称であるとして説明を続ける。さらに、コーデック待ち時間とは受信側でジッターバッファを設けて、デコード待ちの音声パケットを一時的に貯めておき、パケットの到着が変動しても、音声が途切れないようにするための、時間である。ネットワーク遅延は、前述の測定タスクによって定期的に更新されているものとする。以上の値と次式によって送信待ち許容時間を計算する。
送信待ち許容時間=全体遅延許容時間−コーデック周期−コーデック遅延×2
−ネットワーク遅延−コーデック待ち時間−送信待ち時間
図26は上式を分かりやすく図示したものである。
上式より注目しているエントリの送信待ち許容時間は−17msとなる。ここで値が負であるということは、今から送信しても許容時間内に音声が到着しないことを示している。
送信待ち許容時間算出部115は制御部130に「送信待ち許容時間が−17msである」ことを通知する。
ステップS225
制御部130が送信待ち許容時間算出部115から受け取った送信待ち許容時間が負の値を示している場合、つまり、今から送信しても間に合わない場合は、ステップS226へ、さもなければステップS229へ進む。ここでは、負の値を示しているのでステップS226へ進む。
ステップS226
制御部130は、送信パケットキュー111から注目中のエントリのデータを取り出す。
上の例では、注目中のエントリは今から送信しても間に合わない、と判断されて、破棄されることになる。
ステップS227
制御部130は、送信パケットキュー111を参照して、注目中のエントリの次にエントリが存在するかどうかを判断する。存在すればステップS227へ、さもなければ、ステップS221へ進む。ここでは、図27に示すように、エントリが存在するものとして説明を続ける。
ステップS228
制御部130は、次のエントリに注目する。ステップS224へ進む。
以上のように、ステップS224〜S228の処理を繰り返すことで、送信しても許容時間内に相手に到着しない音声パケットを破棄する。ここまでの例では、図27におけるエントリ1と2が破棄される。
次に、ステップS225で、今から送信したら許容時間内に相手に到着すると判断された場合について説明する。エントリ3では、許容時間内に到着すると判断されるためステップS229へ進む。
ステップS229
制御部130は、注目中のエントリの内容をコピーする。ここでは、エントリ3の内容が一時的に制御部130によって記憶される。
ステップS230
制御部130は、ステップS229でコピーしたデータをマージするようペイロード統合部112に指示する。詳細は後述する。送信バッファ105に送信すべきデータが書き込まれる。
ステップS231
制御部130は、送信パケットキュー111を参照して、注目中のエントリの次にエントリが存在するかどうかを判断する。存在すればステップS232へ、さもなければ、ステップS233へ進む。
ステップS229〜S232を繰り返すことで、エントリがなくなるまで送信パケットキューのエントリの内容がマージされていく。
ステップS232
制御部130は、次のエントリに注目する。ステップS229へ進む。
ステップS233
エントリ5までのデータがマージされた後、パケット送信キュー11には、もうマージすべきエントリが無いので、ステップS233が実行される。
ここでは無線フレームはIEEE802.11iで規定された暗号化方式によって暗号化されるものとする。制御部130は、無線通信部107にCCMPヘッダとMICキーを付加するよう指示する。すると、無線通信部107は、暗号化アルゴリズムにしたがってCCMPヘッダとMICキーを計算し、送信バッファ105のIEEE802.11iで規定されたペイロードの位置に追加する。
ステップS234
制御部130は、無線通信部107に送信バッファ105の内容を送信するよう指示する。すると、無線通信部107は指示された内容を無線フレームとして空中に放出する。ステップS221へ進む。
ここで、IEEE 802.11で規定されているプリアンブルやFCSは無線通信部107で付加されるものとする。
次に、データのマージ処理について図28のフローチャートに従って説明する。実施例1と比較すると、本実施例では、上位プロトコル解析処理を行わないで、単純にペイロードをひとつの無線フレームにまとめている。
ステップS241
ペイロード統合部112は、送信バッファ105にデータが書き込まれているかどうかを判断する。書き込まれていればステップS244へ、さもなければ、ステップS242へ進む。
ステップS242
ペイロード統合部112は送信バッファ105にMACヘッダを書き込む。ステップS244へ進む。
ステップS243
ペイロード統合部112は、受け取った音声パケットの合計バイト数を算出する。ここでは、LLCヘッダ(8バイト)+IPv6ヘッダ(40バイト)+UDPヘッダ(8バイト)+RTPヘッダ(12バイト)+音声(80バイト)=148バイトとなる。
ステップS244
ペイロード統合部112はステップS243で得られた合計バイト数をペイロードデリミタとして送信バッファ105に書き込む。ここでは148を書き込む。
ステップS245
ペイロード統合部112は音声パケットとして受け取ったデータを送信バッファ105に書き込む。マージ処理を終了する。
以上のようにして、書き込まれた送信バッファ105の様子を図29に示す。これまでの例では図27におけるエントリ3〜5がペイロード1〜3として書き込まれている。
次に、無線受信タスクの動作について図30のフローチャートに従って説明する。
なお、本実施の形態では無線受信タスクは、子機、親機ともに同一の処理を行う。ここで、自局宛の無線フレームは無線通信部107によって受信され、受信バッファ104にフレームの内容をデータとして書き込んでいるものとする。
ステップS251〜S254
実施の形態1における図17のステップS171〜S174と同一である。
ステップS255
ペイロード分割部114は先頭の1バイトをデリミタと解釈し、値を読み出し、ペイロードが何バイトかを得て、以降のペイロードを取り出す。ステップS257へ進む。
ステップS256〜S259
実施の形態1における図17のステップS177〜S180と同一である。
以上の処理によって、もともと複数の音声パケットがひとつの無線フレームにまとめられていても、正しくもとの音声パケットに分割され、プロトコル処理部117に渡される。デコードタスクは、規定された遅延時間内にデコード処理を完了し、音声として再生する。
次に、親機についてであるが、親機のタスク構成は実施の形態1と同様であり、ブリッジタスクは、実施の形態1と同様である。無線受信タスクについては実施の形態2の子機と同様であるため、説明を省略し、ここでは親機の無線送信タスクのみを説明する。
本実施の形態における親機の無線送信タスクについて図31のフローチャートに従って説明する。
ステップS261〜S262
子機における図25のステップS221〜S222と同一の処理を行う。
ステップS263
子機における図25のステップS223と同一の処理を行う。ステップS264へ進む。
ステップS264
子機における図25のステップS226と同一の処理を行う。ステップS265へ進む。
ステップS265〜S269
子機における図25のステップS230〜S233と同一の処理を行う。
ステップS269
子機における図25のステップS234と同一の処理を行う。ステップS261へ進む。
これまで説明してきたように、本実施の形態で示した子機と親機を組み合わせて利用すれば、通話中の音声の遅延を実用的な範囲内に抑えたまま、エラーが発生しても音が途切れない通話品質の高い通話品質を提供できる。
以上のように、従来、エラーの発生によって、再送が起き、その分、以降の音声の到着時刻が遅延して、さらに、この遅延が蓄積することによって、受信端末側がジッターバッファのオーバーフローを起こし、音声の途切れなどの品質低下が引き起こされていたが、本実施の形態によれば、上記の構成により、音声パケットを冗長化して送信するので、エラーが発生してももとの音声を復元することができる。
また、音声パケットをまとめてひとつの無線フレームとして送信するので、帯域を必要以上に圧迫しない。さらに、ネットワークのトラフィックが変動しても、ネットワークの遅延時間を測定し、これに送信のタイミングと1フレーム当りのパケットの重畳量を適応させることができる。このことにより、無線LAN電話の利用者に対しては、品質のよい通話環境を提供し、また、同じ無線LAN内でデータ通信を行っているユーザに対して、必要以上に帯域を圧迫せず、良好な通信環境を提供できる。
(実施の形態3)
図32は、本発明の実施の形態3における子機の機能ブロック図である。
図32において、101は、発呼先の指定、着呼時に通話の指示および終話の指示をするための操作部、102は、音声を入力するための音声入力部、103は、音声を出力するための音声出力部、104は、受信した無線フレームから取り出されたデータを蓄積する受信バッファ、105は、無線送信用のデータを蓄積する送信バッファである。
107は、送信バッファ105に蓄積したデータを無線フレーム化して送信、また、無線フレームを受信してフレームの内容を受信バッファ104に格納する無線通信部、108は、時間の経過を測定するためのRTC、109は、音声の遅延許容時間、音声のコーデック周期、音声のコーデック遅延、および、あらかじめ指定されたネットワークの遅延量を記憶するパラメータ記憶部である。
110は、音声入力部102から入力した音声をA/D変換し、所定のアルゴリズムを用いて音声パケットに変換(エンコード)する、また、音声データを所定のアルゴリズムを用いてデコードした上で、D/A変換し、前記音声出力部103に出力するコーデック部、111は、前記コーデック部110がエンコードした音声パケットをエンコードが完了した時刻、すなわち、送信要求受付時刻とともにFIFO方式で記憶する送信パケットキューである。
112は、送信待ち時間内に送信パケットキュー111に入力されたパケットをひとつの無線フレームにまとめて前記送信バッファに書き込むペイロード統合部、113は、無線フレームとして受け取ったデータをパケットに分解してFIFO方式で記憶する、受信パケットキューである。
114は、前記受信バッファ104に記憶された内容をもともとひとつのパケットであったかどうか判断し、複数のパケットが統合されている場合は、これを複数のパケットに分解し、前記受信パケットキュー113にFIFO方式で書き込む、ペイロード分割部、
115は、前記パラメータ記憶部109に記憶された音声の遅延許容時間、音声のコーデック周期、音声のコーデック遅延、および、あらかじめ指定されたネットワークの遅延量を参照し、RTC108の値を送信要求受付時刻と比較し、送信待ちの許容時間を算出する、送信待ち許容時間算出部である。
116は、発呼、着呼、呼の接続・切断の制御、および、各呼の状態に応じたダイヤルトーン、ビジートーン、リンガー、リング・バック・トーンを前記音声出力部103に出力する呼制御部、117は、呼の設定や解除、通話時の音声パケットの送受信、を指定されたプロトコルに従って処理するプロトコル処理部である。
122は、FIFO方式であらかじめ決められた数の音声パケットの内容または識別子を記憶する受信履歴バッファ、123は、前記受信履歴バッファ122を参照して、指定された音声パケットと同一音声パケットが記憶されているかどうか検索する、重複パケット検索部、130は、全体を制御する、制御部である。
ここで、図32の構成と図2の構成との対応関係について説明する。
101の操作部は、211のキーボードによって、102の音声入力部は、208のマイクによって、103の音声出力部は、210のスピーカによって、それぞれ実現されている。
104の受信バッファ、105の送信バッファ、109のパラメータ記憶部、111の送信パケットキュー、113の受信パケットキュー、122の受信履歴バッファは、203のRAMによって、実現されている。
107の無線通信部は、205のベースバンドと206のRFによって、108のRTCは、204のRTCによって、110のコーデック部は、212のコーデック、207のA/D、209のD/Aによって実現されている。
112のペイロード統合部、114のペイロード分割部、115の送信待ち許容時間算出部、123の重複パケット検索部、および、130の制御部は、201のCPUが202のROMの中に記憶しているプログラムを、202のROMの中に記憶しているデータを参照したり、203のRAMに記憶しているデータを参照したり、変更したりしながら実行することによって、実現されている。
図33は、本発明の実施の形態3における親機の機能ブロック図である。
図33において、104は、受信した無線フレームから取り出されたデータを蓄積する受信バッファ、105は、無線送信用のデータを蓄積する送信バッファ、106は、有線のネットワークと接続するためのLAN通信部である。
107は、送信バッファ105に蓄積したデータを無線フレーム化して送信、また、無線フレームを受信してフレームの内容を受信バッファ104に格納する無線通信部、108は、時間の経過を測定するためのRTC、111は、後述する有線−無線ブリッジ部120が、中継が必要と判断したLAN側からのイーサネット(登録商標)フレームを無線フレーム化して送信するために、送信要求受付時刻とともにFIFO方式で記憶する送信パケットキューである。
112は、送信待ち時間内に送信パケットキュー111に入力されたパケットをひとつの無線フレームにまとめて前記送信バッファに書き込むペイロード統合部、113は、無線フレームとして受け取ったデータをパケットに分解してFIFO方式で記憶する、受信パケットキュー、114は、受信バッファ104に記憶された内容をもともとひとつのパケットであったかどうか判断し、複数のパケットが統合されている場合は、これを複数のパケットに分解し、受信パケットキュー113にFIFO方式で書き込む、ペイロード分割部である。
120は、有線と無線の間のフレームを必要があれば中継し、さもなければ破棄する、有線−無線ブリッジ部、122は、FIFO方式であらかじめ決められた数の音声パケットの内容または識別子を記憶する受信履歴バッファ、123は、前記受信履歴バッファ122を参照して、指定された音声パケットと同一音声パケットが記憶されているかどうか検索する、重複パケット検索部、130は、全体を制御する、制御部である。
ここで、図33の構成と図4の構成との対応関係について説明する。
104の受信バッファ、105の送信バッファ、111の送信パケットキュー、113の受信パケットキュー、122の受信履歴バッファは、203のRAMによって、実現されている。
107の無線通信部は、205のベースバンドと206のRFによって、108のRTCは、204のRTCによって、106のLAN通信部は、213のネットワークI/Fによって、それぞれ実現されている。
112のペイロード統合部、114のペイロード分割部、120の有線−無線ブリッジ部、123の重複パケット検索部、および、130の制御部は、201のCPUが202のROMの中に記憶しているプログラムを、202のROMの中に記憶しているデータを参照したり、203のRAMに記憶しているデータを参照したり、変更したりしながら実行することによって、実現されている。
本実施の形態では、無線LAN電話システム全体の構成および親機と子機の動作概要は実施の形態1と変わらないので説明を省略する。また、同様に、親機と子機のタスク構成も実施の形態1と同一なので説明を省略する。
図34は、本実施の形態における子機の無線送信タスクのフローチャートである。
送信パケットキュー111はあて先のMACアドレスごとに存在し、無線送信タスクは以下の処理を送信パケットキュー111ごとに行う。但し、以下の説明では、ひとつの送信パケットキュー111に注目してその動作を説明する。本実施例は実施例2とよく似ているが、実施例2では許容時間内に送信できるパケットをすべてマージして送信するのに対し、本実施例では許容時間内に送信できるパケットのもっとも古いものともっとも新しいもののみをマージする、という点で異なっている。以下、この点を留意しながら詳しく説明する。
ステップS301〜S308
実施の形態2における図25のステップS221〜S228と同一の処理を行う。
ここまでの処理で今から送信しても許容時間内に到着しないパケットは送信パケットキュー111から削除されていることになる。
ステップS309
制御部130は、送信パケットキュー111を参照して、注目中のエントリの次にエントリが存在するかどうかを判断する。存在すればステップS314へ、さもなければ、ステップS310へ進む。ここでは、エントリが存在しないものとして説明を続ける。この場合、送信パケットキュー111に音声パケットがひとつしか残っていないことになる。
ステップS310
制御部130は、注目中のエントリの内容をコピーする。
ステップS311
制御部130は、ステップS310でコピーしたデータをマージするようペイロード統合部112に指示する。詳細は後述する。送信バッファ105に送信すべきデータが書き込まれる。
ステップS312
ここでは無線フレームはIEEE802.11iで規定された暗号化方式によって暗号化されるものとする。制御部130は、無線通信部107にCCMPヘッダとMICキーを付加するよう指示する。すると、無線通信部107は、暗号化アルゴリズムにしたがってCCMPヘッダとMICキーを計算し、送信バッファ105のIEEE802.11iで規定されたペイロードの位置に追加する。
ステップS313
制御部130は、無線通信部107に送信バッファ105の内容を送信するよう指示する。すると、無線通信部107は指示された内容を無線フレームとして空中に放出する。ここで、IEEE 802.11で規定されているプリアンブルやFCSは無線通信部107で付加されるものとする。
ステップS301へ進む。
次に、ステップS309で次のエントリが存在した場合について説明する。
図27に示すように5つのエントリが送信パケットキュー111に登録されていたものとする。ステップS309までの処理でエントリ1、2は今から送信しても許容時間内に到着しないので破棄されている。つまり現在エントリ3に注目している。エントリ4が送信パケットキュー111に存在するため、ステップS314が実行される。
ステップS314
ステップS310と同一の処理を行う。
ステップS315
ステップS311と同一の処理を行う。
ステップS316
ステップS308と同一の処理を行う。
ステップS317
ステップS309と同一の処理を行う。次のエントリが存在する場合は、ステップS316へ、さもなければ、ステップS310へ進む。
このように、ステップS314、S315の処理でもっとも古い音声パケットが送信データとしてマージされる。さらにステップS316、S317によって、送信パケットキュー111のなかでもっとも新しいパケットを見つける。
以降、ステップS310〜S313の処理によってもっとも古いパケットともっとも新しいパケットがマージされ、送信される。なお、本実施の形態では、実施の形態2と同一のマージ処理を行うものとする。
次に、無線受信タスクの動作について図35のフローチャートに従って説明する。
なお、本実施例では無線受信タスクは、子機、親機ともに同一の処理を行う。ここで、自局宛の無線フレームは無線通信部107によって受信され、受信バッファ104にフレームの内容をデータとして書き込んでいるものとする。
ステップS321〜S325
実施の形態2における図30のステップS251〜S255と同一の処理を行う。
ステップS326
ペイロード分割部114は、重複パケット検索部123に現在注目中のペイロードと等しい内容のパケットが受信履歴バッファ122にすでに登録されているかどうかを問い合わせる。
ステップS327
重複パケット検索部123は、ステップS326の結果を制御部130に通知する。この処理の詳細は後述する。登録されていれば、ステップS328へ、さもなければ、ステップS331へ進む。
ステップS328〜S329
実施の形態2における図30のステップS257〜S258と同一の処理を行う。
ステップS330
実施の形態2における図30のステップS259と同一の処理を行う。ステップS326へ進む。
ステップS331
ペイロード分割部114は、得られたペイロードを受信パケットキュー113に入れる。ステップS328へ進む。
以上の処理によって、もともと複数の音声パケットがひとつの無線フレームにまとめられていても、正しくもとの音声パケットに分割され、プロトコル処理部117に渡される。また、送信側によって同じ音声パケットがコピーされていて、異なる無線フレームで送信されても、本処理によって、同じ音声パケットは破棄される。これにより、親機では、同じ音声パケットをLANに流すことがなくなるので、ネットワークのトラフィックを不必要に増加させることはない。
次に、前述の重複パケット検索処理について詳細を説明する。
図36は、本実施の形態における重複パケット検索処理を示したフローチャートである。
ここでは、音声パケットの伝送をRTPプロトコルによって行うものとする。RTPプロトコルではヘッダ部にシーケンス番号が書き込まれており、音声パケットの重複や欠落、順序の入れ代わりなどを検出できるようになっている。ここでは、受信履歴バッファ122は、10個のシーケンス番号をFIFO方式で記憶するものとする。
ステップS341
重複パケット検索部123は、受信履歴バッファ122内にシーケンス番号が登録されているかどうかを判断する。ひとつも登録されていなければ、「重複なし」として処理を終了する。さもなければ、ステップS342へ進む。
ステップS342
重複パケット検索部123は、受信履歴バッファ122内のFIFO方式で記憶されている最初のシーケンス番号に注目する。
ステップS343
重複パケット検索部123は、ペイロード分割部114によって指定されたペイロードに含まれるRTPパケットのヘッダ部にあるシーケンス番号を参照して、現在注目しているシーケンス番号と一致するかどうかを照合する。一致する場合は、「重複あり」として処理を終了する。さもなければ、ステップS344へ進む。
ステップS344
重複パケット検索部123は、受信履歴バッファ122内にいま注目中のシーケンス番号の次にもシーケンス番号が記憶されているかどうかを判断する。記憶されている場合は、ステップS345へ、さもなければ、「重複なし」として処理を終了する。
ステップS345
重複パケット検索部123は、現在注目中のシーケンス番号を受信履歴バッファ122にFIFO方式で記憶されている次のシーケンス番号に移動する。ステップS343へ進む。
以上の処理によって、本実施の形態では過去10パケットにわたって、受信した音声パケットのRTPヘッダのシーケンス番号を調べ、すでに受信したかどうかを判断する。これにより、すでに受信したものは「重複あり」として処理されるため、ペイロード統合部114の処理によって破棄されることになる。
次に、親機についてであるが、親機のタスク構成は実施の形態1と同様である。ここでは実施の形態1、2と異なる親機の無線送信タスクのみを説明する。
本実施の形態における親機の無線送信タスクについて図37のフローチャートに従って説明する。
ステップS351〜S352
実施の形態1における図13のステップS131〜S132と同一の処理を行う。
ステップS353
実施の形態1における図13のステップS133と同一の処理を行う。ステップS354へ進む。
ステップS354
制御部130は送信パケットキュー111を参照して、エントリの数が1より大きいかどうかを判断する。1より大きい場合はステップS355へ、さもなければ、ステップS358へ進む。
ステップS355〜S361
実施の形態1における図13のステップS136〜S142と同一の処理を行う。ステップ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を使って通信している他の端末への影響をより小さくすることができる。
以上のように、従来、エラーの発生によって、再送が起き、その分、以降の音声の到着時刻が遅延して、さらに、この遅延が蓄積することによって、受信端末側がジッターバッファのオーバーフローを起こし、音声の途切れなどの品質低下が引き起こされていたが、本実施例3によれば、上記の構成により、音声パケットを冗長化して送信するので、エラーが発生してももとの音声を復元することができる。また、音声パケットをまとめてひとつの無線フレームとして送信するので、帯域を必要以上に圧迫しない。さらに、バーストエラーによって連続して無線フレームの送受信に失敗しても、音声パケットをインターリーブすることによって、音声パケットが失われることを極力回避することができる。加えて、受信側で同一の音声パケットを破棄することにより、必要以上にネットワークに負荷をかける心配も無い。このことにより、無線LAN電話の利用者に対しては、品質のよい通話環境を提供し、また、同じ無線LAN内でデータ通信を行っているユーザに対して、必要以上に帯域を圧迫せず、良好な通信環境を提供できる。
なお、本実施の形態では、2つの音声パケットを1つの無線フレームとして送信しているが、3つ以上の音声パケットをあらかじめ決められたアルゴリズムによって選択し、それらをひとつの無線フレームにして送信するようにしても本発明の主旨とはなんらかわりない。
本発明に係る無線LAN電話通信方法及びシステムは、無線通信におけるエラーの影響を回避し、高い通話品質を提供できるところから、例えば無線LANを利用したコードレス電話などへの利用が可能である。
本発明の実施の形態1における子機の機能ブロック図 本発明の実施の形態1における子機の回路ブロック図 本発明の実施の形態1における親機の機能ブロック図 本発明の実施の形態1における親機の回路ブロック図 本発明の実施の形態1におけるシステムの全体構成図 本発明の実施の形態1における全体的な処理の流れを示したシーケンス図 本発明の実施の形態1における子機のタスク構成図 本発明の実施の形態1における親機のタスク構成図 本発明の実施の形態1における子機のエンコードタスクのフローチャート 本発明の実施の形態1における子機のデコードタスクのフローチャート 本発明の実施の形態1における子機の呼制御タスクの状態遷移図 本発明の実施の形態1における子機のプロトコル処理タスクのフローチャート 本発明の実施の形態1における無線送信タスクのフローチャート 本発明の実施の形態1におけるマージ処理のフローチャート 無線LAN電話における無線フレームの構成図 本発明の実施の形態1における無線フレームの構成図 本発明の実施の形態1における無線受信タスクのフローチャート 本発明の実施の形態1における親機のブリッジタスクのフローチャート 本発明の実施の形態1における音声パケットと無線フレームの関係を示す図 本発明の実施の形態1におけるエラーと音声パケットの関係を示す図 本発明の実施の形態2における子機の機能ブロック図 本発明の実施の形態2における親機の機能ブロック図 本発明の実施の形態2における子機のタスク構成図 本発明の実施の形態2における子機の測定タスクのフローチャート 本発明の実施の形態2における子機の送信タスクのフローチャート 本発明の実施の形態2における全体遅延量と全体遅延許容時間の関係図 本発明の実施の形態2における送信パケットキューの内容例を示す図 本発明の実施の形態2における子機のマージ処理のフローチャート 本発明の実施の形態2における無線フレームの構成図 本発明の実施の形態2における受信タスクのフローチャート 本発明の実施の形態2における親機の送信タスクのフローチャート 本発明の実施の形態3における子機の機能ブロック図 本発明の実施の形態3における親機の機能ブロック図 本発明の実施の形態3における子機の送信タスクのフローチャート 本発明の実施の形態3における受信タスクのフローチャート 本発明の実施の形態3における重複パケット検索処理のフローチャート 本発明の実施の形態3における親機の送信タスクのフローチャート 従来の無線LAN電話装置における無線フレームの送受信の様子を示す図
符号の説明
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

Claims (11)

  1. 発生した音声パケットを複製して1つ以上のコピーを保存しておき、送信時に、以前に発生した1つ以上の音声パケットのコピーと最近発生した音声パケットを1つの無線フレームにまとめて送信し、受信した側で、もとのパケットに分割することを特徴とする無線LAN電話通信方法。
  2. 音声の遅延許容時間、音声のコーデック周期、音声のコーデック遅延、および、あらかじめ指定されたネットワークの遅延量とあらかじめ指定されたアルゴリズムによって決定される無線フレームの送信予定時刻から送信待ち許容時間を計算して、その送信待ち時間の許容範囲内で、音声パケットを冗長化して複数の音声パケットをひとつの無線フレームにまとめて送信し、受信側で、元通り複数の冗長化された音声パケットに分解することを特徴とする無線LAN電話通信方法。
  3. 遅延許容時間内で、インターリーブを行い、冗長化されたパケットのうち、連続しない2つ以上の音声パケットを1つの無線フレームにまとめて送信することを特徴とする無線LAN電話通信方法。
  4. ネットワークの遅延量を測定するために、あらかじめ指定されたアルゴリズムで繰り返し得られる測定時刻にあらかじめ決められた手順を実施し、ネットワークの遅延量を測定し、送信待ち許容時間を更新することを特徴とする請求項2または3に記載の無線LAN電話通信方法。
  5. 受信履歴バッファ内で重複した音声パケットを受信した場合に、これを破棄することを特徴とする請求項1から4のうち何れか1に記載の無線LAN電話通信方法。
  6. 上位プロトコルヘッダを解析し、共通部分を省略してフレーム化することを特徴とする請求項1から5のうち何れか1に記載の無線LAN電話通信方法。
  7. 無線通信のエラーレートが指定された閾値より高い場合、請求項1から6の通信方法を実施し、そうでない場合は、実施しないことを特徴とする請求項1から6のうち何れか1に記載の無線LAN電話通信方法。
  8. 請求項1から7のうち何れか1に記載の無線LAN電話の通信方法を実現したことを特徴とする無線LAN電話子機。
  9. 請求項1から7のうち何れか1に記載の無線LAN電話の通信方法を実現したことを特徴とする無線LAN電話親機。
  10. 請求項1から7のうち何れか1に記載の無線LAN電話の通信方法を実現したことを特徴とするプログラム。
  11. 請求項1から7のうち何れか1に記載の無線LAN電話の通信方法を実現したことを特徴とする無線LAN電話システム。
JP2007101534A 2007-04-09 2007-04-09 無線lan電話通信方法及びシステム Pending JP2008259094A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007101534A JP2008259094A (ja) 2007-04-09 2007-04-09 無線lan電話通信方法及びシステム
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 (ja) 2007-04-09 2007-04-09 無線lan電話通信方法及びシステム

Publications (1)

Publication Number Publication Date
JP2008259094A true JP2008259094A (ja) 2008-10-23

Family

ID=39826840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007101534A Pending JP2008259094A (ja) 2007-04-09 2007-04-09 無線lan電話通信方法及びシステム

Country Status (3)

Country Link
US (1) US20080247413A1 (ja)
JP (1) JP2008259094A (ja)
WO (1) WO2008126936A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013135397A (ja) * 2011-12-27 2013-07-08 National Institute Of Information & Communication Technology ラベルスイッチングネットワーク
JP2016502358A (ja) * 2012-12-12 2016-01-21 クゥアルコム・インコーポレイテッドQualcomm Incorporated ショートmacヘッダを使用するパケットのセキュリティ
JP2016503997A (ja) * 2013-01-07 2016-02-08 クゥアルコム・インコーポレイテッドQualcomm Incorporated 暗黙の再キーイングメカニズム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
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 (ja) * 2013-12-10 2015-01-21 パナソニックIpマネジメント株式会社 電話装置及び携帯電話連携方法
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10118192A1 (de) * 2001-04-11 2002-10-24 Siemens Ag Verfahren und Vorrichtung zur Übertragung von digitalen Signalen
JP4831890B2 (ja) * 2001-07-06 2011-12-07 パナソニック株式会社 コンテンツ管理方法及びコンテンツ管理装置
DE10133518B4 (de) * 2001-07-10 2006-08-24 Siemens Ag Verfahren und Vorrichtung zur drahtlosen Übertragung von Sprachdaten
JP3898523B2 (ja) * 2002-02-06 2007-03-28 株式会社日立国際電気 無線データ送信装置、及び無線データ受信装置
JP3880497B2 (ja) * 2002-09-27 2007-02-14 Necインフロンティア株式会社 Lan通信システム
JP3643824B2 (ja) * 2002-10-09 2005-04-27 株式会社バッファロー 無線lanシステム、ネットワークサービス提供方法およびネットワークサービス提供プログラムを記録した媒体
JP4100182B2 (ja) * 2003-01-30 2008-06-11 松下電器産業株式会社 通信端末装置及びその制御方法
JP2006074132A (ja) * 2004-08-31 2006-03-16 Matsushita Electric Ind Co Ltd マルチキャスト通信方法及びゲートウェイ装置
JP2007116673A (ja) * 2005-09-22 2007-05-10 Matsushita Electric Ind Co Ltd 通信装置
JP4728792B2 (ja) * 2005-12-12 2011-07-20 パナソニック株式会社 Ip通信装置およびこれを備えたip通信システムならびにip通信装置のipアドレス設定方法
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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013135397A (ja) * 2011-12-27 2013-07-08 National Institute Of Information & Communication Technology ラベルスイッチングネットワーク
JP2016502358A (ja) * 2012-12-12 2016-01-21 クゥアルコム・インコーポレイテッドQualcomm Incorporated ショートmacヘッダを使用するパケットのセキュリティ
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 (ja) * 2013-01-07 2016-02-08 クゥアルコム・インコーポレイテッドQualcomm Incorporated 暗黙の再キーイングメカニズム

Also Published As

Publication number Publication date
US20080247413A1 (en) 2008-10-09
WO2008126936A3 (en) 2009-01-08
WO2008126936A2 (en) 2008-10-23

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 (ja) 無線通信ネットワークにおける改良されたヘッダ圧縮
AU2003248437B2 (en) Packet Transmission System and Packet Reception System
JP4676534B2 (ja) 非アクティブユーザプレーン中のトラフィック生成
JP4842075B2 (ja) 音声伝送装置
JP2008259094A (ja) 無線lan電話通信方法及びシステム
US20020066012A1 (en) Maintaining end-to-end synchronization on telecommunications connection
JP2002026963A (ja) パケット伝送方法、中継装置およびデータ端末
US7929571B2 (en) System and method for implementing a preemptive retransmit for error recovery in a communications environment
KR100793345B1 (ko) 음성/데이터 통합 시스템의 패킷 처리 방법 및 그 장치
AU2004258114B2 (en) Performing compression of user datagram protocol packets
JP5028784B2 (ja) 無線lan電話システム、無線lan電話システム親機、無線lan電話システム子機、無線lan電話通信方法、無線lan電話通信プログラム、および、記録媒体
JP4856251B2 (ja) 無線通信ネットワークにおけるヘッダの抑制
WO2008001580A1 (fr) Dispositif de communication et procédé
JP2005157045A (ja) 音声伝送方法
JP4546114B2 (ja) 音声パケット転送方法及びそれに用いる端末
MXPA01013115A (es) Transmision de informacion comprimida con requisito de tiempo real en una red de informacion orientada en paquetes.
JP4655870B2 (ja) パケット送受信システムおよび経過時間測定方法
JP2007228081A (ja) 無線通信装置、無線通信方法及び無線アクセス装置
JP2012049913A (ja) 通信装置
JP2005229378A (ja) 中継装置及びその制御方法
JP2005252429A (ja) Ipパケット化装置
Ali et al. Real-time Voice over IP over Bluetooth
JP2012049914A (ja) 通信装置