(57)【要約】【課題】容易に導入可能な、ＴＣＰ−ＩＰネットワーク上で音声通話を行う情報処理方法等を提供すること。【解決手段】情報処理方法は、送信先の選択を受け付け、マイク２６を介して取得した音声を圧縮して音声データを生成し、受け付けた送信先に関連づけられた宛先情報と、生成した音声データとを、ポート４４３またはポート８０を介してネットワークに送信し、前記ネットワークに接続された記録部に、前記宛先情報と前記音声データとを関連づけて記録し、前記記録部に新たな音声データが記録された場合に、前記音声データを、該音声データに関連づけられた宛先情報に基づいて特定される情報処理装置２０に対して送信し、前記情報処理装置２０は、前記音声データを受信し、受信した音声データを音声により出力する。【選択図】図１
2018174487.tif 000002
【特許請求の範囲】
【請求項１】
送信先の選択を受け付け、
マイクを介して取得した音声を圧縮して音声データを生成し、
受け付けた送信先に関連づけられた宛先情報と、生成した音声データとを、ポート４４３またはポート８０を介してネットワークに送信し、
前記ネットワークに接続された記録部に、前記宛先情報と前記音声データとを関連づけて記録し、
前記記録部に新たな音声データが記録された場合に、前記音声データを、該音声データに関連づけられた宛先情報に基づいて特定される情報処理装置に対して送信し、
前記情報処理装置は、前記音声データを受信し、
受信した音声データを音声により出力する
情報処理方法。
【請求項２】
生成開始の指示を取得して、前記音声を圧縮した前記音声データの生成を開始し、
生成終了の指示を取得して、前記音声データの生成を終了し、
生成を終了した前記音声データを送信する
請求項１に記載の情報処理方法。
【請求項３】
マイクを介して取得した音声を時系列的に分割して、分割したそれぞれの部分を圧縮して音声データを生成し、
前記音声データを逐次送信し、
前記宛先情報と、送信された前記音声データを受信して送信された順番に基づいて結合した音声データとを関連づけて、前記記録部に記録する
請求項１に記載の情報処理方法。
【請求項４】
前記記録部との間の回線能力を取得し、
取得した回線能力が所定の能力以上である場合に、
マイクを介して取得した音声を時系列的に分割して、分割したそれぞれの部分を圧縮して音声データを生成し、
前記音声データを逐次送信し、
取得した回線能力が所定の能力未満である場合に、
生成開始の指示を取得して、前記音声を圧縮した前記音声データの生成を開始し、
生成終了の指示を取得して、前記音声データの生成を終了し、
生成を終了した前記音声データを送信する
請求項１に記載の情報処理方法。
【請求項５】
前記送信先の候補を表示し、
表示した候補から送信先の選択を受け付ける
請求項１から請求項４のいずれか一つに記載の情報処理方法。
【請求項６】
前記送信先の候補がオンライン状態であるかオフライン状態であるかを取得し、
取得した前記候補の状態を表示し、
表示した候補から送信先の選択を受け付ける
請求項５に記載の情報処理方法。
【請求項７】
前記記録部に、前記宛先情報と前記音声データとに加えて該音声データの送信結果を記録し、
前記記録部から取得した宛先情報と送信結果とを関連づけて表示する
請求項１から請求項６のいずれか一つに記載の情報処理方法。
【請求項８】
前記音声データはＯｇｇ形式またはｍｐ３形式である
請求項１から請求項７のいずれか一つに記載の情報処理方法。
【請求項９】
複数の情報処理装置とサーバコンピュータとがネットワークで接続された情報処理システムにおいて、
前記情報処理装置は、
送信先の選択を受け付ける受付部と、
マイクを介して取得した音声を圧縮して音声データを生成する生成部と、
前記受付部が受け付けた送信先に関連づけられた宛先情報と、前記生成部が生成した音声データとをポート４４３またはポート８０を介してネットワークに送信する第１送信部と、
前記サーバコンピュータにより送信された音声データを受信する受信部と、
前記受信部が受信した音声データを出力するスピーカとを備え、
前記サーバコンピュータは、
前記第１送信部により送信された音声データと宛先情報とを関連づけて記録する記録部と、
前記記録部に新たな音声データが記録された場合に、前記音声データを、該音声データに関連づけられた宛先情報に基づいて特定される情報処理装置に対して送信する第２送信部とを備える
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理方法および情報処理システムに関する。
【背景技術】
【０００２】
ＴＣＰ−ＩＰ（Transmission Control Protocol - Internet Protocol）ネットワーク上で音声通話用の構内交換機を実現するＩＰ−ＰＢＸ（Internet Protocol Private Branch eXchange）、および、クラウド上でＰＢＸ（Private Branch eXchange）機能を提供するクラウドＰＢＸが提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１１５７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
企業内ＬＡＮ（Local Area Network）は、プライベートＩＰ（Internet Protocol）アドレスとグローバルＩＰアドレスとを相互に変換するゲートウェイを有する場合が多い。このようなネットワークでＩＰ−ＰＢＸまたはクラウドＰＢＸを利用するためには、いわゆるＮＡＴ（Network Address Translation）越えを行う設定が必要である。
【０００５】
しかしながら、ＮＡＴ越えの設定を正しく行うためには、ネットワーク技術に関する専門知識が必要である。また、ネットワークセキュリティポリシーにより、ＮＡＴ越えを原則として禁止する企業もある。そのため、特許文献１に開示されたＩＰ−ＰＢＸおよびクラウドＰＢＸを導入するのは、技術面および手続面での困難がある。
【０００６】
一つの側面では、容易に導入可能な、ＴＣＰ−ＩＰネットワーク上で音声通話を行う情報処理方法等を提供することを目的とする。
【課題を解決するための手段】
【０００７】
情報処理方法は、送信先の選択を受け付け、マイクを介して取得した音声を圧縮して音声データを生成し、受け付けた送信先に関連づけられた宛先情報と、生成した音声データとを、ポート４４３またはポート８０を介してネットワークに送信し、前記ネットワークに接続された記録部に、前記宛先情報と前記音声データとを関連づけて記録し、前記記録部に新たな音声データが記録された場合に、前記音声データを、該音声データに関連づけられた宛先情報に基づいて特定される情報処理装置に対して送信し、前記情報処理装置は、前記音声データを受信し、受信した音声データを音声により出力する。
【発明の効果】
【０００８】
一つの側面では、容易に導入可能な、ＴＣＰ−ＩＰネットワーク上で音声通話を行う情報処理方法等を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】情報処理システムの構成を示す説明図である。
【図２】情報処理システムの動作を説明する説明図である。
【図３】情報処理システムの動作を説明する説明図である。
【図４】ユーザＤＢのレコードレイアウトを示す説明図である。
【図５】第１音声ＤＢのレコードレイアウトを示す説明図である。
【図６】送信ＤＢのレコードレイアウトを示す説明図である。
【図７】電話帳マスタＤＢのレコードレイアウトを示す説明図である。
【図８】電話帳ＤＢのレコードレイアウトを示す説明図である。
【図９】受信ＤＢのレコードレイアウトを示す説明図である。
【図１０】クライアントが表示する画面を示す説明図である。
【図１１】プログラムの処理の流れを示すフローチャートである。
【図１２】実施の形態２の情報処理システムの動作を説明する説明図である。
【図１３】実施の形態２のクライアントが表示する画面を示す説明図である。
【図１４】実施の形態２のプログラムの処理の流れを示すフローチャートである。
【図１５】分割送信のサブルーチンの処理の流れを示すフローチャートである。
【図１６】実施の形態３のクライアントが表示する画面を示す説明図である。
【図１７】実施の形態３のプログラムの処理の流れを示すフローチャートである。
【図１８】送信のサブルーチンの処理の流れを示すフローチャートである。
【図１９】実施の形態４の情報処理システムの動作を示す機能ブロック図である。
【図２０】実施の形態５の情報処理システムの構成を示す説明図である。
【発明を実施するための形態】
【００１０】
［実施の形態１］
図１は、情報処理システム１０の構成を示す説明図である。情報処理システム１０は、インターネット等のＴＣＰ−ＩＰネットワークを介して接続されたサーバコンピュータ４０および複数のクライアント２０を備える。サーバコンピュータ４０およびクライアント２０は、ＨＴＴＰ（Hypertext Transfer Protocol）またはＨＴＴＰＳ（Hypertext Transfer Protocol Secure）のプロトコルを用いて通信を行う。
【００１１】
本実施の形態の情報処理システム１０は、ＴＣＰ−ＩＰネットワークおよびサーバコンピュータ４０の補助記憶装置４３を介して、クライアント２０同士の間の音声通信を行う。
【００１２】
クライアント２０は、クライアントＣＰＵ（Central Processing Unit）２１、主記憶装置２２、補助記憶装置２３、通信部２４、入力部２５、マイク２６、スピーカ２７、表示部２８およびバスを備える。クライアントＣＰＵ２１は、本実施の形態のプログラムを実行する演算制御装置である。クライアントＣＰＵ２１には、一または複数のＣＰＵまたはマルチコアＣＰＵ等が使用される。クライアントＣＰＵ２１は、バスを介してクライアント２０を構成するハードウェア各部と接続されている。
【００１３】
主記憶装置２２は、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、フラッシュメモリ等の記憶装置である。主記憶装置２２には、クライアントＣＰＵ２１が行う処理の途中で必要な情報およびクライアントＣＰＵ２１で実行中のプログラムが一時的に保存される。
【００１４】
補助記憶装置２３は、ＳＲＡＭ、フラッシュメモリ、ハードディスクまたは磁気テープ等の記憶装置である。補助記憶装置２３には、クライアントＣＰＵ２１に実行させるプログラム、電話帳ＤＢ（Database）６４、受信ＤＢ６５、第２音声ＤＢ６６およびプログラムの実行に必要な各種データが保存される。なお、電話帳ＤＢ６４、受信ＤＢ６５および第２音声ＤＢ６６は、クライアント２０に接続された外部の大容量記憶装置等に保存されていても良い。
【００１５】
本実施の形態のプログラムの開始時には、電話帳ＤＢ６４、受信ＤＢ６５および第２音声ＤＢ６６は、補助記憶装置２３に記憶されていない。これらのＤＢは、本実施の形態のプログラムの処理により生成されて、補助記憶装置２３に記憶される。
【００１６】
通信部２４は、クライアント２０とネットワークとの間の通信を行うインターフェイスである。入力部２５は、たとえばキーボードおよびマウス等である。表示部２８は、たとえば液晶表示パネル等である。入力部２５と表示部２８とは、一体となっていわゆるタッチパネルを構成しても良い。
【００１７】
マイク２６およびスピーカ２７は、クライアント２０の外部に接続されていても良い。スピーカ２７およびマイク２６は、ＢＬＵＥＴＯＯＴＨ（登録商標）のような短距離無線通信方式によりクライアント２０に接続されたヘッドセットであっても良い。
【００１８】
本実施の形態のクライアント２０は、汎用のパーソナルコンピュータ、タブレット、スマートフォン等の情報処理装置である。本実施の形態のクライアント２０は、大型計算機上で動作する仮想マシンでも良い。
【００１９】
クライアント２０は、ゲートウェイ１５およびアクセスポイント１６を介してネットワークに接続されている。ゲートウェイ１５は、プライベートＩＰアドレスとグローバルＩＰアドレスとを変換する。一つのゲートウェイ１５には、複数のクライアント２０を接続可能である。アクセスポイント１６は、無線によるネットワークへの接続を可能にする。なお、グローバルＩＰアドレスを付与されたクライアント２０は、ゲートウェイ１５を介さずにネットワークに接続することができる。
【００２０】
サーバコンピュータ４０は、サーバＣＰＵ４１、主記憶装置４２、補助記憶装置４３、通信部４４およびバスを備える。サーバＣＰＵ４１は、本実施の形態のプログラムを実行する演算制御装置である。サーバＣＰＵ４１には、一または複数のＣＰＵまたはマルチコアＣＰＵ等が使用される。サーバＣＰＵ４１は、バスを介してサーバコンピュータ４０を構成するハードウェア各部と接続されている。
【００２１】
主記憶装置４２は、ＳＲＡＭ、ＤＲＡＭ、フラッシュメモリ等の記憶装置である。主記憶装置４２には、サーバＣＰＵ４１が行う処理の途中で必要な情報およびサーバＣＰＵ４１で実行中のプログラムが一時的に保存される。
【００２２】
補助記憶装置４３は、ＳＲＡＭ、フラッシュメモリ、ハードディスクまたは磁気テープ等の記憶装置である。補助記憶装置４３には、ユーザＤＢ６１、第１音声ＤＢ６２、送信ＤＢ６３、電話帳マスタＤＢ６７、サーバＣＰＵ４１に実行させるプログラム、およびプログラムの実行に必要な各種データが保存される。なお、ユーザＤＢ６１、第１音声ＤＢ６２および送信ＤＢ６３は、サーバコンピュータ４０に接続された外部の大容量記憶装置等に保存されていても良い。
【００２３】
通信部４４は、サーバコンピュータ４０とネットワークとの間の通信を行うインターフェイスである。
【００２４】
本実施の形態のサーバコンピュータ４０は、汎用のパーソナルコンピュータまたは大型計算機、または、大型計算機上で動作する仮想マシンである。
【００２５】
図２は、情報処理システム１０の動作を説明する説明図である。図２を使用して、１台のクライアント２０から、サーバコンピュータ４０に音声データが送信される動作の概要を説明する。
【００２６】
クライアントＣＰＵ２１は、入力部２５を介して音声を送信する送信先の指定を受け付け、宛先情報を生成する。宛先情報は、送信先のユーザのユーザＩＤを含む。なお、クライアントＣＰＵ２１は、宛先情報に複数の送信先を記録しても良い。クライアントＣＰＵ２１は、入力部２５を介して録音開始の指示を受け付ける。
【００２７】
クライアントＣＰＵ２１は、マイク２６を介してユーザの声を取得する。この際、マイク２６は電気音響変換により音声を電気信号に変換した後に、Ａ／Ｄ（Analog-Digital）変換した原音データを出力する。クライアントＣＰＵ２１は、原音データをバイト配列の形式で主記憶装置２２に一時的に記憶する。クライアントＣＰＵ２１は、バイト配列を所定の方式により圧縮して分割音声データを生成する。クライアントＣＰＵ２１は、分割音声データを生成する都度、直前に生成した分割音声データに結合して、音声データを生成する。
【００２８】
入力部２５を介して録音終了の指示を受け付けた場合、クライアントＣＰＵ２１はネットワークを介して宛先情報と音声データとを送信する。原音データ取得と平行して圧縮と結合とを行っているので、クライアントＣＰＵ２１は、録音終了の指示を受け付けた後、速やかに送信を行うことが可能である。
【００２９】
なお、送信に際してクライアントＣＰＵ２１はデータにＴＣＰ−ＩＰネットワークのヘッダを付与する。ヘッダの詳細については、説明を省略する。後述するようにサーバＣＰＵ４１がデータを送信する際も、同様にデータにヘッダを付与する。ヘッダの詳細については、説明を省略する。
【００３０】
サーバＣＰＵ４１は、宛先情報と音声データとを補助記憶装置４３に記憶する。記憶するＤＢについては、後述する。
【００３１】
図３は、情報処理システム１０の動作を説明する説明図である。図３を使用して、サーバコンピュータ４０の補助記憶装置４３に記憶された音声データが、宛先情報により指定された送信先のクライアント２０に送信される動作の概要を説明する。
【００３２】
補助記憶装置４３に新たな宛先情報および音声データが記録された場合、サーバＣＰＵ４１は、宛先情報に記録されたユーザＩＤ（Identifier）に基づいて送信先のクライアント２０を特定する。
【００３３】
サーバＣＰＵ４１は、特定したクライアント２０に対して、音声データを送信する。送信先のクライアント２０のクライアントＣＰＵ２１は、音声データを受信してスピーカ２７から出力する。
【００３４】
音声データは圧縮されて容量が小さくなっているので、短時間で送信を完了することができる。そのため、図２を使用して説明した録音および送信の操作が完了した後、速やかに送信先のクライアント２０で音声が再生される。したがって、数秒程度の短い音声であれば、トランシーバのような感覚で受け答えを行うことができる。
【００３５】
サーバＣＰＵ４１は、送信者が指定した送信先のクライアント２０に音声データを送信するので、他のクライアント２０のユーザは無関係な音声データに煩わされない。送信者は、複数の送信先を指定することにより、１回の操作で複数の送信先に音声を送ることができる。
【００３６】
前述のとおり、サーバコンピュータ４０およびクライアント２０は、ＨＴＴＰまたはＨＴＴＰＳのプロトコルを用いて通信を行う。すなわち、クライアントＣＰＵ２１とサーバＣＰＵ４１とは、ポート４４３またはポート８０を介して通信を行う。ＷＥＢアクセスが可能な一般的な情報処理装置では、これらのポートは利用可能な状態に設定されているので、特別な設定等を行う必要は無い。
【００３７】
図４は、ユーザＤＢ６１のレコードレイアウトを示す説明図である。ユーザＤＢ６１は、クライアント２０を使用するユーザのユーザＩＤと、名前と、情報の更新日時と、オンラインであるかオフラインであるかの別と、各ユーザが使用するクライアント２０を識別可能な宛先トークンＩＤとを関連づけるＤＢである。
【００３８】
ユーザＤＢ６１は、ユーザＩＤフィールド、名前フィールド、更新日時フィールド、オンラインフィールドおよび宛先トークンＩＤフィールドを有する。ユーザＤＢ６１は、一つのユーザＩＤについて、一つのレコードを有する。
【００３９】
ユーザＩＤフィールドには、ユーザのユーザＩＤが記録される。名前フィールドには、ユーザの名前が記録される。更新日時フィールドには、クライアント２０から受信した情報に基づいてサーバＣＰＵ４１がレコードの記録内容を更新した日時が記録される。
【００４０】
オンラインフィールドには、クライアント２０がオンライン状態であるか否かが記録される。オンラインフィールドの「ＯＮ」はクライアント２０がオンライン状態であることを、「ＯＦＦ」はクライアント２０がオフライン状態であることをそれぞれ示す。ここでオンライン状態とは、本実施の形態のプログラムがアクティブで、サーバコンピュータ４０と通信可能な状態であることを意味する。
【００４１】
宛先トークンＩＤフィールドには、ユーザＩＤフィールドに記録されたユーザＩＤに対応するユーザが使用するクライアント２０を識別する宛先トークンＩＤが記録される。宛先トークンＩＤは、たとえばユーザがクライアント２０を操作して本情報処理システム１０にログオンした際に、サーバＣＰＵ４１により付与される。オフライン状態であるユーザＩＤに対応するレコードについては、宛先トークンＩＤフィールドは空欄である。なお、宛先トークンＩＤは、クライアント２０のＩＰアドレスまたはＭＡＣ（Media Access Control）アドレス等でも良い。
【００４２】
図５は、第１音声ＤＢ６２のレコードレイアウトを示す説明図である。第１音声ＤＢ６２は、クライアント２０のマイク２６を介して取得した音声データのＩＤ、音声を送信した送信者の送信者ＩＤ、送信者の名前、受信日時および音声データを記録したファイルを関連づけるＤＢである。
【００４３】
第１音声ＤＢ６２は、音声ＩＤフィールド、送信者ＩＤフィールド、送信者名フィールド、受信日時フィールドおよび音声データフィールドを有する。第１音声ＤＢ６２は、一つの音声ＩＤについて、一つのレコードを有する。
【００４４】
音声ＩＤフィールドには、音声データの固有のＩＤが記録される。送信者ＩＤフィールドには、音声を送信したクライアント２０のユーザのユーザＩＤが記録される。送信者名フィールドには、送信者の名前が記録される。受信日時フィールドには、サーバコンピュータ４０が音声データを受信した日時が記録される。音声データフィールドには、音声データのファイルが記録される。
【００４５】
第２音声ＤＢ６６は、第１音声ＤＢ６２と同一のレコードレイアウトを有する。第２音声ＤＢ６６は、第１音声ＤＢ６２のレコードのうち、特定のユーザＩＤのユーザが受信したレコードを抽出したＤＢである。
【００４６】
図６は、送信ＤＢ６３のレコードレイアウトを示す説明図である。送信ＤＢ６３は、音声データの送信元と、音声データと、送信先とを関連づけるＤＢである。
【００４７】
送信ＤＢ６３は、送信者ＩＤフィールド、送信者名フィールド、音声ＩＤフィールド、受信日時フィールド、送信先ＩＤフィールド、送信先名フィールドおよび送信状況フィールドを有する。送信ＤＢ６３は、音声データの一つの宛先について、一つのレコードを有する。
【００４８】
送信者ＩＤフィールドには、音声データの送信者のユーザＩＤが記録される。送信者名フィールドには、送信者の名前が記録される。音声ＩＤフィールドには、音声データのＩＤが記録される。受信日時フィールドには、サーバコンピュータ４０が音声データを受信した日時が記録される。送信先ＩＤフィールドには、音声データの送信先のユーザＩＤが記録される。送信先名フィールドには、送信先のユーザの名前が記録される。
【００４９】
送信状況フィールドには、音声データの送信状況が記録される。送信状況フィールドに「済」と記録されている場合は、宛先のクライアント２０に送信済のレコードを意味する。送信状況フィールドに、「未」と記録されている場合は、未送信のレコードを示す。
【００５０】
送信ＤＢ６３は、音声ＤＢ６２と連携して、宛先情報と音声データとを関連づけて記録する本実施の形態の記録部の機能を果たす。
【００５１】
図７は、電話帳マスタＤＢ６７のレコードレイアウトを示す説明図である。電話帳マスタＤＢ６７は、電話帳の管理者のユーザＩＤと、その管理者が電話帳に登録した友人知人等のユーザＩＤとを関連づけて記録するＤＢである。図７は、電話帳マスタＤＢ６７の一つのレコードの例を示す。
【００５２】
電話帳マスタＤＢ６７は、管理者ＩＤフィールド、ユーザＩＤフィールドおよび名前フィールドを有する。電話帳マスタＤＢ６７は、一つの管理者ＩＤについて、一つのレコードを有する。電話帳マスタＤＢ６７は、電話帳を管理する一人のユーザについて、一つのレコードを有する。
【００５３】
管理者ＩＤフィールドには、電話帳を管理するユーザのユーザＩＤが記録される。ユーザＩＤフィールドには、管理者ＩＤフィールドに記録されたユーザが電話帳に登録したユーザのユーザＩＤが記録される。名前フィールドには、ユーザＩＤフィールドに対応するユーザの名前が記録される。
【００５４】
図８は、電話帳ＤＢ６４のレコードレイアウトを示す説明図である。電話帳ＤＢ６４は、ユーザＩＤと、名前と、オンラインであるかオフラインであるかの別とを関連づけるＤＢである。電話帳ＤＢ６４には、それぞれのクライアント２０のユーザの友人、知人等が記録される。
【００５５】
電話帳ＤＢ６４は、ユーザＩＤフィールド、名前フィールドおよびオンラインフィールドを有する。電話帳ＤＢ６４は、一つのユーザＩＤについて、一つのレコードを有する。
【００５６】
ユーザＩＤフィールドには、ユーザのユーザＩＤが記録される。名前フィールドには、ユーザの名前が記録される。オンラインフィールドには、クライアント２０がオンライン状態であるか否かが記録される。
【００５７】
電話帳ＤＢ６４は、電話帳マスタＤＢ６７およびユーザＤＢ６１に基づいて作成される。すなわち、管理者ＩＤフィールドにクライアント２０のユーザのユーザＩＤが記録されたレコードが、電話帳マスタＤＢ６７から抽出される。抽出されたレコードのそれぞれのユーザＩＤフィールドに対応するオンラインフィールドが、ユーザＤＢ６１に基づいて記録される。
【００５８】
図９は、受信ＤＢ６５のレコードレイアウトを示す説明図である。受信ＤＢ６５は、送信者と、音声データＩＤと、受信日時と、再生状況とを関連づけるＤＢである。受信ＤＢ６５は、クライアント２０のユーザが受信した一つの音声ファイルについて一つのレコードを有する。
【００５９】
送信者ＩＤフィールドには、音声データの送信者のユーザＩＤが記録される。送信者名フィールドには、送信者の名前が記録される。音声ＩＤフィールドには、音声データのＩＤが記録される。受信日時フィールドには、サーバコンピュータ４０が音声データを受信した日時が記録される。再生状況フィールドには、音声データの再生状況が記録される。再生状況フィールドに「済」と記録されている場合は、音声ファイルが再生済であることを意味する。再生状況フィールドに「未」と記録されている場合は、音声ファイルが未再生であることを意味する。
【００６０】
図１０は、クライアント２０が表示する画面を示す説明図である。図１０に示す画面は、画面上部に録音ボタン５１、確認ボタン５３および送信ボタン５４を有する。図１０においては、確認ボタン５３および送信ボタン５４は、ユーザによる選択を受け付けない状態である。なお、後述するチェックボックス５６の選択が受け付けられていない場合には、録音ボタン５１もユーザによる選択を受け付けない状態に設定されても良い。
【００６１】
３個のボタンの下に、電話帳ＤＢ６４に基づいて、クライアント２０のユーザの友人知人等の名前とチェックボックス５６とを含む宛先リスト欄５８が表示されている。ユーザは、チェックボックス５６をチェックすることにより、音声を送る相手先を選択できる。
【００６２】
図１０においては、「佐藤」、「高橋」、「田中」、「鈴木」の４名はオンライン状態でありチェックボックス５６の選択を受付け可能であるが、「斉藤」はオフライン状態でありチェックボックス５６は選択を受け付けない。オンライン状態である４名のうち「鈴木」のチェックボックス５６は、選択を受け付けた状態である。
【００６３】
クライアントＣＰＵ２１は、オフライン状態である斉藤のチェックボックス５６の選択を受け付けても良い。この場合には、「斉藤」宛の音声は、サーバＣＰＵ４１により音声ＤＢ６２に記録され、「斉藤」がオンラインになった後に送信される。
【００６４】
画面の下部に、受信リスト欄５７が表示される。受信リスト欄５７は、クライアント２０のユーザが受信した音声ファイルの送信者名、受信日時および再生状況が表形式で表示される。各行の左端に二等辺三角形の再生ボタン５５が表示される。
【００６５】
受信リスト欄５７の表示について説明する。サーバＣＰＵ４１は、送信ＤＢ６３に記録されたレコードのうち、送信先ＩＤフィールドにクライアント２０のユーザのユーザＩＤが記録されている未送信のレコードを抽出して、送信する。サーバＣＰＵ４１は、送信したレコードの送信状況フィールドに「済」を記録する。
【００６６】
クライアントＣＰＵ２１は受信したレコードと同じ数のレコードを受信ＤＢ６５に追加する。クライアントＣＰＵ２１は、受信したレコードの送信者ＩＤフィールド、送信者名フィールド、音声ＩＤフィールドおよび受信日時フィールドに記録されているデータを、受信ＤＢ６５の対応するフィールドにそれぞれ記録する。クライアントＣＰＵ２１は、追加したレコードの再生状況フィールドに、初期値「未」を記録する。
【００６７】
クライアントＣＰＵ２１は、受信ＤＢ６５に基づいて受信リスト欄５７を表示する。再生ボタン５５の選択を受け付けた場合、クライアントＣＰＵ２１は対応する音声データに基づく音声をスピーカ２７から出力する。クライアントＣＰＵ２１は、再生状況フィールドに「済」を記録する。
【００６８】
音声を録音する操作の例を説明する。クライアント２０のユーザは、音声を送信したい相手のチェックボックス５６を選択する。クライアント２０のユーザは、録音ボタン５１を選択する。
【００６９】
録音ボタン５１の選択を受け付けた場合、クライアントＣＰＵ２１は録音ボタン５１内部の文字を「録音中」に変更し、マイク２６から音声を取得する。クライアントＣＰＵ２１は、録音ボタン５１の選択が解除されるまでの間、マイク２６から取得した原音データの分割、圧縮および結合を繰り返して、音声データを生成する。
【００７０】
録音ボタン５１の選択が解除された場合、クライアントＣＰＵ２１は録音ボタン５１内部の文字を「録音開始」に戻す。クライアントＣＰＵ２１は、確認ボタン５３を、選択を受け付ける状態に設定する。選択を受け付けたチェックボックス５６がある場合には、クライアントＣＰＵ２１は、送信ボタン５４も選択を受け付ける状態に設定する。
【００７１】
確認ボタン５３の選択を受け付けた場合、クライアントＣＰＵ２１は直前に生成した音声データに基づいて、音声をスピーカ２７から出力する。ユーザは、確認ボタン５３を操作することにより、録音した音声を確認できる。
【００７２】
送信ボタン５４の選択を受け付けた場合、クライアントＣＰＵ２１は、チェックボックス５６にチェックが入った送信先を示す宛先情報を生成する。クライアントＣＰＵ２１は直前に生成した音声データと宛先情報とをサーバＣＰＵ４１に送信する。クライアントＣＰＵ２１は、確認ボタン５３と送信ボタン５４とを、選択を受け付けない状態に戻す。
【００７３】
サーバＣＰＵ４１は、第１音声ＤＢ６２に新しいレコードを作成して、送信者ＩＤ、送信者名、受信日時および音声データをそれぞれのフィールドに記録する。サーバＣＰＵ４１は音声データに音声ＩＤを付与して、音声ＩＤフィールドに記録する。
【００７４】
サーバＣＰＵ４１は、宛先情報に記録された音声データの宛先と同じ数のレコードを送信ＤＢ６３に追加する。サーバＣＰＵ４１は、送信者ＩＤ、送信者名、音声ＩＤおよび受信日時を、追加したレコードのそれぞれのフィールドに記録する。サーバＣＰＵ４１は、宛先情報に基づいて、送信先ＩＤおよび送信先名をそれぞれのフィールドに記録する。サーバＣＰＵ４１は初期値「未」を送信状況フィールドに記録する。
【００７５】
サーバＣＰＵ４１は、送信ＤＢ６３に記録されたレコードを、各クライアント２０に送信する。
【００７６】
図１１は、プログラムの処理の流れを示すフローチャートである。クライアント２０で動作するプログラムは、ＷＥＢブラウザ上で動作するアプリまたは独立したネイティブアプリである。図１１においては、ユーザがクライアント２０を操作することにより、ログオンが完了し、本実施の形態のプログラムがアクティブになった状況から説明を開始する。
【００７７】
サーバＣＰＵ４１は、ユーザＩＤをキーとしてユーザＤＢ６１からレコードを抽出し、オンラインフィールドに「ＯＮ」を記録する。サーバＣＰＵ４１は、ログオンしたユーザが使用中のクライアント２０に宛先トークンＩＤを付与し、宛先トークンＩＤフィールドに記録する。なお、サーバＣＰＵ４１は、適宜クライアント２０との通信状態を確認する。接続が切れたクライアント２０については、オンラインフィールドに「ＯＦＦ」を記録し、宛先トークンＩＤフィールドに記録された宛先トークンＩＤを削除する。
【００７８】
クライアントＣＰＵ２１は、サーバＣＰＵ４１に電話帳ＤＢ６４の送信を要求する（ステップＳ５０１）。サーバＣＰＵ４１は、要求を受信する（ステップＳ６０１）。
【００７９】
サーバＣＰＵ４１は、電話帳ＤＢ６４を要求したクライアント２０用の電話帳ＤＢ６４の情報を抽出する（ステップＳ６０２）。具体的には、サーバＣＰＵ４１は、電話帳を要求したクライアント２０を使用中のユーザのユーザＩＤをキーとして電話帳マスタＤＢ６７の管理者ＩＤフィールドを検索してレコードを抽出する。
【００８０】
サーバＣＰＵ４１は、抽出したレコードのユーザＩＤフィールドに記録されたユーザＩＤをキーとして、ユーザＤＢ６１のユーザＩＤフィールドを検索し、レコードを抽出する。サーバＣＰＵ４１は、抽出したレコードのオンラインフィールドに記録された、各ユーザがオンラインであるか、オフラインであるかの情報を取得する。
【００８１】
サーバＣＰＵ４１は、電話帳マスタＤＢ６７から抽出したユーザＩＤおよび名前と、対応するオンラインであるかオフラインであるかの情報を、クライアントＣＰＵ２１に送信する（ステップＳ６０３）。
【００８２】
クライアントＣＰＵ２１は、受信した情報に基づいて、電話帳ＤＢ６４を作成し、補助記憶装置２３に記録する（ステップＳ５０３）。クライアントＣＰＵ２１は、オフラインの人のチェックボックス５６を、選択できない状態に設定する。
【００８３】
サーバＣＰＵ４１は、送信ＤＢ６３より、クライアント２０を使用中のユーザのユーザＩＤが送信先ＩＤに指定された未送信のレコードを抽出する（ステップＳ６０４）。サーバＣＰＵ４１は、各レコードの送信者ＩＤ、送信者名、音声ＩＤおよび受信日時を送信する（ステップＳ６０５）。クライアントＣＰＵ２１は、受信ＤＢ６５に新規レコードを作成し、それぞれのフィールドに受信した情報を記録する（ステップＳ５０５）。
【００８４】
サーバＣＰＵ４１は、ステップＳ６０５で送信した音声ＩＤをキーとして、第１音声ＤＢ６２からレコードを抽出する。サーバＣＰＵ４１は、抽出したレコードを送信する（ステップＳ６０６）。サーバＣＰＵ４１は、ステップＳ６０５で送信したレコードについて、送信ＤＢ６３の送信状況フィールドに「済」を記録する（ステップＳ６０７）。
【００８５】
クライアントＣＰＵ２１は、第２音声ＤＢ６６に新しいレコードを作成して、受信したレコードを記録する（ステップＳ５０６）。クライアントＣＰＵ２１は、電話帳ＤＢ６４および受信ＤＢ６５に基づいて、表示部２８に図１０を使用して説明した画面を表示する（ステップＳ５０７）。
【００８６】
クライアントＣＰＵ２１は、再生ボタン５５の選択を受け付けたか否かを判定する（ステップＳ５１０）。受け付けたと判定した場合（ステップＳ５１０でＹＥＳ）、クライアントＣＰＵ２１は選択を受け付けた再生ボタン５５に対応する音声データを第２音声ＤＢ６６から抽出し、スピーカ２７から出力する（ステップＳ５１１）。クライアントＣＰＵ２１は、受信ＤＢ６５の、選択を受け付けた再生ボタン５５に対応するレコードの再生状況フィールドを「済」に更新する（ステップＳ５１２）。
【００８７】
再生ボタン５５の選択を受け付けていないと判定した場合（ステップＳ５１０でＮＯ）、クライアントＣＰＵ２１は録音ボタン５１の選択を受け付けたか否かを判定する（ステップＳ５２１）。受け付けたと判定した場合（ステップＳ５２１でＹＥＳ）、クライアントＣＰＵ２１は、音声データを作成する（ステップＳ５２２）。
【００８８】
音声データの作成について、さらに詳しく説明する。クライアントＣＰＵ２１は、図２を使用して説明したようにマイク２６から出力された原音データを取得し、バイト配列の形式で主記憶装置２２に一時的に記憶する。クライアントＣＰＵ２１は、バイト配列を所定の方式により圧縮して分割音声データを生成する。
【００８９】
クライアントＣＰＵ２１は、分割音声データを生成する都度、直前に生成した分割音声データに結合して、音声データを生成する。クライアントＣＰＵ２１は、生成した音声データを主記憶装置２２または補助記憶装置２３に記憶する。クライアントＣＰＵ２１は、入力部２５を介して録音終了の指示を受け付けるまで、上記の作業を繰り返す。
【００９０】
録音ボタン５１の選択を受け付けていないと判定した場合（ステップＳ５２１でＮＯ）、クライアントＣＰＵ２１は送信ボタン５４の選択を受け付けたか否かを判定する（ステップＳ５３１）。受け付けたと判定した場合（ステップＳ５３１でＹＥＳ）、クライアントＣＰＵ２１は、ステップＳ５２２で生成した音声データを送信する（ステップＳ５３２）。
【００９１】
サーバＣＰＵ４１は、音声データを受信する（ステップＳ６１１）。サーバＣＰＵ４１は、受信した音声データに音声ＩＤを付与する。サーバＣＰＵ４１は、音声ＤＢ６２に新規レコードを作成し、音声ＩＤ、送信者のユーザＩＤ、送信者名、受信日時および音声データを記録する（ステップＳ６１２）。
【００９２】
クライアントＣＰＵ２１は、チェックボックス５６にチェックが付いた送信先に対応する宛先情報を生成して、送信する（ステップＳ５３３）。宛先情報は、送信先のユーザのユーザＩＤを含む。
【００９３】
サーバＣＰＵ４１は、宛先情報を受信する（ステップＳ６１３）。サーバＣＰＵ４１は、送信ＤＢ６３に、宛先の数と同数の新規レコードを作成し、送信者のユーザＩＤ、送信者名、音声ＩＤ、受信日時、送信先のユーザＩＤ、送信先名をそれぞれのフィールドに記録する。サーバＣＰＵ４１は、送信状況フィールドに初期値「未」を記録する（ステップＳ６１４）。
【００９４】
送信ボタン５４の選択を受け付けていないと判定した場合（ステップＳ５３１でＮＯ）、または、ステップＳ５１２、ステップＳ５２２もしくはステップＳ５３３の終了後、クライアントＣＰＵ２１は、処理を終了するか否かを判定する（ステップＳ５４１）。処理を終了する場合とは、たとえば本実施の形態のプログラムを終了する操作を受け付けた場合である。
【００９５】
処理を終了しないと判定した場合（ステップＳ５４１でＮＯ）、クライアントＣＰＵ２１はステップＳ５０１に戻る。処理を終了すると判定した場合（ステップＳ５４１でＹＥＳ）、クライアントＣＰＵ２１は処理を終了する。
【００９６】
クライアントＣＰＵ２１は、音声データと宛先情報とを一つのファイルに連結して、サーバＣＰＵ４１に送信しても良い。
【００９７】
本実施の形態によると、クライアントＣＰＵ２１とサーバＣＰＵ４１とは、ポート４４３またはポート８０を介して通信を行う。ＷＥＢアクセスが可能な一般的な情報処理装置では、これらのポートは利用可能な状態に設定されているので、特別な設定等を行う必要は無い。したがって、容易に導入可能な、ＴＣＰ−ＩＰネットワーク上で音声通話を行う情報処理システム１０等を提供することができる。
【００９８】
本実施の形態によると、数秒程度の短い音声であれば、トランシーバのような感覚で受け答えを行える情報処理システム１０を提供できる。録音ボタン５１のロングタップの開始を録音開始の指示に、ロングタップの終了を録音終了の指示に設定することにより、無線機等と同様のプッシュツートークの操作で音声通話を行える情報処理装置を提供できる。
【００９９】
本実施の形態によると、送信者が指定した宛先以外のクライアント２０には音声データが送信されないので、ユーザが自分に無関係な音声データに煩わされない情報処理システム１０を提供できる。また、複数の送信先を指定することにより、１回の操作で複数の送信先に音声を送る情報処理システム１０を提供できる。
【０１００】
［実施の形態２］
本実施の形態は、分割音声データを生成する都度ネットワークに送信する情報処理システム１０に関する。実施の形態１と共通する部分については、説明を省略する。
【０１０１】
図１２は、実施の形態２の情報処理システム１０の動作を説明する説明図である。図１２を使用して、１台のクライアント２０から、サーバコンピュータ４０に音声データが送信される動作の概要を説明する。
【０１０２】
クライアントＣＰＵ２１は、入力部２５を介して音声を送信する送信先の指定を受け付け、宛先情報を生成し、サーバＣＰＵ４１に送信する。クライアントＣＰＵ２１は、クライアントＣＰＵ２１は、入力部２５を介して録音開始の指示を受け付ける。
【０１０３】
クライアントＣＰＵ２１は、マイク２６を介してユーザの声を取得する。この際、マイク２６は電気音響変換により音声を電気信号に変換した後にＡ／Ｄ変換した、原音データを出力する。クライアントＣＰＵ２１は、原音データをバイト配列の形式で主記憶装置２２に一時的に記憶する。クライアントＣＰＵ２１は、バイト配列を所定の方式により圧縮して分割音声データを生成する。クライアントＣＰＵ２１は、分割音声データを生成する都度、ヘッダを付与してネットワークに送信する。なお、ヘッダには分割音声データの順番を示す情報が含まれる。
【０１０４】
クライアントＣＰＵ２１は、入力部２５を介して録音終了の指示を受け付けるまで、分割音声データの生成と送信を繰り返す。
【０１０５】
サーバＣＰＵ４１は、分割音声データを受信し、ヘッダに記録された順番にしたがって連結して、音声データを生成する。サーバＣＰＵ４１は、音声データを音声ＤＢに記録する。サーバＣＰＵ４１は、宛先情報に基づいて送信ＤＢ６３に新規レコードを作成し、データを記録する。
【０１０６】
図１３は、実施の形態２のクライアント２０が表示する画面を示す説明図である。図１３に示す画面は、画面上部に送信ボタン５４を有する。
【０１０７】
送信ボタン５４の下に、電話帳ＤＢ６４に基づいて、クライアント２０のユーザの友人知人等の名前とチェックボックス５６とを含む宛先リスト欄５８が表示されている。ユーザは、チェックボックス５６をチェックすることにより、音声を送る相手先を選択できる。
【０１０８】
画面の下部に、受信リスト欄５７が表示される。受信リスト欄５７は、クライアント２０のユーザが受信した音声ファイルの送信者名、受信日時および再生状況が表形式で表示される。各行の左端に二等辺三角形の再生ボタン５５が表示される。
【０１０９】
音声を送信する操作の例を説明する。クライアント２０のユーザは、音声を送信したい相手のチェックボックス５６を選択した状態で、送信ボタン５４を選択する。送信ボタン５４の選択を受け付けた場合、クライアントＣＰＵ２１は送信ボタン５４内部の文字を「送信中」に変更し、マイク２６から音声を取得する。クライアントＣＰＵ２１は、送信ボタン５４の選択が解除されるまでの間、マイク２６から取得した原音データから分割音声データを生成し、送信する。
【０１１０】
送信ボタン５４の選択が解除された場合、クライアントＣＰＵ２１は送信ボタン５４内部の文字を「送信」に戻す。クライアントＣＰＵ２１は、チェックボックス５６にチェックが入った送信先を示す宛先情報を生成する。クライアントＣＰＵ２１は宛先情報をサーバＣＰＵ４１に送信する。
【０１１１】
サーバＣＰＵ４１は、分割音声データを受信し、ヘッダに記録された順番にしたがって連結して、音声データを生成する。サーバＣＰＵ４１は、音声データを音声ＤＢに記録する。サーバＣＰＵ４１は、宛先情報に基づいて送信ＤＢ６３に新規レコードを作成し、データを記録する。
【０１１２】
図１４は、実施の形態２のプログラムの処理の流れを示すフローチャートである。ステップＳ５１２までは、図１１を使用して説明した実施の形態１の処理の流れと同一であるので、説明を省略する。
【０１１３】
再生ボタン５５の選択を受け付けていないと判定した場合（ステップＳ５１０でＮＯ）、クライアントＣＰＵ２１は送信ボタン５４の選択を受け付けたか否かを判定する（ステップＳ５５１）。受け付けたと判定した場合（ステップＳ５５１でＹＥＳ）、クライアントＣＰＵ２１は、宛先情報を生成して、送信する（ステップＳ５５２）。
【０１１４】
ステップＳ５５１において、送信ボタン５４の選択を受け付けた場合、ステップＳ５５２においてクライアントＣＰＵ２１は、チェックボックス５６にチェックが付いた送信先に対応する宛先情報を生成して送信する。
【０１１５】
サーバＣＰＵ４１は、宛先情報を受信する（ステップＳ６２１）。サーバＣＰＵ４１は、宛先情報を主記憶装置４２または補助記憶装置４３に記憶する。
【０１１６】
クライアントＣＰＵ２１は、分割送信のサブルーチンを起動する（ステップＳ５５３）。分割送信のサブルーチンは、送信終了の指示を受けるまでの間、分割音声データを生成して逐次送信するサブルーチンである。分割送信のサブルーチンの処理の流れは後述する。
【０１１７】
サーバＣＰＵ４１は、分割音声データを受信する（ステップＳ６２２）。サーバＣＰＵ４１は、分割音声データのヘッダに記録された順番にしたがって、分割音声データを結合する（ステップＳ６２３）。なお、ネットワーク内を伝送する途中で、分割音声データを受信する順番が入れ替わった場合には、サーバＣＰＵ４１は受信したデータを主記憶装置４２または補助記憶装置４３に一時保存して次のステップＳ６２４に進む。サーバＣＰＵ４１は、順番通りの分割音声データが揃った後に、所定の順番で結合する。
【０１１８】
サーバＣＰＵ４１は、分割音声データの受信が終了したか否かを判定する（ステップＳ６２４）。たとえば、クライアントＣＰＵ２１から分割音声データの送信終了をしめす信号を受信した場合に、サーバＣＰＵ４１は、分割音声データの受信が終了したと判定する。また、所定以上の時間、分割音声データを受信しない場合も、サーバＣＰＵ４１は、分割音声データの受信が終了したと判定する。
【０１１９】
終了していないと判定した場合（ステップＳ６２４でＮＯ）、サーバＣＰＵ４１はステップＳ６２２に戻る。終了したと判定した場合（ステップＳ６２４でＹＥＳ）、サーバＣＰＵ４１は、結合により生成した音声データに音声ＩＤを付与する。サーバＣＰＵ４１は、音声ＤＢ６２に新規レコードを作成し、音声ＩＤ、送信者のユーザＩＤ、送信者名、受信日時および音声データを記録する（ステップＳ６２５）。
【０１２０】
サーバＣＰＵ４１は、ステップＳ６２２で受信した宛先情報に基づいて、送信ＤＢ６３に、宛先の数と同数の新規レコードを記録する（ステップＳ６２６）。
【０１２１】
送信ボタン５４の選択を受け付けていないと判定した場合（ステップＳ５５１でＮＯ）、または、ステップＳ５１２もしくはステップＳ５５３の終了後、クライアントＣＰＵ２１は、処理を終了するか否かを判定する（ステップＳ５６１）。処理を終了する場合とは、たとえば本実施の形態のプログラムを終了する操作を受け付けた場合である。
【０１２２】
処理を終了しないと判定した場合（ステップＳ５６１でＮＯ）、クライアントＣＰＵ２１はステップＳ５０１に戻る。処理を終了すると判定した場合（ステップＳ５６１でＹＥＳ）、クライアントＣＰＵ２１は処理を終了する。
【０１２３】
図１５は、分割送信のサブルーチンの処理の流れを示すフローチャートである。分割送信のサブルーチンは、送信終了の指示を受けるまでの間、分割音声データを生成して逐次送信するサブルーチンである。
【０１２４】
クライアントＣＰＵ２１は、マイク２６により取得された原音データを取得する（ステップＳ５７１）。クライアントＣＰＵ２１は、原音データをバイト配列の形式で主記憶装置２２に一時的に記憶する。
【０１２５】
クライアントＣＰＵ２１は、原音データを所定の方式により圧縮して分割音声データを生成する（ステップＳ５７２）。クライアントＣＰＵ２１は、分割音声データにＴＣＰ−ＩＰネットワークのヘッダを付与する（ステップＳ５７３）。なお、クライアントＣＰＵ２１は、ヘッダに分割音声データの順番を記録する。
【０１２６】
クライアントＣＰＵ２１は、ヘッダを付与した分割音声データを送信する（ステップＳ５７４）。クライアントＣＰＵ２１は、送信を終了するか否かを判定する（ステップＳ５７５）。たとえば、クライアントＣＰＵ２１は送信終了の指示を受け付け、かつ、記憶された原音データの処理を終了した場合に、送信を終了すると判定する。クライアントＣＰＵ２１は、記憶された原音データの処理を終了した後で、所定以上の時間マイク２６が音声を検出しない場合に、送信を終了すると判定しても良い。
【０１２７】
送信を終了しないと判定した場合（ステップＳ５７５でＮＯ）、クライアントＣＰＵ２１はステップＳ５７１に戻る。送信を終了すると判定した場合（ステップＳ５７５でＹＥＳ）、クライアントＣＰＵ２１は分割音声データの送信終了を示す信号を送信する（ステップＳ５７６）。その後、クライアントＣＰＵ２１は処理を終了する。
【０１２８】
本実施の形態によると、録音と平行して分割音声データの送信およびサーバＣＰＵ４１による結合を行う情報処理システム１０を提供することができる。送受信のタイムラグが少ないので、待ち時間が短く、より円滑にコミュニュケーションを行うことができる。
【０１２９】
本実施の形態によると、処理能力および記憶容量が比較的少ないクライアント２０を使用することができる。
【０１３０】
なお、サーバＣＰＵ４１は、ステップＳ６１１で受信した宛先情報に基づいて、分割音声データをそのまま宛先に送信しても良い。このようにすると、送受信のタイムラグがさらに少ない情報処理装置１０を提供できる。
【０１３１】
［実施の形態３］
本実施の形態は、回線能力に応じてマイク２６から取得した音声の送信方法を変更する情報処理システム１０に関する。実施の形態２と共通する部分については、説明を省略する。
【０１３２】
図１６は、実施の形態３のクライアント２０が表示する画面を示す説明図である。本実施の形態においては、送信ボタン５４の選択を受け付ける前の画面は、図１３を使用して説明した実施の形態２の画面と同一である。
【０１３３】
送信ボタン５４の選択を受け付けた場合、クライアントＣＰＵ２１はクライアント２０とサーバコンピュータ４０との間の回線能力を判定する。回線能力が所定の能力以上であると判定した場合、クライアントＣＰＵ２１は実施の形態２と同様に分割音声データを逐次送信する。
【０１３４】
回線能力が所定の能力を下回ると判定した場合、クライアントＣＰＵ２１は送信ボタン５４内の文字を「録音中」に変更し、実施の形態１と同様に分割音声データを結合して音声データを生成する。録音終了の指示を受け付け、音声データの生成が終了した後に、クライアントＣＰＵ２１は生成した音声データを送信する。
【０１３５】
図１７は、実施の形態３のプログラムの処理の流れを示すフローチャートである。ステップＳ５５１までは、図１４を使用して説明した実施の形態２の処理の流れと同一であるので、説明を省略する。
【０１３６】
送信ボタン５４の選択を受け付けたと判定した場合（ステップＳ５５１でＹＥＳ）、クライアントＣＰＵ２１は、送信のサブルーチンを起動する（ステップＳ５８１）。送信のサブルーチンは、クライアントＣＰＵ２１が回線能力を判定し、判定結果に応じて回線能力に応じた方法でマイク２６から取得した音声を送信し、サーバＣＰＵ４１が受信してＤＢに記録するサブルーチンである。送信のサブルーチンの処理の流れは後述する。
【０１３７】
送信ボタン５４の選択を受け付けていないと判定した場合（ステップＳ５５１でＮＯ）、または、ステップＳ５１２もしくはステップＳ５８１の終了後、クライアントＣＰＵ２１は、処理を終了するか否かを判定する（ステップＳ５８２）。
【０１３８】
処理を終了しないと判定した場合（ステップＳ５８２でＮＯ）、クライアントＣＰＵ２１はステップＳ５０１に戻る。処理を終了すると判定した場合（ステップＳ５８２でＹＥＳ）、クライアントＣＰＵ２１は処理を終了する。
【０１３９】
図１８は、送信のサブルーチンの処理の流れを示すフローチャートである。送信のサブルーチンは、クライアントＣＰＵ２１が回線能力を判定し、判定結果に応じて回線能力に応じた方法でマイク２６から取得した音声を送信し、サーバＣＰＵ４１が受信してＤＢに記録するサブルーチンである。
【０１４０】
クライアントＣＰＵ２１は、回線速度を調査する信号を送信する（ステップＳ７０１）。サーバＣＰＵ４１は、信号を受信する（ステップＳ６４１）。サーバＣＰＵ４１は、受信した信号に応じた応答を送信する（ステップＳ６４２）。
【０１４１】
クライアントＣＰＵ２１は、サーバＣＰＵ４１の応答を受信する（ステップＳ７０２）。なお、所定の時間が経過しても応答を受信しない場合には、サーバＣＰＵ４１との間の通信に障害が生じているので、クライアントＣＰＵ２１はその旨を表示部２８に表示して処理を終了する。
【０１４２】
クライアントＣＰＵ２１は、宛先情報を生成して、送信する（ステップＳ７０３）。
サーバＣＰＵ４１は、宛先情報を受信する（ステップＳ６４３）。サーバＣＰＵ４１は、宛先情報を主記憶装置４２または補助記憶装置４３に記憶する。
【０１４３】
クライアントＣＰＵ２１は、ステップＳ７０２で受信した応答に基づいて、回線能力を判定する（ステップＳ７０４）。たとえば、クライアントＣＰＵ２１は、ステップＳ７０１において、サーバＣＰＵ４１にＰｉｎｇを送信し、ステップＳ７０２で応答を受信するまでの時間が所定の時間以下である場合に、回線能力が所定の能力以上であると判定する。クライアントＣＰＵ２１は、ステップＳ７０１において、所定の容量のデータをサーバＣＰＵ４１に送信し、ステップＳ７０２において、サーバＣＰＵ４１から受信通知を受信しても良い。クライアントＣＰＵ２１は、ルータ等のネットワーク機器から回線能力を取得しても良い。
【０１４４】
回線能力が高いと判定した場合（ステップＳ７０４でＹＥＳ）、クライアントＣＰＵ２１は、指定を受け付けて送信ボタン５４に「送信中」の文字を表示する（ステップＳ７０５）。クライアントＣＰＵ２１は、分割送信のサブルーチンを起動する（ステップＳ７０６）。分割送信のサブルーチンは、図１５を使用して説明したサブルーチンと同一のサブルーチンである。
【０１４５】
サーバＣＰＵ４１は、分割音声データを受信する（ステップＳ６５２）。サーバＣＰＵ４１は、分割音声データのヘッダに記録された順番にしたがって、分割音声データを結合する（ステップＳ６５３）。サーバＣＰＵ４１は、分割音声データの受信が終了したか否かを判定する（ステップＳ６５４）。
【０１４６】
終了していないと判定した場合（ステップＳ６５４でＮＯ）、サーバＣＰＵ４１はステップＳ６５２に戻る。
【０１４７】
回線能力が高くないと判定した場合（ステップＳ７０４でＮＯ）、クライアントＣＰＵ２１は、指定を受け付けた送信ボタン５４に、「録音中」の文字を表示する（ステップＳ７１１）。
【０１４８】
クライアントＣＰＵ２１は、録音終了の指示を受け付けるまでの期間、マイク２６により取得された原音データを分割、圧縮および結合して、音声データを生成する（ステップＳ７１２）。クライアントＣＰＵ２１は、音声データを送信する（ステップＳ７１３）。
【０１４９】
ステップＳ７０６またはステップＳ７１３の終了後、クライアントＣＰＵ２１は処理を終了する。サーバＣＰＵ４１は、ステップＳ７１３で送信された音声データを受信する（ステップＳ６６１）。
【０１５０】
終了したとした場合（ステップＳ６５４でＹＥＳ）またはステップＳ６６１の終了後、サーバＣＰＵ４１は、結合により生成した音声データに音声ＩＤを付与する。サーバＣＰＵ４１は、音声ＤＢ６２に新規レコードを作成し、音声ＩＤ、送信者のユーザＩＤ、送信者名、受信日時および音声データを記録する（ステップＳ６５５）。
【０１５１】
サーバＣＰＵ４１は、ステップＳ６４３で判定受信した宛先情報に基づいて、送信ＤＢ６３に、宛先の数と同数の新規レコードを記録する（ステップＳ６５６）。
【０１５２】
本実施の形態によると、回線能力に応じて適切な送信方法で音声を送信する情報処理装置を提供できる。すなわち、回線能力が高い場合には、クライアントＣＰＵ２１が送信した分割音声データが、順番通りにサーバコンピュータ４０に到着する可能性が高いので、実施の形態２と同様に分割音声データを逐次送信することにより、スムーズな通信を行うことができる。一方、回線能力が低い場合には、分割音声データの到着順序が入れ替わる可能性が高いので、クライアントＣＰＵ２１が音声データを生成した後に送信することにより、音飛び等の発生を防ぐことができる。
【０１５３】
［実施の形態４］
図１９は、実施の形態４の情報処理システム１０の動作を示す機能ブロック図である。本実施の形態の情報処理システム１０は、クライアントＣＰＵ２１およびサーバＣＰＵ４１による制御に基づいて以下のように動作する。
【０１５４】
情報処理システム１０は、ネットワークで接続された複数の情報処理装置２０と、サーバコンピュータ４０とを含む。情報処理装置２０は、受付部７１、生成部７２、第１送信部７３、受信部７４およびスピーカ２７とを備える。受付部７１は、送信先の選択を受け付ける。生成部７２は、マイク２６を介して取得した音声を圧縮して音声データを生成する。
【０１５５】
第１送信部７３は、受付部７１が受け付けた送信先に関連づけられた宛先情報と、生成部７２が生成した音声データとをポート４４３またはポート８０を介してネットワークに送信する。受信部７４は、サーバコンピュータ４０により送信された音声データを受信する。スピーカ２７は、受信部７４が受信した音声データを出力する。
【０１５６】
サーバコンピュータ４０は、記録部７６と第２送信部７７とを備える。記録部７６は、第１送信部７３により送信された音声データと宛先情報とを関連づけて記録する。第２送信部７７は、記録部７６に新たな音声データが記録された場合に、その音声データを、音声データに関連づけられた宛先情報に基づいて特定される情報処理装置２０に対して送信する。
【０１５７】
［実施の形態５］
本実施の形態は、汎用のコンピュータとプログラム９７とを組み合わせて動作させることにより、本実施の形態の情報処理システム１０を実現する形態に関する。図２０は、実施の形態５の情報処理システム１０の構成を示す説明図である。なお、実施の形態１と共通する部分の説明は省略する。
【０１５８】
本実施の形態の情報処理システム１０は、ネットワークを介して接続された複数のクライアント２０と、コンピュータ９０とを含む。コンピュータ９０は、サーバＣＰＵ４１、主記憶装置４２、補助記憶装置４３、通信部４４、読取部４５およびバスを備える。
【０１５９】
読取部４５は、可搬型記録媒体９６を読み取る装置であり、具体的にはたとえばＳＤ（Secure Digital）カードスロット、光学ディスクドライブまたはＵＳＢ（Universal Serial Bus）ポート等である。コンピュータ９０は、汎用のパーソナルコンピュータまたは大型計算機、または、大型計算機上で動作する仮想マシンである。
【０１６０】
プログラム９７は、可搬型記録媒体９６に記録されている。サーバＣＰＵ４１は、読取部４５を介してプログラム９７を読み込み、補助記憶装置４３に保存する。またサーバＣＰＵ４１は、コンピュータ９０内に実装されたフラッシュメモリ等の半導体メモリ９８に記憶されたプログラム９７を読出しても良い。さらに、サーバＣＰＵ４１は、通信部４４およびネットワークを介して接続される図示しない他のサーバコンピュータからプログラム９７をダウンロードして補助記憶装置４３に保存しても良い。
【０１６１】
プログラム９７は、コンピュータ９０の制御プログラムとしてインストールされ、主記憶装置４２にロードして実行される。これにより、コンピュータ９０は上述したサーバコンピュータ４０として機能する。
【０１６２】
プログラム９７のうち、クライアントＣＰＵ２１が実行する部分がネイティブアプリである場合には、クライアント２０も、可搬型記録媒体またはネットワークを介してプログラム９７を取得し、補助記憶装置２３に保存する。プログラム９７は、クライアント２０の制御プログラムとしてインストールされ、主記憶装置２２にロードして実行される。以上により、クライアント２０は上述したクライアント２０として機能する。
【０１６３】
各実施例で記載されている技術的特徴（構成要件）はお互いに組合せ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本発明の範囲は、上記した意味では無く、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１６４】
１０  情報処理システム
１５  ゲートウェイ
１６  アクセスポイント
２０  クライアント（情報処理装置）
２１  クライアントＣＰＵ
２２  主記憶装置
２３  補助記憶装置
２４  通信部
２５  入力部
２６  マイク
２７  スピーカ
２８  表示部
４０  サーバコンピュータ
４１  サーバＣＰＵ
４２  主記憶装置
４３  補助記憶装置
４４  通信部
４５  読取部
５１  録音ボタン
５３  確認ボタン
５４  送信ボタン
５５  再生ボタン
５６  チェックボックス
５７  受信リスト欄
５８  宛先リスト欄
６１  ユーザＤＢ
６２  第１音声ＤＢ
６３  送信ＤＢ
６４  電話帳ＤＢ
６５  受信ＤＢ
６６  第２音声ＤＢ
６７  電話帳マスタＤＢ
７１  受付部
７２  生成部
７３  第１送信部
７４  受信部
７６  記録部
７７  第２送信部
９０  コンピュータ
９６  可搬型記録媒体
９７  プログラム
９８  半導体メモリ
【図１】
2018174487.tif 000003
【図２】
2018174487.tif 000004
【図３】
2018174487.tif 000005
【図４】
2018174487.tif 000006
【図５】
2018174487.tif 000007
【図６】
2018174487.tif 000008
【図７】
2018174487.tif 000009
【図８】
2018174487.tif 000010
【図９】
2018174487.tif 000011
【図１０】
2018174487.tif 000012
【図１１】
2018174487.tif 000013
【図１２】
2018174487.tif 000014
【図１３】
2018174487.tif 000015
【図１４】
2018174487.tif 000016
【図１５】
2018174487.tif 000017
【図１６】
2018174487.tif 000018
【図１７】
2018174487.tif 000019
【図１８】
2018174487.tif 000020
【図１９】
2018174487.tif 000021
【図２０】
2018174487.tif 000022