(57)【要約】【課題】  この発明は、ＦＩＦＯ型ジッタ吸収バッファに受信パケットを格納する前に、到達順序が入れ替わった受信パケットをできるだけ正しい順序に並べ替えることができるネットワーク電話機を提供することを目的とする。【解決手段】  １または複数の受信パケットを保存しうる入替用パケット保存手段を備え、今回受信したパケットの順序情報および入替用パケット保存手段に保存されているパケットの順序情報に基づいて、受信したパケットおよび入替用パケット保存手段に保存されているパケットのうち送信順序が最も早いパケットを出力させるとともに、受信したパケットおよび各パケット入替用バッファに保存されているパケットのうち送信順序が最も早いものを除くパケットが入替用パケット保存手段に保存されるようにするパケット順序入替制御手段を備えている。【選択図】  図３
2004260805.tif 000002
【特許請求の範囲】
【請求項１】
ジッタ吸収バッファとしてＦＩＦＯ型ジッタ吸収バッファを備えている音声復号化装置において、
１または複数の受信パケットを保存しうる入替用パケット保存手段を備え、今回受信したパケットの順序情報および入替用パケット保存手段に保存されているパケットの順序情報に基づいて、受信したパケットおよび入替用パケット保存手段に保存されているパケットのうち送信順序が最も早いパケットを出力させるとともに、受信したパケットおよび各パケット入替用バッファに保存されているパケットのうち送信順序が最も早いものを除くパケットが入替用パケット保存手段に保存されるようにするパケット順序入替制御手段、  パケット順序入替制御手段から出力されたパケットを順次格納していくとともに、格納されているパケットを入力されたものから順に出力するＦＩＦＯ型ジッタ吸収バッファ、ならびに
ＦＩＦＯ型ジッタ吸収バッファから出力されるパケットを復号化するための復号手段、  を備えていることを特徴とする音声復号化装置。
【請求項２】
パケット順序入替制御手段は、
１または複数の受信パケットを保存しうる入替用パケット保存手段、
今回受信したパケットの順序情報と入替用パケット保存手段に保存されているパケットの順序情報とに基づいて、これらのパケットのうち、送信順序が最も早いパケットを特定する手段、
送信情報が最も早いパケットが今回受信したパケットである場合には、今回受信したパケットを出力する手段、ならびに
送信情報が最も早いパケットが入替用パケット保存手段に保存されているパケットである場合には、送信順序が最も早いパケットを出力するとともに、パケット保存に保存されているパケットのうち上記送信順序が最も早いパケットを除く他のパケットと今回受信したパケットとを入替用パケット保存手段に保存させる手段、
を備えていることを特徴とする請求項１に記載の音声復号化装置。
【請求項３】
上記パケット順序入替制御手段が複数設けられており、各パケット順序入替制御手段が直列接続されており、最終段のパケット順序入替制御手段から出力されたパケットがＦＩＦＯ型ジッタ吸収バッファに格納されることを特徴とする請求項１および２のいずれかに記載の音声復号化装置。
【請求項４】
ジッタ吸収バッファとしてＦＩＦＯ型ジッタ吸収バッファを備えている音声復号化装置において、
受信したパケットの順序を制御するパケット順序入替制御手段、
パケット順序入替制御手段から出力されたパケットを順次格納していくとともに、格納されているパケットを入力されたものから順に出力するＦＩＦＯ型ジッタ吸収バッファ、ならびに
ＦＩＦＯ型ジッタ吸収バッファから出力されるパケットを復号化するための復号手段を備えており、
パケット順序入替制御手段は、
複数の受信パケットを保存しうる複数の入替用パケット保存手段、
初期化処理後に最初に受信したパケットを出力するとともに、出力したパケットの順序情報を最後に出力したパケットの順序情報として設定する第１手段、
初期化処理後において２番目以降の受信パケットを受信した場合には、今回受信したパケットを入替用パケット保存手段に保存するとともに、入替用パケット保存手段に保存されているパケットのうち送信順序が最も早いパケットを選択する第２手段、
選択したパケットの順序情報が最後に出力したパケットの順序情報の次の番号であるか否かを判別する第３手段、
第３手段によって選択されたパケットの順序情報が最後に出力したパケットの順序情報の次の番号である場合には、当該パケットを出力し、出力したパケットの順序情報を最後に出力したパケットの順序情報として設定するとともに、当該パケットが保存されていた入替用パケット保存手段を空状態に設定する第４手段、
第３手段によって選択されたパケットの順序情報が最後に出力したパケットの順序情報の次の番号ではなく、かつ入替用パケット保存手段が満杯でない場合には、当該パケットを入替用パケット保存手段にそのまま保存させた後、次のパケットが受信されるのを待機する第５手段、
第３手段によって選択されたパケットの順序情報が最後に出力したパケットの順序情報の次の番号でなく、かつ入替用パケット保存手段が満杯である場合には、当該パケットを出力し、出力したパケットの順序情報を最後に出力したパケットの順序情報として設定するとともに、当該パケットが保存されていた入替用パケット保存手段を空状態に設定する第６手段、ならびに
第４手段または第６手段により処理が行われた場合には、入替用パケット保存手段が空であるか否かを判別し、入替用パケット保存手段が空である場合には次のパケットが受信されるのを待機し、入替用パケット保存手段が空でない場合には上記２手段以降の処理を実行させる第７手段、
を備えていることを特徴とする音声復号化装置。
【請求項５】
ジッタ吸収バッファとしてＦＩＦＯ型ジッタ吸収バッファを備えているネットワーク電話機において、
１または複数の受信パケットを保存しうる入替用パケット保存手段を備え、今回受信したパケットの順序情報および入替用パケット保存手段に保存されているパケットの順序情報に基づいて、受信したパケットおよび入替用パケット保存手段に保存されているパケットのうち送信順序が最も早いパケットを出力させるとともに、受信したパケットおよび各パケット入替用バッファに保存されているパケットのうち送信順序が最も早いものを除くパケットが入替用パケット保存手段に保存されるようにするパケット順序入替制御手段、  パケット順序入替制御手段から出力されたパケットを順次格納していくとともに、格納されているパケットを入力されたものから順に出力するＦＩＦＯ型ジッタ吸収バッファ、ならびに
ＦＩＦＯ型ジッタ吸収バッファから出力されるパケットを復号化するための復号手段、  を備えていることを特徴とするネットワーク電話機。
【請求項６】
パケット順序入替制御手段は、
１または複数の受信パケットを保存しうる入替用パケット保存手段、
今回受信したパケットの順序情報と入替用パケット保存手段に保存されているパケットの順序情報とに基づいて、これらのパケットのうち、送信順序が最も早いパケットを特定する手段、
送信情報が最も早いパケットが今回受信したパケットである場合には、今回受信したパケットを出力する手段、ならびに
送信情報が最も早いパケットが入替用パケット保存手段に保存されているパケットである場合には、送信順序が最も早いパケットを出力するとともに、パケット保存に保存されているパケットのうち上記送信順序が最も早いパケットを除く他のパケットと今回受信したパケットとを入替用パケット保存手段に保存させる手段、
を備えていることを特徴とする請求項５に記載のネットワーク電話機。
【請求項７】
上記パケット順序入替制御手段が複数設けられており、各パケット順序入替制御手段が直列接続されており、最終段のパケット順序入替制御手段から出力されたパケットがＦＩＦＯ型ジッタ吸収バッファに格納されることを特徴とする請求項５および６のいずれかに記載のネットワーク電話機。
【請求項８】
ジッタ吸収バッファとしてＦＩＦＯ型ジッタ吸収バッファを備えているネットワーク電話機において、
受信したパケットの順序を制御するパケット順序入替制御手段、
パケット順序入替制御手段から出力されたパケットを順次格納していくとともに、格納されているパケットを入力されたものから順に出力するＦＩＦＯ型ジッタ吸収バッファ、ならびに
ＦＩＦＯ型ジッタ吸収バッファから出力されるパケットを復号化するための復号手段を備えており、
パケット順序入替制御手段は、
複数の受信パケットを保存しうる複数の入替用パケット保存手段、
初期化処理後に最初に受信したパケットを出力するとともに、出力したパケットの順序情報を最後に出力したパケットの順序情報として設定する第１手段、
初期化処理後において２番目以降の受信パケットを受信した場合には、今回受信したパケットを入替用パケット保存手段に保存するとともに、入替用パケット保存手段に保存されているパケットのうち送信順序が最も早いパケットを選択する第２手段、
選択したパケットの順序情報が最後に出力したパケットの順序情報の次の番号であるか否かを判別する第３手段、
第３手段によって選択されたパケットの順序情報が最後に出力したパケットの順序情報の次の番号である場合には、当該パケットを出力し、出力したパケットの順序情報を最後に出力したパケットの順序情報として設定するとともに、当該パケットが保存されていた入替用パケット保存手段を空状態に設定する第４手段、
第３手段によって選択されたパケットの順序情報が最後に出力したパケットの順序情報の次の番号ではなく、かつ入替用パケット保存手段が満杯でない場合には、当該パケットを入替用パケット保存手段にそのまま保存させた後、次のパケットが受信されるのを待機する第５手段、
第３手段によって選択されたパケットの順序情報が最後に出力したパケットの順序情報の次の番号でなく、かつ入替用パケット保存手段が満杯である場合には、当該パケットを出力し、出力したパケットの順序情報を最後に出力したパケットの順序情報として設定するとともに、当該パケットが保存されていた入替用パケット保存手段を空状態に設定する第６手段、ならびに
第４手段または第６手段により処理が行われた場合には、入替用パケット保存手段が空であるか否かを判別し、入替用パケット保存手段が空である場合には次のパケットが受信されるのを待機し、入替用パケット保存手段が空でない場合には上記２手段以降の処理を実行させる第７手段、
を備えていることを特徴とするネットワーク電話機。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、インターネット電話機等のVoIPを利用したネットワーク電話機および音声復号化装置に関する。
【背景技術】
【０００２】
例えば、インターネットを使用して音声通話を行うインターネット電話が既に開発されている。インターネット電話は、"VoIP"  という技術を利用している。VoIP(Voice over Internet Protocol)は、インターネットやイントラネットなどのIPネットワーク上で音声通話を行う、つまり音声データを送受信することを可能にする技術である。
【０００３】
インターネット電話では、従来の電話機とは異なり、音声を圧縮した後にパケット化して、ＩＰネットワークを通して通話するものである。この種の通話装置では、ＩＰネットワークの状況によって、パケットの到達時刻にばらつきが生じる( ジッタ) 場合が多い。つまり、ＩＰネットワークを経由して到達するパケットの間隔は一定ではないことが多い。しかしながら、パケット受信側において復号化音声を連続的に出力するためには、符号化データを一定間隔で復号器に渡す必要がある。そこで、図１に示すように復号器１０２の前段にジッタを吸収するためのジッタ吸収バッファ１０１が設けられている。
【０００４】
ジッタ吸収バッファ１０１は、複数のパケットを記憶するための複数のバッファ部を備えている。ジッタ吸収バッファ１０１のバッファ部には、到達したパケットが、パケットに格納されている順序情報に従い、左側から順番に格納されていく。最も左側のバッファ部に格納されているパケットが一定時間毎に読み出されて復号器１０２に渡される。復号器１０２に１パケットが渡されると、ジッタ吸収バッファ１０１内の他のパケットが左側に１つずつシフトされる。復号器１０２は、ジッタ吸収バッファ１０１から渡されたパケット（符号化データ）を復号化して出力する。
【０００５】
ジッタ吸収バッファには、一定間隔で受信パケットを出力するためのバッファリング機能に加え、到達順序が入れ替わった受信パケットを正しい順序に並べ替える機能が要求されるが、これらの処理を同時に実現するための回路は、非常に複雑な構成となる。
【０００６】
ところで、バッファリング機能は、受信パケットの到達順に一定間隔で受信パケットを出力できるＦＩＦＯ(first in first out ) 形式で実現することが効率がよいため、ジッタ吸収バッファとしてＦＩＦＯ型ジッタ吸収バッファ（ＦＩＦＯメモリ）を用いることが考えられる。しかしながら、ジッタ吸収バッファとしてＦＩＦＯ型ジッタ吸収バッファを用いた場合には、ＦＩＦＯ型ジッタ吸収バッファ内において、到達順序が入れ替わった受信パケットを正しい順序に並べ替えることはできない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
この発明は、ジッタ吸収バッファとしてバッファリング機能を効率よく実現することができるＦＩＦＯ型ジッタ吸収バッファが用いられている音声復号化装置において、ＦＩＦＯ型ジッタ吸収バッファに受信パケットを格納する前に、到達順序が入れ替わった受信パケットをできるだけ正しい順序に並べ替えることができる音声復号化装置を提供することを目的とする。
【０００８】
この発明は、ジッタ吸収バッファとしてバッファリング機能を効率よく実現することができるＦＩＦＯ型ジッタ吸収バッファが用いられているネットワーク電話機において、ＦＩＦＯ型ジッタ吸収バッファに受信パケットを格納する前に、到達順序が入れ替わった受信パケットをできるだけ正しい順序に並べ替えることができるネットワーク電話機を提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明による第１の音声復号化装置は、ジッタ吸収バッファとしてＦＩＦＯ型ジッタ吸収バッファを備えている音声復号化装置において、１または複数の受信パケットを保存しうる入替用パケット保存手段を備え、今回受信したパケットの順序情報および入替用パケット保存手段に保存されているパケットの順序情報に基づいて、受信したパケットおよび入替用パケット保存手段に保存されているパケットのうち送信順序が最も早いパケットを出力させるとともに、受信したパケットおよび各パケット入替用バッファに保存されているパケットのうち送信順序が最も早いものを除くパケットが入替用パケット保存手段に保存されるようにするパケット順序入替制御手段、パケット順序入替制御手段から出力されたパケットを順次格納していくとともに、格納されているパケットを入力されたものから順に出力するＦＩＦＯ型ジッタ吸収バッファ、ならびにＦＩＦＯ型ジッタ吸収バッファから出力されるパケットを復号化するための復号手段を備えていることを特徴とする。
【００１０】
上記パケット順序入替制御手段としては、たとえば、１または複数の受信パケットを保存しうる入替用パケット保存手段、今回受信したパケットの順序情報と入替用パケット保存手段に保存されているパケットの順序情報とに基づいて、これらのパケットのうち、送信順序が最も早いパケットを特定する手段、送信情報が最も早いパケットが今回受信したパケットである場合には、今回受信したパケットを出力する手段、ならびに送信情報が最も早いパケットが入替用パケット保存手段に保存されているパケットである場合には、送信順序が最も早いパケットを出力するとともに、パケット保存に保存されているパケットのうち上記送信順序が最も早いパケットを除く他のパケットと今回受信したパケットとを入替用パケット保存手段に保存させる手段を備えているものが用いられる。
【００１１】
上記パケット順序入替制御手段を複数設け、各パケット順序入替制御手段を直列接続し、最終段のパケット順序入替制御手段から出力されたパケットをＦＩＦＯ型ジッタ吸収バッファに格納するようにしてもよい。
【００１２】
この発明による第２の音声復号化装置は、ジッタ吸収バッファとしてＦＩＦＯ型ジッタ吸収バッファを備えている音声復号化装置において、受信したパケットの順序を制御するパケット順序入替制御手段、パケット順序入替制御手段から出力されたパケットを順次格納していくとともに、格納されているパケットを入力されたものから順に出力するＦＩＦＯ型ジッタ吸収バッファ、ならびにＦＩＦＯ型ジッタ吸収バッファから出力されるパケットを復号化するための復号手段を備えており、パケット順序入替制御手段は、複数の受信パケットを保存しうる複数の入替用パケット保存手段、初期化処理後に最初に受信したパケットを出力するとともに、出力したパケットの順序情報を最後に出力したパケットの順序情報として設定する第１手段、初期化処理後において２番目以降の受信パケットを受信した場合には、今回受信したパケットを入替用パケット保存手段に保存するとともに、入替用パケット保存手段に保存されているパケットのうち送信順序が最も早いパケットを選択する第２手段、選択したパケットの順序情報が最後に出力したパケットの順序情報の次の番号であるか否かを判別する第３手段、第３手段によって選択されたパケットの順序情報が最後に出力したパケットの順序情報の次の番号である場合には、当該パケットを出力し、出力したパケットの順序情報を最後に出力したパケットの順序情報として設定するとともに、当該パケットが保存されていた入替用パケット保存手段を空状態に設定する第４手段、第３手段によって選択されたパケットの順序情報が最後に出力したパケットの順序情報の次の番号ではなく、かつ入替用パケット保存手段が満杯でない場合には、当該パケットを入替用パケット保存手段にそのまま保存させた後、次のパケットが受信されるのを待機する第５手段、第３手段によって選択されたパケットの順序情報が最後に出力したパケットの順序情報の次の番号でなく、かつ入替用パケット保存手段が満杯である場合には、当該パケットを出力し、出力したパケットの順序情報を最後に出力したパケットの順序情報として設定するとともに、当該パケットが保存されていた入替用パケット保存手段を空状態に設定する第６手段、ならびに第４手段または第６手段により処理が行われた場合には、入替用パケット保存手段が空であるか否かを判別し、入替用パケット保存手段が空である場合には次のパケットが受信されるのを待機し、入替用パケット保存手段が空でない場合には上記２手段以降の処理を実行させる第７手段を備えていることを特徴とする。      
【００１３】
この発明による第１のネットワーク電話機は、ジッタ吸収バッファとしてＦＩＦＯ型ジッタ吸収バッファを備えているネットワーク電話機において、１または複数の受信パケットを保存しうる入替用パケット保存手段を備え、今回受信したパケットの順序情報および入替用パケット保存手段に保存されているパケットの順序情報に基づいて、受信したパケットおよび入替用パケット保存手段に保存されているパケットのうち送信順序が最も早いパケットを出力させるとともに、受信したパケットおよび各パケット入替用バッファに保存されているパケットのうち送信順序が最も早いものを除くパケットが入替用パケット保存手段に保存されるようにするパケット順序入替制御手段、パケット順序入替制御手段から出力されたパケットを順次格納していくとともに、格納されているパケットを入力されたものから順に出力するＦＩＦＯ型ジッタ吸収バッファ、ならびにＦＩＦＯ型ジッタ吸収バッファから出力されるパケットを復号化するための復号手段を備えていることを特徴とする。
【００１４】
上記パケット順序入替制御手段としては、たとえば、１または複数の受信パケットを保存しうる入替用パケット保存手段、今回受信したパケットの順序情報と入替用パケット保存手段に保存されているパケットの順序情報とに基づいて、これらのパケットのうち、送信順序が最も早いパケットを特定する手段、送信情報が最も早いパケットが今回受信したパケットである場合には、今回受信したパケットを出力する手段、ならびに送信情報が最も早いパケットが入替用パケット保存手段に保存されているパケットである場合には、送信順序が最も早いパケットを出力するとともに、パケット保存に保存されているパケットのうち上記送信順序が最も早いパケットを除く他のパケットと今回受信したパケットとを入替用パケット保存手段に保存させる手段を備えているものが用いられる。
【００１５】
上記パケット順序入替制御手段を複数設け、各パケット順序入替制御手段を直列接続し、最終段のパケット順序入替制御手段から出力されたパケットをＦＩＦＯ型ジッタ吸収バッファに格納するようにしてもよい。
【００１６】
この発明による第２のネットワーク電話機は、ジッタ吸収バッファとしてＦＩＦＯ型ジッタ吸収バッファを備えているネットワーク電話機において、受信したパケットの順序を制御するパケット順序入替制御手段、パケット順序入替制御手段から出力されたパケットを順次格納していくとともに、格納されているパケットを入力されたものから順に出力するＦＩＦＯ型ジッタ吸収バッファ、ならびにＦＩＦＯ型ジッタ吸収バッファから出力されるパケットを復号化するための復号手段を備えており、パケット順序入替制御手段は、複数の受信パケットを保存しうる複数の入替用パケット保存手段、初期化処理後に最初に受信したパケットを出力するとともに、出力したパケットの順序情報を最後に出力したパケットの順序情報として設定する第１手段、初期化処理後において２番目以降の受信パケットを受信した場合には、今回受信したパケットを入替用パケット保存手段に保存するとともに、入替用パケット保存手段に保存されているパケットのうち送信順序が最も早いパケットを選択する第２手段、選択したパケットの順序情報が最後に出力したパケットの順序情報の次の番号であるか否かを判別する第３手段、第３手段によって選択されたパケットの順序情報が最後に出力したパケットの順序情報の次の番号である場合には、当該パケットを出力し、出力したパケットの順序情報を最後に出力したパケットの順序情報として設定するとともに、当該パケットが保存されていた入替用パケット保存手段を空状態に設定する第４手段、第３手段によって選択されたパケットの順序情報が最後に出力したパケットの順序情報の次の番号ではなく、かつ入替用パケット保存手段が満杯でない場合には、当該パケットを入替用パケット保存手段にそのまま保存させた後、次のパケットが受信されるのを待機する第５手段、第３手段によって選択されたパケットの順序情報が最後に出力したパケットの順序情報の次の番号でなく、かつ入替用パケット保存手段が満杯である場合には、当該パケットを出力し、出力したパケットの順序情報を最後に出力したパケットの順序情報として設定するとともに、当該パケットが保存されていた入替用パケット保存手段を空状態に設定する第６手段、ならびに第４手段または第６手段により処理が行われた場合には、入替用パケット保存手段が空であるか否かを判別し、入替用パケット保存手段が空である場合には次のパケットが受信されるのを待機し、入替用パケット保存手段が空でない場合には上記２手段以降の処理を実行させる第７手段を備えていることを特徴とする。
【発明の効果】
【００１７】
この発明によれば、ジッタ吸収バッファとしてバッファリング機能を効率よく実現することができるＦＩＦＯ型ジッタ吸収バッファが用いられている音声復号化装置において、ＦＩＦＯ型ジッタ吸収バッファに受信パケットを格納する前に、到達順序が入れ替わった受信パケットをできるだけ正しい順序に並べ替えることができるようになる。
【００１８】
また、この発明によれば、ジッタ吸収バッファとしてバッファリング機能を効率よく実現することができるＦＩＦＯ型ジッタ吸収バッファが用いられているネットワーク電話機において、ＦＩＦＯ型ジッタ吸収バッファに受信パケットを格納する前に、到達順序が入れ替わった受信パケットをできるだけ正しい順序に並べ替えることができるようになる。
【発明を実施するための最良の形態】
【００１９】
以下、図２〜図１８を参照して、この発明をインターネット電話に適用した場合の実施例について説明する。
【実施例１】
【００２０】
〔１〕インターネット電話機の構成の説明
【００２１】
図２は、インターネット電話機の構成を示している。
【００２２】
インターネット電話機は、Ａ／Ｄコンバータ１、Ｄ／Ａコンバータ２、ＤＳＰ３、マイコン４およびネットワークコントローラ５を備えている。
【００２３】
入力音声信号は、Ａ／Ｄコンバータ１によってデジタル音声信号に変換された後にＤＳＰ３に送られる。ＤＳＰ３において、またはＤＳＰ３およびマイコン４において、デジタル音声信号が圧縮された後にパケット化される。得られたパケットは、ネットワークコントローラ５を介してＩＰネットワークに送出される。
【００２４】
ＩＰネットワークを介して送られてきたパケットは、ネットワークコントローラ５を介してマイコン4 に入力される。マイコン４およびＤＳＰ３において、またはＤＳＰ３において、パケットが復号化される。復号化によって得られたデシタル音声信号はＤ／Ａコンバータ２によってアナログの音声信号に変換されて出力される。
【００２５】
図３、図４および図５は、ＤＳＰ３およびマイコン４の第１、第２および第３の構成例を示している。
【００２６】
まず、図３に示す第１の構成例について説明する。ＤＳＰ３は、符号器１１１、ＦＩＦＯ型ジッタ吸収バッファ（ＦＩＦＯメモリ）１２２および復号器１２３を備えている。マイコン４は、ＲＴＰパケット化部１１２、パケット入替用バッファ（入替用パケット保存手段）１２０を備えたパケット順序入替制御部１２１等を備えている。
【００２７】
Ａ／Ｄコンバータ１（図２参照）からＤＳＰ３に入力される入力音声信号は、ＤＳＰ３内の符号器１１１に送られる。符号器１１１は、入力音声信号を圧縮する。符号器１１１によって得られた符号化データは、マイコン４内のＲＴＰパケット化部１１２に送られる。ＲＴＰパケット化部１１２は、符号化データをパケット化して、ＲＴＰパケットを生成する。生成されたＲＴＰパケットは、マイコン４によって所定の処理が施された後、ネットワークコントローラ５（図２参照）を介してＩＰネットワークに送出される。
【００２８】
ネットワークコントローラ５を介してマイコン４に送られてきた受信ＲＴＰパケットは、マイコン４によって所定の処理が施された後、マイコン４内のパケット順序入替制御部１２１に送られる。パケット順序入替制御部１２１は、後述するパケット順序入替処理を行った後、受信パケットをＤＳＰ３内のＦＩＦＯ型ジッタ吸収バッファ１２２に送る。
【００２９】
ＤＳＰ３内のＦＩＦＯ型ジッタ吸収バッファ１２２は、入力された受信パケットを保持し、保持した受信パケットを入力された順で、一定時間間隔毎に出力する。ＤＳＰ３内の復号器１２３は、ＦＩＦＯ型ジッタ吸収バッファ１２２から送られてきた受信パケットを復号化する。復号器１２３から出力される音声信号は、Ｄ／Ａコンバータ２（図２参照）に出力される。
【００３０】
次に、図４に示す第２の構成例について説明する。図４に示す構成例では、図３において、マイコン４側に設けられていたＲＴＰパケット化部１１２と、パケット順序入替制御部１２１とが、ＤＳＰ３側に設けられている。したがって、符号器１１１、ＲＴＰパケット化部１１２、パケット入替用バッファ１２０を備えたパケット順序入替制御部１２１、ＦＩＦＯ型ジッタ吸収バッファ（ＦＩＦＯメモリ）１２２および復号器１２３が、ＤＳＰ３に設けられている。
【００３１】
次に、図５に示す第３の構成例について説明する。図５に示す構成例では、図３において、ＤＳＰ３側に設けられていたＦＩＦＯ型ジッタ吸収バッファ（ＦＩＦＯメモリ）１２２が、マイコン４側に設けられている。つまり、ＤＳＰ３は、符号器１１１および復号器１２３を備えている。マイコン４は、ＲＴＰパケット化部１１２、パケット入替用バッファ１２０を備えたパケット順序入替制御部１２１、ＦＩＦＯ型ジッタ吸収バッファ１２２等を備えている。なお、ＤＳＰ３およびマイコン４の構成例としては、図３〜図５に示されるものに限られず、他の構成例（例えば、図３の構成例において、ＲＴＰパケット化部１１２をＤＳＰ側に設ける等）を用いてもよい。
【００３２】
〔２〕パケット順序入替制御部１２１の動作についての説明
【００３３】
図６の（ａ）〜（ｆ）を参照して、パケット順序入替制御部１２１の動作について説明する。ここでは、パケット入替用バッファ１２０が１つだけ設けられているものとする。      
【００３４】
図６において、Ｐｉ（ｉ＝１，２，…，６）は受信パケットを示し、ｉは受信パケットの順序情報（シーケンスナンバー）を表している。また、Ｐ１を後述する初期化処理後に最初に到達した受信パケットであるとする。受信パケットの順序情報は、符号化データがＲＴＰパケット化部でパケット化された後、ＩＰネットワークへ送信される順序を示しており、ＲＴＰヘッダ内に含まれている。順序情報は、１６ビットの符号無し変数（１６進数表記では”０”〜”ＦＦＦＦ”）で表されており、”ＦＦＦＦ”に到達後は、”０”に戻る。
【００３５】
図６（ａ）に示すように、初期化処理後において最初に受信パケットＰ１が送られてくると、パケット順序入替制御部１２１は、当該受信パケットＰ１をパケット入替用バッファ１２０に保存する。
【００３６】
次に、図６（ｂ）に示すように、受信パケットＰ２が送られてくると、パケット順序入替制御部１２１は、当該受信パケットＰ２の順序情報Ｎ（＝２）と、パケット入替用バッファ１２０に保存されている受信パケットＰ１の順序情報ＳＮ（＝１）とを比較する。今回受信した受信パケットＰ２（順序情報Ｎ（＝２））は、パケット入替用バッファ１２０に保存されている受信パケットＰ１（順序情報ＳＮ（＝１））より送信順序が遅いので、パケット入替用バッファ１２０に保存されている受信パケットＰ１をＦＩＦＯ型ジッタ吸収バッファ１２２に出力した後、今回受信した受信パケットＰ２をパケット入替用バッファ１２０に保存する。
【００３７】
次に、図６（ｃ）に示すように、受信パケットＰ４が送られてくると、今回受信した受信パケットＰ４（順序情報Ｎ（＝４））は、パケット入替用バッファ１２０に保存されているパケットＰ２（順序情報ＳＮ（＝２））より送信順序が遅いので、パケット入替用バッファ１２０に保存されている受信パケットＰ２をＦＩＦＯ型ジッタ吸収バッファ１２２に出力した後、今回受信した受信パケットＰ４をパケット入替用バッファ１２０に保存する。
【００３８】
次に、図６（ｄ）に示すように、受信パケットＰ３が送られてくると、今回受信した受信パケットＰ３（順序情報Ｎ（＝３））は、パケット入替用バッファ１２０に保存されている受信パケットＰ４（順序情報ＳＮ（＝４））より送信順序が早いので、パケット入替用バッファ１２０に受信パケットＰ４を保存したまま、今回受信した受信パケットＰ３をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。これにより、パケット順序の入替えが行われる。
【００３９】
次に、図６（ｅ）に示すように、受信パケットＰ５が送られてくると、今回受信した受信パケットＰ５（順序情報Ｎ（＝５））は、パケット入替用バッファ１２０に保存されている受信パケットＰ４（順序情報ＳＮ（＝４））より送信順序が遅いので、パケット入替用バッファ１２０に保存されている受信パケットＰ４をＦＩＦＯ型ジッタ吸収バッファ１２２に出力した後、今回受信した受信パケットＰ５をパケット入替用バッファ１２０に保存する。
【００４０】
次に、図６（ｆ）に示すように、受信パケットＰ６が送られてくると、今回受信した受信パケットＰ６（順序情報Ｎ（＝６））は、パケット入替用バッファ１２０に保存されている受信パケットＰ５（順序情報ＳＮ（＝５））より送信順序が遅いので、パケット入替用バッファ１２０に保存されている受信パケットＰ５をＦＩＦＯ型ジッタ吸収バッファ１２２に出力した後、今回受信した受信パケットＰ６をパケット入替用バッファ１２０に保存する。
【００４１】
図７は、パケット順序入替制御部１２１による初期化処理手順を示している。
【００４２】
図７に示す初期化処理は、電話が繋がって通話を行えると判別したときと、通話処理が破綻してリセットされたときとに実行される。
【００４３】
電話が繋がって通話を行えると判別したときまたは通話処理が破綻してリセットされたときには、パケット入替用バッファ１２０を初期化する（ステップ１）。この後、初期化処理が行われた直後であることを記憶するフラグＦの値を０（Ｆ＝０）にする（ステップ２）。そして、今回の初期化処理を終了する。
【００４４】
図８は、パケット順序入替制御部１２１によるパケット順序入替処理手順を示している。
【００４５】
パケット順序入替処理は、受信パケットがパケット順序入替制御部１２１に送られてくる毎に実行される。
【００４６】
受信パケットがパケット順序入替制御部１２１に送られてくると、受信パケットの順序情報Ｎを取得する（ステップ１１）。Ｎは、１６ビットの符号無し変数（２進数）である。
【００４７】
そして、Ｆ＝０であるか否かを判別する（ステップ１２）。Ｆ＝０であれば、今回受信した受信パケットは初期化処理後に最初に到達した受信パケットであると判断し、今回受信した受信パケットをパケット入替用バッファ１２０に保存する（ステップ１３）。そして、パケット入替用バッファ１２０に保存されている受信パケットの順序情報を表す変数ＳＮの値を、ステップ１１で取得した順序情報Ｎとする（ステップ１４）。ＳＮは、１６ビットの符号無し変数（２進数）である。また、フラグＦの値を１（Ｆ＝１）にする（ステップ１５）。そして、今回のパケット順序入替処理を終了する。
【００４８】
上記ステップ１２において、Ｆ＝１であれば、ＮとＳＮとに基づいて、今回受信した受信パケットがパケット入替用バッファ１２０に保存されている受信パケットよりも送信順序が遅いか否かを判別する（ステップ１６）。具体的には、次式（１）を満たしているか否かを判別する。
【００４９】
(signed short)((unsigned short)N−(unsigned short)SN) ＞0   …(1) 
【００５０】
上記式(1) において、signed shortは、符号付き16bit を意味し、unsigned shortは符号無し16bit を意味している。上記式(1) の左辺の演算は、次のようにして行われる。まず、符号無し16bit のＮと符号無し16bit のＳＮとの１６ビット減算を行う。具体的には、符号無し16bit のＮに、符号無し16bit のＳＮの２16に対する補数（＊ＳＮ）を２進加算（Ｎ＋＊ＳＮ）する。加算の結果、最上位桁より桁上げが起こった場合には、それを無視する。このようにして、得られた16bit の加算結果を、符号付き16bit の２進数として取り扱う。そして、上記式(1) の左辺の演算結果である符号付き16bit の２進数が、正であるか否かを判別する。
【００５１】
このような演算を行っている理由について説明する。パケットが送信順序にしたがって受信されない場合でも、現実には送信順序が互いに非常に大きく離れた２つのパケットが入れ替わって受信側装置に到達するといったことは、ほとんど発生しない。ここでは、送信順序が２15以上離れたパケットが入れ替わって、到達することはあり得ないと想定している。
【００５２】
送信順序が２15以上離れたパケットが入れ替わって到達することはあり得ないことを前提とすると、今回受信したパケットの順序情報であるunsigned short Nが、パケット入替用バッファ１２０に保存されている受信パケットの順序情報であるunsigned short SN より大きな場合には、後述する例外を除いて、上記式(1) の左辺の演算結果である符号付き16bit の２進数の最上位桁は０となり、正であると判定される。つまり、今回受信した受信パケットがパケット入替用バッファ１２０に保存されている受信パケットよりも送信順序が遅いと判別される。
【００５３】
例外は、順序情報が”ＦＦＦＦ（１６進数表記）”であるパケットの次に送信されるパケットの順序情報が”０（１６進数表記）”に戻ることに起因している。ＦＦＦＦ（１６進数表記）”から”０（１６進数表記）”への変化点を境界として、その境界の両側付近にある２つのパケットが送信順序と異なる順序で到達した場合には、今回受信したパケットの順序情報であるunsigned short Nが”ＦＦＦＦ（１６進数表記）”に近い値となり、パケット入替用バッファ１２０に保存されている受信パケットの順序情報であるunsigned short SN が”０（１６進数表記）”に近い値となり（N ＞SN) 、両者の差は２15以上となる。このような場合には、上記式(1) の左辺の演算結果である符号付き16bit の２進数の最上位桁は１となり、正ではないと判別される。つまり、今回受信した受信パケットがパケット入替用バッファ１２０に保存されている受信パケットよりも送信順序が早いと判別される。
【００５４】
また、送信順序が２15以上離れたパケットが入れ替わって到達することはあり得ないことを前提とすると、今回受信したパケットの順序情報であるunsigned short Nが、パケット入替用バッファ１２０に保存されている受信パケットの順序情報であるunsigned short SN より小さな場合には、後述する例外を除いて、上記式(1) の左辺の演算結果である符号付き16bit の２進数の最上位桁は１となり、正でないと判別される。つまり、今回受信した受信パケットがパケット入替用バッファ１２０に保存されている受信パケットよりも送信順序が早いと判別される。
【００５５】
例外は、順序情報が”ＦＦＦＦ（１６進数表記）”であるパケットの次に送信されるパケットの順序情報が”０（１６進数表記）”に戻ることに起因している。”ＦＦＦＦ（１６進数表記）”から”０（１６進数表記）”への変化点を境界として、その境界の両側付近にある２つのパケットが送信順序にしたがって到達した場合には、今回受信したパケットの順序情報であるunsigned short Nが”０（１６進数表記）”に近い値となり、パケット入替用バッファ１２０に保存されている受信パケットの順序情報であるunsigned short SN が”ＦＦＦＦ（１６進数表記）”に近い値となり（N ＜SN) 、両者の差は２15以上となる。このような場合には、上記式(1) の左辺の演算結果である符号付き16bit の２進数の最上位桁は０となり、正と判別される。つまり、今回受信した受信パケットがパケット入替用バッファ１２０に保存されている受信パケットよりも送信順序が遅いと判別される。
【００５６】
(signed short)((unsigned short)N−(unsigned short)SN) ＞0 であれば、今回受信した受信パケットがパケット入替用バッファ１２０に保存されている受信パケットよりも送信順序が遅いので、パケット入替用バッファ１２０に保存されている受信パケットをＦＩＦＯ型ジッタ吸収バッファ１２２に出力した後（ステップ１７）、今回受信した受信パケットをパケット入替用バッファ１２０に保存する（ステップ１８）。また、パケット入替用バッファ１２０に保存されている受信パケットの順序情報を表す変数ＳＮの値を、ステップ１１で取得した順序情報Ｎとする（ステップ１９）。そして、今回のパケット順序入替処理を終了する。
【００５７】
上記ステップ１６において、(signed short)((unsigned short)N−(unsigned short)SN) ≦０であると判別した場合には、今回受信した受信パケットがパケット入替用バッファ１２０に保存されている受信パケットよりも送信順序が早いので、今回受信した受信パケットをＦＩＦＯ型ジッタ吸収バッファ１２２に出力する（ステップ２０）。そして、今回のパケット順序入替処理を終了する。
【００５８】
上記実施の形態では、パケット順序の入替えは、大小比較のみで行っているため、送信側から受信側に対して送信された全てのパケットについて、必ずしも、送信順序が小さいものから大きな順に並べ替えができるとは限らない。パケット入替用バッファ１２０が１つだけ設けられている場合において、パケットが、例えば、Ｐ１、Ｐ２、Ｐ５、Ｐ４、Ｐ３、Ｐ６の順で受信された場合には、パケット順序入替制御部１２１からは、Ｐ１、Ｐ２、Ｐ４、Ｐ３、Ｐ５、Ｐ６の順でパケットが出力される。
【００５９】
後述するように、パケット入替用バッファ１２０の数を増やすことによって、より正確な順番となるようにパケットを並べ変えることができるが、送信側から受信側に対して送信された全てのパケットについて、必ずしも、送信順序が小さいものから大きな順に並べ替えができるとは限らない。
【００６０】
ところで、実際の通信においては、送信側から送信されたパケットが、受信側で必ず受信できる保証はなく、パケット損失が起きる場合がある。したがって、送信側から送信された全てのパケットについて、送信順序が小さいものから大きな順に並べ替えを行うとすると、パケット損失等が起きた場合に、処理が停滞してしまい、通話ができなくなる。そこで、この実施の形態では、パケット順序の入替えを、大小比較のみで行うことにより、パケット損失等が起きた場合に、処理が停滞してしまうのを防止しているのである。
【００６１】
〔３〕パケット入替用バッファが複数設けられている場合のパケット順序入替制御部１２１の動作についての説明
【００６２】
ここでは、図９に示すように、パケット順序入替制御部１２１が２つのパケット入替用バッファ１２０ａ、１２０ｂを備えている場合の、パケット順序入替制御部１２１の動作について説明する。
【００６３】
図１０の（ａ）〜（ｇ）を参照して、パケット入替用バッファが２つ設けられている場合の、パケット順序入替制御部１２１の動作について説明する。
【００６４】
２つのパケット入替用バッファのうちの、１つを第１のパケット入替用バッファ１２０ａといい、他方を第２のパケット入替用バッファ１２０ｂということにする。
【００６５】
図１０において、Ｐｉ（ｉ＝１，２，…，７）は受信パケットを示し、ｉは受信パケットの順序情報を表している。また、Ｐ１を上述した初期化処理後に最初に到達した受信パケットであるとする。
【００６６】
図１０（ａ）に示すように、初期化処理後において最初に受信パケットＰ１が送られてくると、パケット順序入替制御部１２１は、当該受信パケットＰ１を第１のパケット入替用バッファ１２０ａに保存する。
【００６７】
図１０（ｂ）に示すように、初期化処理後において２番目の受信パケットＰ２が送られてくると、パケット順序入替制御部１２１は、当該受信パケットＰ２を第２のパケット入替用バッファ１２０ｂに保存する。
【００６８】
次に、図１０（ｃ）に示すように、受信パケットＰ５が送られてくると、今回受信した受信パケットＰ５の順序情報Ｎ（＝５）と、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ２の順序情報ＳＮ２（＝２）とを比較する。
【００６９】
今回受信した受信パケットＰ５（順序情報Ｎ（＝５））は、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ２（順序情報ＳＮ２（＝２））より送信順序が遅いので、第１のパケット入替用バッファ１２０ａに保存されている受信パケットＰ１をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。また、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ２を第１のパケット入替用バッファ１２０ａに保存した後、今回受信した受信パケットＰ５を第２のパケット入替用バッファ１２０ｂに保存する。
【００７０】
次に、図１０（ｄ）に示すように、受信パケットＰ４が送られてくると、今回受信した受信パケットＰ４の順序情報Ｎ（＝４）と、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ５の順序情報ＳＮ２（＝５）とを比較する。
【００７１】
今回受信した受信パケットＰ４（順序情報Ｎ（＝４））は、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ５（順序情報ＳＮ２（＝５））より送信順序が早いので、第２のパケット入替用バッファ１２０ｂに受信パケットＰ５をそのまま保存させる。
【００７２】
また、今回受信した受信パケットＰ４の順序情報Ｎ（＝４）と、第１のパケット入替用バッファ１２０ａに保存されている受信パケットＰ２の順序情報ＳＮ１（＝２）とを比較する。今回受信した受信パケットＰ４（順序情報Ｎ（＝４））は、第１のパケット入替用バッファ１２０ａに保存されている受信パケットＰ２（順序情報Ｎ（＝２））より送信順序が遅いので、第１のパケット入替用バッファ１２０ａに保存されている受信パケットＰ２をＦＩＦＯ型ジッタ吸収バッファ１２２に出力した後、今回受信した受信パケットＰ４を第１のパケット入替用バッファ１２０ａに保存する。
【００７３】
次に、図１０（ｅ）に示すように、受信パケットＰ３が送られてくると、今回受信した受信パケットＰ３（順序情報Ｎ（＝３））は、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ５（順序情報ＳＮ２（＝５））より送信順序が早いので、第２のパケット入替用バッファ１２０ｂに受信パケットＰ５をそのまま保存させる。
【００７４】
また、今回受信した受信パケットＰ３（順序情報Ｎ（＝３））は、第１のパケット入替用バッファ１２０ａに保存されている受信パケットＰ４（順序情報ＳＮ１（＝４））より送信順序が早いので、第１のパケット入替用バッファ１２０ａに受信パケットＰ４をそのまま保存されるとともに、今回受信した受信パケットＰ３をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。
【００７５】
次に、図１０（ｆ）に示すように、受信パケットＰ６が送られてくると、今回受信した受信パケットＰ６（順序情報Ｎ（＝６））は、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ５（順序情報ＳＮ２（＝５））より送信順序が遅いので、第１のパケット入替用バッファ１２０ａに保存されている受信パケットＰ４をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。また、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ５を第１のパケット入替用バッファ１２０ａに保存した後、今回受信した受信パケットＰ６を第２のパケット入替用バッファ１２０ｂに保存する。      
【００７６】
次に、図１０（ｇ）に示すように、受信パケットＰ７が送られてくると、今回受信した受信パケットＰ７（順序情報Ｎ（＝７））は、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ６（順序情報ＳＮ２（＝６））より送信順序が遅いので、第１のパケット入替用バッファ１２０ａに保存されている受信パケットＰ５をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。また、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ６を第１のパケット入替用バッファ１２０ａに保存した後、今回受信した受信パケットＰ７を第２のパケット入替用バッファ１２０ｂに保存する。      
【００７７】
図１１は、パケット入替用バッファが２つ設けられている場合のパケット順序入替制御部１２１によるパケット順序入替処理手順を示している。なお、パケット順序入替制御部１２１による初期化処理は、図７に示したものと同じである。
【００７８】
パケット順序入替処理は、受信パケットがパケット順序入替制御部１２１に送られてくる毎に実行される。
【００７９】
受信パケットがパケット順序入替制御部１２１に送られてくると、受信パケットの順序情報Ｎを取得する（ステップ３１）。
【００８０】
そして、フラグＦの値が２であるか否かを判別する（ステップ３２）。Ｆ＝２でなければ、フラグＦの値が１であるか否かを判別する（ステップ３３）。Ｆ＝１でなければ、Ｆ＝０であり、今回受信した受信パケットは初期化処理後に最初に到達した受信パケットであると判断し、今回受信した受信パケットを第１のパケット入替用バッファ１２０ａに保存する（ステップ３４）。そして、第１のパケット入替用バッファ１２０ａに保存されている受信パケットの順序情報を表す変数ＳＮ１の値を、ステップ３１で取得した順序情報Ｎとする（ステップ３５）。また、フラグＦの値を１（Ｆ＝１）にする（ステップ３６）。そして、今回のパケット順序入替処理を終了する。
【００８１】
上記ステップ３３において、Ｆ＝１であると判別した場合には、今回受信した受信パケットは初期化処理後に２番目に到達した受信パケットであると判断し、(signed short)((unsigned short)N−(unsigned short)SN1)＞０であるか否かを判別する（ステップ３７）。(signed short)((unsigned short)N−(unsigned short)SN1)＞０であれば、今回受信した受信パケットを第２のパケット入替用バッファ１２０ｂに保存する（ステップ３８）。そして、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットの順序情報を表す変数ＳＮ２の値を、ステップ３１で取得した順序情報Ｎとする（ステップ３９）。また、フラグＦの値を２（Ｆ＝２）にする（ステップ４３）。そして、今回のパケット順序入替処理を終了する。
【００８２】
上記ステップ３７において、(signed short)((unsigned short)N−(unsigned short)SN1)≦０であると判別した場合には、第１のパケット入替用バッファ１２０ａに保存されている受信パケットを、第２のパケット入替用バッファ１２０ｂに保存する（ステップ４０）。また、今回受信した受信パケットを第１のパケット入替用バッファ１２０ａに保存する（ステップ４１）。そして、変数ＳＮ２の値を変数ＳＮ１の値にするとともに、変数ＳＮ１の値をステップ３１で取得した順序情報Ｎとする（ステップ４２）。また、フラグＦの値を２（Ｆ＝２）にする（ステップ４３）。そして、今回のパケット順序入替処理を終了する。
【００８３】
上記ステップ３２において、Ｆ＝２であると判別した場合には、今回受信した受信パケットは初期化処理後に３番目以降に到達した受信パケットであると判断し、(signed short)((unsigned short)N−(unsigned short)SN2)＞０であるか否かを判別する（ステップ４４）。(signed short)((unsigned short)N−(unsigned short)SN2)＞０であれば、第１のパケット入替用バッファ１２０ａに保存されている受信パケットをＦＩＦＯ型ジッタ吸収バッファ１２２に出力する（ステップ４５）。また、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットを第１のパケット入替用バッファ１２０ａに保存した後（ステップ４６）、今回受信した受信パケットを第２のパケット入替用バッファ１２０ｂに保存する（ステップ４７）。
【００８４】
そして、変数ＳＮ１の値を変数ＳＮ２の値にするとともに、変数ＳＮ２の値をステップ３１で取得した順序情報Ｎとする（ステップ４８）。そして、今回のパケット順序入替処理を終了する。
【００８５】
上記ステップ４４において、(signed short)((unsigned short)N−(unsigned short)SN2)≦０と判別した場合には、(signed short)((unsigned short)N−(unsigned short)SN1)＞０であるか否かを判別する（ステップ４９）。(signed short)((unsigned short)N−(unsigned short)SN1)＞０であれば、第１のパケット入替用バッファ１２０ａに保存されている受信パケットをＦＩＦＯ型ジッタ吸収バッファ１２２に出力する（ステップ５０）。また、今回受信した受信パケットを第１のパケット入替用バッファ１２０ａに保存する（ステップ５１）。そして、変数ＳＮ１の値をステップ３１で取得した順序情報Ｎとする（ステップ５２）。そして、今回のパケット順序入替処理を終了する。
【００８６】
上記ステップ４９において、(signed short)((unsigned short)N−(unsigned short)SN1)≦０と判別した場合には、今回受信した受信パケットをＦＩＦＯ型ジッタ吸収バッファ１２２に出力する（ステップ５３）。そして、今回のパケット順序入替処理を終了する。      
【００８７】
図９に示す例では、１つのパケット順序入替制御部に２つのパケット入替用バッファが設けられているが、１つのパケット順序入替制御部に３以上のパケット入替用バッファを設けてもよい。
【００８８】
〔４〕複数のパケット順序入替制御部が直列に接続されている場合の実施の形態の説明
【００８９】
インターネット電話機の構成は、図２に示すものと同じである。図１２は、ＤＳＰ３およびマイコン４の構成例を示している。図１２において、図３と同じものには、同じ符号を付してその説明を省略する。
【００９０】
ＤＳＰ３は、図３に示すＤＳＰ３と同様に、符号器１１１、ＦＩＦＯ型ジッタ吸収バッファ（ＦＩＦＯメモリ）１２２および復号器１２３を備えている。
【００９１】
マイコン４は、ＲＴＰパケット化部１１２、２つのパケット順序入替制御部１２１ａ、１２１ｂを備えている。２つのパケット順序入替制御部１２１ａ、１２１ｂは、直列接続されている。この例では、前段のパケット順序入替制御部１２１ａを第１のパケット順序入替制御部１２１ａといい、後段のパケット順序入替制御部１２１ｂを第２のパケット順序入替制御部１２１ｂということにする。
【００９２】
第１のパケット順序入替制御部１２１ａは、第１のパケット入替用バッファ１２０ａを備えている。第２のパケット順序入替制御部１２１ｂは、第２のパケット入替用バッファ１２０ｂを備えている。
【００９３】
図１３の（ａ）〜（ｆ）を参照して、各パケット順序入替制御部１２１ａ、１２１ｂの動作について説明する。
【００９４】
図１３において、Ｐｉ（ｉ＝１，２，…，６）は受信パケットを示し、ｉは受信パケットの順序情報を表している。また、Ｐ１を上述した初期化処理後に最初に到達した受信パケットであるとする。
【００９５】
図１３（ａ）に示すように、初期化処理後において、第１のパケット順序入替制御部１２１ａに、最初に受信パケットＰ１が送られてくると、第１のパケット順序入替制御部１２１ａは、当該受信パケットＰ１を第１のパケット入替用バッファ１２０ａに保存する。      
【００９６】
次に、図１３（ｂ）に示すように、第１のパケット順序入替制御部１２１ａに受信パケットＰ２が送られてくると、第１のパケット順序入替制御部１２１ａは、当該受信パケットＰ２の順序情報Ｎ（＝２）と、第１のパケット入替用バッファ１２０ａに保存されている受信パケットＰ１の順序情報ＳＮ（＝１）とを比較する。
【００９７】
今回受信した受信パケットＰ２（順序情報Ｎ（＝２））は、第１のパケット入替用バッファ１２０ａに保存されている受信パケットＰ１（順序情報ＳＮ１（＝１））より送信順序が遅いので、第１のパケット順序入替制御部１２１ａは、第１のパケット入替用バッファ１２０ａに保存されている受信パケットＰ１を、第２のパケット順序入替制御部１２１ｂに出力した後、今回受信した受信パケットＰ２を第１のパケット入替用バッファ１２０ａに保存する。
【００９８】
第２のパケット順序入替制御部１２１ｂは、第１のパケット順序入替制御部１２１ａから受信パケットＰ１を受信すると、受信パケットＰ１は初期化処理後に最初に受信した受信パケットであるので、受信した受信パケットＰ１を第２のパケット入替用バッファ１２０ｂに保存する。
【００９９】
次に、図１３（ｃ）に示すように、第１のパケット順序入替制御部１２１ａに受信パケットＰ５が送られてくると、今回受信した受信パケットＰ５（順序情報Ｎ（＝５））は、第１のパケット入替用バッファ１２０ａに保存されているパケットＰ２（順序情報ＳＮ１（＝２））より送信順序が遅いので、第１のパケット順序入替制御部１２１ａは、第１のパケット入替用バッファ１２０ａに保存されている受信パケットＰ２を第２のパケット順序入替制御部１２１ｂに出力した後、今回受信した受信パケットＰ５を第１のパケット入替用バッファ１２０ａに保存する。
【０１００】
第２のパケット順序入替制御部１２１ｂは、第１のパケット順序入替制御部１２１ａから受信パケットＰ２を受信すると、当該受信パケットＰ２の順序情報Ｎ（＝２）と、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ１の順序情報ＳＮ（＝１）とを比較する。
【０１０１】
第１のパケット順序入替制御部１２１ａから受信した受信パケットＰ２（順序情報Ｎ（＝２））は、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ１（順序情報ＳＮ２（＝１））より送信順序が遅いので、第２のパケット順序入替制御部１２１ｂは、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ１を、ＦＩＦＯ型ジッタ吸収バッファ１２２に出力した後、第１のパケット順序入替制御部１２１ａから受信した受信パケットＰ２を第２のパケット入替用バッファ１２０ｂに保存する。
【０１０２】
次に、図１３（ｄ）に示すように、第１のパケット順序入替制御部１２１ａに受信パケットＰ４が送られてくると、今回受信した受信パケットＰ４（順序情報Ｎ（＝４））は、第１のパケット入替用バッファ１２０ａに保存されているパケットＰ５（順序情報ＳＮ１（＝５））より送信順序が早いので、第１のパケット順序入替制御部１２１ａは、第１のパケット入替用バッファ１２０ａに受信パケットＰ５を保存したまま、今回受信した受信パケットＰ４を第２のパケット順序入替制御部１２１ｂに出力する。
【０１０３】
第２のパケット順序入替制御部１２１ｂは、第１のパケット順序入替制御部１２１ａから受信パケットＰ４を受信すると、当該受信パケットＰ４（順序情報Ｎ（＝４））は、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ２（順序情報ＳＮ２（＝２））より送信順序が遅いので、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ２を、ＦＩＦＯ型ジッタ吸収バッファ１２２に出力した後、第１のパケット順序入替制御部１２１ａから受信した受信パケットＰ４を第２のパケット入替用バッファ１２０ｂに保存する。
【０１０４】
次に、図１３（ｅ）に示すように、第１のパケット順序入替制御部１２１ａに受信パケットＰ３が送られてくると、今回受信した受信パケットＰ３（順序情報Ｎ（＝３））は、第１のパケット入替用バッファ１２０ａに保存されているパケットＰ５（順序情報ＳＮ１（＝５））より送信順序が早いので、第１のパケット順序入替制御部１２１ａは、第１のパケット入替用バッファ１２０ａに受信パケットＰ５を保存したまま、今回受信した受信パケットＰ３を第２のパケット順序入替制御部１２１ｂに出力する。
【０１０５】
第２のパケット順序入替制御部１２１ｂは、第１のパケット順序入替制御部１２１ａから受信パケットＰ３を受信すると、当該受信パケットＰ３（順序情報Ｎ（＝３））は、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ４（順序情報ＳＮ（＝４））より送信順序が早いので、第２のパケット入替用バッファ１２０ｂに受信パケットＰ４を保存したまま、今回受信した受信パケットＰ３をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。
【０１０６】
次に、図１３（ｆ）に示すように、第１のパケット順序入替制御部１２１ａに受信パケットＰ６が送られてくると、今回受信した受信パケットＰ６（順序情報Ｎ（＝６））は、第１のパケット入替用バッファ１２０ａに保存されているパケットＰ５（順序情報ＳＮ１（＝５））より送信順序が遅いので、第１のパケット順序入替制御部１２１ａは、第１のパケット入替用バッファ１２０ａに保存されている受信パケットＰ５を第２のパケット順序入替制御部１２１ｂに出力した後、今回受信した受信パケットＰ６を第１のパケット入替用バッファ１２０ａに保存する。
【０１０７】
第２のパケット順序入替制御部１２１ｂは、第１のパケット順序入替制御部１２１ａから受信パケットＰ５を受信すると、当該受信パケットＰ５（順序情報Ｎ（＝５））は、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ４（順序情報ＳＮ２（＝４））より送信順序が遅いので、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットＰ４を、ＦＩＦＯ型ジッタ吸収バッファ１２２に出力した後、第１のパケット順序入替制御部１２１ａから受信した受信パケットＰ５を第２のパケット入替用バッファ１２０ｂに保存する。
【０１０８】
図１４は、第１のパケット順序入替制御部１２１ａによるパケット順序入替処理手順を示し、図１５は、第２のパケット順序入替制御部１２１ｂによるパケット順序入替処理手順を示している。
【０１０９】
なお、第１のパケット順序入替制御部１２１ａによる初期化処理および第２のパケット順序入替制御部１２１ｂによる初期化処理は、図７に示す初期化処理と同様である。ただし、以下の説明において、第１のパケット順序入替制御部１２１ａによる初期化処理によって値が０にされるフラグをＦ１とし、第２のパケット順序入替制御部１２１ｂによる初期化処理によって値が０にされるフラグをＦ２とする。
【０１１０】
図１４を参照して、第１のパケット順序入替制御部１２１ａによるパケット順序入替処理について説明する。
【０１１１】
第１のパケット順序入替制御部１２１ａによるパケット順序入替処理は、受信パケットが第１のパケット順序入替制御部１２１ａに送られてくる毎に実行される。
【０１１２】
受信パケットが第１のパケット順序入替制御部１２１ａに送られてくると、受信パケットの順序情報Ｎを取得する（ステップ１１１）。
【０１１３】
そして、Ｆ１＝０であるか否かを判別する（ステップ１１２）。Ｆ１＝０であれば、今回受信した受信パケットは初期化処理後に最初に到達した受信パケットであると判断し、今回受信した受信パケットを第１のパケット入替用バッファ１２０ａに保存する（ステップ１１３）。そして、第１のパケット入替用バッファ１２０ａに保存されている受信パケットの順序情報を表す変数ＳＮ１の値を、ステップ１１１で取得した順序情報Ｎとする（ステップ１１４）。また、フラグＦ１の値を１（Ｆ１＝１）にする（ステップ１１５）。そして、今回のパケット順序入替処理を終了する。
【０１１４】
上記ステップ１１２において、Ｆ１＝１であれば、(signed short)((unsigned short)N−(unsigned short)SN1)＞０であるか否かを判別する（ステップ１１６）。(signed short)((unsigned short)N−(unsigned short)SN1)＞０であれば、第１のパケット入替用バッファ１２０ａに保存されている受信パケットを第２のパケット順序入替制御部１２１ｂに出力した後（ステップ１１７）、今回受信した受信パケットを第１のパケット入替用バッファ１２０ａに保存する（ステップ１１８）。また、変数ＳＮ１の値を、ステップ１１１で取得した順序情報Ｎとする（ステップ１１９）。そして、今回のパケット順序入替処理を終了する。
【０１１５】
上記ステップ１１６において、(signed short)((unsigned short)N−(unsigned short)SN1)≦０であると判別した場合には、今回受信した受信パケットを第２のパケット順序入替制御部１２１ｂに出力する（ステップ１２０）。そして、今回のパケット順序入替処理を終了する。
【０１１６】
図１５を参照して、第２のパケット順序入替制御部１２１ｂによるパケット順序入替処理について説明する。
【０１１７】
第２のパケット順序入替制御部１２１ｂによるパケット順序入替処理は、第１のパケット順序入替制御部１２１ａから第２のパケット順序入替制御部１２１ｂに受信パケットが送られてくる毎に実行される。
【０１１８】
第１のパケット順序入替制御部１２１ａから第２のパケット順序入替制御部１２１ｂに受信パケットが送られてくると、受信パケットの順序情報Ｎを取得する（ステップ２１１）。
【０１１９】
そして、Ｆ２＝０であるか否かを判別する（ステップ２１２）。Ｆ２＝０であれば、今回受信した受信パケットは初期化処理後に最初に到達した受信パケットであると判断し、今回受信した受信パケットを第２のパケット入替用バッファ１２０ｂに保存する（ステップ２１３）。そして、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットの順序情報を表す変数ＳＮ２の値を、ステップ２１１で取得した順序情報Ｎとする（ステップ２１４）。また、フラグＦ２の値を１（Ｆ２＝１）にする（ステップ２１５）。そして、今回のパケット順序入替処理を終了する。
【０１２０】
上記ステップ２１２において、Ｆ２＝１であれば、(signed short)((unsigned short)N−(unsigned short)SN2)＞０であるか否かを判別する（ステップ２１６）。(signed short)((unsigned short)N−(unsigned short)SN2)＞０であれば、第２のパケット入替用バッファ１２０ｂに保存されている受信パケットをＦＩＦＯ型ジッタ吸収バッファ１２２に出力した後（ステップ２１７）、今回受信した受信パケットを第２のパケット入替用バッファ１２０ｂに保存する（ステップ２１８）。また、変数ＳＮ２の値を、ステップ２１１で取得した順序情報Ｎとする（ステップ２１９）。そして、今回のパケット順序入替処理を終了する。
【０１２１】
上記ステップ２１６において、(signed short)((unsigned short)N−(unsigned short)SN2)≦０であると判別した場合には、今回受信した受信パケットをＦＩＦＯ型ジッタ吸収バッファ１２２に出力する（ステップ２２０）。そして、今回のパケット順序入替処理を終了する。
【０１２２】
図１２に示す例では、２つのパケット順序入替制御部が直列に接続されているが、３以上のパケット順序入替制御部を直列接続してもよい。
【０１２３】
〔５〕パケット順序入替制御部１２１の動作の他の例についての説明
【０１２４】
以下、パケット順序入替制御部１２１の動作の他の例について説明する。
【０１２５】
〔５−１〕パケット入替用バッファ１２０が２つ設けられている場合のパケット順序入替制御部１２１の動作についての説明
【０１２６】
図１６の（ａ）〜（ｆ）を参照して、パケット順序入替制御部１２１の動作について説明する。ここでは、図１６に示すように、パケット順序入替制御部１２１が２つのパケット入替用バッファ１２０ａ、１２０ｂを備えているものとする。
【０１２７】
図１６において、Ｐｉ（ｉ＝１，２，…，６）は受信パケットを示し、ｉは受信パケットの順序情報（シーケンスナンバー）を表している。また、Ｐ１を後述する初期化処理後に最初に到達した受信パケットであるとする。受信パケットの順序情報は、符号化データがＲＴＰパケット化部でパケット化された後、ＩＰネットワークへ送信される順序を示しており、ＲＴＰヘッダ内に含まれている。順序情報は、１６ビットの符号無し変数（１６進数表記では”０”〜”ＦＦＦＦ”）で表されており、”ＦＦＦＦ”に到達後は、”０”に戻る。
【０１２８】
図１６（ａ）に示すように、初期化処理後において最初に受信パケット（この例ではＰ１）が送られてくると、パケット順序入替制御部１２１は、当該受信パケットＰ１をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。そして、当該受信パケットＰ１の順序情報Ｎ（＝１）を、ＦＩＦＯ型ジッタ吸収バッファ１２２に最後に出力したパケットの順序情報ＬＮとして設定する。つまり、ＬＮ＝１となる。
【０１２９】
次に、図１６（ｂ）に示すように、受信パケットＰ２が送られてくると、受信パケットＰ２を、第１のパケット入替用バッファ１２０ａに保存する。そして、パケット入替用バッファ１２０ａ、１２０ｂ内のパケット内で最も送信順序Ｎの早い受信パケット（この例ではＰ２）の順序情報Ｎ（＝２）が、ＬＮで示される順序情報”１”の次の番号であるか否かを判別する。
【０１３０】
ＬＮの次の番号とは、原則的には、ＬＮより１つ大きな番号であることを意味するが、ＬＮ＝”ＦＦＦＦ”である場合には、その次の番号は”０”である。
【０１３１】
パケット入替用バッファ１２０ａ、１２０ｂ内のパケット内で最も送信順序Ｎの早い受信パケットＰ２の順序情報Ｎ（＝２）は、ＬＮで示される順序情報”１”の次の番号であるので、当該受信パケットＰ２をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。このように、パケット入替用バッファ１２０ａに保存したパケットＰ２をＦＩＦＯ型ジッタ吸収バッファ１２２に出力した場合には、そのパケットＰ２が保存されていたパケット入替用バッファ１２０ａは空状態に設定される。そして、当該受信パケットＰ２の順序情報Ｎ（＝２）を、ＦＩＦＯ型ジッタ吸収バッファ１２２に最後に出力したパケットの順序情報ＬＮとして設定する。つまり、ＬＮ＝２となる。
【０１３２】
次に、図１６（ｃ）に示すように、受信パケットＰ４が送られてくると、受信パケットＰ４を、第１のパケット入替用バッファ１２０ａに保存する。そして、パケット入替用バッファ１２０ａ、１２０ｂ内のパケット内で最も送信順序Ｎの早い受信パケット（この例ではＰ４）の順序情報Ｎ（＝４）が、ＬＮで示される順序情報”２”の次の番号であるか否かを判別する。
【０１３３】
パケット入替用バッファ１２０ａ、１２０ｂ内のパケット内で最も送信順序Ｎの早い受信パケットＰ４の順序情報Ｎ（＝４）は、ＬＮで示される順序情報”２”の次の番号ではないので、当該受信パケットＰ４を第１のパケット入替用バッファ１２０ａに保存したままとする。
【０１３４】
次に、図１６（ｄ）に示すように、受信パケットＰ３が送られてくると、受信パケットＰ３を、第２のパケット入替用バッファ１２０ｂに保存する。そして、パケット入替用バッファ１２０ａ、１２０ｂ内のパケット内で最も送信順序Ｎの早い受信パケット（この例ではＰ３）の順序情報Ｎ（＝３）が、ＬＮで示される順序情報”２”の次の番号であるか否かを判別する。
【０１３５】
パケット入替用バッファ１２０ａ、１２０ｂ内のパケット内で最も送信順序Ｎの早い受信パケットＰ３の順序情報Ｎ（＝３）は、ＬＮで示される順序情報”２”の次の番号であるので、当該受信パケットＰ３をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。そして、当該受信パケットＰ３の順序情報Ｎ（＝３）を、ＦＩＦＯ型ジッタ吸収バッファ１２２に最後に出力したパケットの順序情報ＬＮとして設定する。つまり、ＬＮ＝３となる。      
【０１３６】
パケット入替用バッファ１２０ａには、受信パケットＰ４が保存されているので、パケット入替用バッファ１２０ａ、１２０ｂ内のパケット内で最も送信順序Ｎの早い受信パケット（この例ではＰ４）の順序情報Ｎ（＝４）が、ＬＮで示される順序情報”３”の次の番号であるか否かを判別する。
【０１３７】
パケット入替用バッファ１２０ａ、１２０ｂ内のパケット内で最も送信順序Ｎの早い受信パケットＰ４の順序情報Ｎ（＝４）は、ＬＮで示される順序情報”３”の次の番号であるので、当該受信パケットＰ４をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。そして、当該受信パケットＰ４の順序情報Ｎ（＝４）を、ＦＩＦＯ型ジッタ吸収バッファ１２２に最後に出力したパケットの順序情報ＬＮとして設定する。つまり、ＬＮ＝４となる。      
【０１３８】
次に、図１６（ｅ）に示すように、受信パケットＰ５が送られてくると、受信パケットＰ５を、第１のパケット入替用バッファ１２０ａに保存する。そして、パケット入替用バッファ１２０ａ、１２０ｂ内のパケット内で最も送信順序Ｎの早い受信パケット（この例ではＰ５）の順序情報Ｎ（＝５）が、ＬＮで示される順序情報”４”の次の番号であるか否かを判別する。
【０１３９】
パケット入替用バッファ１２０ａ、１２０ｂ内のパケット内で最も送信順序Ｎの早い受信パケットＰ５の順序情報Ｎ（＝５）は、ＬＮで示される順序情報”４”の次の番号であるので、当該受信パケットＰ５をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。そして、当該受信パケットＰ５の順序情報Ｎ（＝５）を、ＦＩＦＯ型ジッタ吸収バッファ１２２に最後に出力したパケットの順序情報ＬＮとして設定する。つまり、ＬＮ＝５となる。      
【０１４０】
次に、図１６（ｆ）に示すように、受信パケットＰ６が送られてくると、受信パケットＰ６を、第１のパケット入替用バッファ１２０ａに保存する。そして、パケット入替用バッファ１２０ａ、１２０ｂ内のパケット内で最も送信順序Ｎの早い受信パケット（この例ではＰ６）の順序情報Ｎ（＝６）が、ＬＮで示される順序情報”５”の次の番号であるか否かを判別する。
【０１４１】
パケット入替用バッファ１２０ａ、１２０ｂ内のパケット内で最も送信順序Ｎの早い受信パケットＰ６の順序情報Ｎ（＝６）は、ＬＮで示される順序情報”５”の次の番号であるので、当該受信パケットＰ６をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。そして、当該受信パケットＰ６の順序情報Ｎ（＝６）を、ＦＩＦＯ型ジッタ吸収バッファ１２２に最後に出力したパケットの順序情報ＬＮとして設定する。つまり、ＬＮ＝６となる。      
【０１４２】
〔５−２〕パケット入替用バッファ１２０が３つ設けられている場合のパケット順序入替制御部１２１の動作についての説明
【０１４３】
図１７の（ａ）〜（ｇ）を参照して、パケット順序入替制御部１２１の動作について説明する。ここでは、図１７に示すように、パケット順序入替制御部１２１が３つのパケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃを備えているものとする。
【０１４４】
図１７において、Ｐｉ（ｉ＝１，２，…，６）は受信パケットを示し、ｉは受信パケットの順序情報（シーケンスナンバー）を表している。また、Ｐ１を後述する初期化処理後に最初に到達した受信パケットであるとする。
【０１４５】
図１７（ａ）に示すように、初期化処理後において最初に受信パケット（この例ではＰ１）が送られてくると、パケット順序入替制御部１２１は、当該受信パケットＰ１をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。そして、当該受信パケットＰ１の順序情報Ｎ（＝１）を、ＦＩＦＯ型ジッタ吸収バッファ１２２に最後に出力したパケットの順序情報ＬＮとして設定する。つまり、ＬＮ＝１となる。
【０１４６】
次に、図１７（ｂ）に示すように、受信パケットＰ２が送られてくると、受信パケットＰ２を、第１のパケット入替用バッファ１２０ａに保存する。そして、パケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃ内のパケット内で最も送信順序Ｎの早い受信パケット（この例ではＰ２）の順序情報Ｎ（＝２）が、ＬＮで示される順序情報”１”の次の番号であるか否かを判別する。
【０１４７】
パケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃ内のパケット内で最も送信順序Ｎの早い受信パケットＰ２の順序情報Ｎ（＝２）は、ＬＮで示される順序情報”１”の次の番号であるので、当該受信パケットＰ２をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。このように、パケット入替用バッファ１２０ａに保存したパケットＰ２をＦＩＦＯ型ジッタ吸収バッファ１２２に出力した場合には、そのパケットＰ２が保存されていたパケット入替用バッファ１２０ａは空状態に設定される。そして、当該受信パケットＰ２の順序情報Ｎ（＝２）を、ＦＩＦＯ型ジッタ吸収バッファ１２２に最後に出力したパケットの順序情報ＬＮとして設定する。つまり、ＬＮ＝２となる。
【０１４８】
次に、図１７（ｃ）に示すように、受信パケットＰ５が送られてくると、受信パケットＰ５を、第１のパケット入替用バッファ１２０ａに保存する。そして、パケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃ内のパケット内で最も送信順序Ｎの早い受信パケット（この例ではＰ５）の順序情報Ｎ（＝５）が、ＬＮで示される順序情報”２”の次の番号であるか否かを判別する。
【０１４９】
パケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃ内のパケット内で最も送信順序Ｎの早い受信パケットＰ５の順序情報Ｎ（＝５）は、ＬＮで示される順序情報”２”の次の番号ではないので、当該受信パケットＰ５を第１のパケット入替用バッファ１２０ａに保存したままとする。
【０１５０】
次に、図１７（ｄ）に示すように、受信パケットＰ４が送られてくると、受信パケットＰ４を、第２のパケット入替用バッファ１２０ｂに保存する。そして、パケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃ内のパケット内で最も送信順序Ｎの早い受信パケット（この例ではＰ４）の順序情報Ｎ（＝４）が、ＬＮで示される順序情報”２”の次の番号であるか否かを判別する。
【０１５１】
パケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃ内のパケット内で最も送信順序Ｎの早い受信パケットＰ４の順序情報Ｎ（＝４）は、ＬＮで示される順序情報”２”の次の番号ではないので、当該受信パケットＰ４を第２のパケット入替用バッファ１２０ｂに保存したままとする。
【０１５２】
次に、図１７（ｅ）に示すように、受信パケットＰ３が送られてくると、受信パケットＰ３を、第３のパケット入替用バッファ１２０ｃに保存する。そして、パケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃ内のパケット内で最も送信順序Ｎの早い受信パケット（この例ではＰ３）の順序情報Ｎ（＝３）が、ＬＮで示される順序情報”２”の次の番号であるか否かを判別する。
【０１５３】
パケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃ内のパケット内で最も送信順序Ｎの早い受信パケットＰ３の順序情報Ｎ（＝３）は、ＬＮで示される順序情報”２”の次の番号であるので、当該受信パケットＰ３をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。そして、当該受信パケットＰ３の順序情報Ｎ（＝３）を、ＦＩＦＯ型ジッタ吸収バッファ１２２に最後に出力したパケットの順序情報ＬＮとして設定する。つまり、ＬＮ＝３となる。
【０１５４】
パケット入替用バッファ１２０ａ、１２０ｂには、受信パケットＰ４、Ｐ５が保存されているので、パケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃ内のパケット内で最も送信順序Ｎの早い受信パケット（この例ではＰ４）の順序情報Ｎ（＝４）が、ＬＮで示される順序情報”３”の次の番号であるか否かを判別する。
【０１５５】
パケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃ内のパケット内で最も送信順序Ｎの早い受信パケットＰ４の順序情報Ｎ（＝４）は、ＬＮで示される順序情報”３”の次の番号であるので、当該受信パケットＰ４をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。そして、当該受信パケットＰ４の順序情報Ｎ（＝４）を、ＦＩＦＯ型ジッタ吸収バッファ１２２に最後に出力したパケットの順序情報ＬＮとして設定する。つまり、ＬＮ＝４となる。
【０１５６】
パケット入替用バッファ１２０ａには、受信パケットＰ５が保存されているので、パケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃ内のパケット内で最も送信順序Ｎの早い受信パケット（この例ではＰ５）の順序情報Ｎ（＝５）が、ＬＮで示される順序情報”４”の次の番号であるか否かを判別する。
【０１５７】
パケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃ内のパケット内で最も送信順序Ｎの早い受信パケットＰ５の順序情報Ｎ（＝５）は、ＬＮで示される順序情報”４”の次の番号であるので、当該受信パケットＰ５をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。そして、当該受信パケットＰ５の順序情報Ｎ（＝５）を、ＦＩＦＯ型ジッタ吸収バッファ１２２に最後に出力したパケットの順序情報ＬＮとして設定する。つまり、ＬＮ＝５となる。
【０１５８】
次に、図１７（ｆ）に示すように、受信パケットＰ６が送られてくると、受信パケットＰ６を、第１のパケット入替用バッファ１２０ａに保存する。そして、パケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃ内のパケット内で最も送信順序Ｎの早い受信パケット（この例ではＰ６）の順序情報Ｎ（＝６）が、ＬＮで示される順序情報”５”の次の番号であるか否かを判別する。
【０１５９】
パケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃ内のパケット内で最も送信順序Ｎの早い受信パケットＰ６の順序情報Ｎ（＝６）は、ＬＮで示される順序情報”５”の次の番号であるので、当該受信パケットＰ６をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。そして、当該受信パケットＰ６の順序情報Ｎ（＝６）を、ＦＩＦＯ型ジッタ吸収バッファ１２２に最後に出力したパケットの順序情報ＬＮとして設定する。つまり、ＬＮ＝６となる。
【０１６０】
次に、図１７（ｇ）に示すように、受信パケットＰ７が送られてくると、受信パケットＰ７を、第１のパケット入替用バッファ１２０ａに保存する。そして、パケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃ内のパケット内で最も送信順序Ｎの早い受信パケット（この例ではＰ７）の順序情報Ｎ（＝７）が、ＬＮで示される順序情報”６”の次の番号であるか否かを判別する。
【０１６１】
パケット入替用バッファ１２０ａ、１２０ｂ、１２０ｃ内のパケット内で最も送信順序Ｎの早い受信パケットＰ７の順序情報Ｎ（＝７）は、ＬＮで示される順序情報”６”の次の番号であるので、当該受信パケットＰ７をＦＩＦＯ型ジッタ吸収バッファ１２２に出力する。そして、当該受信パケットＰ７の順序情報Ｎ（＝７）を、ＦＩＦＯ型ジッタ吸収バッファ１２２に最後に出力したパケットの順序情報ＬＮとして設定する。つまり、ＬＮ＝７となる。
【０１６２】
〔５−３〕  図１６、図１７で説明したパケット順序入替制御部１２１の処理手順についての説明
【０１６３】
図１８は、図１６、図１７で説明したパケット順序入替処理手順を示している。
【０１６４】
パケット順序入替処理は、受信パケットがパケット順序入替制御部１２１に送られてくる毎に実行される。
【０１６５】
受信パケットがパケット順序入替制御部１２１に送られてくると、Ｆ＝０であるか否かを判別する（ステップ３０１）。Ｆ＝０であれば、今回受信した受信パケットは初期化処理後に最初に到達した受信パケットであると判断し、今回受信した受信パケットをＦＩＦＯ型ジッタ吸収バッファ１２２に出力する（ステップ３０２）。そして、当該受信パケットの順序情報Ｎを、ＦＩＦＯ型ジッタ吸収バッファ１２２に最後に出力した受信パケットの順序情報を表す変数ＬＮの値として設定する（ステップ３０３）。また、Ｆ＝１とする（ステップ３０４）。そして、今回のパケット順序入替処理を終了する。
【０１６６】
上記ステップ３０１において、Ｆ＝１であれば、今回受信した受信パケットをパケット入替用バッファ１２０（複数設けられている）のうち空いているバッファに保存する（ステップ３０５）。
【０１６７】
そして、パケット入替用バッファ１２０に保存されている受信パケットの中で、最も送信順序の早い受信パケットを選択し（ステップ３０６）、選択した受信パケットの順序情報ＮがＬＮで示される順序情報の次の番号であるか否かを判別する（ステップ３０７）。      
【０１６８】
選択した受信パケットの順序情報ＮがＬＮで示される順序情報の次の番号である場合には、当該受信パケットをＦＩＦＯ型ジッタ吸収バッファ１２２に出力する（ステップ３０８）。この場合、出力した受信パケットが保存されていたパケット入替用バッファ１２０は空状態に設定される。そして、当該受信パケットの順序情報Ｎを、ＦＩＦＯ型ジッタ吸収バッファ１２２に最後に出力した受信パケットの順序情報を表す変数ＬＮの値として設定する（ステップ３０９）。
【０１６９】
この後、全てのパケット入替用バッファ１２０が空であるか否かを判別する（ステップ３１０）。全てのパケット入替用バッファ１２０が空でない場合（少なくとも１つのパケット入替用バッファ１２０に受信バッファが保存されている場合）には、ステップ３０６に戻る。
【０１７０】
上記ステップ３１０において、全てのパケット入替用バッファ１２０が空であると判別された場合には、今回のパケット順序入替処理を終了する。
【０１７１】
上記ステップ３０７において、ステップ３０６で選択した受信パケットの順序情報ＮがＬＮで示される順序情報の次の番号ではないと判別された場合には、パケット入替用バッファ１２０が満杯であるか否か（パケット入替用バッファ１２０の全てに、受信バッファが保存されているか否か）を判別する（ステップ３１１）。
【０１７２】
パケット入替用バッファ１２０が満杯である場合には、ステップ３０６で選択した受信パケットをＦＩＦＯ型ジッタ吸収バッファ１２２に出力する（ステップ３０８）。そして、当該受信パケットの順序情報Ｎを、ＦＩＦＯ型ジッタ吸収バッファ１２２に最後に出力した受信パケットの順序情報を表す変数ＬＮの値として設定する（ステップ３０９）。そして、ステップ３１０に進む。
【０１７３】
上記ステップ３１１において、パケット入替用バッファ１２０が満杯でないと判別された場合、すなわち、少なくとも１つのパケット入替用バッファ１２０が空である場合には、今回のパケット順序入替処理を終了する。
【図面の簡単な説明】
【０１７４】
【図１】従来技術を示すブロック図である。
【図２】インターネット電話機の構成を示すブロック図である。
【図３】ＤＳＰ３およびマイコン４の第１の構成例を示すブロック図である。
【図４】ＤＳＰ３およびマイコン４の第２の構成例を示すブロック図である。
【図５】ＤＳＰ３およびマイコン４の第３の構成例を示すブロック図である。
【図６】パケット順序入替制御部１２１の動作を説明するための説明図である。
【図７】パケット順序入替制御部１２１による初期化処理手順を示すフローチャートである。
【図８】パケット順序入替制御部１２１によるパケット順序入替処理手順を示すフローチャートである。
【図９】パケット順序入替制御部１２１が２つのパケット入替用バッファ１２０ａ、１２０ｂを備えている実施の形態を示すブロック図である。
【図１０】パケット入替用バッファが２つ設けられている場合の、パケット順序入替制御部１２１の動作を説明するための説明図である。
【図１１】パケット入替用バッファが２つ設けられている場合のパケット順序入替制御部１２１によるパケット順序入替処理手順を示すフローチャートである。
【図１２】２つのパケット順序入替制御部が直列に接続されている場合の実施の形態を示すブロック図である。
【図１３】２つのパケット順序入替制御部が直列に接続されている場合の、各パケット順序入替制御部１２１ａ、１２１ｂの動作を説明するための説明図である。
【図１４】第１のパケット順序入替制御部１２１ａによるパケット順序入替処理手順を示すフローチャートである。
【図１５】第２のパケット順序入替制御部１２１ｂによるパケット順序入替処理手順を示すフローチャートである。
【図１６】パケット順序入替制御部１２１の他の動作例を説明するための説明図である。
【図１７】パケット順序入替制御部１２１の他の動作例を説明するための説明図である。
【図１８】図１６、図１７で説明したパケット順序入替処理の手順を示すフローチャートである。
【符号の説明】
【０１７５】
１  Ａ／Ｄコンバータ
２  Ｄ／Ａコンバータ
３  ＤＳＰ
４  マイコン
５  ネットワークコントローラ
１１１  符号器
１１２  ＲＴＰパケット化部
１２０、１２０ａ、１２０ｂ、１２０ｃ  パケット入替用バッファ（入替用パケット保存手段）
１２１、１２１ａ、１２１ｂ  パケット順序入替制御部
１２２  ＦＩＦＯ型ジッタ吸収バッファ（ＦＩＦＯメモリ）
１２３  復号器
【図１】
2004260805.tif 000003
【図２】
2004260805.tif 000004
【図３】
2004260805.tif 000005
【図４】
2004260805.tif 000006
【図５】
2004260805.tif 000007
【図６】
2004260805.tif 000008
【図７】
2004260805.tif 000009
【図８】
2004260805.tif 000010
【図９】
2004260805.tif 000011
【図１０】
2004260805.tif 000012
【図１１】
2004260805.tif 000013
【図１２】
2004260805.tif 000014
【図１３】
2004260805.tif 000015
【図１４】
2004260805.tif 000016
【図１５】
2004260805.tif 000017
【図１６】
2004260805.tif 000018
【図１７】
2004260805.tif 000019
【図１８】
2004260805.tif 000020