以下、本発明に係る通信端末装置を具現化した通信端末装置3について、図面を参照して説明する。なお、これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている通信端末装置の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
まず、通信端末装置3を構成要素とするテレビ会議システム1の構成について、図1を参照して説明する。テレビ会議システム1は、ネットワーク2と通信端末装置3と接続端末4と接続端末5とを備えている。通信端末装置3と接続端末4,5とは、ネットワーク2を介して相互に接続されている。このテレビ会議システム1では、通信端末装置3と接続端末4と接続端末5との間において、ネットワーク2を介して、画像、音声が互いに送受信されることでテレビ会議が実施される。なお、図1において、通信端末装置3と接続端末4と接続端末5との3台がネットワーク2に接続されているが、台数は限定されず、例えば10台がネットワーク2に接続されていてもよい。なお、以降の説明では、ネットワーク2に接続されている通信端末装置3と複数の接続端末とのいずれかを特定しない場合には、「端末」という。また、ネットワークに接続されている複数の接続端末のうちいずれかを特定しない場合には、「接続端末」という。
また、通信端末装置3と接続端末4,5とは、同一の電気的構成をしており、さらに同一のソフトウェアが設定されている。つまり、ネットワーク2に接続されているすべての端末のうち、任意の一台を通信端末装置として機能させることができる。また、他の端末を接続端末として機能させることができる。
次に、通信端末装置3の電気的構成について、図2を参照して説明する。なお、通信端末装置3と接続端末4,5との電気的構成は同一であるので、ここでは、通信端末装置3の電気的構成について説明する。
通信端末装置3には、通信端末装置3の制御を司るコントローラとしてのCPU20が設けられている。CPU20には、BIOS等を記憶したROM21と、各種データを一時的に記憶するRAM22と、データの受け渡しの仲介を行うI/Oインタフェイス30とが接続されている。I/Oインタフェイス30には、各種記憶エリアを有するハードディスクドライブ31(以下、HDD31)が接続されている。
I/Oインタフェイス30には、ネットワーク2と通信するための通信装置25と、マウス27と、ビデオコントローラ23と、キーコントローラ24と、ユーザを撮影するためのカメラ34と、ユーザの音声を取り込むためのマイク35と、CD−ROMドライブ26とが各々接続されている。また、I/Oインタフェイス30には、カメラ34から入力された画像を符号化するためのエンコーダ36と、符号化された画像を復号するためのデコーダ37と、時刻を計測するためのタイマ38とが接続されている。ビデオコントローラ23には、ディスプレイ28が接続されている。キーコントローラ24には、キーボード29が接続されている。
なお、CD−ROMドライブ26に挿入されるCD−ROM114には、通信端末装置3のメインプログラムや、本発明の通信制御プログラム等が記憶されている。CD−ROM114の導入時には、これら各種プログラムが、CD−ROM114からHDD31にセットアップされて、後述するプログラム記憶エリア311(図3参照)に記憶される。
次に、HDD31の各種記憶エリアについて、図3を参照して説明する。HDD31には、プログラム記憶エリア311と自端末フレームレート記憶エリア312とIピクチャ符号化周期記憶エリア313と符号化データ記憶エリア314とその他の情報記憶エリア315とが少なくとも備えられている。プログラム記憶エリア311には、CPU20が各種の処理等を実行するために必要なプログラムデータが記憶されている。自端末フレームレート記憶エリア312には、後述するフレームレートが記憶されている。Iピクチャ符号化周期記憶エリア313には、後述するIピクチャ符号化周期が記憶される。符号化データ記憶エリア314には、後述する通信端末符号化データと接続端末符号化データが記憶される。
次に、RAM22の各種記憶エリアについて、図4を参照して説明する。RAM22には、第一フレームレート記憶エリア221と表示時間記憶エリア222と第一変数記憶エリア223と最小公倍数記憶エリア224と第二変数記憶エリア225と第二目標値記憶エリア226と変更表示時間記憶エリア227とその他の情報記憶エリア228とが少なくとも備えられている。第一フレームレート記憶エリア221には、後述する通信端末装置3のS104の処理(図6参照)で受信された接続端末のフレームレートが記憶される。また、表示時間記憶エリア222には、後述する各端末の画像表示時間が記憶される。また、第一変数記憶エリア223には、後述する変数tが記憶される。また、最小公倍数記憶エリア224には、後述するすべての端末の画像表示時間の最小公倍数が記憶される。また、第二変数記憶エリア225には、後述する変数Nが記憶される。また、第二目標値記憶エリア226には、後述する第二目標値が記憶される。また、変更表示時間記憶エリア227には、後述する変更画像表示時間が記憶される。
次に、図5を参照して、カメラ34から入力された画像を符号化し、Iピクチャ、Pピクチャ、及びBピクチャを生成するタイミングについて説明する。通信端末装置3と接続端末4,5とが図5に示すタイミングで符号化する場合を「第一具体例」とする。Iピクチャは、Iピクチャ単独で復号することで画像を生成できる。また、PピクチャとBピクチャは、単独での復号ができない。このため、任意の位置から再生したい場合は、参照ピクチャを参照し、そこから復号を開始する必要がある。以降の説明では、Iピクチャ、Pピクチャ、及びBピクチャのいずれかを特定しない場合は、単に「ピクチャ」という。図5は、各端末が画像を符号化してピクチャを生成するタイミングを表している。図中の四角形は、ピクチャを表している。また、ピクチャを表す四角形の内側に「I」と記載されているピクチャは、Iピクチャを表している。図5では、ピクチャ801,821,841がIピクチャとなっている。四角形の内側に何も記載されていないピクチャは、Iピクチャ、Pピクチャ、及びBピクチャのうちのいずれかである。
図5中の最も上のピクチャ801〜809は、通信端末装置3の符号化のタイミングを表している。また図5中の真ん中に記載しているピクチャ821〜837は、接続端末4の符号化のタイミングを表している。また、図5中の最も下のピクチャ841〜861は、接続端末5の符号化のタイミングを表している。また、図5の左右方向は、時間を表しており、左から右にいくほど、時間が経過している。図5では、一番左のピクチャ801,821,841が、符号化されるタイミングを「0ms」とする。
第一具体例の場合は、通信端末装置3のフレームレートは「10fps」であるとする。また接続端末4のフレームレートは「20fps」であるとする。また、接続端末5のフレームレートは「25fps」であるとする。フレームレートとは、1秒間に何度画面が更新されるかを表す指標である。通信端末装置3の場合は、フレームレートが「10fps」なので、カメラ34から入力された画像を1秒間に10個のピクチャに符号化する。また、この符号化されたピクチャを復号化し、1秒間に10個の画像を表示することで、動画として表現できる。また、フレームレートの逆数を計算することで、一枚の画像をディスプレイ28に表示させる時間である画像表示時間を算出することができる。この画像表示時間は、カメラ34から入力された画像を符号化する間隔の時間ということもできる。通信端末装置3の場合は、フレームレートである「10fps」の逆数を計算すると「0.1秒」となる。「0.1秒」は「100ミリ秒」と表すことができる。つまり、画像表示時間は、「100ミリ秒」となる。以下の説明では、「ミリ秒」は「ms」と表す。
図5に示すように、通信端末装置3は、画像表示時間である「100ms」毎に画像を符号化している。つまり、画像を符号化するタイミングは「100ms」毎である。また、接続端末4は、フレームレートが「20fps」であるので、画像表示時間は「50ms」である。したがって、画像を符号化するタイミングは、「50ms」毎である。また、接続端末5は、フレームレートが「25fps」であるので、画像表示時間は「40ms」である。したがって、画像を符号化するタイミングは、「40ms」毎である。
次に、具体例を示しながら、フローチャートを参照して、第一実施形態に係るテレビ会議システム1による処理について説明する。ここでは、通信端末装置3のCPU20による処理、接続端末のCPU20による処理に分けて順次説明する。
まず、図6のフローチャートを参照して、通信端末装置3の第一メイン処理について説明する。図6に示すように、通信端末装置3において行われる第一メイン処理では、まず、各種のパラメータ等の初期化が行われる(S101)。次に、ネットワーク2に接続されているすべての接続端末のうちの一台が選択される(S102)。なお、S102の処理は、後述するS106の処理によって、すべての接続端末のフレームレートが取得されたと判断されるまで繰り返して実行される。S102の処理は、ネットワーク2に接続されている接続端末を順番に選択し、一度選択した接続端末を重複して選択しない。なお、以下の説明では、S102の処理によって選択された端末を、「第一選択端末」という。
次に、第一選択端末に対して、フレームレートの送信要求が行われる(S103)。S103の処理では、第一選択端末に対して、第一選択端末のフレームレートを通信端末装置3に送信するように要求するデータであるフレームレート要求データが、ネットワーク2を介して送信される。
次に、フレームレートが受信されたか否かが判断される(S104)。詳細は後述するが、S103の処理によって第一選択端末に送信されたフレームレート要求データは、第一選択端末のS602の処理(図14参照)によって受信され、S603の処理(図14参照)によって、第一選択端末のフレームレートが通信端末装置3に送信される。S104の処理では、第一選択端末のS603の処理によって送信されたフレームレートが受信されたか否かが判断される。第一選択端末のフレームレートが受信されていない場合には(S104:NO)、続いて、S104に戻り処理が繰り返される。つまり、第一選択端末のフレームレートが受信されるまで、通信端末装置3は待機している。
第一選択端末のフレームレートが受信された場合には(S104:YES)、続いて、S104の処理で受信された第一選択端末のフレームレートが第一フレームレート記憶エリア221に記憶される(S105)。なお、S105の処理は、後述するS106の処理によって、すべての接続端末のフレームレートが取得されたと判断されるまで繰り返して実行される。第一フレームレート記憶エリア221には、S102の処理で選択されるすべての接続端末のフレームレートが記憶される。
次に、ネットワーク2に接続されているすべての接続端末のフレームレートが取得されたか否かが判断される(S106)。S106の処理では、すべての接続端末のフレームレートが、S105の処理によって、第一フレームレート記憶エリア221に記憶されたか否かが判断される(S106)。すべての接続端末のフレームレートが取得されていない場合には(S106:NO)、続いて、S102に戻り処理が繰り返される。S102〜S106の処理が繰り返されることで、S102によってネットワーク2に接続されている接続端末が順番に選択され(S102)、選択された接続端末のフレームレートが第一フレームレート記憶エリア221に記憶される(S105)。
例えば、第一具体例において、最初にS102の処理で接続端末4が選択された場合、フレームレート要求データが通信端末装置3から、ネットワーク2を介して、接続端末4に送信され(S103)、接続端末4によって受信される(S602:YES、図14参照)。接続端末4は、フレームレート要求データに応じて、接続端末4のフレームレートである「20fps」を通信端末装置3に送信する(S603、図14参照)。そして、接続端末4のフレームレートである「20fps」が、通信端末装置3で受信され(S104:YES)、第一フレームレート記憶エリア221に記憶される(S105)。第一フレームレート記憶エリア221に記憶されたのは、接続端末4のフレームレートのみである。このため、接続端末4,5のすべてのフレームレートが取得されていないので(S106:NO)、続いて、S102の処理に戻る。次に、S102の処理で接続端末5が選択されると、接続端末4の場合と同様に、接続端末5のフレームレートである「25fps」のデータが接続端末5から通信端末装置3に送信され(S603、図14参照)、第一フレームレート記憶エリア221に、追加して記憶される(S105)。第一フレームレート記憶エリア221には、接続端末4,5のすべてのフレームレートが記憶されたので、ネットワーク2に接続されている接続端末4,5のすべてのフレームレートが取得されたと判断される(S106:YES)。
ネットワーク2に接続されている接続端末のすべてのフレームレートが取得された場合には(S106:YES)、続いて、符号化周期決定処理が行われる(S107)。
ここで、図7を参照して、符号化周期決定処理について説明する。符号化周期決定処理は、Iピクチャ符号化周期を決定する処理である。前述したように、通信端末装置3と接続端末とは、各端末のカメラ34から入力された画像を符号化し、IピクチャとPピクチャとBピクチャとを生成する。Iピクチャ符号化周期とは、通信端末装置3と接続端末とが同じタイミングで、画像をIピクチャに符号化するための周期である。詳細は後述するが、本実施形態では、Iピクチャ符号化周期に基づいて、通信端末装置3と接続端末とが同じタイミングで画像をIピクチャに符号化する。そして、各端末によって符号化されたデータは通信端末装置3のHDD31に記憶される(図6のS121参照、後述)。記憶されたデータを読みだして再生する場合において、例えば早送りをする場合には、各端末が同じタイミングで画像をIピクチャに符号化したデータのみを送付することができる。
図7に示す符号化周期決定処理では、まず、フレームレートから一枚の画像の表示時間である画像表示時間が算出される(S201)。S201の処理では、自端末フレームレート記憶エリア312(図3参照)に記憶された通信端末装置3のフレームレートと、S105の処理によって第一フレームレート記憶エリア221に記憶された接続端末のフレームレートとが参照され、各端末の画像表示時間が算出される。この算出は、フレームレートの逆数を求めることによって行われる。算出された各端末の画像表示時間は、RAM22の表示時間記憶エリア222(図4参照)に記憶される(S201)。
次に、S201で算出された各端末の画像表示時間から、すべての端末の画像表示時間の最小公倍数が算出される。すべての端末の最小公倍数の算出は、後述するS202〜S206の処理によって行われる。以下、S202〜S206の処理について説明する。
まず、S201の処理によって表示時間記憶エリア222に記憶された各端末の画像表示時間のうち、一台の端末の画像表示時間が選択され、変数tとして設定され、RAM22の第一変数記憶エリア223に記憶される(S202)。次に、S202で選択された端末の画像表示時間以外の画像表示時間が選択される(S203)。なお、S203の処理は、後述するS206の処理によって、すべての端末の画像表示時間が選択されたと判断されるまで繰り返して実行される。S203の処理は、ネットワーク2に接続されている通信端末装置3と接続端末4,5との画像表示時間を順番に選択し、S202及びS203の処理で一度選択された端末の画像表示時間を重複して選択しない。
次に、S203の処理によって選択された端末の画像表示時間と変数tとの最小公倍数が算出される(S204)。つぎに、S204の処理によって算出された最小公倍数が変数tとして設定され、RAM22の第一変数記憶エリア223に記憶される(S205)。つまり、S202の処理によって選択された端末の画像表示時間と、S203の処理によって選択された端末の画像表示時間との最小公倍数が、変数tとして更新設定される。
次に、すべての端末の画像表示時間が選択されたか否かが判断される(S206)。S206の処理では、S202の処理とS203の処理によって、すべての端末の画像表示時間が選択されたか否かが判断される。すべての端末の画像表示時間が選択されていない場合には(S206:NO)、S202に戻り処理が繰り返される。
このように、S203〜S203の処理が、S202の処理とS203の処理によってすべての画像表示時間が選択されるまで繰り返し実行されると、すべての端末の最小公倍数が変数tとして設定される(S205)。
第一具体例の場合、S105(図6参照)の処理の処理によって第一フレームレート記憶エリア221に記憶されたフレームレートは、接続端末4の「20fps」と接続端末5の「25fps」とである。また、HDD31の自端末フレームレート記憶エリア312には、通信端末装置3のフレームレートである「10fps」が記憶されている。図7の符号化周期決定処理では、まず、これらの各端末のフレームレートから画像表示時間が算出される(S201)。画像表示時間は、フレームレートの逆数を求めることによって行われる。つまり、通信端末装置3の画像表示時間は、「100ms」と算出される(S201)。また、接続端末4の画像表示時間は、「50ms」と算出される(S201)。また、接続端末5の画像表示時間は、「40ms」と算出される(S201)。そして、算出された「100ms」と「50ms」と「40ms」とが、表示時間記憶エリア222に記憶される(S201)。
次に、表示時間記憶エリア222に記憶された画像表示時間である「100ms」と「50ms」と「40ms」とのうち、一台の端末の画像表示時間が選択される(S202)。ここで、通信端末装置3の画像表示時間である「100ms」が選択されたとする(S202)。選択された「100ms」は、変数tとして設定され、RAM22の第一変数記憶エリア223に記憶される(S202)。つまり、変数t=100msと設定される。
次に、S202で選択された端末の画像表示時間である「100ms」以外の画像表示時間が選択される(S203)。ここで、接続端末4の画像表示時間である「50ms」が選択されたとする(S203)。次に、S203の処理で選択された「50ms」と変数t=100msとの公倍数が算出される(S204)。「100ms」と「50ms」との最小公倍数は、「100ms」と算出される(S204)。そして、算出された「100ms」が変数tとして設定され、第一変数記憶エリア223に更新登録される(S205)。つまり、変数t=100msと設定される。
次に、S202の処理とS203の処理によって、すべての端末の画像表示時間が選択されたか否かが判断される(S206)。S202の処理とS203の処理によって選択された端末の画像表示時間は、通信端末装置3の「100ms」と接続端末4の「50ms」とであるので、接続端末5の「40ms」が選択されていない。このため、すべての端末の画像表示時間が選択されていないと判断され(S206:NO)、S203の処理に戻る。そして、接続端末5の「40ms」が選択される(S203)。次に、S203の処理で選択された「40ms」と、変数t=100msとの公倍数が算出される(S204)。「40ms」と「100ms」との最小公倍数は、「200ms」と算出される(S204)。そして、算出された「200ms」が変数tとして設定され、第一変数記憶エリア223に更新登録される(S205)。つまり、変数t=200msと設定される。S202の処理とS203の処理によって選択された端末の画像表示時間は、通信端末装置3の「100ms」と接続端末4の「50ms」と接続端末5の「40ms」であるので、すべての端末の画像表示時間が選択されたと判断される(S206:YES)。
このように、S202〜S206の処理によって算出された変数t=200msは、すべての端末の画像表示時間の最小公倍数となる。このすべての端末の画像表示時間の最小公倍数である「200ms」は、「200ms」周期で、すべての端末が画像を符号化するタイミングが同一になることを表している。つまり、図5に示すように、スタートから200ms経過した場合における、通信端末装置3が符号化したピクチャ803と、接続端末4が符号化したピクチャ825と、接続端末5が符号化したピクチャ846とは、同一のタイミングで符号化されている。また、スタートから400ms経過した場合における通信端末装置3が符号化したピクチャ805と、接続端末4が符号化したピクチャ829と、接続端末5が符号化したピクチャ851とは、同一のタイミングで符号化されている。同様に、スタートから600msを経過した場合におけるピクチャ807とピクチャ833とピクチャ856とは、同一のタイミングで符号化されている。また、スタートから800ms経過した場合におけるピクチャ809とピクチャ837とピクチャ861とは同一のタイミングで符号化されている。このように、最小公倍数である200msの倍数である200ms、400ms、600ms、800ms、及び1000ms等では、通信端末装置3と接続端末4と接続端末5とが画像を符号化するタイミングは同一となる。
図7において、すべての端末の画像表示時間が選択されたと判断された場合には(S206:YES)、続いて、変数tが第一閾値以下か否かが判断される(S207)。つまり、すべての端末の画像表示時間の最小公倍数が第一閾値以下か否かが判断される(S207)。第一閾値については後述する。
変数tが第一閾値以下である場合には(S207:YES)、続いて、変数tの値が、最小公倍数記憶エリア224に記憶される(S208)。これによって、すべての端末の画像表示時間の最小公倍数が確定される。次に、S208の処理によって最小公倍数記憶エリア224に記憶されたすべての端末の最小公倍数が参照され、最小公倍数の倍数が算出され、第一目標値に最も近い倍数が決定される(S209)。第一目標値については後述する。次に、S209で決定された第一目標値に最も近い倍数が、Iピクチャ符号化周期として確定される(S210)。S210の処理では、すべての端末の最小公倍数の倍数のうちの第一目標値に最も近い倍数が、HDD31のIピクチャ符号化周期記憶エリア313に記憶される。これによって、Iピクチャ符号化周期が確定される。
前述したように、Iピクチャ符号化周期とは、通信端末装置3と接続端末とが同一のタイミングで、画像をIピクチャに符号化するための周期である。第一閾値は、このIピクチャ符号化周期が長時間になるのを防止するために設けられた閾値である。第一閾値は、ユーザがIピクチャ符号化周期を設定したい範囲の最長の時間に設定されている。そして、Iピクチャ符号化周期を第一閾値以下に設定することで、Iピクチャ符号化周期をユーザが設定したい範囲に設定することができる。これによって、Iピクチャ符号化周期が長時間になるのを防止することができる。なお、第一閾値は、任意に設定することが可能である。
また、第一目標値は、最も適切なIピクチャ符号化周期を表している。第一目標値は、ユーザがIピクチャ符号化周期を設定したい理想的な時間に設定されている。そして、Iピクチャ符号化周期を第一目標値に近い値にすることで、理想的な時間に近いIピクチャ符号化周期が設定される。なお、第一目標値は任意に設定することが可能である。
第一具体例の場合、第一閾値が5000ms、第一目標値が450msであるとする。S201〜S206の処理によって求められた変数tは200msである。したがって、変数tが第一閾値以下であると判断される(S207:YES)。次に、変数tの値である「200ms」が最小公倍数記憶エリア224に記憶される(S207)。これによって、「200ms」がすべての端末の画像表示時間の最小公倍数であることが確定される。次に、最小公倍数記憶エリア224の記憶された最小公倍数である「200ms」の倍数である200ms、400ms、600ms、及び800ms等が算出され、これらの倍数の中から、第一目標値「450ms」に最も近い倍数である「400ms」がIピクチャ符号化周期記憶エリア313に記憶される(S210)。これによって、Iピクチャ符号化周期が「400ms」に確定される(S210)。詳細は後述するが、Iピクチャ符号化周期である「400ms」毎に、通信端末装置3と接続端末4,5とが、同時に画像をIピクチャとして符号化する(図11のS501及び図14のS615参照)。つまり、400msの倍数である400ms、800ms、1200ms、及び1600ms等では、通信端末装置3と接続端末4,5とが、同時に画像をIピクチャとして符号化する。
S207の処理において、変数tが第一閾値以下ではないと判断された場合には(S207:NO)、続いて、画像表示時間変更処理が行われる(S211)。ここで、図8を参照して、画像表示時間変更処理について説明する。S207の処理で、すべての端末の最小公倍数である変数tが第一閾値以下でないと判断された場合は、最小公倍数が大きすぎる。つまり、この最小公倍数をIピクチャ符号化周期にしてしまうと、Iピクチャ符号化周期が長時間になってしまう。このため、すべての端末の画像表示時間の最小公倍数が、第一閾値以下となるように、すべての端末の画像表示時間のうちの少なくとも一の端末の画像表示時間を変更する必要がある。さらに、すべての端末の画像表示時間のうちの少なくとも一の端末の画像表示時間を変更した後の最小公倍数が第一目標値に近い値に設定されれば、さらに適切にIピクチャ符号化周期を設定することができる。図8に示す画像表示時間変更処理では、すべての端末の画像表示時間のうち、少なくとも一の画像表示時間を変更した画像表示時間である変更画像表示時間を算出する。
図8に示す画像表示時間変更処理では、まず、ネットワーク2に接続されているすべての端末の台数が変数Nとして設定され、第二変数記憶エリア225に記憶される(S301)。次に、変数Nの値がデクリメントされ、第二変数記憶エリア225に更新記憶される(S302)。次に、表示時間記憶エリア222に記憶されているすべての端末の画像表示時間の中から、N個の画像表示時間のすべての組み合わせが選択される(S303)。さらに、その選択されたすべての組み合わせの画像表示時間の最小公倍数が算出される(S303)。次に、S303の処理で算出された最小公倍数の中に、第一閾値以下の最小公倍数があるか否かが判断される(S304)。S303の処理で算出された最小公倍数の中に、第一閾値以下の最小公倍数がない場合には(S304:NO)、S302に戻り処理が繰り返される。S303の処理で算出された最小公倍数の中に、第一閾値以下の最小公倍数がある場合には(S304:YES)、最も第一目標値に近い最小公倍数が選択され、RAM22の第二目標値記憶エリア226に記憶される(S305)。これによって、S303の処理で算出された最小公倍数のうち、第一閾値以下であり、最も第一目標値に近い最小公倍数が第二目標値として設定される。なお、N=1となった場合には(S302)、各端末の画像表示時間の倍数が個々に算出され(S303)、第一目標値に最も近い値が第二目標値に設定される(S305)。
例えば、図9に示すように、S201の処理(図7参照)によって算出された画像表示時間について、通信端末装置3の画像表示時間が「150ms」、接続端末4の画像表示時間が「310ms」、接続端末5の画像表示時間が「400ms」であったとする。また、第一閾値が「5000ms」、第一目標値が「450ms」であるとする。また、図9は図5の場合と同様に、最も上のピクチャは、通信端末装置3の符号化のタイミングを表している。また、真ん中のピクチャは、接続端末4の符号化のタイミングを表している。また、最も下のピクチャは、接続端末5の符号化のタイミングを表している。また、図9の左から右にいくほど時間が経過している。以下、この例示を「第二具体例」という。第二具体例の場合、S202〜S206の処理によって、変数tが「37200ms」となる。これは、図9に示すように、通信端末装置3と接続端末4,5が画像を符号化するタイミングが同一になるのが、37200msの周期であることを意味する。そして、変数tが第一閾値である「5000ms」以上であると判断される(図7のS207:NO)。次に、ネットワーク2に接続されている端末は、通信端末装置3と接続端末4,5との3台であるので、変数N=3と設定され、第二変数記憶エリア225に記憶される(S301)。次に、変数Nがデクリメントされて、変数N=2となり、第二変数記憶エリア225に更新記憶される(S302)。
次に、表示時間記憶エリア222に記憶されているすべての端末の画像表示時間の中から、変数Nの値である2個の画像表示時間のすべての組み合わせが選択され、最小公倍数が算出される(S303)。つまり、通信端末装置3の「150ms」と接続端末4の「310ms」との最小公倍数である「4650ms」が算出される(S303)。また、接続端末4の「310ms」と接続端末5の「400ms」との最小公倍数である「12400ms」が算出される(S303)。また、通信端末装置3の「150ms」と接続端末5の「400ms」との最小公倍数である「1200ms」が算出される(S303)。そして、S303の処理で算出された最小公倍数「4650ms」と「12400ms」と「1200ms」との中に、第一閾値である「5000ms」以下の最小公倍数があると判断される(S304:YES)。そして、第一目標値である「450ms」にもっとも近い最小公倍数である「1200ms」が選択され、第二目標値記憶エリア226に記憶される(S305)。これによって、「1200ms」が第二目標値として設定される(S305)。
S305の処理によって第二目標値が設定された場合、第二目標値を決定するために使用された端末以外の端末の画像表示時間について倍数を算出しても、その算出された倍数は、第二目標値と同一にはならない。このため、第二目標値を決定するために使用された端末以外の端末の画像表示時間を変更する。この変更された後の画像表示時間を「変更画像表示時間」という。後述するS306〜S311の処理によって、変更画像表示時間が算出される。また、S306〜S311の処理によって、変更前の画像表示時間と変更画像表示時間とが近い値に決定される。以下、S306〜S311の処理について説明する。
第二目標値が設定されると(S305)、次に、第二目標値が素因数分解され、第二目標値のすべての約数が算出される(S306)。次に、表示時間記憶エリア222に記憶されているすべての端末の画像表示時間の中から、S305の処理によって決定された第二目標値を算出する際に使用された端末以外の端末の画像表示時間のうちの一が選択される(S307)。なお、S307の処理は、後述するS311の処理によって、第二目標値を算出する際に使用された端末以外の端末の画像表示時間がすべて選択されたと判断されるまで繰り返して実行され、一度選択した端末の画像表示時間を重複して選択しない。
次に、第二目標値がS307の処理で選択された端末の画像表示時間で除算され、その商が算出される(S308)。次に、S306の処理によって算出された第二目標値のすべての約数の中から、S308の処理によって算出された商に近く、且つ、商以下の約数が選択される(S309)。次に、第二目標値が、S309の処理によって選択された第二目標値の約数で除算され、その商が変更画像表示時間として決定され、変更表示時間記憶エリア227に記憶される(S310)。これによって、S307の処理によって選択された端末の変更画像表示時間が決定される(S310)。
次に、S307の処理で第二目標値を算出する際に使用された端末の画像表示時間以外の端末の画像表示時間がすべて選択されたか否かが判断される(S311)。すべての端末の画像表示時間が算出されていない場合には(S311:NO)、次に、S307に戻り処理が繰り返される。つまり、第二目標値を算出する際に使用された端末以外のすべての端末について、変更画像表示時間が算出されるまで処理が繰り返される。S307の処理で第二目標値を算出する際に使用された端末以外の端末の画像表示時間がすべて選択されたと判断された場合には(S311:YES)、次に、画像表示時間変更処理が終了され、図7のフローチャートに戻る。そして、第二目標値がIピクチャ符号化周期として確定される(S212)。S212の処理では、第二目標値が、Iピクチャ符号化周期としてIピクチャ符号化周期記憶エリア313に記憶される。
第二具体例の場合、前述したように、S305の処理で設定された第二目標値は、「1200ms」である。S306の処理では、第二目標値である「1200ms」が素因数分解され、1200msのすべての約数が算出される。これによって、1200msの約数である1、2、3、6、及び12等が算出される(S306)。次に、表示時間記憶エリア222に記憶されているすべての端末の画像表示時間の中から、第二目標値である「1200ms」を算出する際に使用された端末以外の端末の画像表示時間のうちの一が選択される(S307)。第二目標値である「1200ms」を算出する際に使用された端末の画像表示時間は、通信端末装置3の「150ms」と接続端末5の「400ms」とである。このため、通信端末装置3の「150ms」と接続端末5の「400ms」と以外の端末の画像表示時間である接続端末4の「310ms」が選択される(S307)。
次に、第二目標値である「1200ms」が、S307で選択された画像表示時間である「310ms」で除算され、その商である「3」が算出される(S308)。次に、S306の処理によって算出された第二目標値である「1200ms」の約数である1、2、3、6、及び12等の中から、S308の処理によって算出された商である「3」に近く、且つ、「3」以下の約数が選択される(S309)。これによって、第二目標値の約数の中から、「3」が選択される(S309)。次に、第二目標値である「1200ms」が、S309の処理によって選択された第二目標値の約数である「3」で除算され、商である「400ms」が算出される(S310)。そして、その「400ms」が接続端末4の変更画像表示時間として決定され、変更表示時間記憶エリア227に記憶される(S310)。これによって、S307の処理によって選択された接続端末4の変更画像表示時間が決定される(S310)。次に、S307の処理によって第二目標値を算出する際に使用された端末の画像表示時間以外の端末の画像表示時間がすべて選択されているので(S311:YES)、次に、画像表示時間変更処理が終了され、図7のフローチャートに戻る。そして、第二目標値である「1200ms」がIピクチャ符号化周期としてIピクチャ符号化周期記憶エリア313に記憶される(S212)。これによって、Iピクチャ符号化周期が「1200ms」に確定される(S212)。
図9に示した第二具体例の当初の通信端末装置3と接続端末4,5が画像を符号化するタイミングが同一になるのが、37200msの周期であった。しかし、接続端末4の画像表示時間を「310ms」から「400ms」に変更すれば、図13に示すように通信端末装置3と接続端末4,5が画像を符号化するタイミングが同一になるのが、1200msの周期になる。そして、詳細は後述するが、第二具体例の場合、通信端末装置3と接続端末4,5とは、1200msの周期で画像をIピクチャとして符号化する。接続端末4に変更画像表示時間「400ms」を設定する処理については後述する。
前述したように、画像表示時間変更処理(図8参照)とS212の処理とによって、Iピクチャ符号化周期と変更画像表示時間とが決定される。S301〜S305の処理によって、第二目標値が設定される。このとき、ネットワーク2に接続されている端末のすべての台数を変数Nに設定し(S301)、変数Nを1ずつ減らしていき(S302)、N個の画像表示時間のすべての組み合わせの最小公倍数が算出される(S303)。そして、S303で算出された公倍数の中で、第一閾値以下の公倍数があれば、S302〜S304の繰り返し処理が終了される(S304:YES)。つまり、できるだけ変数Nの値が大きく、且つ、第一閾値以下である最小公倍数が存在する場合に、S302〜S304の繰り返し処理が終了される。これによって、ネットワーク2に接続されている端末のうち、N台の端末の画像表示時間については、S307〜S310の処理を行って変更画像表示時間を算出する必要がない。つまり、できるだけ多い台数の端末の画像表示時間は変更する必要がない。
また、最も第一目標値に近い最小公倍数が第二目標値として設定され(S305)、この第二目標値がIピクチャ符号化周期として設定される(図7のS212参照)。これによって、第一閾値以下であり、且つ、最も第一目標値に近い最小公倍数をIピクチャ符号化周期として設定することができる。
また、S306〜S311の処理によって、変更画像表示時間が算出される。一般的に、画像表示時間は、端末が画像を符号化することが可能な時間で設定されている。このため、仮に、変更画像表示時間が、変更前の画像表示時間より短く設定された場合、端末が画像を符号化することが可能な時間より短くなってしまい、不具合が生じるおそれがある。本実施の形態では、S306の処理で第二目標値の約数が求められる。そして、S306の処理によって算出された第二目標値の約数の中から、S308の処理によって算出された商以下の約数を選択している(S309)。このようにすれば、変更前の画像表示時間より変更画像表示時間の方が長い時間となる(S310)。例えば第二具体例の場合、変更前の画像表示時間の「310ms」に対して、変更画像表示時間は「400ms」と設定されている。すなわち、変更前の画像表示時間より変更画像表示時間の方が長い時間となっている。つまり、画像変更表示時間は、端末が画像を符号化することが可能な時間より長くなるため、不具合は生じない。なお、仮に、第二具体例の場合において、S309の処理によって商「3」より大きい約数である「6」が設定された場合には、変更画像表示時間は「200ms」となってしまう(S310)。つまり、変更前の画像表示時間「310ms」より変更画像表示時間「200ms」の方が短い時間となってしまい、前述したように、端末が画像を符号化することが可能な時間より短くなってしまい、不具合が生じるおそれがある。
また、S309の処理では、S306の処理によって算出された第二目標値の約数の中から、S308の処理によって算出された商に近い約数を選択している。このため、S310で算出される変更画像表示時間が、変更前の画像表示時間と近い値となる。つまり、画像表示時間の変化を少なくすることができる。画像表示時間の変化が少ないので、動画を表示させる際の滑らかさの変化を少なくすることができる。
図7のフローチャートの説明に戻る。S210の処理、または、S212の処理によって、Iピクチャ符号化周期が確定されたら、符号化周期決定処理を終了し、図6に示す第一メイン処理に戻る。次に、通信端末装置3のフレームレートを変更する必要があるか否かが判断される(S108)、S108の処理では、変更表示時間記憶エリア227に記憶されている変更画像表示時間が参照され、通信端末装置3のフレームレートを変更する必要があるか否かが判断される。変更表示時間記憶エリア227に通信端末装置3の変更画像表示時間が記憶されていれば、フレームレートを変更する必要があると判断される。また、変更表示時間記憶エリア227に通信端末装置3の変更画像表示時間が記憶されていなければ、フレームレートを変更する必要がないと判断される。
通信端末装置3のフレームレートを変更する必要がある場合には(S108:YES)、通信端末装置3のフレームレートが変更される(S109)。S109の処理では、変更表示時間記憶エリア227に記憶されている通信端末装置3の変更画像表示時間から、フレームレートが算出される。そして、算出されたフレームレートがHDD31の自端末フレームレート記憶エリア312に更新記憶される。これによって、通信端末装置3のフレームレートが変更される(S109)。次に、接続端末の選択が行われる(S110)。なお、S108の処理において、通信端末装置3のフレームレートを変更する必要がないと判断された場合には(S108:NO)、続いて、接続端末の選択が行われる(S110)。
S110の処理では、ネットワーク2に接続されているすべての接続端末のうちの一台が選択される。なお、以下の説明では、すべての接続端末のうち、S110の処理によって選択された接続端末を、「第二選択端末」という。次に、第二選択端末に対して、Iピクチャ符号化周期が送信される(S111)。S111の処理では、S210の処理又はS212の処理(図7参照)によってIピクチャ符号化周期記憶エリア313に記憶されたIピクチャ符号化周期が、第二選択端末に対して送信される。なお、S111の処理によって送信されたIピクチャ符号化周期は、接続端末のS604の処理(図14参照)によって受信される。次に、第二選択端末に対して、フレームレートの変更の必要があるか否かが判断される(S112)。S112の処理は、変更表示時間記憶エリア227に記憶されている変更画像表示時間が参照され、第二選択端末のフレームレートを変更する必要があるか否かが判断される。変更表示時間記憶エリア227に、第二選択端末の変更画像表示時間が記憶されていれば、フレームレートを変更する必要があると判断される(S112:YES)。また、変更表示時間記憶エリア227に、第二選択端末の変更画像表示時間が記憶されていなければ、フレームレートを変更する必要がないと判断される(S112:NO)。
フレームレートを変更する必要がないと判断された場合には(S112:NO)、次に、フレームレートの変更の要求がないことを示すデータである「要求無しデータ」が、第二選択端末に送信される(S113)。S113の処理によって送信された要求無しデータは、後述する接続端末のS606の処理によって受信される。次に、第一確認処理が行われる(S116)。
S112の処理によって、フレームレートを変更する必要があると判断された場合には(S112:YES)、次に、フレームレートの変更の要求があることを示すデータである「要求有りデータ」が、第二選択端末に送信される(S114)。S114の処理によって送信された要求有りデータは、後述する接続端末のS606の処理によって受信される。次に、変更フレームレートが、第二選択端末に送信される(S115)。変更フレームレートとは、変更表示時間記憶エリア227に記憶されている、第二選択端末の変更画像表示時間から算出されたフレームレートである。なお、S115の処理によって、送信された変更フレームレートは、後述する接続端末のS608の処理によって受信される。そして、後述する接続端末のS609の処理によって、接続端末のフレームレートが、変更フレームレートに変更される。
S115の処理によって、変更フレームレートが第二選択端末に送信されたら、次に、第一確認処理が行われる(S116)。ここで、図10を参照して、第一確認処理について説明する。S111の処理によってIピクチャ符号化周期が送信された場合や、S115の処理によって変更フレームレートが送信された場合には、パケットロス等によって、Iピクチャ符号化周期と変更フレームレートとが適切に第二選択端末に設定されないおそれがある。第一確認処理とは、S111の処理によって送信されたIピクチャ符号化周期と、S115の処理によって送信された変更フレームレートとが、接続端末に適切に設定されたことを確認する処理である。
図10に示す第一確認処理では、まず、Iピクチャ符号化周期とフレームレートとの送信の要求するデータである設定情報要求データが、第二選択端末に送信される(S401)。次に、第二選択端末から送信されるIピクチャ符号化周期とフレームレートとが受信されたか否かが判断される(S402)。なお、S401の処理によって送信された設定情報要求データは、後述する第二選択端末のS701の処理(図15参照)によって受信される。そして、後述する第二選択端末のS702の処理によって、第二選択端末に設定されているIピクチャ符号化周期とフレームレートとが送信される。S402の処理では、第二選択端末のS702の処理によって送信されたIピクチャ符号化周期とフレームレートとが受信されたか否かが判断される。
Iピクチャ符号化周期とフレームレートとが受信されていない場合には(S402:NO)、続いて、S402に戻り処理が繰り返される。つまり、Iピクチャ符号化周期とフレームレートとが受信されるまで待機している。Iピクチャ符号化周期とフレームレートとが受信された場合には(S402:YES)、続いて、受信されたIピクチャ符号化周期とフレームレートとが、設定されたIピクチャ符号化周期とフレームレートとに一致するか否かが判断される(S403)。S403の処理では、S402の処理によって受信されたIピクチャ符号化周期と、S210の処理またはS212の処理(図7参照)で確定されたIピクチャ符号化周期とが一致するか否かが判断される。また、第二選択端末が、通信端末装置3のS115の処理によって変更フレームレートを送信された接続端末である場合には、S402の処理によって受信されたフレームレートと、変更フレームレートとが一致するか否かが判断される(S403)。なお、第二選択端末が、通信端末装置3のS113の処理で要求無しデータを送信された接続端末である場合には、S402の処理によって受信されたフレームレートと、S104の処理(図6参照)によって受信されたフレームレートとが一致するため、フレームレートは一致すると判断される(S403)。
Iピクチャ符号化周期が一致し、且つ、フレームレートが一致した場合には(S403:YES)、続いて、Iピクチャ符号化周期とフレームレートとを再設定する必要がないことを知らせるデータである「再設定要求無しデータ」が、第二選択端末に送信される(S404)。S404の処理によって送信された再設定要求無しデータは、第二選択端末のS703の処理(図15参照、後述)によって受信される。再設定要求無しデータが第二選択端末に送信されたら(S404)、次に、第一確認処理を終了し、図6に示す第一メイン処理に戻る。
Iピクチャ符号化周期が一致しない場合、または、フレームレートが一致しない場合には(S403:NO)、続いて、Iピクチャ符号化周期とフレームレートとのいずれかを再設定する必要があることを知らせるデータである「再設定要求有りデータ」が、第二選択端末に送信される(S405)。S405の処理によって送信された再設定要求有りデータは、第二選択端末のS703の処理によって受信される。再設定要求有りデータが第二選択端末に送信されたら(S405)、次に、第一確認処理を終了し、図6に示す第一メイン処理に戻る。
第一確認処理(S116)が終了したら、次に、Iピクチャ符号化周期、または、変更フレームレートを第二選択端末に再設定する必要があるか否かが判断される(S117)。S117の処理では、S404の処理(図10参照)によって、再設定要求無しデータが第二選択端末に送信されていた場合、Iピクチャ符号化周期と変更フレームレートとを第二選択端末に再設定する必要がないと判断される。また、S117の処理では、S405の処理(図10参照)によって、再設定要求有りデータが第二選択端末に送信されていたら、Iピクチャ符号化周期、または、変更フレームレートを第二選択端末に再設定する必要があると判断される。
Iピクチャ符号化周期、または、変更フレームレートを第二選択端末に再設定する必要があると判断された場合には(S117:YES)、続いて、Iピクチャ符号化周期、または、変更フレームレートが第二選択端末に送信される(S118)。S118の処理では、S403の処理(図10参照)によってIピクチャ符号化周期とフレームレートとの両方が一致していないと判断されていた場合には、Iピクチャ符号化周期と変更フレームレートとを第二選択端末に送信する。また、S118の処理では、S403の処理(図10参照)によってIピクチャ符号化周期は一致し、フレームレートは一致していないと判断された場合には、変更フレームレートのみを第二選択端末に送信する。また、S118の処理では、S403の処理(図10参照)によってIピクチャ符号化周期は一致せず、フレームレートは一致していると判断された場合には、Iピクチャ符号化周期のみを第二選択端末に送信する。つまり、Iピクチャ符号化周期と変更フレームレートとのうち、第二選択端末に再設定することが必要なデータが第二選択端末に送信される。なお、S118の処理で送信されたIピクチャ符号化周期、または、変更フレームレートは、第二選択端末のS612の処理で受信され、S613の処理で再設定される(図14参照)。
Iピクチャ符号化周期、または、変更フレームレートが第二選択端末に送信されたら(S118)、続いて、S116に戻り処理が繰り返される。つまり、第二選択端末に設定されているIピクチャ符号化周期とフレームレートとが、通信端末装置3から第二選択端末に送信されたIピクチャ符号化周期と変更フレームレートとに一致するまで、S116〜S118の処理が繰り返される。
Iピクチャ符号化周期、または、変更フレームレートを第二選択端末に再設定する必要がないと判断された場合には(S117:NO)。次に、すべての接続端末が選択されたか否かが判断される(S119)。S119の処理では、ネットワーク2に接続されているすべての接続端末がS110の処理によって選択されたか否かが判断される。S110の処理で選択されていない接続端末がある場合には(S119:NO)、続いて、S110に戻り処理が繰り返される。つまり、すべての接続端末を選択して、S110〜S119の処理が行われる。
第一具体例の場合、変更表示時間記憶エリア227には、通信端末装置3の変更画像表示時間が記憶されていないので、通信端末装置3のフレームレートを変更する必要がないと判断される(S108:NO)。次に接続端末の選択が行われる(S110)。ここで、接続端末4が選択されたとする(S110)。次に、接続端末4に対して、Iピクチャ符号化周期が送信される(S111)。第一具体例の場合は、図7のS210の処理によって、Iピクチャ符号化周期が「400ms」に確定されている。このため、Iピクチャ符号化周期記憶エリア313に記憶されたIピクチャ符号化周期である「400ms」が接続端末4に対して送信される(S111)。送信されたIピクチャ符号化周期「400ms」は、接続端末4のS604の処理(図14参照)によって受信される。次に、変更表示時間記憶エリア227には、接続端末4の変更画像表示時間が記憶されていないので、接続端末4のフレームレートを変更する必要がないと判断される(S112:NO)。次に、フレームレートの変更の要求がないことを示すデータである「要求無しデータ」が、接続端末4に送信される(S113)。S113の処理によって送信された要求無しデータは、接続端末4のS606(図14参照)の処理によって受信される。
次に、第一確認処理(S116)が行われる。図10に示す第一確認処理では、Iピクチャ符号化周期とフレームレートとの送信の要求するデータである設定情報要求データが、接続端末4に送信される(S401)。ここで、第一具体例の場合、S111の処理によって接続端末4に送信されたIピクチャ符号化周期である「400ms」が、接続端末4によって適切に受信され(図14のS604)、接続端末4に設定されたとする(図14のS605)。また、接続端末4のフレームレートは変更されていない(S113)。この場合、接続端末4から送信されるIピクチャ符号化周期「400ms」とフレームレート「20fps」とが受信されたと判断された場合には(S402:YES)、続いて、受信されたIピクチャ符号化周期「400ms」とフレームレート「20fps」とが、設定されたIピクチャ符号化周期とフレームレートとに一致するか否かが判断される(S403)。S210の処理によって確定されたIピクチャ符号化周期は「400ms」である。また、通信端末装置3は、S113の処理によって接続端末4に要求無しデータを送信している。したがって、接続端末4のフレームレート「20fps」は変更されていない。よって、S402の処理で受信されたIピクチャ符号化周期「400ms」とフレームレート「20fps」とが、S210の処理によって確定されたIピクチャ符号化周期「400ms」と、S104の処理によって受信されたフレームレート「20fps」とに一致すると判断される(S403:YES)。次に、Iピクチャ符号化周期とフレームレートとを再設定する必要がないことを知らせるデータである「再設定要求無しデータ」が、接続端末4に送信される(S404)。次に、第一確認処理を終了し、図6に示す第一メイン処理に戻る。
第一確認処理(S116)が終了したら、次に、S404の処理(図10参照)によって、再設定要求無しデータが接続端末4に送信されているので、Iピクチャ符号化周期、または、フレームレートを接続端末4に再設定する必要がないと判断される(S117:NO)。
次に、S110の処理で接続端末5が選択されていないと判断され(S119:NO)、S110の処理に戻り、接続端末5が選択される。そして、接続端末5に対して、Iピクチャ符号化周期である「400ms」が送信される(S111)。次に、変更表示時間記憶エリア227には、接続端末5の変更画像表示時間が記憶されていないので、接続端末5のフレームレートを変更する必要がないと判断される(S112:NO)。次に要求無しデータが、接続端末5に送信される(S113)。
次に、第一確認処理(S116)が行われる。ここで、第一具体例の場合、S111の処理によって、接続端末5に送信されたIピクチャ符号化周期である「400ms」が、接続端末5によって適切に受信され(図14のS604)、接続端末5に設定されたとする(図14のS605)。また、接続端末5のフレームレート「25fps」は変更されていない(S113)。この場合、接続端末5から送信されるIピクチャ符号化周期「400ms」とフレームレート「25fps」とが受信されたと判断された場合には(S402:YES)、続いて、S402の処理で受信されたIピクチャ符号化周期「400ms」とフレームレート「25fps」とが、S210の処理によって確定されたIピクチャ符号化周期「400ms」とS104の処理によって受信されたフレームレート「25fps」とに一致すると判断される(S403:YES)。次に、再設定要求無しデータが、接続端末5に送信される(S404)。次に、第一確認処理を終了し、図6に示す第一メイン処理に戻る。
第一確認処理(S116)が終了したら、次に、S404の処理(図10参照)によって、再設定要求無しデータが接続端末5に送信されているので、Iピクチャ符号化周期、または、フレームレートを接続端末5に再設定する必要がないと判断される(S117:NO)。次に、ネットワーク2に接続されているすべての接続端末4,5が選択されたと判断される(S119:YES)。
第二具体例の場合、変更表示時間記憶エリア227には、通信端末装置3の変更画像表示時間が記憶されていないので、通信端末装置3のフレームレートを変更する必要がないと判断される(S108:NO)。次に、接続端末の選択が行われる(S110)。ここで、接続端末4が選択されたとする(S110)。次に、接続端末4に対して、Iピクチャ符号化周期が送信される(S111)。第二具体例の場合は、図7のS212の処理によって、Iピクチャが「1200ms」に確定されている。このため、Iピクチャ符号化周期記憶エリア313に記憶されたIピクチャ符号化周期である「1200ms」が接続端末4に対して送信される(S111)。次に、フレームレートを変更する必要があるか否かが判断される。図8のS310の処理によって、表示時間記憶エリア222には、接続端末4の変更画像表示時間である「400ms」が記憶されている。このため、フレームレートを変更する必要があると判断される(S112:YES)。次に、フレームレートの変更の要求があることを示すデータである「要求有りデータ」が、接続端末4に送信される(S114)。S114の処理によって送信された要求有りデータは、接続端末4のS606の処理(図14参照)によって受信される。次に、変更フレームレートが、接続端末4に送信される(S115)。変更フレームレートは、表示時間記憶エリア222に記憶されている接続端末4の変更画像表示時間である「400ms」の逆数を計算することによって算出される。これによって、変更フレームレートは、「2.5fps」と算出され、接続端末4に送信される(S115)。
次に、第一確認処理(S116)が行われる。ここで、第二具体例の場合、S111の処理によって、接続端末4に送信されたIピクチャ符号化周期である「1200ms」が、接続端末4によって適切に受信され(図14のS604)、接続端末4に設定されたとする(図14のS605)。また、S115の処理によって接続端末4に送信された変更フレームレート「2.5fps」がパケットロス等によって適切に受信されず、接続端末4のフレームレートが「2fps」と設定されたとする。この場合において、接続端末4から送信されるIピクチャ符号化周期「1200ms」とフレームレート「2fps」とが受信されたと判断された場合には(S402:YES)、続いて、S403の処理が行われる。S403の処理では、S402の処理で受信されたIピクチャ符号化周期「1200ms」とS210の処理によって確定されたIピクチャ符号化周期は「1200ms」とは一致すると判断される。しかし、S402の処理で受信されたフレームレート「2fps」と、S115の処理で送信された変更フレームレート「2.5fps」とが一致しないと判断される(S403:NO)。次に、Iピクチャ符号化周期とフレームレートとのいずれかを再設定する必要があることを知らせるデータである「再設定要求有りデータ」が、接続端末4に送信される(S405)。なお、第二具体例の場合は、フレームレートを変更する必要があるので、再設定要求有りデータには、フレームレートを変更する必要があるという情報が含まれている。S405の処理によって送信された再設定要求有りデータは、接続端末4のS703(図15参照)の処理によって受信される。次に、第一確認処理を終了し、図6に示す第一メイン処理に戻る。
第一確認処理(S116)が終了したら、次に、S405の処理(図10参照)によって、再設定要求有りデータが接続端末4に送信されているので、Iピクチャ符号化周期、または、変更フレームレートを接続端末4に再設定する必要があると判断される(S117:YES)。次に、Iピクチャ符号化周期、または、変更フレームレートが第二選択端末に送信される(S118)。第二具体例の場合は、S403の処理(図10参照)によってIピクチャ符号化周期は一致し、フレームレートは一致していないと判断されているので、変更フレームレート「2.5fps」のみが接続端末4に送信される(S118)。S118の処理で送信された変更フレームレート「2.5fps」は、接続端末4のS612の処理で受信され、S613の処理で再設定される(図14参照)。第二具体例の場合では、S118の処理で送信された変更フレームレート「2.5fps」は、正常に接続端末4に設定されたとする(図14のS613参照)。
次に、S116に戻り処理が繰り返される。変更フレームレート「2.5fps」は正常に接続端末4に設定されたので、S402の処理で受信されるIピクチャ符号化周期「1200ms」とフレームレート「2.5fps」とが、S210の処理によって確定されたIピクチャ符号化周期「1200ms」と変更フレームレート「2.5fps」とに一致すると判断される(S403:YES)。次に、Iピクチャ符号化周期とフレームレートとを再設定する必要がないことを知らせるデータである「再設定要求無しデータ」が、接続端末4に送信される(S404)。次に、第一確認処理を終了し、図6に示す第一メイン処理に戻る。
第一確認処理(S116)が終了したら、次に、S404の処理(図10参照)によって、再設定要求無しデータが接続端末4に送信されているので、Iピクチャ符号化周期、または、フレームレートを接続端末4に再設定する必要がないと判断される(S117:NO)。
次に、S110の処理で接続端末5が選択されていないと判断され(S119:NO)、S110の処理に戻り、接続端末5が選択される。そして接続端末5に対して、S110〜S119の処理が行われる。そして、ネットワーク2に接続されているすべての接続端末4,5が選択されたと判断される(S119:YES)。
ネットワーク2に接続されているすべての接続端末がS110の処理によって選択された場合には(S119:YES)、続いて、すべての接続端末に対して、エンコード開始の指示を表すデータであるエンコード指示データが送信される(S120)。S120の処理によって、送信されたエンコード指示データは、接続端末のS614の処理(図14参照)によって受信される。次に、録画処理が行われる(S121)。
ここで、図11を参照して、録画処理について説明する。録画処理は、ネットワーク2に接続されている各端末が画像を符号化したデータを記憶する処理である。図11に示す録画処理では、まず、通信端末装置3においてエンコード処理が行われる(S501)。S501の処理では、カメラ(図2参照)から入力された画像のデータが、エンコーダ36において符号化される。このとき、画像を符号化したデータであるIピクチャ、Pピクチャ、及びBピクチャが生成される。S501の処理では、Iピクチャ符号化周期記憶エリア313に記憶されているIピクチャ符号化周期で、画像がIピクチャとして符号化される。
次に、S501の処理によって符号化された画像のデータが、通信端末装置3が符号化したデータであるとしてHDD31の符号化データ記憶エリア314(図3参照)に記憶される(S502)。つまり、録画される。以下の説明では、通信端末装置3が符号化した画像のデータを「通信端末符号化データ」という。次に、接続端末において符号化された画像のデータ(以下、「接続端末符号化データ」という。)が受信されたか否かが判断される(S503)。S503の処理では、後述する接続端末のS615の処理(図14参照)によって符号化され、S616の処理(図14参照)によって送信された接続端末符号化データが受信されたか否かが判断される。なお、接続端末符号化データは、Iピクチャ、Pピクチャ、及びBピクチャを含んでいるが、Iピクチャ符号化周期で画像がIピクチャとして符号化されている。つまり、通信端末装置3と接続端末とは、同一のIピクチャ符号化周期で画像をIピクチャとして符号化する。以下の説明では、Iピクチャ符号化周期で符号化された各端末のIピクチャを「共通Iピクチャ」という。
接続端末から送信された接続端末符号化データが受信された場合には(S503:YES)、次に、受信された接続端末符号化データを参照して、符号化した接続端末が識別される(S504)。次に、S503で受信された接続端末符号化データが、S504の処理の処理によって識別された接続端末において符号化されたデータであるとして、HDD31の符号化データ記憶エリア314に記憶される(S505)。つまり、録画される。これによって、符号化データ記憶エリア314には、通信端末装置3と接続端末とが画像を符号化したデータが記憶される。
次に、キーボード29及びマウス27を介してユーザによって録画処理を終了する指示(以下、「録画終了指示」という。)が入力されたか否かが判断される(S506)。また、S503の処理において、接続端末から送信された接続端末符号化データが受信されていない場合にも(S503:NO)、録画終了指示が入力されたか否かが判断される(S506)。録画終了指示が入力されていない場合には(S506:NO)、続いて、S501に戻り処理が繰り返される。これによって、通信端末符号化データと接続端末符号化データとの記憶が継続される。つまり、録画が継続される。
録画終了指示が入力された場合には(S506:YES)、続いて、録画が終了される(S507)。次に、録画処理を終了し、図6のフローチャートに戻る。図6に示すように、録画処理が終了したら、第一メイン処理が終了される。
なお、図11に示した録画処理が実行されている場合には、テレビ会議が行われている。このため、図11には図示していないが、S503の処理で受信された接続端末符号化データが、デコーダ37で復号され、ディスプレイ28に表示されている。また、通信端末装置3のカメラ34から入力された画像も同時にディスプレイ28に表示されている。これによって、ネットワーク2に接続されているすべての端末を使用しているユーザの様子がディスプレイ28に表示され、テレビ会議を行うことができる。
また、図11には図示していないが、ネットワーク2に接続されているすべての端末が符号化した画像のデータは、ネットワーク2に接続されているすべての端末間で相互に送受信されている。そして、各端末において復号され、各端末のディスプレイ28に表示される。これによって、すべての端末間でテレビ会議を行うことができる。
また、図11には図示していないが、各端末のマイク35で入力された音声も音声データとして符号化され、すべての端末間で相互に送受信されている。そして、各端末において復号されて音声が再生される。また、各端末の音声データは、通信端末装置3のHDD31の符号化データ記憶エリア314に記憶される。つまり、符号化データ記憶エリア314には、通信端末符号化データと、接続端末符号化データと、各端末の音声データとが記憶されている。
また、通信端末符号化データと接続端末符号化データと各端末の音声データとには、各端末に備えられたタイマ38を利用して計測された時刻の情報が含まれている。
第一具体例の場合、接続端末4,5に対して、エンコード開始の指示を表すデータであるエンコード指示データが送信される(S120)。次に、図11に示す録画処理が行われる(S121)。以下の説明では、図12を参照しながら、図11の録画処理について説明する。図12は、図5で示した通信端末装置3と接続端末4,5とが画像を符号化するタイミングに加えて、さらに、Iピクチャ符号化周期「400ms」毎に共通Iピクチャを生成している様子を表している。図11及び図12に示すように、通信端末装置3は、カメラ34から入力された画像を100ms毎に符号化し、IピクチャとPピクチャとBピクチャとを生成する(S501)。このとき、Iピクチャは、Iピクチャ符号化周期である「400ms」毎に生成される(S501)。図12では、0msでピクチャ801がIピクチャとして生成され、400msでピクチャ805がIピクチャとして生成され、800msでピクチャ809がIピクチャとして生成されている(S501)。図示しないが、同様に1200ms、1600ms等もピクチャがIピクチャとして生成される(S501)。そして、S501の処理によって符号化された通信端末符号化データが、符号化データ記憶エリア314に記憶される(S502)。
また、接続端末4と接続端末5とは、カメラ34から入力された画像を符号化し(図14のS615参照)、接続端末符号化データを通信端末装置3に送信する(図14のS616参照)。接続端末4は、50ms毎に画像を符号化し、接続端末符号化データを生成する(図14のS615)。このとき、接続端末4は、Iピクチャ符号化周期である「400ms」毎にIピクチャを生成する(図14のS615)。図12では、0msでピクチャ821がIピクチャとして生成され、400msでピクチャ829がIピクチャとして生成され、800msでピクチャ837がIピクチャとして生成されている(図14のS615)。図示しないが、同様に1200ms、1600ms等もピクチャがIピクチャとして生成される(図14のS615)。そして、接続端末4は、S615の処理によって生成した接続端末符号化データを、通信端末装置3に送信する(図14のS616参照)。
また、接続端末5は、40ms毎に画像を符号化し、接続端末符号化データを生成する(図14のS615)。このとき、接続端末5は、Iピクチャ符号化周期である「400ms」毎にIピクチャを生成する(図14のS615)。図12では、0msでピクチャ841がIピクチャとして生成され、400msでピクチャ851がIピクチャとして生成され、800msでピクチャ861がIピクチャとして生成されている(図14のS615)。図示しないが、同様に1200ms、1600ms等もピクチャがIピクチャとして生成される(図14のS615)。そして、接続端末5は、S615の処理によって生成した接続端末符号化データを、通信端末装置3に送信する(図14のS615参照)。
接続端末4から送信された接続端末符号化データが受信された場合には(S503:YES)、続いて、受信された接続端末符号化データを参照して、接続端末4が符号化した接続端末符号化データであることが識別される(S504)。次に、S503で受信された接続端末符号化データが、S504の処理によって識別された接続端末4において符号化されたデータであるとして、符号化データ記憶エリア314に記憶される(S505)。
また、接続端末5から送信された接続端末符号化データが受信された場合には(S503:YES)、続いて、受信された接続端末符号化データを参照して、接続端末5が符号化した接続端末符号化データであることが識別される(S504)。次に、S503で受信された接続端末符号化データが、S504の処理によって識別された接続端末5において符号化されたデータであるとして、符号化データ記憶エリア314に記憶される(S505)。
S501〜S506の処理を繰り返して、通信端末装置3と接続端末4,5とが符号化したデータが、符号化データ記憶エリア314に記憶される。つまり、録画される。そして、録画終了指示が入力されると(S506:YES)、録画処理が終了される。さらに図6の第一メイン処理が終了される。
図11に示す録画処理によって、符号化データ記憶エリア314には、図12に示すように、各端末が画像を符号化したデータが記憶される。そして、このとき、すべての端末がIピクチャ符号化周期である「400ms」毎にIピクチャを生成している。つまり、図12では、0msでピクチャ801とピクチャ821とピクチャ841とが同一のタイミングでIピクチャとして生成されている。また、400msでピクチャ805とピクチャ829とピクチャ851とが同一のタイミングでIピクチャとして生成されている。800msでピクチャ809とピクチャ837とピクチャ861とが同一のタイミングでIピクチャとして生成されている。
第二具体例の場合は、第一具体例の場合と同様に、S501〜S507の処理が行われることによって、符号化データ記憶エリア314には、図13に示すように、各端末が画像を符号化したデータが記憶される。このとき、すべての端末がIピクチャ符号化周期である「1200ms」毎にIピクチャを生成している。つまり、1200ms、2400ms、3600ms等では、すべての端末がIピクチャを生成している。また、通信端末装置3は、150ms毎に画像を符号化し、Iピクチャ、Pピクチャ、及びBピクチャを生成している。また、接続端末4は、400ms毎に画像を符号化し、Iピクチャ、Pピクチャ、及びBピクチャを生成している。また、接続端末5は、400ms毎に画像を符号化し、Iピクチャ、Pピクチャ、及びBピクチャを生成している。
図9に示した第二具体例の当初の通信端末装置3と接続端末4,5が画像を符号化するタイミングが同一になるのが、37200msの周期であった。しかし、接続端末4の画像表示時間を「310ms」から「400ms」に変更したことで、図13に示すように通信端末装置3と接続端末4,5が画像を符号化するタイミングが同一になるのが、1200msの周期になっている。そして、通信端末装置3と接続端末4,5とは、Iピクチャ符号化周期である「1200ms」の周期で画像をIピクチャとして符号化している。
次に、図14を参照して、接続端末において行われる第二メイン処理について説明する。図14に示す第二メイン処理では、まず、初期化が行われる(S601)。S601の処理では、各種のパラメータ等の初期化が行われる。
次に、通信端末装置3のS103の処理(図6参照)によって送信されたフレームレート要求データが、受信されたか否かが判断される(S602)。フレームレート要求データが受信されていない場合には(S602:NO)、続いて、S602に戻り処理が繰り返される。つまり、フレームレート要求データが受信されるまで、接続端末は待機している。フレームレート要求データが受信された場合には(S602:YES)、続いて、接続端末のフレームレートが、通信端末装置3に送信される(S603)。S603の処理では、自端末フレームレート記憶エリア312(図3参照)に記憶されているフレームレートが、通信端末装置3に送信される(S603)。前述したように、S603の処理によって、通信端末装置3に送信された接続端末のフレームレートは、通信端末装置3のS104の処理(図6参照)によって受信される。
次に、通信端末装置3のS111の処理(図6参照)によって送信されるIピクチャ符号化周期が受信されたか否かが判断される(S604)。Iピクチャ符号化周期が受信されていない場合には(S604:NO)、次に、S604に戻り処理が繰り返される。つまり、Iピクチャ符号化周期が受信されるまで、接続端末は待機している。Iピクチャ符号化周期が受信された場合には(S604:YES)、続いて、Iピクチャ符号化周期が接続端末に設定される(S605)。S605の処理では、S604の処理によって受信されたIピクチャ符号化周期が、Iピクチャ符号化周期記憶エリア313に記憶される。これによって、Iピクチャ符号化周期が接続端末に設定される(S605)。
次に、通信端末装置3のS113の処理によって送信される要求無しデータ、又は、通信端末装置3のS114の処理によって送信される要求有りデータが受信されたか否かが判断される(S606)。要求無しデータ、又は要求有りデータが受信されていない場合には(S606:NO)、続いて、S606に戻り処理が繰り返される。つまり、要求無しデータ、又は要求有りデータが受信されるまで、接続端末は待機している。
要求無しデータ、又は要求有りデータが受信された場合には(S606:YES)、続いて、S606の処理によって受信されたデータが、要求有りデータであるか否かが判断される(S607)。S606の処理によって受信されたデータが、要求有りデータであった場合には(S607:YES)、続いて、通信端末装置3のS115の処理(図6参照)によって送信される変更フレームレートが受信されたか否かが判断される(S608)。変更フレームレートが受信されていない場合には(S608:NO)、続いて、S608に戻り処理が繰り返される。つまり、変更フレームレートが受信されるまで、接続端末は待機している。
変更フレームレートが受信された場合には(S608:YES)、続いて、フレームレートの変更が行われる(S609)。S609の処理では、S608の処理によって受信された変更フレームレートが、HDD31の自端末フレームレート記憶エリア312に更新記憶される。これによって、接続端末のフレームレートが変更される(S609)。次に、第二確認処理が行われる(S610)。なお、S606の処理によって受信されたデータが、要求無しデータであった場合には(S607:NO)、続いて、第二確認処理が行われる(S610)。
ここで、図15を参照して、第二確認処理について説明する。前述したように、通信端末装置3は、第一確認処理(図10参照)によって接続端末のフレームレートとIピクチャ符号化周期とを確認する。第二確認処理は、通信端末装置3の第一確認処理によって、接続端末のフレームレートとIピクチャ符号化周期とを確認されるための処理である。
図15に示す第二確認処理では、まず、通信端末装置3のS401の処理によって送信される設定情報要求データが受信されたか否かが判断される(S701)。設定情報要求データは、Iピクチャ符号化周期とフレームレートとの送信の要求するデータである。設定情報要求データが受信されていない場合には(S701:NO)、次に、S701に戻り処理が繰り返される。つまり、設定情報要求データが受信されるまで待機している。
設定情報要求データが受信された場合には(S701:YES)、次に、接続端末のIピクチャ符号化周期とフレームレートとを通信端末装置3に送信する(S702)。S702の処理では、自端末フレームレート記憶エリア312に記憶されているフレームレートと、Iピクチャ符号化周期記憶エリア313に記憶されているIピクチャ符号化周期が通信端末装置3に送信される。
次に、通信端末装置3から送信される再設定要求有りデータ(図10のS405参照)、または、再設定要求無しデータ(図10のS404参照)が受信されたか否かが判断される(S703)。再設定要求有りデータ、または、再設定要求無しデータが受信されていない場合には(S703:NO)、続いて、S703に戻り処理が繰り返される。つまり、接続端末は待機している。再設定要求有りデータ、または、再設定要求無しデータが受信された場合には(S703:YES)、続いて、第二確認処理が終了され、図14に示す第二メイン処理に戻る。
次に、S703の処理で受信されたデータが、再設定要求有りデータであるか否かが判断される(S611)。S703の処理で受信されたデータが、再設定要求有りデータであった場合には(S611:YES)、次に、通信端末装置3のS118の処理(図6参照)によって送信されるIピクチャ符号化周期、または、変更フレームレートが受信されたか否かが判断される(S612)。前述したように、通信端末装置3のS118の処理では、Iピクチャ符号化周期と変更フレームレートとのうち、接続端末に再設定が必要なデータが接続端末に送信される。
Iピクチャ符号化周期、または、変更フレームレートが受信されていない場合には(S612:NO)、S612に戻り処理が繰り返される。つまり、接続端末は待機している。Iピクチャ符号化周期、または、変更フレームレートが受信された場合には(S612:YES)、次に、S612の処理で受信されたIピクチャ符号化周期、または、変更フレームレートが接続端末4に再設定される(S613)。つまり、Iピクチャ符号化周期が受信された場合には、Iピクチャ符号化周期がIピクチャ符号化周期記憶エリア313に更新記憶される(S613)。また、変更フレームレートが受信された場合には、変更フレームレートが自端末フレームレート記憶エリア312に更新記憶される(S613)。次に、S610に戻り処理が繰り返される。
S703の処理で受信されたデータが再設定要求無しデータであった場合には、再設定要求有りデータではないと判断される(S611:NO)。次に、通信端末装置3のS120の処理(図6参照)によって端末装置に送信されるエンコード指示データが受信されたか否かが判断される(S614)。エンコード指示データが受信されていない場合には(S614:NO)、続いて、S614に戻り処理が繰り返される。つまり、エンコード指示データが受信されるまで、接続端末は待機している。
エンコード指示データが受信された場合には(S614:YES)、続いて、エンコード処理が行われる(S615)。S615の処理では、カメラ(図2参照)から入力された画像のデータが、エンコーダ36において符号化される。このとき、画像を符号化したデータであるIピクチャ、Pピクチャ、及びBピクチャが生成される。S615の処理では、Iピクチャ符号化周期記憶エリア313(図4参照)に記憶されているIピクチャ符号化周期で、画像がIピクチャとして符号化される。
次に、S615の処理によって接続端末において符号化された画像のデータである接続端末符号化データが通信端末装置3に送信される(S616)。S616の処理によって通信端末装置3に送信された接続端末符号化データは、通信端末装置3のS503の処理(図11参照)によって受信される。次に、テレビ会議が終了されたか否かが判断される(S617)。テレビ会議が終了されていない場合には(S617:NO)、続いて、S615に戻り処理が繰り返される。つまり、テレビ会議が終了されるまで、エンコード処理が行われ(S615)、接続端末符号化データが通信端末装置3に送信される(S616)。テレビ会議が終了された場合には(S617:YES)、続いて、接続端末による第二メイン処理が終了される。
以上説明したように、通信端末装置3の第一メイン処理と、接続端末の第二メイン処理が行われる。
次に、符号化データ記憶エリア314に記憶された各端末が符号化したデータを、復号して再生させる場合について述べる。ここでは、図1に示すテレビ会議システム1において、通信端末装置3と接続端末4,5とがテレビ会議を行っているとする。そして、会議の途中で、図16に示すように、ネットワーク2に新たに接続端末6が接続された場合について述べる。接続端末6は、通信端末装置3と接続端末4,5とは、同一の電気的構成をしており、さらに同一のソフトウェアが設定されている。
接続端末6を使用しているユーザは、途中から会議に参加するので、ネットワーク2に接続端末6が接続される前に行われた会議の内容がわからない。そこで、接続端末6を使用しているユーザは、通信端末装置3の符号化データ記憶エリア314に記憶されている各端末が符号化したデータ(以下、「録画データ」という。)を取得し、接続端末6において再生することで、会議の内容を知ることができる。ここで、説明のため、録画データは、図12に示す第一具体例の場合に録画されたデータであるとする。なお、接続端末6は、会議の途中で接続されている、つまり、通信端末装置3が録画処理(図11参照)を行っている最中に接続端末6が接続されている。以下で説明する接続端末6において実行される第三メイン処理(図17参照)と通信端末装置3において実行される第四メイン処理(図18参照)とは、通信端末装置3が録画処理(図11参照)を実行している最中に行われる。つまり、通信端末装置3は、録画処理を実行しながら、第四メイン処理を行うことができる。なお、第三メイン処理と第四メイン処理とは、通信端末装置3の第一メイン処理(図6参照)が終了した後に行うこともできる。
まず、図17に示すフローチャートを参照して、接続端末6において実行される第三メイン処理について説明する。図17に示す第三メイン処理では、まず、Iピクチャ符号化周期と録画開始時刻との送信要求が通信端末装置3に対して行われる(S801)。次に、通信端末装置3から接続端末6に送信されるIピクチャ符号化周期と録画開始時刻とが受信されたか否かが判断される(S802)。S801の処理によって、送信されたIピクチャ符号化周期と録画開始時刻との送信要求は、後述する通信端末装置3のS901の処理(図18参照)において受信される。そして、通信端末装置3からIピクチャ符号化周期と録画開始時刻とが送信される(図18のS902、後述)。S802の処理では、通信端末装置3のS902の処理によって送信されるIピクチャ符号化周期と録画開始時刻とが受信されたか否かが判断される。通信端末装置3のS902の処理によって送信されるIピクチャ符号化周期と録画開始時刻とが受信されていない場合には(S802:NO)、続いて、S802に戻り処理が繰り返される。つまり、通信端末装置3のS902の処理によって送信されるIピクチャ符号化周期と録画開始時刻とが受信されるまで待機している。
通信端末装置3のS902の処理によって送信されるIピクチャ符号化周期と録画開始時刻とが受信された場合には(S802:YES)、続いて、ユーザによって頭出しモードが選択されたか否かが判断される(S803)。頭出しモードとは、ユーザが時間を指定して、ユーザが指定した時間から再生を開始するモードである。ユーザは、マウス27又はキーボード29(図2参照)を操作して、頭出しモードを選択することができる。なお、頭出しモードを選択する際には、ユーザは、再生を開始したい時刻(以下、「再生開始時刻」という。)を入力する。
頭出しモードが選択されていない場合には(S803:NO)、続いて、早送りモードが選択されたか否かが判断される(S804)。早送りモードとは、録画データを早送りで再生するモードである。ユーザは、マウス27又はキーボード29(図2参照)を操作して、早送りモードを選択することができる。なお、早送りモードを選択する際には、ユーザは、数段階の速度に分けられた早送り速度を選択する。
早送りモードが選択されていない場合には(S804:NO)、続いて、通信端末装置3に対して、録画データに含まれるすべてのピクチャを順番に送信するように要求するデータである第一要求データが送信される(S805)。次に、通信端末装置3から送信される録画データが受信されたか否かが判断される(S806)。S805の処理によって、通信端末装置3に対して、送信された第一要求データは、通信端末装置3のS903の処理(図18参照)で受信され、第一要求データに基づいて、S904の処理によって、録画データに含まれるすべてのピクチャが順番に接続端末6に送信される。S806の処理では、通信端末装置3のS904の処理によって送信された録画データが受信されたか否かが判断される。録画データが受信されていない場合には(S806:NO)、続いて、S806に戻り処理が繰り返される。つまり、接続端末6は、通信端末装置3から送信される録画データが受信されるまで待機している。通信端末装置3から送信される録画データが受信された場合には(S806:YES)、続いて、S806の処理で受信された録画データが復号され、ディスプレイ28(図2参照)に画像が表示される(S807)。録画データの復号は、デコーダ37によって行われる。次に、録画データにおける最後のピクチャが受信されたか否かが判断される(S808)。
最後のピクチャが受信されていない場合には(S808:NO)、続いて、S803に戻り処理が繰り返される。つまり、頭出しモードが選択されず(S803:NO)、早送りモードも選択されず(S804:NO)、録画データにおける最後のピクチャが受信されていない場合には(S808:NO)、第一要求データを送信し(S805)、ピクチャを順番に受信し(S806:YES)、ディスプレイ28に画像が順番に表示される(S808)。これによって、通常の再生が行われる。
なお、最後のピクチャが受信された場合には(S808:YES)、通信端末装置3における第三メイン処理が終了される。
第一具体例の場合は、録画開始時刻が12時00分であるとする。したがって、S802の処理によって、録画開始時刻である「12時00分」と、Iピクチャ符号化周期である「400ms」とが受信される。そして、頭出しモードが選択されず(S803:NO)、早送りモードも選択されず(S804:NO)、録画データにおける最後のピクチャが受信されていない場合には(S808:NO)、図12に示す通信端末装置3と接続端末4,5とのすべてのピクチャを順番に受信する(S806)。そして、S806で受信した通信端末装置3と接続端末4,5とのすべてのピクチャを復号してディスプレイ28に画像を表示させる。これによって、通常の再生が行われる。
頭出しモードが選択された場合には(S803:YES)、続いて、再生開始時刻が取得される(S809)。前述したように、頭出しモードを選択する際には、ユーザは、再生開始時刻を入力する。S809の処理では、ユーザによって入力された再生開始時刻が取得される。次に、録画データに含まれる共通Iピクチャのうち、再生開始時刻に最も近い共通Iピクチャの位置が特定される(S810)。次に、S810の処理によって特定された位置にあるIピクチャから始まる録画データの送信を要求するデータである第二要求データが通信端末装置3に送信される(S811)。次に、S806に進み、通信端末装置3から送信される録画データが受信されたか否かが判断される。S811の処理によって通信端末装置3に送信された第二要求データは、通信端末装置3のS903の処理(図18参照)によって受信される。そして、第二要求データに基づいて、S810の処理によって特定された位置にある共通Iピクチャから始まる録画データが接続端末6に送信される(S904)。そして、S806の処理によって受信され、復号されてディスプレイ28に表示される(S807)。これによって、頭出し再生が行われる。次に、録画データにおける最後のピクチャが受信されていない場合には(S808:NO)、S803に戻り処理が繰り返される。
第一具体例の場合において、頭出しモードが選択された場合には(S803:YES)、続いて、再生開始時刻が取得される(S809)。S802の処理で受信された録画開始時刻は「12時00分」である。また、ユーザが入力した再生開始時刻が「12時20分」であるとする。つまり、再生開始時刻は、録画開始から1200秒後であるとする。S809の処理によって、ユーザが入力した再生開始時刻である「12時20分」が取得される。そして、S802の処理で受信されたIピクチャ符号化周期は、400msであるので、0.4秒である。したがって、録画データに含まれる共通Iピクチャのうち、再生開始時刻「1200秒」に最も近い共通Iピクチャは、録画開始から「1200秒」後に符号化された共通Iピクチャであることが特定される(S810)。次に、録画開始から「1200秒」後にある共通Iピクチャから始まる録画データの送信を要求するデータである第二要求データが通信端末装置3に送信される(S811)。S811の処理によって通信端末装置3に送信された第二要求データは、通信端末装置3のS903の処理(図18参照)によって受信される。そして、第二要求データに基づいて、録画開始から「1200秒」後にある共通Iピクチャから始まる録画データが接続端末6に送信される(S904)。そして、S806の処理によって受信され、復号されてディスプレイ28に表示される(S807)。これによって頭出し再生が行われる。次に、録画データにおける最後のピクチャが受信されていない場合には(S808:NO)、S803に戻り処理が繰り返される。
早送りモードが選択された場合には(S804:YES)、次に、早送り速度の認識が行われる(S812)。前述したように、早送りモードを選択する際には、ユーザは、数段階の速度に分けられた早送り速度を選択する。S812の処理では、ユーザによって選択された早送り速度の認識が行われる。そして、数段階の速度に分けられた早送り速度のうち、ユーザが選択した早送り速度を変数「M」とする(S812)。例えば、5段階の速度に分けられた早送り速度のうち、遅い速度から2番目の速度をユーザが選択した場合には、S812の処理によって「M=2」と認識される。次に、録画データのうち共通Iピクチャを「M−1」個飛ばしで送信するように要求するデータである第三要求データが通信端末装置3に送信される(S813)。次に、S806に進み、通信端末装置3から送信される録画データが受信されたか否かが判断される。S813の処理によって通信端末装置3に送信された第三要求データは、通信端末装置3のS903(図18参照)の処理によって受信される。そして、通信端末装置3は、第三要求データに基づいて、録画データのうち共通Iピクチャを「M−1」個飛ばしで送信する(S904)。そして、S806の処理によって受信され、復号されてディスプレイ28に表示される(S807)。次に、録画データにおける最後のピクチャが受信されていない場合には(S808:NO)、S803に戻り処理が繰り返される。これによって、早送りが行われる。
第一具体例の場合において、早送りモードが選択された場合には(S804:YES)、続いて、早送り速度の認識が行われる(S812)。ここで、早送り速度は、10段階に分けられているとする。また、ユーザによって選択された早送り速度は、遅い速度から3番目の速度であるとする。この場合、S812の処理によって「M=3」と認識される。次に、録画データのうち共通Iピクチャを「M−1」個飛ばし(つまり、2個飛ばし。)で送信するように要求するデータである第三要求データが通信端末装置3に送信される(S813)。Iピクチャ符号化周期は400msであるので、共通Iピクチャは400ms毎に生成されている(図12参照)。S813の処理では、2個飛ばしで共通Iピクチャを送信するように要求する。つまり、1200ms毎に生成されている共通Iピクチャを送信するように要求する。S813の処理によって通信端末装置3に送信された第三要求データは、通信端末装置3のS903の処理(図18参照)によって受信される。そして、第三要求データに基づいて、共通Iピクチャが2個飛ばしで接続端末6に送信される(S904)。そして、S806の処理によって受信され、復号されてディスプレイ28に表示される(S807)。次に、録画データにおける最後のピクチャが受信されていない場合には(S808:NO)、S803に戻り処理が繰り返される。これによって、1200ms毎の画像のみがディスプレイ28に表示される。つまり、早送りされる。
次に、図18に示すフローチャートを参照して、通信端末装置3において実行される第四メイン処理について説明する。
図18に示す第四メイン処理では、まず、接続端末6のS801の処理(図17参照)によって送信されたIピクチャ符号化周期と録画開始時刻との送信要求が受信されたか否かが判断される(S901)。Iピクチャ符号化周期と録画開始時刻との送信要求が受信されていない場合には(S901:NO)、S901に戻り処理が繰り返される。つまり、通信端末装置3は待機している。Iピクチャ符号化周期と録画開始時刻との送信要求が受信された場合には(S901:YES)、続いて、Iピクチャ符号化周期と録画開始時刻とが接続端末6に送信される(S902)。S902の処理では、Iピクチャ符号化周期記憶エリア313に記憶されているIピクチャ符号化周期が、接続端末6に送信される。また、符号化データ記憶エリア314に記憶されている録画データから、録画開始時刻が参照され、録画開始時刻が接続端末6に送信される(S902)。
次に、接続端末6から送信された第一要求データ、第二要求データ、又は第三要求データが受信されたか否かが判断される(S903)。第一要求データ、第二要求データ、又は第三要求データが受信されていない場合には(S903:NO)、続いて、S903に戻り処理が繰り返される。つまり、通信端末装置3は待機している。第一要求データ、第二要求データ、又は第三要求データが受信された場合には(S903:YES)、続いて、第一要求データ、第二要求データ、又は第三要求データに基づいて、録画データが接続端末6に送信される(S904)。S904の処理では、符号化データ記憶エリア314(図3参照)に記憶されている録画データのうち、S903の処理で受信された第一要求データ、第二要求データ、又は第三要求データに対応したピクチャが読み出され、接続端末6に送信される。より詳細には、第一要求データが受信された場合には、録画データに含まれるすべてのピクチャが順番に接続端末6に送信される(S904)。つまり、接続端末6が通常の再生を行うための録画データが送信される。第二要求データが受信された場合には、接続端末6のS810(図17参照)の処理によって特定された位置にある共通Iピクチャから始まる録画データが接続端末6に送信される(S904)。つまり、接続端末6が、頭出し再生を行うための共通Iピクチャを含んだ録画データが送信される。第三要求データが受信された場合には、録画データのうち、共通Iピクチャが「M−1」個飛ばしで送信される(S905)。つまり、接続端末6が早送りを行うための共通Iピクチャが、接続端末6に送信される。
次に、録画データにおける最後のピクチャが接続端末6に送信されたか否かが判断される(S905)。録画データにおける最後のピクチャが接続端末6に送信されていない場合には(S905:NO)。続いて、S903に戻り処理が繰り返される。つまり、接続端末6から送信される第一要求データ、第二要求データ、又は第三要求データに基づいて、録画データを送信し続ける。
録画データにおける最後のピクチャが接続端末6に送信された場合には(S905:YES)、通信端末装置3における第四メイン処理が終了される。
なお、第三メイン処理及び第四メイン処理では、符号化データ記憶エリア314に記憶されている音声データも送受信されている。これによって、接続端末6において通常の再生を行う場合は、通常の速度で音声が再生される。また、早送りをする場合には、画像の早送りの速度に対応した速度で音声が再生される。また、頭出しをする場合には、頭出しされた画像に対応する位置から音声が再生される。
以上説明したように、第一実施形態における通信端末装置3と接続端末との処理が行われる。前述したように、Iピクチャは、Iピクチャに含まれる情報のみを参照して画像を復元できるデータであり、参照ピクチャを必要としない。これに対し、PピクチャやBピクチャは、参照ピクチャを必要とする。本実施形態では、通信端末装置3と接続端末4,5とが共通のIピクチャ符号化周期に基づいて、画像を符号化できるようにIピクチャ符号化周期を決定する。これによって、通信端末装置3と接続端末4,5とが画像をIピクチャとして符号化するタイミングを同期させることができる。そして、テレビ会議の途中で接続端末6がネットワーク2に接続され、早送りをする場合において、接続端末6からの第三要求データに応じて、共通Iピクチャを、通信端末装置3から接続端末6に送信する(図18のS904)。Iピクチャのみを送信するので、参照ピクチャを送信する必要はない。つまり、PピクチャやBピクチャと参照ピクチャとを送信する場合と比較して、データ量が少なくなるため、ネットワーク2への負荷を軽減することができる。また、頭出し再生を行う場合でも、共通Iピクチャから始まる録画データを通信端末装置3から接続端末6に送信する。このため、Pピクチャ又はBピクチャから始まる録画データを送信する場合と比較して、データ量を少なくすることができ、ネットワーク2への負荷を軽減することができる。
また、前述したように、画像表示時間変更処理(図8参照)によって、Iピクチャ符号化周期と変更画像表示時間とが算出される。S301〜S305の処理によって、第二目標値が設定される。このとき、ネットワーク2に接続されている端末のすべての台数が変数Nに設定される(S302)。そして、できるだけ変数Nの値が大きく、且つ、第一閾値以下である最小公倍数が存在する場合に、S302〜S304の繰り返し処理が終了される。これによって、ネットワーク2に接続されている端末のうち、N台の端末の画像表示時間については、S307〜S310の処理を行って変更画像表示時間を算出する必要がない。つまり、できるだけ多い台数の端末の画像表示時間は変更する必要がない。このため、多い台数の端末のフレームレートを変更することなく、Iピクチャ符号化周期を決定することができる。
また、本実施形態では、Iピクチャ符号化周期が第一閾値以下となるように設定される(図7及び図8参照)。このため、第一閾値をIピクチャ符号化周期が適切な周期となるように設定すれば、Iピクチャ符号化周期を適切な周期で設定することができる。
また、本実施形態では、Iピクチャ符号化周期が、第一目標値に近くなるように設定される。このため、Iピクチャ符号化周期を適切な周期で設定することができる。
また、本実施形態では、接続端末のIピクチャ符号化周期が、図7に示す符号化周期決定処理によって決定されたIピクチャ符号化周期と一致しているか否かが判断される(図10のS403)。そして、一致していなければ、符号化周期決定処理によって決定されたIピクチャ符号化周期を接続端末に再送信するので(図6のS118)、より確実に、接続端末のIピクチャ符号化周期と符号化周期決定処理によって決定されたIピクチャ符号化周期と一致させることができる。
また、本実施形態では、接続端末に対して変更フレームレートが送信された場合(図6のS115)、変更フレームレートが適切に接続端末に設定されたか否かが判断される(図10のS403)。そして、一致していなければ、変更フレームレートが接続端末に再送信されるので(図6のS118)、より確実に、接続端末のフレームレートを変更フレームレートに変更することができる。
また、本実施形態では、接続端末が符号化した接続端末符号化データが受信される(図11のS503)。そして、接続端末符号化データと通信端末符号化データとを、符号化データ記憶エリア314に記憶させることができる(図11のS502及びS505)。つまり、すべての端末が符号化した画像のデータを一の記憶装置に記憶させることができる。これによって、テレビ会議の様子を一の記憶装置に録画することができる。
また、本実施形態の通信端末装置3は、接続端末6からの要求に応じて、録画データから共通Iピクチャを選択して、適切な共通Iピクチャを接続端末に送信することができる(図18のS904)。
また、前述したように、本実施形態では、通信端末装置3と接続端末4,5,6とは、同一の電気的構成をしており、さらに同一のソフトウェアが設定されている。つまり、ネットワーク2に接続されているすべての端末のうち、任意の一台を通信端末装置として機能させることができる。また、他の端末を接続端末として機能させることができる。
なお、本発明の通信端末装置3及び接続端末は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
例えば、通信端末装置3と接続端末4,5,6とは、同一の電気的構成をしており、さらに同一のソフトウェアが設定されていたがこれに限定されない。例えば、通信端末装置3は、通信端末装置として動作するために必要な電気的構成のみで構成され、通信端末装置として動作するために必要な処理のみが設定された端末でもよい。また、接続端末4,5,6は、接続端末として動作するために必要な電気的構成のみで構成され、接続端末として動作するために必要な処理のみが設定された端末でもよい。
また、全ての端末の画像表示時間の最小公倍数が第一閾値以下でない場合に(図7のS207:NO)、画像表示時間変更処理(図7のS211)が実行されていたが、これに限定されない。例えば、少なくとも二の画像表示時間の最小公倍数が、第一閾値以下ではなければ、画像表示時間変更処理を行ってもよい。少なくとも二の画像表示時間の最小公倍数が第一閾値より大きければ、全ての端末の画像表示時間の最小公倍数が第一閾値より大きくなることが確定されるからである。例えば、3台の端末がネットワーク2に接続されている場合において、3台中2台の端末の最小公倍数を算出した時点で第一閾値より大きい場合は、残りの1台を含んだ最小公倍数を求めなくても、3台すべての最小公倍数が、第一閾値以上になることが確定される。このため、残りの1台を含んだ最小公倍数は算出する必要はない。このため、S203〜S206の処理の回数を削減することができる。これを実現するには、例えば、図7のS207の処理を、S205の処理とS206の処理との間に移動させ、S205の処理の次にS207の処理を実行させればよい。この場合、変数tが第一閾値以下でない場合は(S207:NO)、次に、画像表示変更処理(S211)を実行し、変数tが第一閾値以下である場合は(S207:YES)、次にS206の処理を実行する。そして、すべての端末が選択された場合には(S206:YES)、次に、S208の処理を実行する。このようにすれば、S205の処理で、算出された変数tが第一閾値以上になった時点で(S207:YES)、S211の画像表示変更処理が実行される。つまり、全ての端末の画像表示時間の最小公倍数を算出する前に、変数tが第一閾値以上になった場合でも、画像表示時間変更処理が行われる。
また、図17及び図18では、頭出し再生と早送りと通常の再生とのみしか例示していないが、これに限定されない。例えば、巻き戻しを行ってもよい。巻き戻しを行う場合でも、共通Iピクチャのみを送信することで、ネットワーク2への負荷を軽減することができる。
また、録画データを通信端末装置3のHDD31に記憶していたがこれに限定されない。例えば、各端末が、自己の端末のHDD31に自己が符号化した画像のデータを記憶してもよい。そして、接続端末6が、各端末のHDD31に記憶された画像のデータを受信して、再生や早送り等を実行してもよい。
また、録画データをHDD31の符号化データ記憶エリア314に記憶していたがこれに限定されない。例えば、図19に示すように、外部記憶装置7を設け、ネットワーク2に接続してもよい。そして、図11のS502の処理とS505の処理によって、外部記憶装置7に通信端末符号化データと接続端末符号化データとを記憶してもよい。これによって、外部記憶装置7に録画データを記憶することができる。
また、接続端末符号化データを通信端末装置3が受信しなくてもよい。例えば、外部記憶装置7(図19参照)に、通信端末装置3と接続端末4,5とが個々にアクセスし、通信端末符号化データと接続端末符号化データとを直接外部記憶装置7に記憶させてもよい。また、Iピクチャ符号化周期等も外部記憶装置7に記憶させてもよい。
また、接続端末6が直接外部記憶装置7にアクセスして、通信端末装置3を介することなく、録画データを受信してもよい。
なお、上記実施形態において、カメラ34が「画像入力手段」に相当する。また、図6のS104の処理によって受信される接続端末のフレームレートが本発明の「第一フレームレート」に相当し、図6のS104の処理を行うCPU20が本発明の「フレームレート取得手段」に相当する。また、図6のS107の処理を行うCPU20が本発明の「符号化周期決定手段」に相当し、図6のS111の処理を行うCPU20が本発明の「符号化周期送信手段」に相当する。また、通信端末符号化データが本発明の「第一符号化情報」に相当し、図11のS501の処理を行うCPU20が本発明の「第一符号化手段」に相当する。また、HDD31及び外部記憶装置7が本発明の「第一記憶装置」に相当し、図11のS502の処理、及び図11のS505の処理を行うCPU20が本発明の「符号化情報記憶手段」に相当する。
また、図7のS201の処理を行うCPU20が本発明の「表示時間算出手段」に相当し、図7のS210とS212の処理を行うCPU20が本発明の「第一周期確定手段」に相当する。また、図7のS204の処理を行うCPU20が本発明の「第一算出手段」に相当し、図7のS204の処理によって算出される最小公倍数が「第一最小公倍数」に相当する。また、図7のS207の処理を行うCPU20が本発明の「第一判断手段」に相当し、図7のS211の処理を行うCPU20が本発明の「変更時間算出手段」に相当する。また、第二目標値が本発明の「第二最小公倍数」に相当し、図7のS212の処理を行うCPU20が本発明の「第二周期確定手段」に相当する。また、図6のS108において「YES」と判断する処理と、S114の処理と、S115の処理とを行うCPU20が本発明の「フレームレート変更指示手段」に相当する。また、図6のS109の処理を行うCPU20が本発明の「第一フレームレート変更手段」に相当し、図10のS402の処理を行うCPU20が本発明の「符号化周期取得手段」に相当し、図10のS403の処理を行うCPU20が本発明の「第二判断手段」に相当する。また、図6のS118の処理を行うCPU20が本発明の「第二符号化周期送信手段」に相当し、図11のS503の処理を行うCPU20が本発明の「符号化情報受信手段」に相当する。
また、接続端末符号化データが本発明の「第二符号化情報」に相当する。また、共通Iピクチャが本発明の「Iピクチャ符号化情報」に相当し、図18のS904の処理を行うCPU20が本発明の「符号化情報送信手段」に相当する。また、図14のS604の処理を行うCPU20が本発明の「符号化周期受信手段」に相当し、図14のS615の処理を行うCPU20が本発明の「第二符号化手段」に相当する。また、図14のS616の処理を行うCPU20が本発明の「符号化情報送信手段」に相当する。
また、図6のS104の処理が本発明の「フレームレート取得ステップ」に相当し、図6のS107の処理が本発明の「符号化周期決定ステップ」に相当する。また、図6のS111の処理が本発明の「符号化周期送信ステップ」に相当し、図11のS501の処理が本発明の「第一符号化ステップ」に相当する。また、図11のS502の処理が本発明の「符号化情報記憶ステップ」に相当する。