(57)【要約】【課題】ジッタを最小化することによって通話品質の劣化を抑制する通信装置のプログラム、通信装置、及び通信方法を提供する。【解決手段】通信装置のＣＰＵは、第１記憶部に所定時間以上の音のサンプリングデータが記憶されているか判断する。ＣＰＵは、サンプリングデータが記憶されていると判断した場合、所定時間分のサンプリングデータを圧縮し、単位音データを生成し、第２記憶部に記憶する。ＣＰＵは、計測データによる通信に基づいて、ネットワークの通信状態を決定する。ＣＰＵは、決定された通信状態に応じて、結合時間を設定する（Ｓ１９、Ｓ２１、Ｓ２３）。ＣＰＵは、第２記憶部に、結合時間以上の時間分の単位音データが記憶されている場合（Ｓ２５：ＹＥＳ）、結合時間分の単位音データを含むパケットを生成する（Ｓ２７）。ＣＰＵは、生成されたパケットを、結合時間の周期で送信する（Ｓ２９）。【選択図】図４
2015106768.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して複数の相手装置との間で遠隔会議を実行可能な通信装置のコンピュータが実行可能なプログラムであって、
前記コンピュータを、
音のサンプリングデータを記憶可能な第１記憶部に、所定時間以上の時間分の音のサンプリングデータが記憶されているか判断する第１判断手段と、
前記第１判断手段によって前記所定時間以上の時間分の音のサンプリングデータが前記第１記憶部に記憶されていると判断された場合、前記第１記憶部への記憶順に従い前記第１記憶部に記憶された前記サンプリングデータの前記所定時間分を圧縮し、単位音データを生成する第１生成手段と、
前記第１生成手段によって生成された前記単位音データを第２記憶部に記憶する記憶手段と、
前記ネットワークに対して送信される送信データ、及び、前記ネットワークから受信される受信データの少なくとも一方に基づいて、前記ネットワークの通信状態が第１状態であるか第２状態であるかを決定する決定手段と、
前記決定手段によって前記第１状態であると決定されたことに応じて、１つのパケットに含める前記単位音データの基となる音の時間を示す結合時間を第１時間に設定し、前記決定手段によって前記第２状態であると決定されたことに応じて、前記結合時間を前記第１時間よりも大きい第２時間に設定する設定手段と、
前記第２記憶部に、前記設定手段によって設定された前記結合時間以上の時間分の前記単位音データが記憶されているか判断する第２判断手段と、
前記第２判断手段によって、前記結合時間以上の時間分の前記単位音データが前記第２記憶部に記憶されていると判断されたことに応じ、前記結合時間分の前記単位音データを含むパケットを生成する第２生成手段と、
前記第２生成手段によって生成された前記パケットを、前記結合時間の周期で、少なくとも１つの相手装置に送信する送信手段と
して機能させることを特徴とする通信装置のプログラム。
【請求項２】
前記コンピュータを、
前記ネットワークに接続され、前記通信装置及び前期複数の相手装置との間でセッションを維持することで遠隔会議を行う会議サーバに前記送信データが送信されてから、前記会議サーバによって前記送信データが受信されるまでの遅延時間、及び、前記会議サーバによって送信された前記送信データが前記通信装置によって受信データとして受信されるまでの遅延時間の少なくとも一方の変動の程度を示すジッタを計測する計測手段として更に機能させ、
前記決定手段は、前記計測手段によって計測された前記ジッタが第１値の場合に前記第１状態であると決定し、前記計測手段によって計測された前記ジッタが前記第１値よりも大きい第２値の場合に、前記第２状態であると決定することを特徴とする請求項１に記載の通信装置のプログラム。
【請求項３】
前記コンピュータを
前記複数の相手装置の夫々が前記送信データを前記サーバに送信してから、前記サーバが前記送信データを受信するまでの複数の遅延時間、及び、前記サーバによって送信された送信データが前記複数の相手装置の夫々によって受信データとして受信されるまでの複数の遅延時間の少なくとも一方の変動の程度を示す複数のジッタを取得する取得手段として更に機能させ、
前記決定手段は、前記計測手段によって計測された前記ジッタ、及び、前記取得手段によって取得された前記複数のジッタのうち最大のジッタが第１値の場合に前記第１状態であると決定し、前記計測手段によって計測された前記複数のジッタのうち最大のジッタが前記第１値よりも大きい第２値の場合に、前記第２状態であると決定することを特徴とする請求項２に記載の通信装置のプログラム。
【請求項４】
前記コンピュータを、
前記少なくとも１つの相手装置に対して前記遠隔会議において共有される共有資料データの送信が行われているかを判断する第３判断手段として更に機能させ、
前記決定手段は、前記第３判断手段による前記共有資料データの送信が行われていないとの判断に応じて、前記第１状態であると決定し、前記第３判断手段による前記共有資料データの送信が行われているとの判断に応じて、前記第２状態であると決定することを特徴とする請求項１に記載の通信装置のプログラム。
【請求項５】
前記コンピュータを、
前記遠隔会議において前記少なくとも１つの相手装置に対してフレーム内圧縮画像のデータの送信が行われているかを判断する第３判断手段として更に機能させ、
前記決定手段は、前記第３判断手段による前記フレーム内圧縮画像のデータの送信が行われていないとの判断に応じて、前記第１状態であると決定し、前記第３判断手段による前記フレーム内圧縮画像のデータの送信が行われているとの判断に応じて、前記第２状態であると決定することを特徴とする請求項１に記載の通信装置のプログラム。
【請求項６】
前記第１生成手段は、前記所定時間の周期である第１周期で前記単位音データを生成し、
前記送信手段は、前記第１周期の整数倍の周期である複数の第２周期の何れかの周期で前記パケットを送信することを特徴とする請求項１から５の何れかに記載の通信装置のプログラム。
【請求項７】
ネットワークを介して複数の相手装置との間で遠隔会議を実行可能な通信装置であって、
音のサンプリングデータを記憶可能な第１記憶部に、所定時間以上の時間分の音のサンプリングデータが記憶されているか判断する第１判断手段と、
前記第１判断手段によって前記所定時間よりも長い時間分の音のサンプリングデータが前記第１記憶部に記憶されていると判断された場合、前記第１記憶部への記憶順に従い前記第１記憶部に記憶された前記サンプリングデータの前記所定時間分を圧縮し、単位音データを生成する第１生成手段と、
前記第１生成手段によって生成された前記単位音データを第２記憶部に記憶する記憶手段と、
前記遠隔会議において通信されるデータであって、前記ネットワークに対して送信される送信データ、及び、前記ネットワークから受信される受信データの少なくとも一方に基づいて、前記ネットワークの通信状態が第１状態であるか第２状態であるかを決定する決定手段と、
前記決定手段によって前記第１状態であると決定されたことに応じて、１つのパケットに含める前記単位音データの基となる音の時間を示す結合時間を第１時間に設定し、前記決定手段によって前記第２状態であると決定されたことに応じて、前記結合時間を前記第１時間よりも大きい第２時間に設定する設定手段と、
前記第２記憶部に、前記設定手段によって設定された結合時間以上の時間分の前記単位音データが記憶されているか判断する第２判断手段と、
前記第２判断手段によって、前記結合時間以上の時間分の前記単位音データが前記第２記憶部に記憶されていると判断されたことに応じ、前記結合時間分の前記単位音データを含むパケットを生成する第２生成手段と、
前記第２生成手段によって生成された前記パケットを、前記結合時間の周期で、少なくとも１つの相手装置に送信する送信手段と
を備えたことを特徴とする通信装置。
【請求項８】
ネットワークを介して複数の相手装置との間で遠隔会議を実行する通信方法であって、
音のサンプリングデータを記憶可能な第１記憶部に、所定時間以上の時間分の音のサンプリングデータが記憶されているか判断する第１判断ステップと、
前記第１判断ステップによって前記所定時間よりも長い時間分の音のサンプリングデータが前記第１記憶部に記憶されていると判断された場合、前記第１記憶部への記憶順に従い前記第１記憶部に記憶された前記サンプリングデータの前記所定時間分を圧縮し、単位音データを生成する第１生成ステップと、
前記第１生成ステップによって生成された前記単位音データを第２記憶部に記憶する記憶ステップと、
前記遠隔会議において通信されるデータであって、前記ネットワークに対して送信される送信データ、及び、前記ネットワークから受信される受信データの少なくとも一方に基づいて、前記ネットワークの通信状態が第１状態であるか第２状態であるかを決定する決定ステップと、
前記決定ステップによって前記第１状態であると決定されたことに応じて、１つのパケットに含める前記単位音データの基となる音の時間を示す結合時間を第１時間に設定し、前記決定ステップによって前記第２状態であると決定されたことに応じて、前記結合時間を前記第１時間よりも大きい第２時間に設定する設定ステップと、
前記第２記憶部に、前記設定ステップによって設定された結合時間以上の時間分の前記単位音データが記憶されているか判断する第２判断ステップと、
前記第２判断ステップによって、前記結合時間以上の時間分の前記単位音データが前記第２記憶部に記憶されていると判断されたことに応じ、前記結合時間分の前記単位音データを含むパケットを生成する第２生成ステップと、
前記第２生成ステップによって生成された前記パケットを、前記結合時間の周期で、少なくとも１つの相手装置に送信する送信ステップと
を備えたことを特徴とする通信方法。
【請求項９】
ネットワークを介して複数の相手装置との間で会議サーバを介して遠隔会議を実行可能な通信装置のコンピュータが実行可能なプログラムであって、
前記コンピュータを、
前記遠隔会議において通信されるデータであって、前記会議サーバに対して送信される送信データ、及び、前記会議サーバから受信される受信データの少なくとも一方に基づいて、前記会議サーバとの間の通信状態が第１状態であるか第２状態であるかを決定する決定手段と、
前記決定手段によって前記第１状態であると決定されたことに応じて、結合時間を第１時間に設定し、前記決定手段によって前記第２状態であると決定されたことに応じて、結合時間を前記第１時間よりも大きい第２時間に設定する設定手段と、
音のサンプリングデータを記憶可能な第１記憶部に記憶されている音のサンプリングデータから、前記第１記憶部への記憶順に従い、前記結合時間分のサンプリングデータを順次圧縮し、前記結合時間分の音データを生成する第１生成手段と、
前記第１生成手段によって生成された前記音データを含むパケットを生成する第２生成手段と、
前記パケットを、前記結合時間の周期で、前記会議サーバに送信する送信手段と
して機能させることを特徴とする通信装置のプログラム。
【請求項１０】
前記第１生成手段は、
前記第１記憶部への記憶順に従い、前記結合時間以下である所定時間分の前記サンプリングデータを順次圧縮し単位音データを生成する第３生成手段と、
前記第３生成手段によって生成された前記単位音データを第２記憶部に記憶する記憶手段と、
を備え、
前記コンピュータを、
前記第２記憶部に前記設定手段によって設定された前記結合時間以上の時間分の前記単位音データが記憶されているか判断する第２判断手段として更に機能させ、
前記第２生成手段は、前記第２判断手段によって、前記結合時間以上の時間分の前記単位音データが前記第２記憶部に記憶されていると判断されたことに応じ、前記結合時間分の前記単位音データを含むパケットを生成することを特徴とする請求項９に記載の通信装置のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して他の通信装置と音のデータの通信を行う通信装置のプログラム、通信装置、及び通信方法に関する。
【背景技術】
【０００２】
複数の通信装置の夫々が、他の通信装置との間で音のデータ（以下、音データという。）の通信を行うことによって、複数の通信装置の夫々のユーザ間での通話を可能とするシステムが知られている。特許文献１は、発信側の装置からの音声のデータパケットの送出間隔を、６０ｍｓ以下、より好ましくは約２０ｍｓとする技術を開示する。この技術によれば、通信中にデータパケットが失われた場合でも、受信側の装置のユーザは、会話音声の途切れを認識し難くなる。
【０００３】
特定の通信装置から送信された複数の音データの夫々が、ネットワークを経由して他の通信装置に到達するまでに要する時間は、ネットワークの状態等に応じて変動する場合がある。以下、特定の通信装置から音データが送信されてから、音データが他の通信装置に到達するまでに要する時間を、遅延時間という。複数の音データの夫々の遅延時間の変動を、ジッタという。通話の品質を維持するためには、ジッタは小さい方が好ましい。これに対し、ジッタによる通話の品質の劣化を防止する周知の技術として、所定容量分の音データを他の通信装置が常に記憶装置（ＲＡＭ等）に記憶し、記憶した音データに基づいて音を出力する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−３４９８２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ジッタが大きい時、特許文献１に記載された技術によって特定の通信装置が複数の音データを一定周期で送信した場合でも、他の通信装置が複数の音データを受信する間隔は不安定になる。この場合、複数の音データの夫々に基づいて他の通信装置が音を出力する間隔も不安定になる。このため、他の通信装置が出力する音の間隔が長くなった場合に、出力される音に途切が生じる可能性がある。このように、特許文献１に記載された技術は、特定の通信装置からの複数の音データの送信間隔を所定間隔としているに過ぎないので、他の通信装置で複数の音データを受信する場合のジッタを小さくすることはできない。又、所定容量分の音データを常に記憶する周知の技術が用いられた場合、特定の通信装置から複数の音データが送信されてから、複数の音データに基づく音が他の通信装置から出力されるまでに要する時間が長くなるので、通話のリアルタイム性が悪化する場合がある。
【０００６】
本発明の目的は、ジッタを最小化することによって通話品質の劣化を抑制する通信装置のプログラム、通信装置、及び通信方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明の第１態様に係る通信装置のプログラムは、ネットワークを介して複数の相手装置との間で遠隔会議を実行可能な通信装置のコンピュータが実行可能なプログラムであって、前記コンピュータを、音のサンプリングデータを記憶可能な第１記憶部に、所定時間以上の時間分の音のサンプリングデータが記憶されているか判断する第１判断手段と、前記第１判断手段によって前記所定時間以上の時間分の音のサンプリングデータが前記第１記憶部に記憶されていると判断された場合、前記第１記憶部への記憶順に従い前記第１記憶部に記憶された前記サンプリングデータの前記所定時間分を圧縮し、単位音データを生成する第１生成手段と、前記第１生成手段によって生成された前記単位音データを第２記憶部に記憶する記憶手段と、前記ネットワークに対して送信される送信データ、及び、前記ネットワークから受信される受信データの少なくとも一方に基づいて、前記ネットワークの通信状態が第１状態であるか第２状態であるかを決定する決定手段と、前記決定手段によって前記第１状態であると決定されたことに応じて、１つのパケットに含める前記単位音データの基となる音の時間を示す結合時間を第１時間に設定し、前記決定手段によって前記第２状態であると決定されたことに応じて、前記結合時間を前記第１時間よりも大きい第２時間に設定する設定手段と、前記第２記憶部に、前記設定手段によって設定された前記結合時間以上の時間分の前記単位音データが記憶されているか判断する第２判断手段と、前記第２判断手段によって、前記結合時間以上の時間分の前記単位音データが前記第２記憶部に記憶されていると判断されたことに応じ、前記結合時間分の前記単位音データを含むパケットを生成する第２生成手段と、前記第２生成手段によって生成された前記パケットを、前記結合時間の周期で、少なくとも１つの相手装置に送信する送信手段として機能させることを特徴とする。
【０００８】
第１態様によれば、通信装置は、ネットワークの通信状態が第１状態であるか第２状態であるかに応じて、結合時間を設定する。結合時間は、１つのパケットに含める単位音データの音の時間であり、パケットの送信周期でもある。通信装置は、通信状態に応じて結合時間を設定することによって、少なくとも１つの相手装置に対してパケットを送信する場合の送信周期を調整できる。通信装置から長い周期でパケットが少なくとも１つの相手装置に送信される程、ジッタは小さくなる可能性が高くなる。ジッタが小さい程、単位音データに基づいて相手装置から出力される音の品質は良好となる。従って通信装置は、通信状態に応じて結合時間を設定し、ジッタを適正化することによって、通信品質の劣化を抑制できる。
【０００９】
第１態様において、前記コンピュータを、前記ネットワークに接続され、前記通信装置及び前期複数の相手装置との間でセッションを維持することで遠隔会議を行う会議サーバに前記送信データが送信されてから、前記会議サーバによって前記送信データが受信されるまでの遅延時間、及び、前記会議サーバによって送信された前記送信データが前記通信装置によって受信データとして受信されるまでの遅延時間の少なくとも一方の変動の程度を示すジッタを計測する計測手段として更に機能させ、前記決定手段は、前記計測手段によって計測された前記ジッタが第１値の場合に前記第１状態であると決定し、前記計測手段によって計測された前記ジッタが前記第１値よりも大きい第２値の場合に、前記第２状態であると決定してもよい。通信装置から送信されるパケットの送信周期が長くなる程、ジッタは小さくなる可能性が高い。通信装置は、特定されたジッタが大きい程、結合時間を大きくしてパケットの送信周期を長くする。従って通信装置は、ジッタを効率的に抑制して通信品質の劣化を抑制できる。
【００１０】
第１態様において、前記コンピュータを前記複数の相手装置の夫々が前記送信データを前記サーバに送信してから、前記サーバが前記送信データを受信するまでの複数の遅延時間、及び、前記サーバによって送信された送信データが前記複数の相手装置の夫々によって受信データとして受信されるまでの複数の遅延時間の少なくとも一方の変動の程度を示す複数のジッタを取得する取得手段として更に機能させ、前記決定手段は、前記計測手段によって計測された前記ジッタ、及び、前記取得手段によって取得された前記複数のジッタのうち最大のジッタが第１値の場合に前記第１状態であると決定し、前記計測手段によって計測された前記複数のジッタのうち最大のジッタが前記第１値よりも大きい第２値の場合に、前記第２状態であると決定してもよい。この場合、通信装置は、複数の相手装置の夫々に対応するジッタを最小することが可能となる。従って通信装置は、複数の相手装置の夫々から出力される音の品質を維持できる。
【００１１】
第１態様において、前記コンピュータを、前記少なくとも１つの相手装置に対して前記遠隔会議において共有される共有資料データの送信が行われているかを判断する第３判断手段として更に機能させ、前記決定手段は、前記第３判断手段による前記共有資料データの送信が行われていないとの判断に応じて、前記第１状態であると決定し、前記第３判断手段による前記共有資料データの送信が行われているとの判断に応じて、前記第２状態であると決定してもよい。通信装置から相手装置に対して共有資料データが送信される場合、送信されるデータ量は送信される前よりも多くなる。この場合、ジッタは増加する可能性が高い。従って通信装置は、共有資料データが送信されていると判断した場合、結合時間を大きくしてパケットを送信する周期を長くし、ジッタの増加を抑制する。これによって通信装置は、共有資料データが送信される場合も、通信品質の劣化を抑制できる。
【００１２】
第１態様において、前記コンピュータを、前記遠隔会議において前記少なくとも１つの相手装置に対してフレーム内圧縮画像のデータの送信が行われているかを判断する第３判断手段として更に機能させ、前記決定手段は、前記第３判断手段による前記フレーム内圧縮画像のデータの送信が行われていないとの判断に応じて、前記第１状態であると決定し、前記第３判断手段による前記フレーム内圧縮画像のデータの送信が行われているとの判断に応じて、前記第２状態であると決定してもよい。通信装置から相手装置に対して、フレーム内圧縮画像のデータが送信される場合、送信されるデータ量は送信される前よりも多くなる。この場合、ジッタは増加する可能性が高い。従って通信装置は、フレーム内圧縮画像のデータが送信されていると判断した場合、結合時間を大きくしてパケットを送信する周期を長くし、ジッタの増加を抑制する。これによって通信装置は、送信されるデータ量が増加した場合も、通信品質の劣化を抑制できる。
【００１３】
第１態様において、前記第１生成手段は、前記所定時間の周期である第１周期で前記単位音データを生成し、前記送信手段は、前記第１周期の整数倍の周期である複数の第２周期の何れかの周期で前記パケットを送信してもよい。この場合、通信装置は、生成したパケットを効率よく送信できる。
【００１４】
本発明の第２態様に係る通信装置は、ネットワークを介して複数の相手装置との間で遠隔会議を実行可能な通信装置であって、音のサンプリングデータを記憶可能な第１記憶部に、所定時間以上の時間分の音のサンプリングデータが記憶されているか判断する第１判断手段と、前記第１判断手段によって前記所定時間よりも長い時間分の音のサンプリングデータが前記第１記憶部に記憶されていると判断された場合、前記第１記憶部への記憶順に従い前記第１記憶部に記憶された前記サンプリングデータの前記所定時間分を圧縮し、単位音データを生成する第１生成手段と、前記第１生成手段によって生成された前記単位音データを第２記憶部に記憶する記憶手段と、前記遠隔会議において通信されるデータであって、前記ネットワークに対して送信される送信データ、及び、前記ネットワークから受信される受信データの少なくとも一方に基づいて、前記ネットワークの通信状態が第１状態であるか第２状態であるかを決定する決定手段と、前記決定手段によって前記第１状態であると決定されたことに応じて、１つのパケットに含める前記単位音データの基となる音の時間を示す結合時間を第１時間に設定し、前記決定手段によって前記第２状態であると決定されたことに応じて、前記結合時間を前記第１時間よりも大きい第２時間に設定する設定手段と、前記第２記憶部に、前記設定手段によって設定された結合時間以上の時間分の前記単位音データが記憶されているか判断する第２判断手段と、前記第２判断手段によって、前記結合時間以上の時間分の前記単位音データが前記第２記憶部に記憶されていると判断されたことに応じ、前記結合時間分の前記単位音データを含むパケットを生成する第２生成手段と、前記第２生成手段によって生成された前記パケットを、前記結合時間の周期で、少なくとも１つの相手装置に送信する送信手段とを備えている。第２態様によれば、第１態様と同様の効果を奏することができる。
【００１５】
本発明の第３態様に係る通信方法は、ネットワークを介して複数の相手装置との間で遠隔会議を実行する通信方法であって、音のサンプリングデータを記憶可能な第１記憶部に、所定時間以上の時間分の音のサンプリングデータが記憶されているか判断する第１判断ステップと、前記第１判断ステップによって前記所定時間よりも長い時間分の音のサンプリングデータが前記第１記憶部に記憶されていると判断された場合、前記第１記憶部への記憶順に従い前記第１記憶部に記憶された前記サンプリングデータの前記所定時間分を圧縮し、単位音データを生成する第１生成ステップと、前記第１生成ステップによって生成された前記単位音データを第２記憶部に記憶する記憶ステップと、前記遠隔会議において通信されるデータであって、前記ネットワークに対して送信される送信データ、及び、前記ネットワークから受信される受信データの少なくとも一方に基づいて、前記ネットワークの通信状態が第１状態であるか第２状態であるかを決定する決定ステップと、前記決定ステップによって前記第１状態であると決定されたことに応じて、１つのパケットに含める前記単位音データの基となる音の時間を示す結合時間を第１時間に設定し、前記決定ステップによって前記第２状態であると決定されたことに応じて、前記結合時間を前記第１時間よりも大きい第２時間に設定する設定ステップと、前記第２記憶部に、前記設定ステップによって設定された結合時間以上の時間分の前記単位音データが記憶されているか判断する第２判断ステップと、前記第２判断ステップによって、前記結合時間以上の時間分の前記単位音データが前記第２記憶部に記憶されていると判断されたことに応じ、前記結合時間分の前記単位音データを含むパケットを生成する第２生成ステップと、前記第２生成ステップによって生成された前記パケットを、前記結合時間の周期で、少なくとも１つの相手装置に送信する送信ステップとを備えている。第３態様によれば、第１態様と同様の効果を奏することができる。
【００１６】
本発明の第４態様に係る通信装置のプログラムは、ネットワークを介して複数の相手装置との間で会議サーバを介して遠隔会議を実行可能な通信装置のコンピュータが実行可能なプログラムであって、前記コンピュータを、前記遠隔会議において通信されるデータであって、前記会議サーバに対して送信される送信データ、及び、前記会議サーバから受信される受信データの少なくとも一方に基づいて、前記会議サーバとの間の通信状態が第１状態であるか第２状態であるかを決定する決定手段と、前記決定手段によって前記第１状態であると決定されたことに応じて、結合時間を第１時間に設定し、前記決定手段によって前記第２状態であると決定されたことに応じて、結合時間を前記第１時間よりも大きい第２時間に設定する設定手段と、音のサンプリングデータを記憶可能な第１記憶部に記憶されている音のサンプリングデータから、前記第１記憶部への記憶順に従い、前記結合時間分のサンプリングデータを順次圧縮し、前記結合時間分の音データを生成する第１生成手段と、前記第１生成手段によって生成された前記音データを含むパケットを生成する第２生成手段と、前記パケットを、前記結合時間の周期で、前記会議サーバに送信する送信手段として機能させる。第４態様によれば、第１態様と同様の効果を奏することができる。
【００１７】
第４態様において、前記第１生成手段は、前記第１記憶部への記憶順に従い、前記結合時間以下である所定時間分の前記サンプリングデータを順次圧縮し単位音データを生成する第３生成手段と、前記第３生成手段によって生成された前記単位音データを第２記憶部に記憶する記憶手段と、を備え、前記コンピュータを、前記第２記憶部に前記設定手段によって設定された前記結合時間以上の時間分の前記単位音データが記憶されているか判断する第２判断手段として更に機能させ、前記第２生成手段は、前記第２判断手段によって、前記結合時間以上の時間分の前記単位音データが前記第２記憶部に記憶されていると判断されたことに応じ、前記結合時間分の前記単位音データを含むパケットを生成してもよい。これによって、第１態様と同様の効果を奏することができる。
【図面の簡単な説明】
【００１８】
【図１】遠隔会議システム１の概要と、通信装置１５及びサーバ装置１６の電気的構成とを示す図である。
【図２】遠隔会議システム１における音に関する信号又はデータの流れを示す図である。
【図３】送信周期を説明するための図である。
【図４】装置第１処理のフローチャートである。
【図５】装置第２処理のフローチャートである。
【図６】装置第３処理のフローチャートである。
【図７】装置第４処理のフローチャートである。
【図８】テーブル１１４２を示す図である。
【図９】第１設定処理のフローチャートである。
【図１０】テーブル１１４１を示す図である。
【図１１】第２設定処理のフローチャートである。
【図１２】サーバ第１処理のフローチャートである。
【図１３】サーバ第２処理のフローチャートである。
【発明を実施するための形態】
【００１９】
図１を参照し、遠隔会議システム１を説明する。遠隔会議システム１は、通信装置１１、１２、１３及び、サーバ装置１６を備える。以下、通信装置１１〜１３を総称し、通信装置１５という。通信装置１５及びサーバ装置１６は、ネットワーク２０を介して通信可能に接続する。通信装置１５は周知のスマートフォンである。サーバ装置１６は周知のMulti-point Control Unit（ＭＣＵ）である。なお、通信装置１１〜１３のうち少なくとも１つは、遠隔会議用の専用端末、汎用Personal Computer（ＰＣ）、タブレットＰＣ等であってもよい。サーバ装置１６は汎用のサーバであってもよい。
【００２０】
通信装置１５の電気的構成を説明する。通信装置１５は、通信装置１５の制御を司るＣＰＵ１１１を備える。ＣＰＵ１１１は、ＲＯＭ１１２、ＲＡＭ１１３、記憶部１１４、カメラ１１５、表示部１１６、通信Ｉ／Ｆ１１７、入力部１１８、Ａ／Ｄコンバータ１１９、Ｄ／Ａコンバータ１２１、及び、ドライブ装置１２３と電気的に接続する。
【００２１】
ＲＯＭ１１２には、ブートプログラム、Basic Input/Output System（ＢＩＯＳ）等が記憶される。ＲＡＭ１１３には、タイマやカウンタ、フラグ情報、一時的なデータ等が記憶される。なお、タイマは、後述するOperating System（ＯＳ）が備えるタイマ機能によって、所定の周期（例えば１ｍｓ）で更新される。又、ＲＡＭ１１３には、記憶領域として第１記憶部１５Ａ、第２記憶部１５Ｂ、及び第３記憶部１５Ｃ（図２参照）が設けられる。記憶部１１４は、コンピュータが読み取り可能な非一時的な記憶媒体、例えば、フラッシュメモリによって構成される。但し、記憶部３４は、ハードディスク及び／又はＲＯＭ等で構成されてもよい。非一時的な記憶媒体は、情報を記憶する期間に関わらず、情報を記憶可能な記憶媒体であればよい。非一時的な記憶媒体は、一時的に伝送される信号を含まなくてもよい。記憶部１１４には、ＣＰＵ１１１に装置第１処理（図４参照）、装置第２処理（図５参照）、装置第３処理（図６参照）、及び装置第４処理（図７参照）を実行させるためのアプリケーションプログラム（以下、単に「プログラム」という。）、及びＯＳが記憶される。又、記憶部１１４にはテーブル１１４１（図１０参照）、及び、テーブル１１４２（図８参照）が記憶される。
【００２２】
表示部１１６はLiquid Crystal Display（ＬＣＤ）である。通信Ｉ／Ｆ１１７は、通信装置１５がネットワーク２０に接続した図示外のアクセスポイントと接続して無線通信を行うためのインタフェース素子（例えば、Ｗｉ−Ｆｉ通信モデムなど）である。ＣＰＵ１１１は、通信Ｉ／Ｆ１１７を介してサーバ装置１６とパケットの送受信を行う。入力部１１８は、例えば、ハードキーやタッチパッドを含む。タッチパッドは、例えば静電容量式の位置入力装置で、ユーザの指の接触位置に応じた座標位置を示す信号を出力する。タッチパッドは、抵抗膜方式や超音波方式等、他の形態の位置入力装置によって構成されてもよい。入力部１１８に含まれるタッチパッドが表示部１１６に重畳されることにより、タッチパネルが構成されても良い。Ａ／Ｄコンバータ１１９は、図示外のアナログ増幅回路（マイクアンプ等）を介してマイク１２０と電気的に接続する。Ｄ／Ａコンバータ１２１は、図示外のアナログ増幅回路（スピーカアンプ等）を介してスピーカ１２２と電気的に接続する。ドライブ装置１２３は、半導体メモリ等のコンピュータが読み取り可能な記憶媒体１２３１に記憶された情報を読み出すことができる。ＣＰＵ１１１は、記憶媒体１２３１に記憶されたプログラムをドライブ装置１２３によって読み出し、記憶部１１４に記憶できる。
【００２３】
なお、ＣＰＵ１１１として、汎用的なプロセッサーが用いられてもよい。装置第１処理〜装置第４処理は、ＣＰＵ１１１によって実行される例に限定されず、他の電子部品（例えば、ＡＳＩＣ）によって実行されてもよい。装置第１処理〜装置第４処理は、複数の電子機器（つまり、複数のＣＰＵ）によって分散処理されてもよい。例えば、装置第１処理〜装置第４処理の一部は、ネットワーク２０に接続したサーバで実行されてもよい。プログラムは、例えば、ネットワーク２０に接続したサーバからダウンロードされて（即ち、伝送信号として通信装置１５に送信され）、通信装置１５の記憶部１１４に記憶されてもよい。この場合、プログラムは、サーバに備えられたＨＤＤなどの非一時的な記憶媒体に保存されていることとなる。通信Ｉ／Ｆ１１７は、通信装置１５をネットワーク２０に有線で接続するためのインタフェース素子（例えば、ＬＡＮカード）であってもよい。
【００２４】
サーバ装置１６の電気的構成を説明する。サーバ装置１６は、サーバ装置１６の制御を司るＣＰＵ１６１を備える。ＣＰＵ１６１は、ＲＯＭ１６２、ＲＡＭ１６３、記憶部１６４、通信Ｉ／Ｆ１６５、及びドライブ装置１６６と電気的に接続する。ＲＯＭ１６２には、ブートプログラム、ＢＩＯＳ等が記憶される。ＲＡＭ１６３には、タイマやカウンタ、一時的なデータが記憶される。記憶部１６４には、ＣＰＵ１６１にサーバ第１処理（図１２参照）及びサーバ第２処理（図１３参照）を実行させるためのプログラム、及びＯＳが記憶される。通信Ｉ／Ｆ１６５は、サーバ装置１６がネットワーク２０に接続するためのインタフェース素子（例えば、ＬＡＮカードなど）である。ＣＰＵ１６１は、通信Ｉ／Ｆ１６５を介して通信装置１５とデータの送受信を行う。ドライブ装置１６６は、記憶媒体１６６１に記憶された情報を読み出すことができる。ＣＰＵ１６１は、記憶媒体１６６１に記憶されたプログラムをドライブ装置１６６によって読み出し、記憶部１６４に記憶できる。
【００２５】
図２を参照し、遠隔会議システム１における音に関する信号又はデータの流れを説明する。マイク１２０は、通信装置１５を使用するユーザの音声等の音を集音する。マイク１２０は、集音した音をアナログの電気信号に変換し、図示外のアナログ増幅回路に出力する。アナログ増幅回路は、入力されたアナログの電気信号を増幅し、Ａ／Ｄコンバータ１１９に出力する。Ａ／Ｄコンバータ１１９は、入力されたアナログの電気信号を所定のサンプリングレート（例えば、４４．１ｋＨｚ）でサンプリングし、デジタルの電気信号に変換する。Ａ／Ｄコンバータ１１９は、デジタルの電気信号をＣＰＵ１１１に出力する。ＣＰＵ１１１は、入力されたデジタルの電気信号をデータ化し、サンプリングデータ１５１を生成する。ＣＰＵ１１１は、生成したサンプリングデータ１５１を、ＲＡＭ１１３の第１記憶部１５Ａに記憶する。サンプリングデータ１５１は、マイク１２０によって音が集音される順番で第１記憶部１５Ａに記憶される。
【００２６】
ＣＰＵ１１１は、第１記憶部１５Ａに記憶されたサンプリングデータ１５１を、第１記憶部１５Ａに記憶された順番で２０ｍｓ分ずつ取得し、所定の圧縮化方式に従って圧縮（エンコード）する。以下、圧縮されたサンプリングデータを圧縮データといい、２０ｍｓ分の圧縮データを単位音データという。ＣＰＵ１１１は、生成した単位音データ１５２を、ＲＡＭ１１３の第２記憶部１５Ｂに記憶する。ＣＰＵ１１１は、サンプリングデータ１５１が第１記憶部１５Ａに２０ｍｓ分以上記憶されている場合、単位音データ１５２を生成して第２記憶部１５Ｂに記憶する処理を繰り返す。
【００２７】
なお以下では、理解を容易とするために、図２に示すように、複数の２０ｍｓ分の圧縮データの夫々が単位音データとして第２記憶部１５Ｂに記憶されるとして説明する。これに対し、複数の２０ｍｓ分毎の圧縮データの夫々は、第２記憶部１５Ｂに記憶された状態で区別されず、一体となってもよい。即ち、第２記憶部１５Ｂには、単位音データを生成した回数Ｎ（Ｎは１以上の整数）に応じた時間２０ｍｓ×Ｎ分の圧縮データが記憶されてもよい。
【００２８】
ＣＰＵ１１１は結合時間を設定する。結合時間は、通信パケットに含められる単位音データの音の時間を示す。通信パケットは、通信装置１５から遠隔会議に参加する他の通信装置１５に対して送信される。通信パケットは、１又は複数の単位音データを含む。又、結合時間は、通信パケットを送信するときの送信周期も示す。結合時間は、サーバ装置１６に計測パケットが送信されてから、サーバ装置１６から返信された計測パケットを受信するまでの遅延時間の変動の程度に基づいて設定される。以下、遅延時間の変動の程度をジッタという。結合時間の設定方法の詳細は後述する。
【００２９】
ＣＰＵ１１１は、結合時間分の圧縮データを含む通信パケット１５３を生成する。なお、生成される通信パケット１５３には、結合時間に対応する数の単位音データが含まれる。例えば、結合時間を４０ｍｓに設定した場合、ＣＰＵ１１１は、単位音データを２つ（２０ｍｓ×２＝４０ｍｓ）含む通信パケット１５３を生成する。なお、図２では、通信パケット１５３として２つの単位音データのみ示されているが、実際には、ネットワーク２０を介して通信行うために必要なヘッダ情報が、２つの単位音データに付加される。ＣＰＵ１１１は、生成した通信パケット１５３を、設定した結合時間の周期４０ｍｓでサーバ装置１６に送信する。
【００３０】
なお、Ａ／Ｄコンバータ１１９から出力されたデジタルの電気信号をデータ化してサンプリングデータ１５１を生成し、第１記憶部１５Ａに記憶する処理、及び、生成された通信パケットを送信する処理は、ＯＳの有する機能の１つとしてＣＰＵ１１１によって実行される。一方、第１記憶部１５Ａに記憶されたサンプリングデータ１５１を圧縮して単位音データ１５２を生成する処理、及び、少なくとも１つの単位音データ１５２を含む通信パケット１５３を生成する処理は、装置第１処理〜装置第４処理（図４〜図１０参照）のプログラムに基づいてＣＰＵ１１１が動作することによって実行される。
【００３１】
図３に示すように、ＣＰＵ１１１は、設定した結合時間に応じて、通信パケットに含める単位音データの音の時間、及び、通信パケットの送信周期を変化させる。結合時間が２０ｍｓの場合、通信パケットには２０ｍｓ分の単位音データ（単位音データ１つ）が含められ、２０ｍｓ周期で送信される。同様に、結合時間が４０ｍｓ、６０ｍｓ、８０ｍｓ、１００ｍｓ、１２０ｍｓの場合、通信パケットには、４０ｍｓ分（単位音データ２つ）、６０ｍｓ分（単位音データ３つ）、８０ｍｓ分（単位音データ４つ）、１００ｍｓ分（単位音データ５つ）、１２０ｍｓ分（単位音データ６つ）の音の単位音データが含められ、夫々、４０ｍｓ、６０ｍｓ、８０ｍｓ、１００ｍｓ、１２０ｍｓ周期で送信される。なお、何れの結合時間の場合も、通信装置１５から他の通信装置１５に対して送信される単位音データの総量は変化しない。
【００３２】
通信装置１５から送信される通信データの送信周期が長い程、ジッタは小さくなる。ジッタは、通信装置１５、サーバ装置１６、及び、ネットワーク２０に介在する図示外の中継装置（ルータ、サーバ装置等）が通信パケットの通信を行うために実行する処理に必要な時間の変動が要因となって発生する。そのため、通信データの送信周期が長い程、通信パケットの通信を行うために実行する処理の頻度が少なくなるので、処理時間の変動が要因となって発生するジッタが小さくなる。一方で、通信データの送信周期が長い程、単位音データの遅延時間は大きくなるので、送信周期はできるだけ小さい方が好ましい。従って通信装置１５は、ユーザ間で円滑な遠隔会議が実行されるように、ネットワーク２０の通信状態に応じて最適な結合時間を設定する。詳細は後述する。
【００３３】
図２に示すように、サーバ装置１６のＣＰＵ１６１は、ネットワーク２０を介して通信装置１５から通信パケットを受信する。ＣＰＵ１６１は、通信パケットを送信した通信装置１５が参加する遠隔会議を特定し、この遠隔会議に参加する他の通信装置１５を特定する。ＣＰＵ１６１は、特定した他の通信装置１５に対して、受信した通信パケットを転送する。
【００３４】
通信装置１５のＣＰＵ１１１は、ネットワーク２０を介してサーバ装置１６から通信パケットを受信した場合、受信した通信パケットに含まれる、結合時間に応じた数の単位音データを取得する。ＣＰＵ１１１は、取得した単位音パケットを伸張（デコード）し、元のサンプリングデータに戻す。ＣＰＵ１１１は、ＲＡＭ１１３の第３記憶部１５Ｃにサンプリングデータを記憶する。ＣＰＵ１１１は、第３記憶部１５Ｃに記憶されたサンプリングデータを、音がマイク１２０によって集音された順番に２０ｍｓ分ずつ取得する。ＣＰＵ１１１は、取得したサンプリングデータに対応するデジタルの電気信号を、Ｄ／Ａコンバータ１２１に出力する。Ｄ／Ａコンバータ１２１は、入力されたデジタルの電気信号をアナログの電気信号に変換する。Ｄ／Ａコンバータ１２１は、アナログの電気信号を図示外のアナログ増幅回路に出力する。アナログ増幅回路は、入力されたアナログの電気信号を増幅し、スピーカ１２２に出力する。スピーカ１２２は、入力されたアナログの電気信号に対応する音を出力する。
【００３５】
なお、パケットを受信する処理、及び、第３記憶部１５Ｃに記憶されたサンプリングデータに対応するデジタルの電気信号をＤ／Ａコンバータ１２１に出力する処理は、ＯＳの有する機能の１つとしてＣＰＵ１１１によって実行される。一方、受信したパケットに含まれる少なくとも１つの単位音データを伸張して元のサンプリングデータに戻し、第３記憶部１５Ｃに記憶する処理は、図示外の処理を実行するプログラムに基づいてＣＰＵ１１１が動作することによって、実行される。
【００３６】
以上の処理が実行されることによって、遠隔会議に参加する通信装置１５のユーザ間で通話を行うことが可能となる。なお上記では、音に関する信号又はデータの流れのみを説明したが、実際には、通信装置１５の表示部１１６に表示される共有資料及び映像のデータを含むパケットについても、遠隔会議に参加する通信装置１５間でサーバ装置１６を介して通信が行われる。共有資料は、遠隔会議において夫々のユーザが参照する、遠隔会議に関連する説明資料等である。映像は、カメラ１１５によって撮影されたユーザ等の様子を示す映像である。通信装置１５のユーザは、表示部１１６に表示される共有資料及び映像、並びに、スピーカ１２２から出力される音によって、他の通信装置１５の他のユーザとの間で遠隔会議を行うことができる。
【００３７】
図５〜図１０を参照し、通信装置１５のＣＰＵ１１１によって実行される装置第１処理〜装置第４処理を説明する。装置第１処理は、遠隔会議のアプリケーションを起動する操作が、入力部１１８を介して入力された場合、記憶部１１４に記憶されたプログラムをＣＰＵ１１１が実行することによって開始される。装置第２処理〜装置第４処理は、装置第１処理のＳ１３（後述）の処理によって開始される。装置第１処理〜装置第４処理は並列して実行される。
【００３８】
なお、以下では、通信装置１１〜１３の夫々のユーザが共通の遠隔会議に参加する場合を例に挙げ、通信装置１１のＣＰＵ１１１によって装置第１処理〜装置第４処理が実行される場合について具体的に説明する。例えば、遠隔会議の開催予定日時以前に、遠隔会議に参加予定の通信装置１１〜１３に夫々に対応した各電子メールアドレスを宛先として、サーバ装置１６から電子メールが送信される。この電子メールは、通信装置１１〜１３による遠隔会議のためのＵＲＬ（Uniform Resource Locator）を含む。このＵＲＬは、遠隔会議の会議室毎に固有である。換言すれば、ＵＲＬには、遠隔会議を識別するＩＤ（会議ＩＤ）が含まれている。
【００３９】
通信装置１１を例に挙げると、通信装置１１のユーザは、遠隔会議の開催予定日時に、通信装置１１を操作する。通信装置１１において、ＣＰＵ１１１は、会議ＩＤを含むＵＲＬに対する入力を、入力部１１８が検出したか判断する（Ｓ１１）。ＣＰＵ１１１は、会議ＩＤを含むＵＲＬに対する入力を検出しない場合（Ｓ１１：ＮＯ）、処理をＳ１１に戻す。ＣＰＵ１１１は、会議ＩＤを含むＵＲＬに対する入力を検出した場合（Ｓ１１：ＹＥＳ）、通信Ｉ／Ｆ１１７からサーバ装置１６にアクセスし、会議接続の処理を実行する。会議接続の処理により、通信装置１１とサーバ装置１６の間で遠隔会議のセッションが確立され、通信装置１１は、サーバ装置１６に対して会議接続される。通信装置１２，１３でも同様の操作が行われ、通信装置１２，１３の夫々とサーバ装置１６の間で遠隔会議のセッションが確立され通信装置１２，１３は、サーバ装置１６に対して会議接続される。
【００４０】
サーバ装置１６のＣＰＵ１６１は、ＵＲＬに含まれる会議ＩＤと、通信装置１１〜１３の夫々を識別するＩＤ（装置ＩＤ）とを対応付け、管理テーブルとして記憶部１６４に記憶する。通信装置１１〜１３による遠隔会議は、このようにして開始される。
【００４１】
ＣＰＵ１１１は、Ａ／Ｄコンバータ１１９から出力されるデジタルの電気信号をデータ化し、サンプリングデータを生成して第１記憶部１５Ａに記憶する処理を開始する。なおこの処理は、ＯＳの有する機能として実行されるので、装置第１処理と並行して実行される。ＣＰＵ１１１は、装置第２処理（図５参照）、装置第３処理（図６参照）、及び装置第４処理（図７参照）を開始する（Ｓ１３）。
【００４２】
図５を参照し、装置第２処理を説明する。ＣＰＵ１１１は、第１記憶部１５Ａに２０ｍｓ以上の時間分のサンプリングデータが記憶されているか判断する（Ｓ８３）。ＣＰＵ１１１は、２０ｍｓ分以上のサンプリングデータが第１記憶部１５Ａに記憶されていないと判断した場合（Ｓ８３：ＮＯ）、処理をＳ９１に進める。ＣＰＵ１１１は、２０ｍｓ分以上のサンプリングデータが第１記憶部１５Ａに記憶されていると判断した場合（Ｓ８３：ＹＥＳ）、２０ｍｓ分のサンプリングデータを、第１記憶部１５Ａに記憶された順番に取得する（Ｓ８５）。ＣＰＵ１１１は、２０ｍｓ分のサンプリングデータを取得した場合、第１記憶部１５Ａの記憶可能な容量を確保するため、取得したサンプリングデータを第１記憶部１５Ａから削除する。
【００４３】
なお、ＣＰＵ１１１は、サンプリングデータを生成して第１記憶部１５Ａに記憶する処理を、ＯＳの機能として継続的に実行している。このため、ＣＰＵ１１１がＳ８５の処理によって２０ｍｓ分のサンプリングデータを第１記憶部１５Ａから取得する場合の周期は、第１記憶部１５Ａに新たな２０ｍｓ分のサンプリングデータが記憶される周期と略同じ２０ｍｓになる。
【００４４】
ＣＰＵ１１１は、取得した２０ｍｓ分のサンプリングデータを圧縮し、単位音データを生成する（Ｓ８７）。ＣＰＵ１１１は、生成した単位音データを第２記憶部１５Ｂに記憶する（Ｓ８９）。なお上記のように、サンプリングデータは２０ｍｓ周期で第１記憶部１５Ａから取得されることになるので、生成された単位音データが第２記憶部１５Ｂに記憶される周期も約２０ｍｓとなる。
【００４５】
ＣＰＵ１１１は、遠隔会議を終了させるための入力操作を、入力部１１８を介して検出したか判断する（Ｓ９１）。ＣＰＵ１１１は、遠隔会議を終了させるための入力操作を検出しないと判断した場合（Ｓ９１：ＮＯ）、処理をＳ８３に戻す。ＣＰＵ１１１は、遠隔会議を終了させるための入力操作を検出したと判断した場合（Ｓ９１：ＹＥＳ）、装置第２処理を終了させる。
【００４６】
図６を参照し、装置第３処理を説明する。ＣＰＵ１１１は、サーバ装置１６に対して一定の周期Ｔ１（例えば１ｓ）で送信する計測パケットの送信タイミングが到来したかを判断する（Ｓ１０１）。ＣＰＵ１１１は、計測パケットの送信タイミングが到来していないと判断した場合（Ｓ１０１：ＮＯ）、処理をＳ１２３に進める。ＣＰＵ１１１は、計測パケットの送信タイミングが到来したと判断した場合（Ｓ１０１：ＹＥＳ）、送信タイミングが到来したと判断した時点の時刻ｔ１をＯＳから取得し、ＲＡＭ１１３に記憶する（Ｓ１０３）。ＣＰＵ１１１は、サーバ装置１６に計測パケットを送信する（Ｓ１０５）。計測パケットは、ネットワーク２０を介して通信可能なパケットであり、所定サイズ分のダミーデータを含む。
【００４７】
ＣＰＵ１１１は、計測パケットの送信に応じて、サーバ装置１６から返信される計測パケットを受信したか判断する（Ｓ１０７）。ＣＰＵ１１１は、計測パケットを受信していないと判断した場合（Ｓ１０７：ＮＯ）、処理をＳ１０７に戻す。ＣＰＵ１１１は、サーバ装置１６から送信された計測パケットを受信したと判断した場合（Ｓ１０７：ＹＥＳ）、計測パケットを受信したと判断した時点の時刻ｔ２をＯＳから取得し、ＲＡＭ１１３に記憶する（Ｓ１０９）。ＣＰＵ１１１は、ＲＡＭ１１３に記憶した時刻ｔ１及び時刻ｔ２を取得する。ＣＰＵ１１１は、時刻ｔ１から時刻ｔ２までの経過時間を遅延時間として算出し、ＲＡＭ１１３に記憶する（Ｓ１１１）。遅延時間は、通信装置１１から送信された計測パケットがサーバ装置１６に伝達する場合の通信時間と、サーバ装置１６から送信された計測パケットが通信装置１１に伝達する場合の通信時間とを加算した往復時間である。なお、Ｓ１０５及びＳ１０７の処理は、専用の計測パケットの代わりに、ＩＣＭＰ（Internet Control Message Protocol）に従って動作する、ＯＳが標準で備えるＰＩＮＧコマンドで達成されてもよい。
【００４８】
ＣＰＵ１１１は、後述するＳ１１７、Ｓ１１９の処理によって最後にジッタを算出してから、計測パケットを送信する周期Ｔ１よりも長い周期Ｔ２（例えば１０ｓ）が経過したか判断する（Ｓ１１５）。ＣＰＵ１１１は、最後にジッタを算出してから周期Ｔ２が経過していないと判断した場合（Ｓ１１５：ＮＯ）、処理をＳ１２３に進める。
【００４９】
最後にジッタを算出してから周期Ｔ２が経過した場合、後述するＳ１１７の処理によって標準偏差を算出する場合に用いられていない複数の遅延時間が、ＲＡＭ１１３に記憶されている。ＣＰＵ１１１は、最後にジッタを算出してから周期Ｔ２が経過したと判断した場合（Ｓ１１５：ＹＥＳ）、ＲＡＭ１１３に記憶された複数の遅延時間を用いて平均値を算出し、次いで、算出した平均値を用いて標準偏差σを算出する（Ｓ１１７）。ＣＰＵ１１１は、標準偏差σを算出するときに用いた遅延時間を、ＲＡＭ１１３から削除する。ＣＰＵ１１１は、３σをジッタとして算出する（Ｓ１１９）。ＣＰＵ１１１は、通信装置１１の装置ＩＤと算出したジッタとを含む第１通知パケットを、サーバ装置１６に送信する（Ｓ１２１）。
【００５０】
なお、標準偏差σを算出する方法は、上記の方法に限定されない。例えばＣＰＵ１１１は、ＲＡＭ２２をリングバッファとして使用してもよい。ＣＰＵ１１１は、算出した遅延時間をリングバッファに順番に記憶してもよい（Ｓ１１１）。ＣＰＵ１１１は、リングバッファに記憶された複数の遅延時間のうち、記憶されたタイミングが新しい順に所定数の遅延時間を取得してもよい。ＣＰＵ１１１は、取得した所定数の遅延時間を用いて標準偏差σを算出してもよい。なおＣＰＵ１１１は、リングバッファを使用する場合、標準偏差σを算出するために取得した遅延時間を、リングバッファから削除しない。これによってＣＰＵ１１１は、周期Ｔ２の間に算出された複数の遅延時間の数よりも大きい数の遅延時間を用いて、標準偏差σを算出できる。
【００５１】
ＣＰＵ１１１は、遠隔会議を終了させるための入力操作を、入力部１１８を介して検出したか判断する（Ｓ１２３）。ＣＰＵ１１１は、遠隔会議を終了させるための入力操作を検出しないと判断した場合（Ｓ１２３：ＮＯ）、処理をＳ１０１に戻す。ＣＰＵ１１１は、遠隔会議を終了させるための入力操作を検出したと判断した場合（Ｓ１２３：ＹＥＳ）、装置第３処理を終了させる。
【００５２】
図７を参照し、装置第４処理を説明する。ＣＰＵ１１１は、サーバ装置１６から送信された第２通知パケットを受信したか判断する（Ｓ１３１）。ＣＰＵ１１１は、第２通知パケットを受信しないと判断した場合（Ｓ１３１：ＮＯ）、処理をＳ１３７に進める。ＣＰＵ１１１は、第２通知パケットを受信したと判断した場合（Ｓ１３１：ＹＥＳ）、第２通知パケットに含まれる装置ＩＤ及びジッタを取得する。ＣＰＵ１１１は、取得した装置ＩＤ及びジッタを関連付けて、記憶部１１４に記憶されたテーブル１１４２に格納する（Ｓ１３５）。
【００５３】
図８を参照し、テーブル１１４２を説明する。テーブル１１４２は、装置ＩＤ、ジッタ、及び比較用ジッタを含む。装置ＩＤ及びジッタは、夫々、第２通知パケットに含まれる装置ＩＤ及びジッタに対応する。比較用ジッタは、後述のＳ１７（図４参照）の処理でジッタとの比較が行われる場合に使用される。
【００５４】
例えば、通信装置１１〜１３は同一の遠隔会議に参加しているので、通信装置１１〜１３の夫々のＣＰＵ１１１は、装置第３処理（図６参照）を実行することによって、第１通知パケットをサーバ装置１６に送信する（Ｓ１２１、図６参照）。詳細は後述するが、サーバ装置１６は、通信装置１１〜１３の夫々から第１通知パケットを受信した場合、夫々の第１通知パケットに含まれている装置ＩＤ及びジッタを含む第２通知パケットを、通信装置１１〜１３の夫々に対して送信する。従ってテーブル１１４２には、遠隔会議に参加する全ての通信装置１１〜１３の夫々の装置ＩＤとジッタとが関連付けて格納される。なお、Ｓ１３５（図７参照）の処理によってテーブル１１４２に新たに格納する装置ＩＤが、テーブル１１４２に既に格納されている場合がある。この場合、ＣＰＵ１１１は、既に格納されている装置ＩＤに関連付けられているジッタを、比較用ジッタとしてテーブル１１４２に格納する。次いで、ＣＰＵ１１１は、新たに格納するジッタを、新たに格納する装置ＩＤに関連付けてテーブル１１４２に格納する。即ち、既に格納されていたジッタは、新たに格納されるジッタによって更新される。例えば、装置ＩＤ１１に関連付けられたジッタは１０ｍｓであり、比較用ジッタは３０ｍｓである。このことは、通信装置１１（装置ＩＤ１１）が装置第３処理（図６参照）を実行することによって計測されたジッタが、３０ｍｓから１０ｍｓに変化したことを示している。
【００５５】
図７に示すように、ＣＰＵ１１１は、遠隔会議を終了させるための入力操作を、入力部１１８を介して検出したか判断する（Ｓ１３７）。ＣＰＵ１１１は、遠隔会議を終了させるための入力操作を検出しないと判断した場合（Ｓ１３７：ＮＯ）、処理をＳ１３１に戻す。ＣＰＵ１１１は、遠隔会議を終了させるための入力操作を検出したと判断した場合（Ｓ１３７：ＹＥＳ）、装置第４処理を終了させる。
【００５６】
図４に示すように、ＣＰＵ１１１は、Ｓ１３の処理によって装置第２処理（図５参照）、装置第３処理（図６参照）、及び装置第４処理（図７参照）を開始した後、記憶部１１４に記憶されたテーブル１１４２（図８参照）に格納されたジッタ及び比較用ジッタを全て取得する（Ｓ１５）。ＣＰＵ１１１は、関連付けられたジッタと比較用ジッタとの差分を、テーブル１１４２に記憶された夫々の装置ＩＤに対して算出する。ＣＰＵ１１１は、算出した複数の差分の夫々と所定閾値（例えば、１０ｍｓ）とを比較する。ＣＰＵ１１１は、算出した差分のうち少なくとも１つがが０でない場合、少なくとも１つのジッタが変化したと判断する（Ｓ１７：ＹＥＳ）。ＣＰＵ１１１は、テーブル１１４２に記憶されたジッタに基づいて第１暫定時間を設定する処理（第１設定処理、図９参照）を実行する（Ｓ１９）。第１暫定時間は、後述するＳ２３の処理によって最終的に結合時間を設定する場合の候補となる。ＣＰＵ１１１は、第１設定処理の終了後、処理をＳ２１に進める。一方、ＣＰＵ１１１は、算出した複数の差分の全てが０である場合、全てのジッタは変化していないと判断する（Ｓ１７：ＮＯ）。ＣＰＵ１１１は処理をＳ２１に進める。
【００５７】
なお、上記において、ＣＰＵ１１１は、算出した差分のうち少なくとも１つが所定閾値よりも大きい場合、少なくとも１つのジッタが変化したと判断してもよい。一方、ＣＰＵ１１１は、算出した差分の全てが所定閾値よりも大きくない場合、全てのジッタが変更していないと判断してもよい。
【００５８】
図９を参照し、第１設定処理を説明する。ＣＰＵ１１１は、テーブル１１４２（図８参照）を参照し、通信装置１１の装置ＩＤに関連付けられたジッタを取得する（Ｓ４１）。ＣＰＵ１１１は、テーブル１１４２を参照し、通信装置１２、１３の装置ＩＤのうち何れか１つ（例えば、装置ＩＤの並び順、テーブル１１４２の記憶順などに従う）に関連付けられたジッタを取得する（Ｓ４３）。ＣＰＵ１１１は、Ｓ４１及びＳ４３の処理によって取得した２つのジッタに基づいて、合成ジッタを算出する。合成ジッタは、例えば、２つのジッタの夫々を２乗して加算した加算結果の平方根として算出される（Ｓ４５）。以下、算出された値を合成ジッタという。ＣＰＵ１１１は、合成ジッタをＲＡ１１３に記憶する（Ｓ４５）。ＣＰＵ１１１は、Ｓ４３の処理によって、遠隔会議に参加する全ての装置ＩＤに関連付けられたジッタを取得したか判断する（Ｓ４７）。ＣＰＵ１１１は、全ての装置ＩＤに関連付けられたジッタを取得していないと判断した場合（Ｓ４７：ＮＯ）、処理をＳ４３に戻す。ＣＰＵ１１１は、装置ＩＤ１２、１３に関連付けられた複数のジッタのうち、例えば、装置ＩＤの並び順、テーブル１１４２の記憶順などに従い、Ｓ４３の処理によって取得されていない別の装置ＩＤに関連付けられたジッタを取得し（Ｓ４３）、Ｓ４５の処理を繰り返す。ＣＰＵ１１１は、Ｓ４３で全ての装置ＩＤに関連付けられたジッタを取得したと判断した場合（Ｓ４７：ＹＥＳ）、処理をＳ４９に進める。
【００５９】
ＣＰＵ１１１は、Ｓ４５の処理によってＲＡＭ１１３に記憶された合成ジッタのうち、最大の合成ジッタ（以下、最大ジッタ）を選択する（Ｓ４９）。ＣＰＵ１１１は、選択された最大ジッタをテーブル１１４１（図１０参照）に適用することによって、ネットワーク２０の通信状態を決定する（Ｓ５０）。例えば、ＣＰＵ１１１は、通信状態として、選択された最大ジッタが、テーブル１１４１に登録されている複数のジッタ範囲の内、どの範囲に属するかを決定する。ＣＰＵ１１１は、特定した通信状態に対応する第１暫定時間を、テーブル１１４１に基づいて設定する（Ｓ５１）。ＣＰＵ１１１は、設定した第１暫定時間をＲＡＭ１１３に記憶する。ＣＰＵ１１１は第１設定処理を終了させ、処理を装置第１処理（図４参照）に戻す。
【００６０】
図１０に示すテーブル１１４１を参照し、ネットワーク２０の通信状態の決定方法及び第１暫定時間の設定方法を具体的に説明する。テーブル１１４１では、最大ジッタの範囲を示す複数のジッタ範囲の夫々に、結合量及び第１暫定時間が１つずつ対応付けられている。結合量は、単位音データの数を示す。単位音データの音の時間は２０ｍｓであるため、結合量１，２，３，４，５，６の夫々に、第１暫定時間２０ｍｓ（＝２０ｍｓ×１）、４０ｍｓ（＝２０ｍｓ×２）、６０ｍｓ（＝２０ｍｓ×３）、８０ｍｓ（＝２０ｍｓ×４）、１００ｍｓ（２０ｍｓ×５）、及び１２０ｍｓ（２０ｍｓ×６）が夫々対応付けられる。
【００６１】
ＣＰＵ１１１は、テーブル１１４１の複数のジッタ範囲のうち、Ｓ４９（図９参照）の処理によって選択された最大ジッタが含まれるジッタ範囲を特定する。ＣＰＵ１１１は、特定したジッタ範囲が５０ｍｓ以下の場合、ネットワーク２０の通信状態を第１状態に決定する（Ｓ５０、図９参照）。第１状態は、ネットワーク２０の状態が後述の第２状態と比べて安定な状態を示す。従って第１暫定時間は、夫々のジッタ範囲に対応する１００ｍｓ以下の結合時間（２０〜１００ｍｓ）に設定される（Ｓ５１、図９参照）。一方、ＣＰＵ１１１は、特定したジッタ範囲が５０ｍｓより大きい場合、ネットワーク２０の状態を第２状態に決定する（Ｓ５０）。第２状態は、ネットワーク２０の状態が前述の第１状態と比べて不安定な状態を示す。従って第１暫定時間は、テーブル１１４１のうち最大の結合時間である１２０ｍｓに設定される（Ｓ５１）。
【００６２】
なお本実施形態では、閾値を５０ｍｓとした場合に、最大ジッタに応じて第１状態及び第２状態が決定される例が示されている。しかしながら本発明は、閾値を５０ｍｓとする場合に限定されない。第１状態及び第２状態が決定される場合に用いられる閾値は、任意の値でよい。例えば閾値は、テーブル１１４１の複数のジッタ範囲の夫々の下限の値である１０ｍｓ、２０ｍｓ、３０ｍｓ、４０ｍｓの何れかであってもよい。例えば、閾値が４０ｍｓとされた場合、最大ジッタが４０ｍｓ以下の場合に第１状態に決定され（Ｓ５０）、４０ｍｓ以下の夫々のジッタ範囲に対応する第１暫定時間に設定されてもよい（Ｓ５１）。一方、最大ジッタ４０ｍｓよりも大きい場合に第２状態に決定され（Ｓ５０）、第１暫定時間が１００ｍｓに設定されてもよい。
【００６３】
図４に示すように、ＣＰＵ１１１は、遠隔会議において通信される通信パケットに含まれるデータの種別に基づいて第２暫定時間を設定する処理（第２設定処理、図１１参照）を実行する（Ｓ２１）。第２暫定時間は、第１設定処理（図９参照）によって設定された第１暫定時間と同様、後述するＳ２３の処理によって最終的に結合時間を設定する場合の候補となる。
【００６４】
図１１を参照し、第２設定処理を説明する。ＣＰＵ１１１は、遠隔会議に参加する通信装置１２、１３との間で共有資料を共有するための操作を、入力部１１８を介して検出したか判断する（Ｓ６１）。ＣＰＵ１１１は、共有資料を共有するための操作を検出したと判断した場合、共有資料のデータを含む共有資料パケットを、サーバ装置１６に送信する。なお、サーバ装置１６のＣＰＵ１６１は、通信装置１１から送信された共有資料パケットを受信した場合、共有資料パケットを送信した通信装置１１が参加する遠隔会議の会議ＩＤを、管理テーブルに基づいて特定する。ＣＰＵ１６１は、管理テーブルのうち特定した会議ＩＤと同一の会議ＩＤに対応付けられた装置ＩＤ１１、１２、１３を、共通の遠隔会議に参加する通信装置１１、１２、１３の装置ＩＤとして特定する。ＣＰＵ１６１は、特定した装置ＩＤ１１、１２、１３のうち、共有資料パケットを送信した通信装置１１の装置ＩＤ１１を除く他の装置ＩＤ１２、１３の通信装置１２、１３に対して、受信した共有資料パケットを送信する。通信装置１２、１３のＣＰＵ１１１は、サーバ装置１６から送信された共有資料パケットを受信した場合、受信した共有資料パケットに含まれる共有資料のデータに基づいて、共有資料を表示部１１６に表示させる。
【００６５】
又、通信装置１１のＣＰＵ１１１は、共有資料を共有するための操作を検出した場合、共有資料パケットの送信が開始されるので、共有資料パケットの送信が行われている状態であると判断する（Ｓ６１：ＹＥＳ）。ＣＰＵ１１１は、ネットワーク２０の通信状態を第２状態に決定する（Ｓ６６）。理由は、共有資料パケットに含まれる共有資料データのサイズは、他の通信パケットに含まれるデータのサイズと比べて大きいので、共有資料パケットが送信された場合、ネットワーク２０の状態は不安定な状態になる可能性が高いためである。ＣＰＵ１１１は、第２暫定時間を、テーブル１１４１（図１０参照）のうち最大の結合時間である１２０ｍｓに設定する（Ｓ６７）。ＣＰＵ１１１は、設定した第２暫定時間をＲＡＭ１１３に記憶する。ＣＰＵ１１１は、第２設定処理を終了させ、処理を装置第１処理（図４参照）に戻す。
【００６６】
ＣＰＵ１１１は、共有資料データを共有するための操作を検出しない場合、共有資料パケットの送信が行われていない状態であると判断する（Ｓ６１：ＮＯ）。次に、ＣＰＵ１１１は、カメラ１１５によって撮影された映像をサーバ装置１６が通信装置１２、１３に対して送信することを許可するための設定が記憶されているか、ＲＡＭ２２を参照して判断する（Ｓ６３）。なお、カメラ１１５によって撮影された映像をサーバ装置１６が通信装置１２、１３に対して送信することを許可又は禁止する設定は、入力部１１８を介して受け付けられ、ＲＡＭ２２に記憶される。ＣＰＵ１１１は、サーバ装置１６が通信装置１２、１３に対して映像を送信することを許可するための操作を検出したと判断した場合、カメラ１１５によって撮影された映像のデータを圧縮し、フレーム内圧縮された映像のフレームと、フレーム間圧縮された映像のフレームとを順次生成する。フレーム内圧縮された映像のフレームは、映像のデータがフレーム内でのみ圧縮されたデータを含む。フレーム間圧縮された映像のフレームは、前後のフレームとの差分のデータを含む。以下、フレーム内圧縮された映像をフレーム内圧縮映像といい、フレーム間圧縮された映像をフレーム間圧縮映像という。フレーム間圧縮映像を生成する場合の圧縮率は、フレーム内圧縮映像を生成する場合の圧縮率よりも大きいので、フレーム内圧縮映像のサイズはフレーム間圧縮映像のサイズよりも大きくなる。
【００６７】
ＣＰＵ１１１は、フレーム内圧縮映像又はフレーム間圧縮映像のデータを生成する。ＣＰＵ１１１は、映像の種別をヘッダとして含む映像パケットを生成し、サーバ装置１６に送信する。なお、サーバ装置１６のＣＰＵ１６１は、通信装置１１から送信された映像パケットを受信した場合、通信装置１１が参加する遠隔会議の会議ＩＤを、管理テーブルに基づいて特定する。ＣＰＵ１６１は、管理テーブルのうち特定した会議ＩＤと同一の会議ＩＤに対応付けたれた装置ＩＤ１１、１２、１３を、共通の遠隔会議に参加する通信装置１１、１２、１３の装置ＩＤとして特定する。ＣＰＵ１６１は、特定した装置ＩＤ１１、１２、１３のうち、映像パケットを送信した通信装置１５の装置ＩＤ１１を除く他の装置ＩＤ１２、１３の通信装置１２、１３に対して、受信した映像パケットを送信する。通信装置１２、１３のＣＰＵ１１１は、サーバ装置１６から送信された映像パケットを受信した場合、受信した映像パケットに含まれるフレーム内圧縮映像又はフレーム間圧縮映像のデータに基づいて、カメラ１１５によって撮影された映像を表示部１１６に表示させる。
【００６８】
又、通信装置１１のＣＰＵ１１１は、サーバ装置１６が通信装置１２、１３に対して送信することを許可するための設定が記憶されている場合、映像パケットの送信が開始されるので、映像パケットの送信が行われている状態であると判断する（Ｓ６３：ＹＥＳ）。ＣＰＵ１１１は、送信されている映像パケットに含まれる映像の種別（フレーム内圧縮映像又はフレーム間圧縮映像）を、映像パケットのヘッダから取得する。ＣＰＵ１１１は、取得した種別がフレーム内圧縮映像であるか判断する（Ｓ６５）。ＣＰＵ１１１は、取得した種別がフレーム内圧縮映像であると判断した場合（Ｓ６５：ＹＥＳ）、ネットワーク２０の通信状態を第２状態に決定する（Ｓ６６）。理由は、フレーム内圧縮映像のサイズは、他の通信パケットに含まれるデータのサイズと比べて大きいので、フレーム内圧縮映像のデータを含む映像パケットが送信された場合、ネットワーク２０の状態は不安定な状態になる可能性が高いためである。ＣＰＵ１１１は、第２暫定時間を、テーブル１１４１のうち最大の結合時間である１２０ｍｓに設定する（Ｓ６７）。ＣＰＵ１１１は、設定した第２暫定時間をＲＡＭ１１３に記憶する。ＣＰＵ１１１は、第２設定処理を終了させ、処理を装置第１処理（図４参照）に戻す。
【００６９】
一方、ＣＰＵ１１１は、映像パケットの送信が行われていないと判断された場合（Ｓ６３：ＮＯ）、又は、ＯＳから取得された映像の種別がフレーム間圧縮映像であると判断された場合（Ｓ６５：ＮＯ）、ネットワーク２０の通信状態を第１状態に決定する（Ｓ６８）。理由は、共有資料パケット及び映像パケットの何れのパケットも送信されていない場合、又は、フレーム間圧縮映像のデータを含む映像パケットが送信されている場合、送信されるデータのサイズは、共有資料パケット又はフレーム内圧縮映像のデータを含む映像パケットのデータのサイズと比べて小さいので、ネットワーク２０の状態は安定な状態になる可能性が高いためである。ＣＰＵ１１１は、後述するＳ２３（図４参照）の処理によって繰り返し設定される結合時間をＲＡ１１３から読み出し、第２暫定時間として設定する（Ｓ６９）。ＣＰＵ１１１は、設定した第２暫定時間をＲＡＭ１１３に記憶する。ＣＰＵ１１１は、第２設定処理を終了させ、処理を装置第１処理（図４参照）に戻す。
【００７０】
図４に示すように、第２決定処理（Ｓ２１）の終了後、ＣＰＵ１１１は、第１設定処理（Ｓ１９）によって設定された第１暫定時間、及び、第２設定処理（Ｓ２１）によって設定された第２暫定時間を、ＲＡＭ１１３から読み出す。ＣＰＵ１１１は、読み出した第１暫定時間及び第２暫定時間のうち大きい値を、結合時間として最終的に設定する（Ｓ２３）。ＣＰＵ１１１は、設定した結合時間をＲＡ１１３に記憶する。なお、第１設定処理が実行されていない場合（Ｓ１７：ＮＯの場合）、ＲＡＭ１１３に記憶された第２暫定時間が最終的に結合時間として設定される。
【００７１】
ＣＰＵ１１１は、ＲＡＭ１１３に記憶した結合時間分の単位音データが、第２記憶部１５Ｂ（図２参照）に記憶されているか判断する（Ｓ２５）。ＣＰＵ１１１は、結合時間分の単位音データが第２記憶部１５Ｂに記憶されていないと判断した場合（Ｓ２５：ＮＯ）、処理をＳ３１に進める。ＣＰＵ１１１は、結合時間分の単位音データが第２記憶部１５Ｂに記憶されていると判断した場合（Ｓ２５：ＹＥＳ）、結合時間分の単位音データを含む通信パケットを生成する（Ｓ２７）。具体的には、Ｓ２３の処理によって設定された結合時間が２０ｍｓの場合、１つの単位音データを含む通信パケットが生成される。同様に、結合時間が４０ｍｓの場合には２つ、結合時間が６０ｍｓの場合には３つ、結合時間が８０ｍｓの場合には４つ、結合時間が１００ｍｓの場合には５つ、結合時間が１２０ｍｓの場合には６つの単位音データを含む通信パケットが生成される。ＣＰＵ１１１は、生成した通信パケットを、ネットワーク２０を介してサーバ装置１６に送信する（Ｓ２９）。なお、サーバ装置１６は、通信装置１１から送信された通信パケットを受信し、通信装置１２、１３に対して通信パケットを送信する。従ってＣＰＵ１１１は、Ｓ２９の処理によって、サーバ装置１６を介して通信装置１２、１３に通信パケットを送信していることになる。
【００７２】
なお、ＣＰＵ１１１は、２０ｍｓ×Ｎ分の単位音データを、２０ｍｓ×Ｎで生成して第２記憶部１５Ｂに記憶する。従ってＣＰＵ１１１が、結合時間を２０ｍｓ×Ｎに設定し、２０ｍｓ×Ｎ分の単位音データが第２記憶部１５Ｂに記憶されていると判断する場合（Ｓ２５：ＹＥＳ）の周期も、第１記憶部１５Ａに２０ｍｓ×Ｎ分のサンプリングデータが記憶される時間２０ｍｓ×Ｎになる。このためＣＰＵ１１１は、Ｓ２７で生成した通信パケットを、結合時間の周期でサーバ装置１６に送信することになる。
【００７３】
ＣＰＵ１１１は、遠隔会議を終了させるための入力操作を、入力部１１８を介して検出したか判断する（Ｓ３１）。ＣＰＵ１１１は、遠隔会議を終了させるための入力操作を検出しないと判断した場合（Ｓ３１：ＮＯ）、処理をＳ１５に戻す。ＣＰＵ１１１は、遠隔会議を終了させるための入力操作を検出したと判断した場合（Ｓ３１：ＹＥＳ）、装置第１処理を終了させる。
【００７４】
図１２、図１３を参照し、サーバ装置１６のＣＰＵ１６１によって実行されるサーバ第１処理、及び、サーバ第２処理を説明する。ＣＰＵ１６１は、特定の会議室に対応するＵＲＬに対して、少なくとも１つの通信装置１５からアクセスを受け付けた場合、特定の会議室に対応するセッションを、少なくとも１つの通信装置１５との間で確立させる。サーバ第１処理及びサーバ第２処理は、セッションが確立された場合に、記憶部１６４に記憶されたプログラムをＣＰＵ１６１が実行することによって開始される。サーバ第１処理、及び、サーバ第２処理は、会議室に対応するセッション毎に実行される。特定のセッションに対応するサーバ第１処理及びサーバ第２処理は、他のセッションに対応するサーバ第１処理及びサーバ第２処理と並列して実行される。又、特定のセッションに対応するサーバ第１処理、及び、サーバ第２処理同士も並列して実行される。 
【００７５】
図１２を参照し、サーバ第１処理を説明する。ＣＰＵ１６１は、通信装置１５から送信された計測パケットを受信したか判断する（Ｓ１５１）。ＣＰＵ１６１は、計測パケットを受信しないと判断した場合（Ｓ１５１：ＮＯ）、処理をＳ１５５に進める。ＣＰＵ１６１は、計測パケットを受信したと判断した場合（Ｓ１５１：ＹＥＳ）、計測パケットを送信した通信装置１５に対して、受信した計測パケットを返信する（Ｓ１５３）。ＣＰＵ１６１は処理をＳ１５５に進める。なお、通信装置１５のＣＰＵ１１１は、装置第３処理（図６参照）において、サーバ装置１６に対して計測パケットを送信し、サーバ装置１６から計測パケットを受信することによって、ジッタを算出する（Ｓ１１９、図６参照）。
【００７６】
ＣＰＵ１６１は、特定の会議室について確立された状態のセッションが終了したか判断する（Ｓ１５５）。ＣＰＵ１１１は、特定の会議室に対応するセッションが継続して確立されていると判断した場合（Ｓ１５５：ＮＯ）、処理をＳ１５１に戻す。ＣＰＵ１１１は、特定の会議室について確立された状態のセッションが終了したと判断した場合（Ｓ１５５：ＹＥＳ）、サーバ第１処理を終了させる。
【００７７】
図１３を参照し、サーバ第２処理を説明する。ＣＰＵ１６１は、通信装置１５から送信された第１通知パケットを受信したか判断する（Ｓ１７１）。ＣＰＵ１６１は、第１通知パケットを受信しないと判断した場合（Ｓ１７１：ＮＯ）、処理をＳ１７５に進める。ＣＰＵ１６１は、第１通知パケットを受信したと判断した場合（Ｓ１７１：ＹＥＳ）、受信した第１通知パケットに含まれる装置ＩＤ及びジッタを取得する。ＣＰＵ１６１は、取得したＩＤ及びジッタを含む第２通知パケットを生成する。ＣＰＵ１６１は、第１通知パケットを送信した通信装置１５が参加する遠隔会議の会議ＩＤを、管理テーブルに基づいて特定する。ＣＰＵ１６１は、管理テーブルのうち特定した会議ＩＤと同一の会議ＩＤに対応付けたれた装置ＩＤを、共通の遠隔会議に参加する通信装置１５の装置ＩＤとして特定する。ＣＰＵ１６１は、特定した装置ＩＤの通信装置１５に対して、生成した第２通知パケットを送信する（Ｓ１７３）。ＣＰＵ１６１は処理をＳ１７５に進める。なお、通信装置１５のＣＰＵ１１１は、装置第４処理（図７参照）において、サーバ装置１６から第２通知パケットを受信し、テーブル１１４２に装置ＩＤ及びジッタを対応付けて格納する（Ｓ１３５、図７参照）。
【００７８】
ＣＰＵ１６１は、特定の会議室について確立された状態のセッションが終了したか判断する（Ｓ１７５）。ＣＰＵ１１１は、特定の会議室に対応するセッションが継続して確立されていると判断した場合（Ｓ１７５：ＮＯ）、処理をＳ１７１に戻す。ＣＰＵ１１１は、特定の会議室について確立された状態のセッションが終了したと判断した場合（Ｓ１７５：ＹＥＳ）、サーバ第２処理を終了させる。
【００７９】
以上説明したように、通信装置１１のＣＰＵ１１１は、通信状態が第１状態であるか第２状態であるかに応じて、第１暫定時間及び第２暫定時間を設定し（Ｓ１９、Ｓ２１）、結合時間を設定する（Ｓ２３）。結合時間は、１つのパケットに含める単位音データの基となる音の時間であり、通信パケットの送信周期でもある。ＣＰＵ１１１は、通信状態に応じて結合時間を設定することによって、遠隔会議に参加する通信装置１２、１３に対して通信パケットを送信する場合の送信周期を調整できる。通信装置１１から長い周期で通信パケットが通信装置１２、１３に送信される程、ジッタは小さくなる可能性が高くなる。ジッタが小さい程、単位音データに基づいて通信装置１２、１３から出力される音の品質は良好となる。従ってＣＰＵ１１１は、通信状態に応じて結合時間を設定し、ジッタを適正化することによって、遠隔会議における通信品質の劣化を抑制できる。
【００８０】
通信装置１１のＣＰＵ１１１は、設定した第１暫定時間及び第２暫定時間のうち大きい方の時間を、結合時間として最終的に決定する（Ｓ２３）。即ち、ＣＰＵ１１１は、異なる方法で設定した第１暫定時間及び第２暫定時間のうち、ジッタの抑制効果がより大きい方を結合時間として最終的に設定する。このためＣＰＵ１１１は、遠隔会議における通信品質の劣化を適切に抑制できる。
【００８１】
通信装置１１のＣＰＵ１１１は、サーバ装置１６に対して計測パケットを送信し（Ｓ１０５）てから、サーバ装置１６から返信される計測パケットを受信する（Ｓ１０７）までの時間の変動の程度を、ジッタとして算出する（Ｓ１１９）。ＣＰＵ１１１は、遠隔会議に参加する全ての通信装置１１、１２、１３の夫々のＣＰＵ１１１によって算出されたジッタを取得し（Ｓ１３１、Ｓ１３３）、複数の合成ジッタを算出する（Ｓ４５）。ＣＰＵ１１１は、算出した複数の合成ジッタのうち最大ジッタに基づいて通信状態を決定し（Ｓ５０）、第１暫定時間を設定する（Ｓ５１）。ＣＰＵ１１１は、第１暫定時間と第２暫定時間とに基づいて、結合時間を最終的に設定する（Ｓ２３）。ＣＰＵ１１１は、設定した結合時間の周期で、通信パケットを送信する（Ｓ２９）。
【００８２】
ＣＰＵ１１１が第１暫定時間を設定する場合に使用するテーブル１１４１では、最大ジッタが大きい程、大きな値の結合時間が対応付けられている。即ち、最大ジッタが大きい程、大きな値の結合時間が第１暫定時間として決定される。通信装置１１から送信される通信パケットの送信周期が長くなる程、ジッタは小さくなる可能性が高い。これに対してＣＰＵ１１１は、上記の処理によって、最大ジッタが大きい程、結合時間を長くして通信パケットの送信周期を長くすることができる。従ってＣＰＵ１１１は、最大ジッタが大きい程、通信パケットの送信周期を長くしてジッタを効果的に抑制できる。これによってＣＰＵ１１１は、遠隔会議時の通信品質の劣化を効果的に抑制できる。
【００８３】
又上記において、通信装置１１のＣＰＵ１１１は、算出した複数の合成ジッタのうち最大ジッタに基づいて通信状態を決定し（Ｓ５０）、第１暫定時間を設定する（Ｓ５１）。第１暫定時間が結合時間として最終的に設定された場合、遠隔会議に参加する通信装置１２、１３のうち、通信状態がより不安定な通信装置１２、１３の何れかとの間のジッタが適正化される。従ってＣＰＵ１１１は、遠隔会議に参加する全ての通信装置１２、１３との間の通信品質の劣化を効果的に抑制できる。
【００８４】
共有資料パケットが通信装置１１から送信される場合、共有資料パケットに含まれるデータのサイズは大きいので、ジッタは大きくなる可能性が高い。これに対して、ＣＰＵ１１１は、共有資料データを送信していると判断した場合（Ｓ６１：ＹＥＳ）、第２暫定時間を最大（１２０ｍｓ）にし（Ｓ６７）、共有資料パケットを送信する周期を長くすることによって、ジッタを抑制できる。これによってＣＰＵ１１１は、共有資料パケットが送信されることでネットワーク２０の通信状態が不安定になった場合も、遠隔会議における通信品質の劣化を抑制できる。
【００８５】
フレーム内圧縮映像のデータを含む映像パケットが通信装置１１から送信される場合、映像パケットに含まれるデータのサイズは大きいので、ジッタは大きくなる可能性が高い。これに対して、ＣＰＵ１１１は、フレーム内圧縮映像のデータを含む映像パケットを送信していると判断した場合（Ｓ６５：ＹＥＳ）、第２暫定時間を最大（１２０ｍｓ）にし（Ｓ６７）、映像パケットを送信する周期を長くすることによって、ジッタを抑制できる。これによってＣＰＵ１１１は、フレーム内圧縮映像のデータを含む映像データが送信されることでネットワーク２０の通信状態が不安定になった場合も、遠隔会議における通信品質の劣化を抑制できる。
【００８６】
ＣＰＵ１１１は、２０ｍｓ分の音のサンプリングデータが第１記憶部１５Ａに記憶された場合、サンプリングデータを圧縮することによって単位音データを生成する（Ｓ８７）。上記のように、単位音データの生成周期は、２０ｍｓ分のサンプリングデータが第１記憶部１５Ａに記憶されるときの時間２０ｍｓと同じである。又、ＣＰＵ１１１は、２０ｍｓ、４０ｍｓ、６０ｍｓ、８０ｍｓ、１００ｍｓ、及び１２０ｍｓの何れかの時間を、結合時間として設定する。（Ｓ１９、Ｓ２１、Ｓ２３）。通信パケットは、結果として、結合時間の周期で通信装置１１から送信される（Ｓ２９）ので、単位音データの生成周期２０ｍｓの整数倍の周期２０ｍｓ×Ｎで送信されることになる。従ってＣＰＵ１１１は、結合時間２０ｍｓ×Ｎ分のサンプリングデータが第１記憶部１５Ａに記憶されるタイミングで、結合時間２０ｍｓ×Ｎ分の単位音データを含む通信パケットを送信できる。従ってＣＰＵ１１１は、サンプリングデータから単位音データを効率的に生成し、結合時間分の単位音データを含む通信パケットを遅滞なく送信できる。
【００８７】
本発明は上記実施形態に限定されず、種々の変更が可能である。上記実施形態では、サンプリングデータを圧縮することによって単位音データが生成され（Ｓ８７）、次いで、設定された結合時間に対応する数の単位音データを含む通信パケットが生成された（Ｓ２７）。これに対し、設定された結合時間分のサンプリングデータが圧縮されることによって得られる圧縮データを、通信パケットに含めてもよい。以下説明する。通信装置１１のＣＰＵ１１１は、上記の実施形態と同様の方法で結合時間を決定した後、装置第２処理（図５参照）において、結合時間分のサンプリングデータが第１記憶部１５Ａに記憶されているかを判断してもよい（Ｓ８３）。ＣＰＵ１１１は、結合時間分のサンプリングデータが第１記憶部１５Ａに記憶されていると判断した場合（Ｓ８３：ＹＥＳ）、結合時間分のサンプリングデータを取得してもよい（Ｓ８５）。ＣＰＵ１１１は、取得した結合時間分のサンプリングデータを圧縮し、音データとして生成してもよい（Ｓ８７）。ＣＰＵ１１１は、生成した音データを第２記憶部１５Ｂに記憶してもよい（Ｓ８９）。この場合、ＣＰＵ１１１は、装置第１処理（図４参照）のＳ２５において、結合時間分の音データが第２記憶部１５Ｂに記憶されていると常に判断してもよい（Ｓ８９：ＹＥＳ）。ＣＰＵ１１１は、結合時間分の音データを含む通信パケットを生成し（Ｓ２７）、結合時間の周期で通信パケットを送信してもよい（Ｓ２９）。
【００８８】
通信装置１１のＣＰＵ１１１は、装置第１処理（図４参照）において、Ｓ２３の処理を行うことによって、第１暫定時間及び第２暫定時間のうち大きい値を、結合時間として最終的に設定した。これに対してＣＰＵ１１１は、第１暫定時間を結合時間として最終的に設定してもよいし、第２暫定時間を結合時間として最終的に設定してもよい。更に、ＣＰＵ１１１は、第１暫定時間及び第２暫定時間のうち何れを結合時間とするかを、設定によって切り替えられるようにしてもよい。ＣＰＵ１１１は、Ｓ２９の処理を行う場合、Ｓ２３で設定した結合時間の周期を計測し、通信パケットの送信タイミングを決定してもよい。ＣＰＵ１１１は、送信タイミングが到来したと判断した場合、Ｓ２７の処理によって生成した通信パケットをサーバ装置１６に送信してもよい。
【００８９】
通信装置１１のＣＰＵ１１１は、第１設定処理（図９参照）において、通信装置１１が計測したジッタと、通信装置１２、１３が計測した複数のジッタとの夫々とに基づいて、複数の合成ジッタを算出した（Ｓ４５）。ＣＰＵ１１１は、算出した複数の合成ジッタのうち最大ジッタをテーブル１１４１に適用し、通信状態を決定して第１暫定時間を設定した（Ｓ５０、Ｓ５１）。これに対してＣＰＵ１１１は、通信装置１１〜１３の夫々が計測した複数のジッタのうち最大のジッタを、最大ジッタとして選択し、通信状態を決定して第１暫定時間を設定してもよい。又は、ＣＰＵ１１１は、通信装置１１が計測したジッタをテーブル１１４１に適用し、通信状態を決定して第１暫定時間を設定してもよい。ＣＰＵ１１１は、ジッタと結合時間との関係を示す所定の関係式をテーブル１１４１の代わりに用いることによって、第１暫定時間を設定してもよい。
【００９０】
通信装置１１のＣＰＵ１１１は、第２設定処理（図１１参照）において、共有資料パケット及び映像パケットの送信状態、及び、映像パケットに含まれる映像の種別に応じて、通信状態を決定し第２暫定時間を設定した。これに対して、ＣＰＵ１１１は、通信パケットに含めるデータのサイズを取得し、取得したデータのサイズに応じて、通信状態を決定し第２暫定時間を設定してもよい。例えばＣＰＵ１１１は、取得したデータのサイズが所定閾値よりも小さい場合に第１状態であると決定して２０ｍｓを第２暫定時間として設定し、取得したデータのサイズが所定閾値以上の場合に第２状態であると決定して１２０ｍｓを第２暫定時間として設定してもよい。
【００９１】
ＣＰＵ１１１は、装置第２処理（図５参照）において、Ｓ８７の処理を実行することによって、２０ｍｓ分の音のサンプリングデータを圧縮し、単位音データを生成した。これに対してＣＰＵ１１１は、２０ｍｓ以外の所定時間分の音のサンプリングデータを圧縮し、単位音データを生成してもよい。結合時間としてとり得る最小の時間は、２０ｍｓに限らず、他の任意の時間であってもよい。単位音データの音の時間と、結合時間としてとり得る最小の時間とは異なっていてもよい。第１記憶部１５Ａ及び第２記憶部１５Ｂは、ＲＡＭ１１３と異なる記憶デバイスに記憶されてもよい。
【００９２】
ＣＰＵ１１１は、装置第３処理（図６参照）において、サーバ装置１６に計測パケットを送信するときの時刻ｔ１と、サーバ装置１６から計測パケットを受信したときの時刻ｔ２とに基づいて、遅延時間を算出した。この遅延時間には、計測パケットが通信装置１１からサーバ装置１６まで伝達する場合の伝達時間、及び、計測パケットがサーバ装置１６から通信装置１１まで伝達する場合の伝達時間が含まれている。これに対して、ＣＰＵ１１１は、計測パケットが通信装置１１からサーバ装置１６まで伝達する場合の伝達時間、又は、計測パケットがサーバ装置１６から通信装置１１まで伝達する場合の伝達時間を、遅延時間としてもよい。ＣＰＵ１１１は、遠隔会議に参加する通信装置１２、１３宛の計測パケットを、サーバ装置１６に送信してもよい。サーバ装置１６のＣＰＵ１６１は、通信装置１１から送信された計測パケットを受信した場合、受信した計測パケットを通信装置１２、１３に転送してもよい。通信装置１２、１３の夫々のＣＰＵ１１１は、サーバ装置１６から計測パケットを受信した場合、サーバ装置１６に対して計測パケットを返信してもよい。サーバ装置１６のＣＰＵ１６１は、通信装置１２、１３から計測パケットを受信した場合、受信した計測パケットを通信装置１１に転送してもよい。通信装置１１のＣＰＵ１１１は、サーバ装置１６から送信された計測パケットを受信した場合、計測パケットを送信したときの時刻と、計測パケットを受信したときの時刻とに基づいて、遅延時間を算出してもよい。ＣＰＵ１１１は、サイズの異なる複数のデータの夫々含む複数の計測パケットを、順番に送信してもよい。ＣＰＵ１１１は、標準偏差の代わりに平均値をジッタとして算出してもよい。
【００９３】
例えば、通信装置１１のＣＰＵ１１１は、装置第１処理を開始した場合、メールアドレス及びパスワードを入力可能な画面を表示部１１６に表示させてもよい。ＣＰＵ１１１は、メールアドレス及びパスワードの入力操作を入力部１１８を介して検出した場合、次に、入力されたメールアドレス及びパスワードに対応するユーザが参加可能な少なくとも１つの遠隔会議を特定してもよい。ＣＰＵ１１１は、特定した少なくとも１つの遠隔会議を選択可能な画面を、表示部１１６に表示させてもよい。これによってユーザは、表示部１１６に表示された少なくとも１つの遠隔会議の何れかを選択することによって、選択した遠隔会議に参加することが可能となる。
【００９４】
又、ＣＰＵ１１１は、入力されたメールアドレス及びパスワードをサーバ装置１６に送信してもよい。サーバ装置１６のＣＰＵ１６１は、受信したメールアドレス及びパスワードによってユーザを認証してもよい。ＣＰＵ１６１は、認証に成功した場合、ユーザが参加可能な少なくとも１つの遠隔会議を特定し、特定した少なくとも１つの遠隔会議の会議ＩＤを通信装置１５に送信してもよい。通信装置１５のＣＰＵ１１１は、サーバ装置１６から受信した会議ＩＤに基づいて、入力されたメールアドレス及びパスワードに対応するユーザが参加可能な少なくとも１つの遠隔会議を特定してもよい。
【００９５】
ＣＰＵ１１１は、通信装置１１の装置ＩＤと、ユーザに選択された遠隔会議の会議ＩＤとを含む要求パケットを、サーバ装置１６に送信してもよい。サーバ装置１６のＣＰＵ１６１は、要求パケットを受信した場合、要求パケットに含まれる装置ＩＤ及び会議ＩＤを関連付け、記憶部１６４に記憶された管理テーブルに格納してもよい。
【００９６】
ＣＰＵ１１１は、Ｓ１１の処理によって、少なくとも１つの遠隔会議を選択する入力操作を、入力部１１８を介して検出したか判断してもよい。ＣＰＵ１１１は、遠隔会議を選択する入力操作を検出した場合（Ｓ１１：ＹＥＳ）、選択された遠隔会議を開始してもよい。
【００９７】
Ｓ８３は本発明の「第１判断手段」の一例である。Ｓ８７の処理は本発明の「第１生成手段」の一例である。Ｓ８９の処理が本発明の「記憶手段」の一例である。Ｓ４９、Ｓ６１、Ｓ６３、Ｓ６５の処理が本発明の「決定手段」の一例である。Ｓ２３、Ｓ５１、Ｓ６７、Ｓ６９の処理が本発明の「設定手段」の一例である。Ｓ２５の処理が本発明の「第２判断手段」の一例である。Ｓ２７の処理が本発明の「第２生成手段」の一例である。Ｓ２９の処理が本発明の「送信手段」の一例である。装置第３処理（Ｓ１０１〜Ｓ１２３）は本発明の「計測手段」の一例である。テーブル１１４１において、最も大きい第１暫定時間に対応付けられたジッタ範囲である５０ｍｓ未満の任意の値が本発明の「第１値」の一例であり、５０ｍｓ以上の任意の値が本発明の「第２値」の一例である。Ｓ６１、Ｓ６３の処理が本発明の「判断手段」の一例である。Ｓ８３の処理を行うＣＰＵ１１１は本発明の「第１判断手段」の一例である。Ｓ８７の処理を行うＣＰＵ１１１は本発明の「第１生成手段」の一例である。Ｓ８９の処理を行うＣＰＵ１１１が本発明の「記憶手段」の一例である。Ｓ４９、Ｓ６１、Ｓ６３、Ｓ６５の処理を行うＣＰＵ１１１が本発明の「決定手段」の一例である。Ｓ２３、Ｓ５１、Ｓ６７、Ｓ６９の処理を行うＣＰＵ１１１が本発明の「設定手段」の一例である。Ｓ２５の処理を行うＣＰＵ１１１が本発明の「第２判断手段」の一例である。Ｓ２７の処理を行うＣＰＵ１１１が本発明の「第２生成手段」の一例である。Ｓ２９の処理を行うＣＰＵ１１１が本発明の「送信手段」の一例である。
【符号の説明】
【００９８】
１        遠隔会議システム
１１、１２、１３、１５  通信装置
１５Ａ    第１記憶部
１５Ｂ    第２記憶部
１６      サーバ装置
１１１    ＣＰＵ
１１３    ＲＡＭ
１１４    ＨＤＤ
１５１    サンプリングデータ
１５２    単位音データ
１６１    ＣＰＵ
１１４１  テーブル
１１４２  テーブル
【図１】
2015106768.tif 000003
【図２】
2015106768.tif 000004
【図３】
2015106768.tif 000005
【図４】
2015106768.tif 000006
【図５】
2015106768.tif 000007
【図６】
2015106768.tif 000008
【図７】
2015106768.tif 000009
【図８】
2015106768.tif 000010
【図９】
2015106768.tif 000011
【図１０】
2015106768.tif 000012
【図１１】
2015106768.tif 000013
【図１２】
2015106768.tif 000014
【図１３】
2015106768.tif 000015