JP2011077912A - 通信制御装置、通信制御方法、及び通信制御プログラム - Google Patents

通信制御装置、通信制御方法、及び通信制御プログラム Download PDF

Info

Publication number
JP2011077912A
JP2011077912A JP2009228397A JP2009228397A JP2011077912A JP 2011077912 A JP2011077912 A JP 2011077912A JP 2009228397 A JP2009228397 A JP 2009228397A JP 2009228397 A JP2009228397 A JP 2009228397A JP 2011077912 A JP2011077912 A JP 2011077912A
Authority
JP
Japan
Prior art keywords
timing
picture
control target
control
change
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009228397A
Other languages
English (en)
Inventor
Jun Miyazawa
純 宮澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2009228397A priority Critical patent/JP2011077912A/ja
Publication of JP2011077912A publication Critical patent/JP2011077912A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】受信するピクチャのビットレートの合計が、ピクチャを受信することが可能な帯域以下となるようにIピクチャを生成するタイミングを変更することで、画質の劣化を防止することが可能な通信制御装置、通信制御方法、及び通信制御プログラムを提供する。
【解決手段】ネットワークに接続されている通信制御装置と通信装置とを制御対象として認識し、各制御対象のIピクチャ周期とフレームレートとビットレートとを取得する。そして、各制御対象のIピクチャ周期の最小公倍数を算出して同一タイミングを算出する。そして、同一タイミングにおける制御対象が受信するビットレートの合計が、制御対象の受信可能帯域以下でない場合には(S303:NO)、Iピクチャを生成するタイミングを変更させる制御対象を決定する(S304)。そして、決定された制御対象のIピクチャを生成するタイミングを変更する。
【選択図】図9

Description

本発明は、Iピクチャを生成するタイミングを変更することが可能な通信制御装置、通信制御方法、及び通信制御プログラムに関する。
従来、画像を符号化する画像符号化装置が知られている。例えば、特許文献1に記載の画像符号化装置では、リアルタイムでシーンチェンジを検出して、検出されたシーンチェンジに基づいて、Iピクチャを生成するタイミングを変更している。これによって、画質の改善を行っている。
特開平9−284770号公報
しかしながら、特許文献1に記載の複数の画像符号化装置が、ネットワークを介して互いに接続されてピクチャを送受信する場合、画像符号化装置は、データを受信することが可能な帯域を考慮してIピクチャを生成するタイミングを変更することができない。Iピクチャは、PピクチャやBピクチャと比較して、データのサイズが大きい。つまり、Iピクチャを、ネットワークを介して送受信する場合のビットレートは大きくなる。このため、Iピクチャを送信するタイミングが複数の画像符号化装置で同一となる場合には、画像符号化装置が受信するピクチャのビットレートの合計が、データを受信することが可能な帯域より大きくなるおそれがある。このため、ピクチャを適切に受信することができず、画質が劣化するおそれがあるという問題点があった。
本発明は、上記問題点を解決するためになされたものであり、受信するピクチャのビットレートの合計が、ピクチャを受信することが可能な帯域以下となるようにIピクチャを生成するタイミングを変更することで、画質の劣化を防止することが可能な通信制御装置、通信制御方法、及び通信制御プログラムを提供することを目的とする。
本発明の第一の態様に係る通信制御装置は、画像を符号化した情報である符号化情報をネットワークを介して送受信することが可能な通信装置に、前記ネットワークを介して接続された通信制御装置であって、前記ネットワークに接続された前記通信装置を、制御対象として認識する認識手段と、前記認識手段によって認識された前記制御対象の、前記画像がIピクチャとして符号化される周期を取得する周期取得手段と、前記制御対象のフレームレートを取得するフレームレート取得手段と、前記制御対象が前記ネットワークに前記Iピクチャを送出する場合のビットレートである第一ビットレートを取得するビットレート取得手段と、前記制御対象が前記符号化情報を受信可能な帯域を取得する帯域取得手段と、前記周期取得手段によって取得された前記周期の最小公倍数を算出することで、二以上の前記制御対象が同時に前記ネットワークに前記Iピクチャを送出するタイミングある同一タイミングを算出する同一タイミング算出手段と、前記同一タイミング算出手段によって算出された前記同一タイミングにおける前記制御対象の前記第一ビットレートの合計が、前記帯域取得手段によって取得された前記帯域以下であるか否かを判断する帯域判断手段と、前記帯域判断手段によって、前記同一タイミング算出手段によって算出された前記同一タイミングにおける前記制御対象の前記第一ビットレートの合計が、前記帯域取得手段によって取得された前記帯域以下ではないと判断された場合に、前記合計が前記帯域以下となるように、前記Iピクチャを生成するタイミングを変更させる前記制御対象を決定する変更対象決定手段と、前記フレームレート取得手段によって取得された前記フレームレートに基づいて、前記変更対象決定手段によって決定された前記制御対象が前記Iピクチャを生成するタイミングを変更するための情報である変更タイミングを決定する変更タイミング決定手段と、前記変更対象決定手段によって決定された前記制御対象に対して、前記変更タイミング決定手段によって決定された前記変更タイミングを送信するタイミング送信手段とを備えている。
つまり、同一タイミングにおける第一ビットレートの合計が帯域以下ではない場合に、第一ビットレートの合計が帯域以下となる様に、Iピクチャを生成するタイミングを変更させる制御対象が決定される。そして、変更タイミングが決定され、決定された変更タイミングが、制御対象に送信される。このため、同一タイミングにおける第一ビットレートの合計が帯域以下となり、符号化情報が適切に受信される。よって、画質の劣化を防止することができる。
前記通信制御装置は、前記符号化情報を生成する符号化情報生成手段と、前記符号化情報生成手段によって生成された前記符号化情報を、前記ネットワークを介して前記通信装置に送信する符号化情報送信手段と、前記通信装置から前記ネットワークを介して送信される前記符号化情報を受信する符号化情報受信手段と、前記符号化情報生成手段が前記Iピクチャを生成するタイミングを変更するタイミング変更手段とをさらに備えてもよい。この場合に、前記認識手段は、前記ネットワークに接続された前記通信装置と、前記ネットワークに接続された前記通信制御装置とを前記制御対象として認識し、前記タイミング送信手段は、前記変更対象決定手段によって決定された前記制御対象が前記通信装置である場合に、前記通信装置に対して、前記変更タイミングを送信し、前記タイミング変更手段は、前記変更対象決定手段によって決定された前記制御対象が前記通信制御装置である場合に、前記変更タイミングに基づいて、前記符号化情報生成手段が前記Iピクチャを生成するタイミングを変更してもよい。
この場合、通信制御装置は、通信装置との間で符号化情報を送受信すること可能となる。また、通信制御装置と通信装置とが制御対象として認識される。また、同一タイミングにおける第一ビットレートの合計が帯域以下ではない場合に、第一ビットレートの合計が帯域以下となる様に、Iピクチャを生成するタイミングを変更させる制御対象が決定される。そして、Iピクチャを生成するタイミングを変更させる制御対象が、通信制御装置である場合には、変更タイミングに基づいて、Iピクチャを生成するタイミングを変更する。このため、同一タイミングにおける第一ビットレートの合計が帯域以下となり、符号化情報が適切に受信される。よって、画質の劣化を防止することができる。
前記通信制御装置は、前記制御対象が生成する前記Iピクチャのデータサイズを取得するデータサイズ取得手段をさらに備えてもよい。この場合に、前記ビットレート取得手段は、前記フレームレート取得手段によって取得された前記フレームレートと、前記データサイズ取得手段によって取得された前記データサイズとから前記第一ビットレートを算出することで、前記第一ビットレートを取得してもよい。この場合、フレームレートとデータサイズとから第一ビットレートを算出することで、第一ビットレートを取得できる。
前記通信制御装置において、前記変更対象決定手段は、前記帯域判断手段によって、前記前記同一タイミング算出手段によって算出された前記同一タイミングにおける前記制御対象の前記第一ビットレートの合計が、前記帯域取得手段によって取得された前記帯域以下ではないと判断された場合に、前記フレームレート取得手段によって取得された前記フレームレートのうち、最も大きい前記フレームレートを有する前記制御対象を、前記Iピクチャを生成するタイミングを変更させる前記制御対象として決定してもよい。
フレームレートが大きければ、ビットレートが大きくなる。このため、最も大きいフレームレートを有する制御対象のIピクチャを生成するタイミングを変更することで、効率的に、同一タイミングにおけるビットレートの合計を減らすことができる。
前記通信制御装置において、前記変更タイミング決定手段は、前記変更対象決定手段によって決定された前記制御対象の前記フレームレートから算出される前記符号化情報を生成するタイミングのうち、他の前記制御対象が前記Iピクチャを生成するタイミングと同一とならないタイミングを、前記変更タイミングとして決定してもよい。この場合、制御対象のIピクチャを生成するタイミングを変更した後のタイミングが、他の制御対象がIピクチャを生成するタイミングと同一になることがない。このため、変更した後のタイミングでの第一ビットレートの合計が、帯域より大きくなることを防止することができる。
本発明の第二の態様に係る通信制御方法は、画像を符号化した情報である符号化情報をネットワークを介して送受信することが可能な通信装置に、前記ネットワークを介して接続された通信制御装置において実行される通信制御方法であって、前記ネットワークに接続された前記通信装置を、制御対象として認識する認識ステップと、前記認識ステップによって認識された前記制御対象の、前記画像がIピクチャとして符号化される周期を取得する周期取得ステップと、前記制御対象のフレームレートを取得するフレームレート取得ステップと、前記制御対象が前記ネットワークに前記Iピクチャを送出する場合のビットレートである第一ビットレートを取得するビットレート取得ステップと、前記制御対象が前記符号化情報を受信可能な帯域を取得する帯域取得ステップと、前記周期取得ステップによって取得された前記周期の最小公倍数を算出することで、二以上の前記制御対象が同時に前記ネットワークに前記Iピクチャを送出するタイミングある同一タイミングを算出する同一タイミング算出ステップと、前記同一タイミング算出ステップによって算出された前記同一タイミングにおける前記制御対象の前記第一ビットレートの合計が、前記帯域取得ステップによって取得された前記帯域以下であるか否かを判断する帯域判断ステップと、前記帯域判断ステップによって、前記同一タイミング算出ステップによって算出された前記同一タイミングにおける前記制御対象の前記第一ビットレートの合計が、前記帯域取得ステップによって取得された前記帯域以下ではないと判断された場合に、前記合計が前記帯域以下となるように、前記Iピクチャを生成するタイミングを変更させる前記制御対象を決定する変更対象決定ステップと、前記フレームレート取得ステップによって取得された前記フレームレートに基づいて、前記変更対象決定ステップによって決定された前記制御対象が前記Iピクチャを生成するタイミングを変更するための情報である変更タイミングを決定する変更タイミング決定ステップと、前記変更対象決定ステップによって決定された前記制御対象に対して、前記変更タイミング決定手段によって決定された前記変更タイミングを送信するタイミング送信ステップとを備えている。
つまり、同一タイミングにおける第一ビットレートの合計が帯域以下ではない場合に、第一ビットレートの合計が帯域以下となる様に、Iピクチャを生成するタイミングを変更させる制御対象が決定される。そして、変更タイミングが決定され、決定された変更タイミングが、制御対象に送信される。このため、同一タイミングにおける第一ビットレートの合計が帯域以下となり、符号化情報が適切に受信される。よって、画質の劣化を防止することができる。
本発明の第三の態様に係る通信制御プログラムは、画像を符号化した情報である符号化情報をネットワークを介して送受信することが可能な通信装置に、前記ネットワークを介して接続された通信制御装置において実行される通信制御プログラムであって、コンピュータに、前記ネットワークに接続された前記通信装置を、制御対象として認識する認識ステップと、前記認識ステップによって認識された前記制御対象の、前記画像がIピクチャとして符号化される周期を取得する周期取得ステップと、前記制御対象のフレームレートを取得するフレームレート取得ステップと、前記制御対象が前記ネットワークに前記Iピクチャを送出する場合のビットレートである第一ビットレートを取得するビットレート取得ステップと、前記制御対象が前記符号化情報を受信可能な帯域を取得する帯域取得ステップと、前記周期取得ステップによって取得された前記周期の最小公倍数を算出することで、二以上の前記制御対象が同時に前記ネットワークに前記Iピクチャを送出するタイミングある同一タイミングを算出する同一タイミング算出ステップと、前記同一タイミング算出ステップによって算出された前記同一タイミングにおける前記制御対象の前記第一ビットレートの合計が、前記帯域取得ステップによって取得された前記帯域以下であるか否かを判断する帯域判断ステップと、前記帯域判断ステップによって、前記同一タイミング算出ステップによって算出された前記同一タイミングにおける前記制御対象の前記第一ビットレートの合計が、前記帯域取得ステップによって取得された前記帯域以下ではないと判断された場合に、前記合計が前記帯域以下となるように、前記Iピクチャを生成するタイミングを変更させる前記制御対象を決定する変更対象決定ステップと、前記フレームレート取得ステップによって取得された前記フレームレートに基づいて、前記変更対象決定ステップによって決定された前記制御対象が前記Iピクチャを生成するタイミングを変更するための情報である変更タイミングを決定する変更タイミング決定ステップと、前記変更対象決定ステップによって決定された前記制御対象に対して、前記変更タイミング決定手段によって決定された前記変更タイミングを送信するタイミング送信ステップとを実行させる。
つまり、同一タイミングにおける第一ビットレートの合計が帯域以下ではない場合に、第一ビットレートの合計が帯域以下となる様に、Iピクチャを生成するタイミングを変更させる制御対象が決定される。そして、変更タイミングが決定され、決定された変更タイミングが、制御対象に送信される。このため、同一タイミングにおける第一ビットレートの合計が帯域以下となり、符号化情報が適切に受信される。よって、画質の劣化を防止することができる。
テレビ会議システム1の構成を示すブロック図である。 通信制御装置3の電気的構成を示すブロック図である。 HDD31の各記憶エリアを示す概念図である。 RAM22の各記憶エリアを示す概念図である。 第一具体例の場合における通信制御装置3と通信装置4,5,6とが画像を符号化してピクチャを生成するタイミングを示した模式図である。 CPU20による第一メイン処理を示すフローチャートである。 CPU20による受信ビットレートテーブル作成処理を示すフローチャートである。 受信ビットレートテーブル50を示す模式図である。 CPU20によるタイミング確認変更処理を示すフローチャートである。 更新された受信ビットレートテーブル50を示す模式図である。 更新された受信ビットレートテーブル50を示す模式図である。 更新された受信ビットレートテーブル50を示す模式図である。 CPU20によるIピクチャタイミング変更処理を示すフローチャートである。 第一具体例において、Iピクチャを生成するタイミングを変更するための処理を説明するための、通信制御装置3と通信装置4,5,6とがピクチャを生成するタイミングを示した模式図である。 第一具体例において、図13に示すIピクチャタイミング変更処理を説明するための、通信制御装置3と通信装置4,5,6とがピクチャを生成するタイミングを示した模式図である。 第一具体例において、図13に示すIピクチャタイミング変更処理を説明するための、通信制御装置3と通信装置4,5,6とがピクチャを生成するタイミングを示した模式図である。 第一具体例において、図13に示すIピクチャタイミング変更処理を説明するための、通信制御装置3と通信装置4,5,6とがピクチャを生成するタイミングを示した模式図である。 第一具体例において、図13に示すIピクチャタイミング変更処理を説明するための、通信制御装置3と通信装置4,5,6とがピクチャを生成するタイミングを示した模式図である。 第一具体例において、図13に示すIピクチャタイミング変更処理を説明するための、通信制御装置3と通信装置4,5,6とがピクチャを生成するタイミングを示した模式図である。 第二具体例において、図13に示すIピクチャタイミング変更処理を説明するための、通信制御装置3と通信装置4,5,6,7とがピクチャを生成するタイミングを示した模式図である。 第二具体例において、図13に示すIピクチャタイミング変更処理を説明するための、通信制御装置3と通信装置4,5,6,7とがピクチャを生成するタイミングを示した模式図である。 第一具体例において、すべての同一タイミングについて、Iピクチャを生成するタイミングを変更した後の、受信ビットレートテーブル50を示す模式図である。 CPU20による第二メイン処理を示すフローチャートである。
以下、本発明に係る通信制御装置を具現化した通信制御装置3について、図面を参照して説明する。なお、これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている通信制御装置の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
まず、通信制御装置3を構成要素とするテレビ会議システム1の構成について、図1を参照して説明する。テレビ会議システム1は、ネットワーク2と通信制御装置3と通信装置4と通信装置5と通信装置6とを備えている。通信制御装置3と通信装置4,5,6とは、ネットワーク2を介して相互に接続されている。このテレビ会議システム1では、通信制御装置3と通信装置4と通信装置5と通信装置6との間において、ネットワーク2を介して、画像、音声が互いに送受信されることでテレビ会議が実施される。なお、図1において、通信制御装置3と通信装置4と通信装置5と通信装置6との4台がネットワーク2に接続されているが、台数は限定されず、例えば10台がネットワーク2に接続されていてもよい。なお、以降の説明では、ネットワーク2に接続されている通信制御装置3と複数の通信装置とのいずれかを特定しない場合は「装置」という。また、ネットワーク2に接続されている複数の通信装置のうちいずれかを特定しない場合には、「通信装置」という。
また、通信制御装置3と通信装置4,5,6とは、同一の電気的構成をしており、さらに同一のソフトウェアが設定されている。つまり、ネットワーク2に接続されているすべての装置のうち、任意の一台を通信制御装置として機能させることができる。また、他の装置を通信装置として機能させることができる。
次に、通信制御装置3の電気的構成について、図2を参照して説明する。なお、通信制御装置3と通信装置4,5,6との電気的構成は同一であるので、ここでは、通信制御装置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とIピクチャ周期記憶エリア312とフレームレート記憶エリア313とデータサイズ記憶エリア314とその他の情報記憶エリア315とが少なくとも備えられている。プログラム記憶エリア311には、CPU20が各種の処理等を実行するために必要なプログラムデータが記憶されている。Iピクチャ周期記憶エリア312には、後述するIピクチャ周期が記憶されている。フレームレート記憶エリア313には、後述するフレームレートが記憶されている。データサイズ記憶エリア314には、後述するIピクチャサイズとPピクチャサイズとが記憶されている。
次に、RAM22の各種記憶エリアについて、図4を参照して説明する。RAM22には、データ記憶エリア221と変数記憶エリア222と最小公倍数記憶エリア223とビットレート記憶エリア224と受信ビットレートテーブル記憶エリア225と帯域記憶エリア226と変更タイミング記憶エリア227とその他の情報記憶エリア228とが少なくとも備えられている。データ記憶エリア221には、後述する通信制御装置3のS106の処理及びS109の処理(図6参照)で取得された、Iピクチャ周期とフレームレートとIピクチャサイズとPピクチャサイズとが記憶される。また、変数記憶エリア222には、後述する各種の変数が記憶される。また、最小公倍数記憶エリア223には、後述するS203の処理(図7参照)で算出された最小公倍数が記憶される。また、ビットレート記憶エリア224には、後述するS208の処理(図7参照)で取得されるIビットレートとPビットレートとが記憶される。また、受信ビットレートテーブル記憶エリア225には、後述する受信ビットレートテーブル50が記憶される。また、帯域記憶エリア226には、後述する受信可能帯域が記憶される。また、変更タイミング記憶エリア227には、後述する変更タイミングが記憶される。
次に、図5を参照して、カメラ34から入力された画像を符号化し、Iピクチャ及びPピクチャ生成するタイミングについて説明する。通信制御装置3と通信装置4,5,6とが図5に示すタイミングで符号化する場合を「第一具体例」とする。Iピクチャは、Iピクチャ単独で復号することで画像を生成できる。また、Pピクチャは、単独での復号ができない。また、Iピクチャのデータのサイズは、Pピクチャのデータのサイズより大きい。このため、Iピクチャを、ネットワーク2を介して送受信する場合では、必要とする帯域が大きい。以後の説明では、Iピクチャ及びPピクチャのいずれかを特定しない場合は、単に「ピクチャ」という。
図5は、通信制御装置3と通信装置4,5,6とが画像を符号化してピクチャを生成するタイミングを表している。図中の四角形は、ピクチャを表している。また、ピクチャを表す四角形の内側に「I」と記載されているピクチャは、Iピクチャを表している。四角形の内側に「P」と記載されているピクチャは、Pピクチャを表している。
図5おいて、最も上のピクチャは、通信制御装置3の符号化のタイミングを表している。また、上から二番目に記載しているピクチャは、通信装置4の符号化のタイミングを表している。また、上から三番目のピクチャは、通信装置5の符号化のタイミングを表している。また、最も下のピクチャは、通信装置6の符号化のタイミングを表している。また、図5の左右方向は、時間を表しており、左から右にいくほど、時間が経過している。図5では、一番左のIピクチャが生成されるタイミングを「0ms」とする。
第一具体例の場合は、通信制御装置3のフレームレートは「2fps」であるとする。また通信装置4のフレームレートは「4fps」であるとする。また、通信装置5のフレームレートは「5fps」であるとする。また、通信装置6のフレームレートは「10fps」であるとする。フレームレートとは、1秒間に何度画面が更新されるかを表す指標である。通信制御装置3の場合は、フレームレートが「2fps」なので、カメラ34から入力された画像を1秒間に2個のピクチャに符号化する。また、この符号化されたピクチャを復号化し、1秒間に2個の画像を表示することで、動画として表現できる。また、フレームレートの逆数を計算することで、カメラ34から入力された画像を符号化する間隔の時間を算出することができる。通信制御装置3の場合は、フレームレートである「2fps」の逆数を計算すると「0.5秒」となる。「0.5秒」は「500ミリ秒」と表すことができる。つまり、画像を符号化する間隔の時間は、「500ミリ秒」となる。以下の説明では、「ミリ秒」は「ms」と表す。
図5に示すように、通信制御装置3は、画像を符号化する間隔の時間である「500ms」毎に画像を符号化している。また、通信装置4は、フレームレートが「4fps」である。このため、通信装置4は、画像を符号化する間隔の時間である「250ms」毎に画像を符号化している。また、通信装置5は、フレームレートが「5fps」である。このため、通信装置5は、画像を符号化する間隔の時間である「200ms」毎に画像を符号化している。また、通信装置6は、フレームレートが「10fps」である。このため、通信装置6は、画像を符号化する間隔の時間である「100ms」毎に画像を符号化している。
また、通信制御装置3及び通信装置4,5,6はそれぞれ、一定の周期でIピクチャを生成している。通信制御装置3及び通信装置4,5,6がIピクチャを生成する一定の周期を「Iピクチャ周期」という。図5に示すように、通信制御装置3は、1500ms毎にIピクチャを生成している。つまりIピクチャ周期は、1500msである。通信装置4は、1000ms毎にIピクチャを生成している。つまりIピクチャ周期は、1000msである。通信装置5は、600ms毎にIピクチャを生成している。つまりIピクチャ周期は、600msである。通信装置6は、700ms毎にIピクチャを生成している。つまりIピクチャ周期は、700msである。
次に、具体例を示しながら、フローチャートを参照して、本実施形態に係るテレビ会議システム1による処理について説明する。ここでは、通信制御装置3のCPU20による処理、通信装置のCPU20による処理に分けて順次説明する。
まず、図6のフローチャートを参照して、通信制御装置3のCPU20による第一メイン処理について説明する。図6に示すように、通信制御装置3において行われる第一メイン処理では、まず、各種のパラメータ等の初期化が行われる(S101)。次に、ネットワーク2に接続されている通信制御装置3とすべての通信装置とを制御対象として認識する(S102)。以後の説明では、S102の処理によって制御対象として認識された通信制御装置3と通信装置とのいずれかを特定しない場合には、「制御対象」という。なお、S102の処理では、通信制御装置3と通信装置のうち、テレビ会議に参加する装置のみが制御対象として認識される。例えば、通信制御装置3がテレビ会議に参加しない場合には、通信装置のみを制御対象として認識する。つまり、通信制御装置3は、テレビ会議には参加せず、制御のみを行うことも可能である。
次に、すべての制御対象のうちの一台の制御対象が選択される(S103)。なお、S103の処理は、後述するS108の処理によって、すべての制御対象がS103の処理によって選択されたと判断されるまで繰り返して実行される。S103の処理は、制御対象を順番に選択し、一度選択した制御対象を重複して選択しない。
次に、S103の処理によって選択された制御対象が、通信制御装置3であるか否かが判断される(S104)。S103の処理によって選択された制御対象が通信制御装置3でない場合には(S104:NO)、S103の処理によって選択された制御対象に対して、Iピクチャ周期とフレームレートとIピクチャサイズとPピクチャサイズとを送信することを要求するデータである第一要求データがネットワーク2を介して送信される(S105)。ここで、Iピクチャサイズとは、通信制御装置3および通信装置のそれぞれが、画像をIピクチャとして符号化した場合のデータのサイズである。また、Pピクチャサイズとは、通信制御装置3および通信装置のそれぞれが、画像をPピクチャとして符号化した場合のデータのサイズである。S104の処理によって、S103の処理によって選択された制御対象が通信制御装置3でないと判断されているので、S103の処理によって選択された制御対象は、通信装置のうちのいずれかである。S105の処理では、S103の処理で選択された通信装置に対して、第一要求データが送信される。
次に、Iピクチャ周期とフレームレートとIピクチャサイズとPピクチャサイズとが受信されたか否かが判断される(S106)。詳細は後述するが、S105の処理で、送信された第一要求データは、通信装置のS502の処理で受信される(図23参照)。そして、通信装置のS503の処理によって、通信制御装置3に対して、Iピクチャ周期とフレームレートとIピクチャサイズとPピクチャサイズとが送信される。S106の処理では、通信装置のS503の処理によって送信された、Iピクチャ周期とフレームレートとIピクチャサイズとPピクチャサイズとが受信されたか否かが判断される。Iピクチャ周期とフレームレートとIピクチャサイズとPピクチャサイズとが受信されていない場合には(S106:NO)、続いて、S106に戻り、処理が繰り返される。つまり、通信制御装置3は、Iピクチャ周期とフレームレートとIピクチャサイズとPピクチャサイズとが受信されるまで待機している。
Iピクチャ周期とフレームレートとIピクチャサイズとPピクチャサイズとが受信された場合には(S106:YES)、続いて、S106の処理によって受信されたIピクチャ周期とフレームレートとIピクチャサイズとPピクチャサイズとがデータ記憶エリア221に記憶される(S107)。なお、S107の処理では、後述するS109の処理によって取得された通信制御装置3のIピクチャ周期とフレームレートとIピクチャサイズとPピクチャサイズとも、データ記憶エリア221に記憶される。
S104の処理において、S103の処理によって選択された制御対象が通信制御装置3であると判断された場合には(S104:YES)、続いて、通信制御装置3のIピクチャ周期とフレームレートとIピクチャサイズとPピクチャサイズとが取得される(S109)。S109の処理では、Iピクチャ周期記憶エリア312に記憶されている通信制御装置3のIピクチャ周期と、フレームレート記憶エリア313に記憶されている通信制御装置3のフレームレートと、データサイズ記憶エリア314に記憶されている通信制御装置3のIピクチャサイズとPピクチャサイズとが読み出される。
次に、S107の処理に進み、S109の処理によって取得された通信制御装置3のIピクチャ周期とフレームレートとIピクチャサイズとPピクチャサイズとが、データ記憶エリア221に記憶される。
次に、すべての制御対象がS103の処理によって選択されたか否かが判断される(S108)。制御対象のうち選択されていない制御対象が存在する場合には(S108:NO)、続いて、S103に戻り、処理が繰り返される。つまり、すべての制御対象のIピクチャ周期とフレームレートとIピクチャサイズとPピクチャサイズとが取得されるまで、S103〜S109の処理が繰り返される。
第一具体例の場合、まず、各種のパラメータ等の初期化が行われる(S101)。次に、ネットワーク2に接続されている通信制御装置3とすべての通信装置4,5,6とを制御対象として認識する(S102)。以後の説明では、S102の処理において、制御対象として認識された通信制御装置3と通信装置4,5,6とを、それぞれ制御対象3、制御対象4、制御対象5、制御対象6という。
次に、S103の処理で、制御対象3が選択されたとする。つまり、通信制御装置3が選択されたとする。次に、S104の処理によって、S103の処理によって選択された制御対象が通信制御装置3であると判断される(S104:YES)。次にS109の処理が行われる。ここで、通信制御装置3のIピクチャ周期は「1500ms」、フレームレートは「2fps」である。また、Iピクチャサイズは「200bit」、Pピクチャサイズは「50bit」であるとする。この場合、Iピクチャ周期記憶エリア312に記憶されているIピクチャ周期「1500ms」と、フレームレート記憶エリア313に記憶されているフレームレート「2fps」と、データサイズ記憶エリア314に記憶されているIピクチャサイズ「200bit」とPピクチャサイズ「50bit」とが読み出される(S109)。そして、データ記憶エリア221に記憶される(S107)。次に、S103の処理によって選択されたのは、制御対象3のみであるので、全ての制御対象3,4,5,6がS103の処理によって選択されていないと判断される(S108:NO)。
次に、S103の処理によって、制御対象4が選択されたとする。つまり、通信装置4が選択されたとする。次に、S104の処理によって、S103の処理によって選択された制御対象が通信制御装置3でないと判断される(S104:NO)。次に、S103の処理によって選択された通信装置4に対して、第一要求データがネットワーク2を介して送信される(S105)。次に、Iピクチャ周期とフレームレートとIピクチャサイズとPピクチャサイズとが受信されたか否かが判断される(S106)。S105の処理で、送信された第一要求データは、通信装置4のS502の処理で受信される(図23参照)。ここで、通信装置4のIピクチャ周期は「1000ms」、フレームレートは「4fps」である。また、通信装置4のIピクチャサイズは「125bit」、Pピクチャサイズは「30bit」であるとする。この場合、通信装置4のS503の処理(図23参照)によって、通信制御装置3に対して、Iピクチャ周期「1000ms」とフレームレート「4fps」とIピクチャサイズ「125bit」とPピクチャサイズ「30bit」とが送信され、通信制御装置3のS106の処理によって受信される(S106:YES)。そして、データ記憶エリア221に記憶される(S107)。
次に、S103の処理によって選択されたのは、制御対象3,4であるので、制御対象5,6は選択されていない。このため、全ての制御対象3,4,5,6がS103の処理によって選択されていないと判断される(S108:NO)。
このように、S103の処理によって、制御対象4が選択された場合と同様に、制御対象5及び制御対象6に対して、S103〜S109の処理が行われる。
通信装置5のIピクチャ周期は「600ms」、フレームレートは「5fps」である。また、通信装置5のIピクチャサイズは「160bit」、Pピクチャサイズは「40bit」であるとする。また、通信装置6のIピクチャ周期は「700ms」、フレームレートは「10fps」である。また、通信装置6のIピクチャサイズは「100bit」、Pピクチャサイズは「20bit」であるとする。これらのデータが、S106の処理によって受信され、S107の処理によってデータ記憶エリア221に記憶される。そして、全ての制御対象3,4,5,6がS103の処理によって選択されたと判断される(S108:YES)。
全ての制御対象がS103の処理によって選択されたと判断された場合には(S108:YES)、続いて、受信ビットレートテーブル作成処理が行われる(S110)。ここで、図7を参照して、受信ビットレートテーブル作成処理について説明する。受信ビットレートテーブル作成処理とは、図8に示す受信ビットレートテーブル50を作成する処理である。
図7に示す受信ビットレートテーブル作成処理では、まず、変数Nが「N=2」と設定され、変数記憶エリア222に記憶される(S201)。次に、データ記憶エリア221に記憶されている制御対象のIピクチャ周期の中から、変数記憶エリア222に記憶された変数Nの値に対応した、N個のIピクチャ周期が選択される(S202)。つまり、N個のIピクチャ周期からなる組み合わせが選択される(S202)。なお、S202の処理は、後述するS205の処理によって、すべての組み合わせがS202の処理で選択されたと判断されるまで繰り返し実行される。S202の処理は、一度選択した組み合わせと同一の組み合わせを選択しない。
次に、S202の処理で選択されたN個のIピクチャ周期の最小公倍数が算出される(S203)。次に、S203の処理で算出された最小公倍数が最小公倍数記憶エリア223に記憶される(S204)。次に、N個のIピクチャ周期からなるすべての組み合わせがS202の処理で選択されたか否かが判断される(S205)。S202の処理で選択されていない組み合わせがある場合には(S205:NO)、続いて、S202に戻り、処理が繰り返される。つまり、N個のIピクチャ周期からなるすべての組み合わせについて、最小公倍数が算出され(S203)、最小公倍数記憶エリア223に記憶される(S204)。
S205の処理によって、すべての組み合わせがS202の処理で選択されたと判断された場合には(S205:YES)、続いて、変数記憶エリア222に記憶された変数Nが1増加される(S206)。つまり、変数Nがインクリメントされる。続いて、変数記憶エリア222に記憶された変数Nの値が、S102の処理(図6参照)によって認識された制御対象の台数と等しいか否かが判断される(S207)。変数Nの値が制御対象の台数と等しくない場合には(S207:NO)、続いて、S202に戻り、処理が繰り返される。
第一具体例の場合、S201の処理によって変数Nが「N=2」と設定され、変数記憶エリア222に記憶される。次に、データ記憶エリア221に記憶されている制御対象3,4,5,6のIピクチャ周期の中から、変数「N=2」に対応した、2個のIピクチャ周期が選択される(S202)。ここで、制御対象3のIピクチャ周期「1500ms」と、制御対象4のIピクチャ周期「1000ms」とが選択されたとする。
次に、制御対象3のIピクチャ周期「1500ms」と、制御対象4のIピクチャ周期「1000ms」との最小公倍数算出される(S203)。つまり、最小公倍数は、「3000ms」と算出される。次に、S203の処理で算出された最小公倍数「3000ms」が最小公倍数記憶エリア223に記憶される(S204)。次に、S202の処理で選択されたのは、制御対象3のIピクチャ周期と制御対象4のIピクチャ周期との組み合わせのみであるので、S202の処理で選択されていない組み合わせがあると判断される(S205:NO)。続いて、S202に戻る。
次にS202の処理によって、制御対象3のIピクチャ周期「1500ms」と制御対象5のIピクチャ周期「600ms」とが選択されたとする。そして、これらの最小公倍数「3000ms」が算出され(S203)、最小公倍数記憶エリア223に追加記憶される(S204)。そして、S202の処理で選択されていない組み合わせがあると判断される(S205:NO)。
このように、S202〜S205の処理が繰り返され、2個のIピクチャ周期からなるすべての組み合わせについて、最小公倍数が算出される。つまり、制御対象3,6のIピクチャ周期である「1500ms」と「700ms」とから、最小公倍数「10500ms」が算出され(S203)、データ記憶エリア221に記憶される(S204)。また、制御対象4,5のIピクチャ周期である「1000ms」と「600ms」とから、最小公倍数「3000ms」が算出され(S203)、データ記憶エリア221に記憶される(S204)。また、制御対象4,6のIピクチャ周期である「1000ms」と「700ms」とから、最小公倍数「7000ms」が算出され(S203)、データ記憶エリア221に記憶される(S204)。また、制御対象5,6のIピクチャ周期である「600ms」と「700ms」とから、最小公倍数「4200ms」が算出され(S203)、データ記憶エリア221に記憶される(S204)。
そして、2個のIピクチャ周期からなるすべての組み合わせがS202の処理で選択されたと判断されると(S205:YES)。続いて、変数Nがインクリメントされ「N=3」と設定される(S206)、続いて、制御対象3,4,5,6の台数は4台なので、変数「N=3」が制御対象3,4,5,6の台数と等しくないと判断される(S207:NO)。そして、S202に戻り、処理が繰り返される。
次に、データ記憶エリア221に記憶されている制御対象3,4,5,6のIピクチャ周期の中から、変数「N=3」に対応した、3個のIピクチャ周期が選択される(S202)。ここで、制御対象3のIピクチャ周期「1500ms」と、制御対象4のIピクチャ周期「1000ms」と制御対象5のIピクチャ周期「600ms」とが選択されたとする(S202)。そして、これらの最小公倍数である「3000ms」が算出され、データ記憶エリア221に記憶される(S204)。次に、S202の処理で選択されていない組み合わせがあると判断され(S205:NO)、S202に戻り処理が繰り返される。
このように、S202〜S205の処理が繰り返され、3個のIピクチャ周期からなるすべての組み合わせについて、最小公倍数が算出される。つまり、制御対象3,4,6のIピクチャ周期である「1500ms」と「1000ms」と「700ms」とから、最小公倍数「21000ms」が算出され(S203)、データ記憶エリア221に記憶される(S204)。また、制御対象4,5,6のIピクチャ周期である「1000ms」と「600ms」と「700ms」とから、最小公倍数「21000ms」が算出され(S203)、データ記憶エリア221に記憶される(S204)。また、制御対象3,5,6のIピクチャ周期である「1500ms」と「600ms」と「700ms」とから、最小公倍数「21000ms」が算出され(S203)、データ記憶エリア221に記憶される(S204)。
そして、3個のIピクチャ周期からなるすべての組み合わせがS202の処理で選択されたと判断されると(S205:YES)。続いて、変数Nがインクリメントされ「N=4」と設定される(S206)。続いて、制御対象3,4,5,6の台数は4台なので、変数「N=4」が制御対象3,4,5,6の台数と等しいと判断される(S207:YES)。
変数Nと制御対象の台数とが等しい場合には(S207:YES)、続いて、各制御対象がIピクチャをネットワーク2に送出する場合のビットレートであるIビットレートと、各制御対象がPピクチャをネットワーク2に送出する場合のビットレートであるPビットレートとが取得され、ビットレート記憶エリア224(図4参照)に記憶される(S208)。IビットレートとPビットレートとは、図6のS106の処理及びS109の処理によって取得され、S107の処理によってデータ記憶エリア221に記憶された、フレームレートとIピクチャサイズとPピクチャサイズとから算出されることで取得される(S208)。より詳細には、Iビットレートは、Iピクチャサイズとフレームレートとの積を算出することで取得される。また、Pビットレートは、Pピクチャサイズとフレームレートとの積を算出することで取得される。そして、取得されたIピクチャサイズとPピクチャサイズとがビットレート記憶エリア224に記憶される(S208)。
次に、S203の処理によって算出された最小公倍数と、S208の処理によって算出されたIピクチャサイズとPピクチャサイズとから、受信ビットレートテーブル50が作成される。S208の処理によって算出されたIビットレート及びPビットレートは、各制御対象が、Iピクチャ及びPピクチャをネットワーク2に送出するビットレートを表している。制御対象からネットワーク2に送出されたIピクチャ及びPピクチャは、他の制御対象によって受信される。つまり、Iビットレート及びPビットレートは、他の制御対象によって受信される場合のIピクチャ及びPピクチャのビットレートということもできる。また、S203の処理によって算出された最小公倍数は、最小公倍数を算出するために使用されたIピクチャ周期を有する制御対象が、同時にIピクチャを送信するタイミングを表している。つまり、S203の処理によって算出された最小公倍数の周期で、二台以上の制御対象がIピクチャを送信するタイミングが同一となる。以降の説明では、S203の処理によって算出された最小公倍数の周期を「同一タイミング」という。受信ビットレートテーブル50は、S203の処理によって算出された同一タイミングと、各制御対象が受信するIピクチャ及びPピクチャの合計のビットレートとが対応つけられたデータテーブルである。受信ビットレートテーブル50についての詳細は、第一具体例を示しながら後述する。
第一具体例の場合、変数Nと制御対象3,4,5,6の台数とが等しいと場合には(S207:YES)、続いて、制御対象3,4,5,6のIビットレートとPビットレートとが取得され、ビットレート記憶エリア224(図4参照)に記憶される(S208)。制御対象3のIピクチャサイズは200bitであり、フレームレートは2fpsである。このため、Iピクチャサイズ「200bit」とフレームレート「2fps」の積が算出され、制御対象3のIビットレートは「400bps」と算出される(S208)。同様に、制御対象4については、Iピクチャサイズ「125bit」とフレームレート「4fps」とから、Iビットレートが「500bps」と算出される。また、制御対象5については、Iピクチャサイズ「160bit」とフレームレート「5fps」とから、Iビットレートが「800bps」と算出される。制御対象6については、Iピクチャサイズ「100bit」とフレームレート「10fps」とから、Iビットレートが「1000bps」と算出される。そして、制御対象3,4,5,6のIビットレートがビットレート記憶エリア224に記憶される(S208)
Pビットレートについても、Iビットレートの場合と同様に算出される。すなわち、制御対象3については、Pピクチャサイズ「50bit」とフレームレート「2fps」とから、Pビットレートが「100bps」と算出される。制御対象4については、Pピクチャサイズ「30bit」とフレームレート「4fps」とから、Pビットレートが「120bps」と算出される。制御対象5については、Pピクチャサイズ「40bit」とフレームレート「5fps」とから、Pビットレートが「200bps」と算出される。制御対象6については、Pピクチャサイズ「20bit」とフレームレート「10fps」とから、Pビットレートが「200bps」と算出される。そして、制御対象3,4,5,6のPビットレートがビットレート記憶エリア224に追加記憶される(S208)。
次に、S203の処理によって算出された同一タイミングと、S208の処理によって算出されたIビットレートとPビットレートとから、受信ビットレートテーブル50が作成され、受信ビットレートテーブル記憶エリア225に記憶される(S209)。
ここで、図8を参照して、S209の処理によって作成される受信ビットレートテーブル50について説明する。受信ビットレートテーブル50は、S203の処理によって算出された同一タイミングと、各制御対象が受信するIピクチャ及びPピクチャの合計のビットレートとが対応つけられたデータテーブルである。
S203の処理によって算出された同一タイミングは、3000msと4200msと7000msと10500msと21000msである。このため、受信ビットレートテーブル50には、同一タイミングである「3000ms」と「4200ms」と「7000ms」と「10500ms」と「21000ms」との欄が作成される。そして、各同一タイミングにおいて、制御対象3,4,5,6のそれぞれが受信するビットレートの合計が、同一タイミングと対応付けられて登録される(S209)。
例えば、4200msは、制御対象5,6の同一タイミングである。つまり、4200msでは、制御対象5,6がネットワーク2にIピクチャを送信する。そして、制御対象3では、制御対象5,6によって送信されたIピクチャが受信される。この場合に、制御対象3において受信されるピクチャのビットレートの合計は、制御対象5のIビットレート「800bps」と制御対象6のIビットレート「1000bps」との和である「1800bps」である。このため、同一タイミング「4200ms」と制御対象3が受信するビットレートの合計「1800bps」とが対応付けられて受信ビットレートテーブル50に登録される(S209)。図8に示す受信ビットレートテーブル50では、説明のため、「4200ms」のタイミングにおいて制御対象3が受信するIピクチャを送信する制御対象である「制御対象5,6」を記載している。なお、4200msのタイミングにおいては、Pピクチャを送信する制御対象はないので、Pピクチャを送信した制御対象は「−」と表示している。
また、例えば、3000msは、制御対象3,4、制御対象3,5、制御対象4,5、制御対象3,4,5のそれぞれの組み合わせの同一タイミングである。つまり、3000msでは、制御対象3,4,5がネットワーク2にIピクチャを送信する。このとき、制御対象3は、制御対象3のIピクチャは受信しないので、制御対象4,5によって送信されたIピクチャが受信される。この場合に、制御対象3において受信されるピクチャのビットレートの合計は、制御対象4のIビットレート「500bps」と制御対象5のIビットレート「800bps」との和である「1300bps」である。このため、同一タイミング「3000ms」と制御対象3が受信するビットレートの合計「1300bps」とが対応付けられて受信ビットレートテーブル50に登録される(S209)。
同様にして、制御対象3,4,5,6が受信するビットレートの合計が、S209の処理によって各同一タイミングに対応つけられて受信ビットレートテーブル50に登録される。なお、同一タイミング「7000ms」においては、制御対象4,6がIピクチャを送信し、制御対象3,5がPピクチャを送信する。また、同一タイミング「10500ms」においては、制御対象3,6がIピクチャを送信し、制御対象4がPピクチャを送信する。また、同一タイミング「21000ms」においては、制御対象4,5,6がIピクチャを送信し、Pピクチャを送信する制御対象はない。
このため、制御対象3が受信するビットレートの合計は、以下のようになる。すなわち、同一タイミング「7000ms」と、制御対象4,6のIビットレート及び制御対象5のPビットレートの合計「1700bps」とが対応付けられる。また、同一タイミング「10500ms」と、制御対象6のIビットレート及び制御対象4のPビットレートの合計「1120bps」とが対応付けられる。また、同一タイミング「21000ms」と、制御対象4,5,6のIビットレートの合計「2300bps」とが対応付けられる。
また、制御対象4が受信するビットレートの合計は、以下のようになる。すなわち、同一タイミング「3000ms」と、制御対象3,5のIビットレートの合計「1200bps」とが対応付けられる。また、同一タイミング「4200ms」と、制御対象5,6のIビットレートの合計「1800bps」とが対応付けられる。また、同一タイミング「7000ms」と、制御対象6のIビットレート及び制御対象3,5のPビットレートの合計「1320bps」とが対応付けられる。また、同一タイミング「10500ms」と、制御対象3,6のIビットレートの合計「1400bps」とが対応付けられる。また、同一タイミング「21000ms」と、制御対象3,5、6のIビットレートの合計「2200bps」とが対応付けられる。
また、制御対象5が受信するビットレートの合計は、以下のようになる。すなわち、同一タイミング「3000ms」と、制御対象3,4のIビットレートの合計「900bps」とが対応付けられる。また、同一タイミング「4200ms」と、制御対象6のIビットレート「1000bps」とが対応付けられる。また、同一タイミング「7000ms」と、制御対象4,6のIビットレート及び制御対象3のPビットレートの合計「1600bps」とが対応付けられる。また、同一タイミング「10500ms」と、制御対象3,6のIビットレート及び制御対象4のPビットレートの合計「1520bps」とが対応付けられる。また、同一タイミング「21000ms」と、制御対象3,4、6のIビットレートの合計「1900bps」とが対応付けられる。
また、制御対象6が受信するビットレートの合計は、以下のようになる。すなわち、同一タイミング「3000ms」と、制御対象3,4,5のIビットレートの合計「1700bps」とが対応付けられる。また、同一タイミング「4200ms」と、制御対象5のIビットレート「800bps」とが対応付けられる。また、同一タイミング「7000ms」と、制御対象4のIビットレート及び制御対象3,5のPビットレートの合計「800bps」とが対応付けられる。また、同一タイミング「10500ms」と、制御対象3のIビットレート及び制御対象4のPビットレートの合計「520bps」が対応付けられる。また、同一タイミング「21000ms」と制御対象3,4、5のIビットレートの合計「1700bps」とが対応付けられる。
このようにして、図8に示す受信ビットレートテーブル50は作成され、受信ビットレートテーブル記憶エリア225に記憶される(S209)。
S209の処理によって、受信ビットレートテーブルが作成されたら、次に、受信ビットレートテーブル作成処理を終了し、図6に示すフローチャートに戻る。次に、通信装置に対して、エンコードの開始を要求するデータであるエンコード開始データが送信される(S111)。
次に、各制御対象が他の制御対象から送信されるピクチャを受信することが可能な帯域である受信可能帯域が、受信されたか否かが判断される(S112)。S111の処理によって通信装置に対して送信されたエンコード開始データは、後述する通信装置のS504の処理(図23参照)によって受信される。そして、通信装置のS505の処理によって、通信装置の受信可能帯域が測定され、通信制御装置3に送信される。S112の処理では、すべての通信装置の受信可能帯域が受信されたか否かが判断される。
受信可能帯域が受信されていない通信装置が存在する場合には(S112:NO)、続いて、S112に戻り、処理が繰り返される。つまり、通信制御装置3は、すべての通信装置の受信可能帯域が受信されるまで待機している。
すべての通信装置の受信可能帯域が受信された場合には(S112:YES)、続いて、S112の処理によって受信された通信装置の受信可能帯域が、帯域記憶エリア226に記憶される(S113)。次に、通信制御装置3の受信可能帯域が測定されることで取得され、帯域記憶エリア226に記憶される(S114)。次に、通信装置のS505の処理(図23参照)によって送信される通信装置の受信可能帯域が新たに受信されたか否かが判断される(S115)。通信装置の受信可能帯域が新たに受信されていない場合には(S115:NO)、続いて、タイミング確認変更処理が行われる(S117)。通信装置の受信可能帯域が新たに受信された場合には(S115:YES)、続いて、S115の処理で受信された受信可能帯域が帯域記憶エリア226に記憶される(S116)。次に、タイミング確認変更処理が行われる(S117)。
第一具体例の場合、エンコード開始データが通信装置4,5,6に送信される(S111)。ここで、通信装置4の受信可能帯域は、「1500bps」であるとする。通信装置5の受信可能帯域は、「1600bps」であるとする。通信装置6の受信可能帯域は、「1050bps」であるとする。これらの受信可能帯域がすべて受信されると(S112:YES)。S112の処理で受信された受信可能帯域が帯域記憶エリア226に記憶される(S113)。
次に、通信制御装置3の受信可能帯域が測定されることで取得され、帯域記憶エリア226に記憶される(S114)。通信制御装置3の受信可能帯域は、「1400bps」であるとする。次に、通信装置のS505の処理によって送信される通信装置の受信可能帯域が新たに受信されたか否かが判断される(S115)。ここで、通信装置の受信可能帯域は新たに受信されていないとする(S115:NO)。
次に、タイミング確認変更処理が行われる(S117)。ここで、図9を参照して、Iピクチャ確認変更処理について説明する。タイミング確認変更処理は、通信制御装置3及び通信装置が受信するビットレートの合計が受信可能帯域より大きい場合に、通信制御装置3及び通信装置が受信するビットレートの合計が受信可能帯域以下となるように、ビットレートの大きいIピクチャを生成するタイミングを変更する処理である。
図9に示すタイミング確認変更処理では、まず、受信ビットレートテーブル50に登録されている同一タイミングのうちの一つが選択される(S301)。なお、S301の処理は、後述するS310の処理によって、受信ビットレートテーブル50に登録されているすべての同一タイミングがS301の処理によって選択されたと判断されるまで繰り返して実行され、一度選択した同一タイミングを重複して選択しない。
次に、制御対象のうちの一台が選択される(S302)。なお、S302の処理は、後述するS307の処理によって、すべての制御対象がS302の処理によって選択されたと判断されるまで繰り返して実行され、一度選択した制御対象を重複して選択しない。
次に、図8に示す受信ビットレートテーブル50が参照され、S301の処理によって選択された同一タイミングにおいて、S302の処理によって選択された制御対象が受信するIピクチャ及びPピクチャのビットレートの合計が、帯域記憶エリア226に記憶された受信可能帯域のうちS302の処理によって選択された制御対象の受信可能帯域以下であるか否かが判断される(S303)。
S301の処理によって選択された同一タイミングにおいて、S302の処理によって選択された制御対象が受信するIピクチャ及びPピクチャのビットレートの合計が、帯域記憶エリア226に記憶されている受信可能帯域のうちS302の処理によって選択された制御対象の帯域以下でないと判断された場合には(S303:NO)、続いて、Iピクチャを生成するタイミングを変更させる制御対象が決定される(S304)。S304の処理では、S302の処理によって選択された制御対象が受信するIピクチャを送信する制御対象のうち、最も大きいフレームレートを有する制御対象が、Iピクチャを生成するタイミングを変更させる制御対象として決定される。なお、S304の処理は、S304〜S307(後述)の処理が繰り返される毎に、大きいフレームレートを有する制御対象から順番に、Iピクチャを生成するタイミングを変更させる制御対象を決定する。
次に、受信ビットレートテーブル50が更新される(S305)。S305の処理では、S301の処理において選択された同一タイミングにおいて、S304の処理で決定された制御対象が生成するIピクチャのビットレートが、Pピクチャのビットレートに変更される。詳細は後述するが、S309のIピクチャタイミング変更処理において、Iピクチャが生成されるタイミングが変更された場合、変更前にIピクチャが生成されていたタイミングでは、Pピクチャが生成される。つまり、S301の処理において選択された同一タイミングにおいて、S304の処理で決定された制御対象が生成するピクチャが、IピクチャからPピクチャに変更される。このため、受信ビットレートテーブル50において、S304の処理で決定された制御対象がピクチャをネットワーク2に送出する場合のビットレートがPビットレートに変更され、受信ビットレートテーブル50が更新される(S305)。
次に、S305の処理において更新された受信ビットレートテーブル50が参照され、S301の処理によって選択された同一タイミングにおいて、S302の処理によって選択された制御対象が受信するIピクチャ及びPピクチャのビットレートの合計が、帯域記憶エリア226に記憶された受信可能帯域のうちS302の処理によって選択された制御対象の受信可能帯域以下であるか否かが判断される(S306)。
S301の処理によって選択された同一タイミングにおいて、S302の処理によって選択された制御対象が受信するIピクチャ及びPピクチャのビットレートの合計が、受信可能帯域以下でない場合には(S306:NO)、続いて、S304の処理に戻り、処理が繰り返される。つまり、S302の処理によって選択された制御対象が受信するIピクチャ及びPピクチャのビットレートの合計が、S302の処理によって選択された制御対象の受信可能帯域以下となるまで、制御対象が決定され(S304)、受信ビットレートテーブル50が更新される(S306)。
S301の処理によって選択された同一タイミングにおいて、S302の処理によって選択された制御対象が受信するIピクチャ及びPピクチャのビットレートの合計が、受信可能帯域以下である場合には(S306:YES)、続いて、すべての制御対象がS302の処理によって選択されたか否かが判断される(S307)。なお、S303の処理によって、S301の処理によって選択された同一タイミングにおいて、S302の処理によって選択された制御対象が受信するIピクチャ及びPピクチャのビットレートの合計が、受信可能帯域以下であると判断された場合にも(S303:YES)、S307の処理が実行される。
S302の処理によって選択されていない制御対象がある場合には(S307:NO)、続いて、S302に戻り、処理が繰り返される。つまり、S301の処理によって選択された同一タイミングにおいて、すべての制御対象がS302に処理によって選択され、S303〜S307の処理が実行される。
第一具体例の場合、受信ビットレートテーブル50(図8参照)に登録されている同一タイミングのうち、21000msが選択されたとする(S301)。次に、制御対象3,4,5,6のうち、制御対象3が選択されたとする(S302)。
次に、図8に示す受信ビットレートテーブル50が参照され、同一タイミング「21000ms」において、制御対象3が受信するビットレートの合計である2300bpsが、帯域記憶エリア226に記憶された制御対象3の受信可能帯域1400bps以下ではないと判断される(S303:NO)。
次に、Iピクチャを生成するタイミングを変更させる制御対象が決定される(S304)。図8に示すように、同一タイミング「21000ms」において、制御対象3が受信するIピクチャを送信する制御対象は、制御対象4,5,6である。ここで、制御対象4のフレームレート「4fps」と制御対象5のフレームレート「5fps」と制御対象6のフレームレート「10fps」とのうち、もっとも大きいフレームレートは制御対象6のフレームレート「10fps」である。したがって、最も大きいフレームレートを有する制御対象6が、Iピクチャを生成するタイミングを変更させる制御対象として決定される(S304)。
次に、受信ビットレートテーブル50が更新される(S305)。制御対象6のIビットレートは、1000bpsであり、Pビットレートは200bpsである。このため、受信ビットレートテーブル50において、制御対象6がピクチャをネットワーク2に送出する場合のビットレートが、Iビットレート「1000bps」からPビットレート「200bps」に変更される。つまり、制御対象6がネットワーク2に送出する場合のビットレートは、Iビットレート「1000bps」とPビットレート「200bps」との差分である「800bps」だけ減少する。
変更された後の受信ビットレートテーブル50を図10に示す。図10に示すように、同一タイミング「21000ms」において、制御対象6が送信するピクチャを受信する制御対象3,4,5が受信するビットレートの合計は、「800bps」だけ減少している。つまり、同一タイミング「21000ms」において制御対象3が受信するビットレートの合計は、2300bps(図8参照)から1500bpsに更新される。また、制御対象4が受信するビットレートの合計は、2200bps(図8参照)から1400bpsに更新される。また、制御対象5が受信するビットレートの合計は、1900bps(図8参照)から1100bpsに更新される。なお、図9では説明のため、制御対象3,4,5が受信するPピクチャを送信する制御対象は、「制御対象6」と記載している。
次に、S305の処理において更新された受信ビットレートテーブル50(図10参照)が参照され、同一タイミング「21000ms」において、制御対象3が受信するビットレートの合計である1500bpsが、制御対象3の受信可能帯域1400bps以下ではないと判断される(S306:NO)。次に、S304に戻る。
図10に示すように、同一タイミング「21000ms」において、制御対象3が受信するIピクチャを送信する制御対象は、制御対象4,5である。ここで、S107の処理によってデータ記憶エリア221に記憶された制御対象4のフレームレート「4fps」と制御対象5のフレームレート「5fps」とのうち、もっとも大きいフレームレートは制御対象5のフレームレート「5fps」である。したがって、最も大きいフレームレートを有する制御対象5が、Iピクチャを生成するタイミングを変更させる制御対象として決定される(S304)。
次に、受信ビットレートテーブル50が更新される(S305)。制御対象5のIビットレートは、800bpsであり、Pビットレートは200bpsである。このため、受信ビットレートテーブル50(図10参照)において、制御対象6がピクチャをネットワーク2に送出する場合のビットレートが、Iビットレート「800bps」からPビットレート「200bps」に変更される。つまり、制御対象5がネットワーク2に送出する場合のビットレートは、Iビットレート「800bps」とPビットレート「200bps」との差分である「600bps」だけ減少する。
変更された後の受信ビットレートテーブル50を図11に示す。図11に示すように、同一タイミング「21000ms」において、制御対象3,4,6が受信するビットレートの合計は、「600bps」だけ減少している。つまり、同一タイミング「21000ms」において制御対象3が受信するビットレートの合計は、1500bps(図10参照)から900bpsに更新される。また、制御対象4が受信するビットレートの合計は、1400bps(図10参照)から800bpsに更新される。また、制御対象6が受信するビットレートの合計は、1700bps(図10参照)から1100bpsに更新される。
次に、S305の処理において更新された受信ビットレートテーブル50(図11参照)が参照され、同一タイミング「21000ms」において、制御対象3が受信するビットレートの合計である900bpsが、制御対象3の受信可能帯域1400bps以下であると判断される(S306:YES)。
次に、すべての制御対象3,4,5,6がS302の処理によって選択されたか否かが判断される(S307)。ここで、S302で選択された制御対象は、制御対象3のみであるので、S302の処理によって選択されていない制御対象があると判断される(S307:NO)。次に、S302に戻り、制御対象4が選択されたとする(S302)。
次に、図11に示す受信ビットレートテーブル50が参照され、同一タイミング「21000ms」において、制御対象4が受信するビットレートの合計である800bpsが、S制御対象4の受信可能帯域「1500bps」以下であると判断される(S303:YES)。
次に、すべての制御対象3,4,5,6がS302の処理によって選択されたか否かが判断される(S307)。ここで、S302で選択された制御対象は、制御対象3,4であるので、制御対象5,6が選択されていない。このため、S302の処理によって選択されていない制御対象があると判断される(S307:NO)。次に、S302に戻り、制御対象5が選択されたとする(S302)。
次に、図11に示す受信ビットレートテーブル50が参照され、同一タイミング「21000ms」において、制御対象5が受信するビットレートの合計である1100bpsが、制御対象5の受信可能帯域「1600bps」以下であると判断される(S303:YES)。
次に、すべての制御対象3,4,5,6がS302の処理によって選択されたか否かが判断される(S307)。ここで、S302で選択された制御対象は、制御対象3,4,5であるので、制御対象6が選択されていない。このため、S302の処理によって選択されていない制御対象があると判断される(S307:NO)。次に、S302に戻り、制御対象6が選択される(S302)。
次に、図11に示す受信ビットレートテーブル50が参照され、同一タイミング「21000ms」において、制御対象6が受信するビットレートの合計である1100bpsが、制御対象6の受信可能帯域「1050bps」以下でないと判断される(S303:NO)。
次に、Iピクチャを生成するタイミングを変更させる制御対象が決定される(S304)。図11に示すように、同一タイミング「21000ms」において、制御対象6が受信するIピクチャを送信する制御対象は、制御対象3,4である。ここで、S107の処理によってデータ記憶エリア221に記憶された制御対象3のフレームレート「2fps」と制御対象4のフレームレート「4fps」とのうち、最も大きいフレームレートは制御対象4のフレームレート「4fps」である。したがって、最も大きいフレームレートを有する制御対象4が、Iピクチャを生成するタイミングを変更させる制御対象として決定される(S304)。
次に、受信ビットレートテーブル50が更新される(S305)。S304の処理によって決定された制御対象4のIビットレートは、500bpsであり、Pビットレートは120bpsである。このため、受信ビットレートテーブル50において、制御対象4がピクチャをネットワーク2に送出する場合のビットレートが、Iビットレート「500bps」からPビットレート「120bps」に変更される。つまり、制御対象4がネットワーク2に送出する場合のビットレートは、Iビットレート「500bps」とPビットレート「120bps」との差分である「380bps」だけ減少する。
変更された後の受信ビットレートテーブル50を図12に示す。図12に示すように、同一タイミング「21000ms」において、制御対象3,5,6が受信するビットレートの合計は、「380bps」だけ減少している。つまり、同一タイミング「21000ms」において制御対象3が受信するビットレートの合計は、900bps(図11参照)から520bpsに更新される。また、制御対象5が受信するビットレートの合計は、1100bps(図11参照)から720bpsに更新される。また、制御対象6が受信するビットレートの合計は、1100bps(図11参照)から720bpsに更新される。
次に、S305の処理において更新された受信ビットレートテーブル50(図12参照)が参照され、同一タイミング「21000ms」において、制御対象6が受信するビットレートの合計である720bpsが、制御対象6の帯域1050bps以下であると判断される(S306:YES)。
次に、すべての制御対象3,4,5,6がS302の処理によって選択されたか否かが判断される(S307)。S302の処理で選択された制御対象は、制御対象3,4,5,6であるので、すべての制御対象3,4,5,6がS302の処理によって選択されたと判断される(S307:YES)。
S307の処理によって、すべての制御対象がS302の処理によって選択されたと判断された場合には(S307:YES)、続いて、S304の処理で決定されたIピクチャを生成するタイミングを変更させる制御対象があるか否かが判断される(S308)。
S304の処理で決定されたIピクチャを生成するタイミングを変更させる制御対象がある場合には(S308:YES)、続いて、Iピクチャタイミング変更処理が実行される(S309)。
ここで、図13を参照して、Iピクチャタイミング変更処理について説明する。Iピクチャタイミング変更処理は、S304の処理(図9参照)において決定された制御対象のIピクチャを生成するタイミングを変更する処理である。Iピクチャタイミング変更処理では、変更後のIピクチャを生成するタイミングが、他の制御対象がIピクチャを生成するタイミングと同一とならないように設定される。
図13に示すIピクチャタイミング変更処理では、まず、変数T1が「0」に設定され、変数記憶エリア222に記憶される(S401)。次に、変数T2が「0」に設定され、変数記憶エリア222に記憶される(S402)。
次に、S304の処理(図9参照)によって決定された制御対象の中から、後述するS407の処理によって変更後のIピクチャを生成するタイミングが決定されておらず、且つフレームレートが大きい制御対象が選択される(S403)。次に、S403の処理によって選択された制御対象のフレームレートの逆数が、変数T3に設定され、変数記憶エリア222に記憶される(S404)。つまり、S403の処理で選択された制御対象の画像を符号化する間隔の時間が変数T3として設定される(S404)。
次に、T3×k>(T1+T2)を満たす最小の整数が算出され、変数kとして設定され、変数記憶エリア222に記憶される(S405)。つまり、k>(T1+T2)÷T3を満たす最小の整数が変数kに設定される(S405)。
次に、S301の処理(図9参照)で選択された同一タイミングから(T3×k)だけ前のタイミングが、S403の処理によって選択された制御対象以外の制御対象がIピクチャを生成するタイミングと同一か否かが判断される(S406)。S301の処理(図9参照)で選択された同一タイミングから(T3×k)だけ前のタイミングが、S403の処理によって選択された制御対象以外の制御対象がIピクチャを生成するタイミングと同一でない場合には(S406:NO)、続いて、S301の処理(図9参照)で選択された同一タイミングから(T3×k)だけ前のタイミングが、S403の処理によって選択された制御対象がIピクチャを生成するタイミングとして決定される(S407)。さらに、決定されたタイミングは、S403の処理によって選択された制御対象がIピクチャを生成するタイミングを変更するための情報である「変更タイミング」として、変更タイミング記憶エリア227に記憶される(S407)。なお、このとき、S403の処理によって選択された制御対象は、S301の処理(図9参照)で選択された同一タイミングでは、Pピクチャを生成する。
変数T3は、S403の処理で選択された制御対象が、画像を符号化する間隔の時間である。そして、変数kは整数である。そして、S407の処理によって、S301の処理(図9参照)で選択された同一タイミングから(T3×k)だけ前のタイミングが、S403の処理によって選択された制御対象がIピクチャを生成するタイミングとして決定される。つまり、S403の処理によって選択された制御対象が画像を符号化するタイミングのうち、S301の処理(図9参照)で選択された同一タイミングからk個前のタイミングが、変更後のIピクチャを生成するタイミングとなる。
また、S406の処理によって、S301の処理(図9参照)で選択された同一タイミングから(T3×k)だけ前のタイミングが、S403の処理によって選択された制御対象以外の制御対象がIピクチャを生成するタイミングと同一でないことが確認されている(S406:NO)。このため、S407の処理で決定される変更後のIピクチャを生成するタイミングは、他の制御対象が、ビットレートの大きいIピクチャを生成するタイミングと同一とならないように設定される。このため、Iピクチャを生成するタイミングを変更した後に、各制御対象が受信するピクチャのビットレートが、受信可能帯域より大きくなることを防止することができる。
次に、S304の処理(図9参照)によって決定された制御対象が、S403の処理によってすべて選択されたか否かが判断される(S408)。S403の処理によって選択されていない制御対象がある場合には(S408:NO)、続いて、(T3×k)が算出され、変数記憶エリア222に記憶されている変数T1が(T3×k)の値に設定される。つまり、変数T1には、S407の処理によって変更されたIピクチャのタイミングが設定される(S409)。次に、変数記憶エリア222に記憶されている変数T3が、変数T2の値に設定される(S410)。つまり、変数T2には、S407によってIピクチャのタイミングを決定された制御対象の画像を符号化する間隔の時間が設定される(S410)。次に、S403に戻り、処理が繰り返される。
なお、S304の処理(図9参照)によって決定された制御対象が、S403の処理によってすべて選択されている場合には(S408:YES)、Iピクチャタイミング変更処理が終了され、図9に示すフローチャートに戻る。
第一具体例の場合には、まず、変数T1が「0」に設定され、変数記憶エリア222に記憶される(S401)。次に、変数T2が「0」に設定され、変数記憶エリア222に記憶される(S402)。
次に、S304の処理(図9参照)によって決定された制御対象の中から、S407の処理によって変更後のIピクチャを生成するタイミングが決定されておらず、且つフレームレートが大きい制御対象が選択される(S403)。S304の処理によって決定された制御対象は、制御対象4,5,6である。また、S407の処理は行われていないので、制御対象4,5,6はすべて、変更後のIピクチャを生成するタイミングが決定されていない。また、制御対象4のフレームレートは4fpsであり、制御対象5のフレームレートは5fpsであり、制御対象6のフレームレートは10fpsである。したがって、最もフレームレートが大きい制御対象6が選択される(S403)。
次に、S403の処理によって選択された制御対象6のフレームレート「10fps」の逆数である「0.1秒」すなわち「100ms」が、変数T3に設定され、変数記憶エリア222に記憶される(S404)。つまり、制御対象6が、画像を符号化する間隔の時間である「100ms」が変数T3として設定される(S404)。
次に、T3×k>(T1+T2)を満たす最小の整数が算出され、変数kとして設定され、変数記憶エリア222に記憶される(S405)。つまり、k>(T1+T2)÷T3を満たす最小の整数が変数kに設定される(S405)。変数T1=0、変数T2=0、変数T3=100msであるので、(T1+T2)÷T3は、0である。このため、変数kは、k>0を満たす最小の整数である「1」と設定される(S405)。
次に、S301の処理(図9参照)で選択された同一タイミング「21000ms」から(T3×k)だけ前のタイミングすなわち100ms前のタイミングが、制御対象6以外の制御対象である制御対象3,4,5がIピクチャを生成するタイミングと同一か否かが判断される(S406)。図14に示すように、21000msから100ms前のタイミングでは、制御対象3,4,5は、Iピクチャを生成していない。このため、同一タイミング「21000ms」から(T3×k)だけ前のタイミングすなわち100ms前のタイミングが、制御対象6以外の制御対象である制御対象3,4,5がIピクチャを生成するタイミングと同一ではないと判断される(S406:NO)。
続いて、同一タイミング「21000ms」から(T3×k)だけ前のタイミング、すなわち100ms前のタイミングが、制御対象6がIピクチャを生成するタイミングとして決定される(S407)。さらに、決定されたタイミングは、変更タイミングとして、変更タイミング記憶エリア227に記憶される(S407)。なお、このとき、制御対象6は、同一タイミング「21000ms」では、Pピクチャを生成する。S407の処理で、制御対象6がIピクチャを生成するタイミングが決定された場合における、各制御対象の符号化のタイミングを図15に示す。
変数T3=100msは、制御対象6が、画像を符号化する間隔の時間である。そして、変数kは「1」である。つまり、図15に示すように、制御対象6が画像を符号化するタイミングのうち、同一タイミング「21000ms」から1個前のタイミングが、変更後のIピクチャを生成するタイミングとなる。
また、S406の処理によって、同一タイミング「21000ms」から100msだけ前のタイミングが、制御対象6以外の制御対象3,4,5がIピクチャを生成するタイミングと同一でないことが確認されている(S406:NO)。このため、変更後のIピクチャを生成するタイミングは、他の制御対象3,4,5が、ビットレートの大きいIピクチャを生成するタイミングと同一とならないように設定されている。このため、Iピクチャを生成するタイミングを変更した後に、各制御対象が受信するピクチャのビットレートが、各制御対象の受信可能帯域より大きくなることが防止されている。
次に、S304の処理(図9参照)によって決定された制御対象4,5,6が、S403の処理によってすべて選択されたか否かが判断される(S408)。S403の処理によって選択された制御対象は、制御対象6のみであるので、S403の処理によって選択されていない制御対象があると判断される(S408:NO)。
続いて、(T3×k)が算出され、変数記憶エリア222に記憶されている変数T1が(T3×k)の値に設定される(S409)。つまり、変数T1には、S407の処理によって変更された制御対象6のIピクチャのタイミングが設定される(S409)。変数T3=100msであり、変数k=1であるので、変数T1が「0」から「100ms」に更新される。つまり、図15に示すT3×k=100msのタイミングが、図16に示すように、T1=100msに設定される。次に、変数記憶エリア222に記憶されている変数T3が、変数T2の値に設定される(S410)。つまり、変数T2には、S407によってIピクチャのタイミングを決定された制御対象6の画像を符号化する間隔の時間が設定される(S410)。これによって、変数T2が「0」から「100ms」に更新される。次に、S403に戻り、処理が繰り返される。
S304の処理(図9参照)によって決定された制御対象は、制御対象4,5,6である。また、S407の処理によって変更後のIピクチャを生成するタイミングが決定されたのは、制御対象6である。また、制御対象4のフレームレートは4fpsであり、制御対象5のフレームレートは5fpsである。したがって、S407の処理によって変更後のIピクチャを生成するタイミングが決定されておらず、最もフレームレートが大きい制御対象5が選択される(S403)。
次に、S403の処理によって選択された制御対象5のフレームレート「5fps」の逆数である「0.2秒」すなわち「200ms」が、変数T3に設定され、変数記憶エリア222に記憶される(S404)。つまり、制御対象5が、画像を符号化する間隔の時間である「200ms」が変数T3として設定される(S404)。
次に、T3×k>(T1+T2)を満たす最小の整数が算出され、変数kとして設定され、変数記憶エリア222に記憶される(S405)。つまり、k>(T1+T2)÷T3を満たす最小の整数が変数kに設定される(S405)。変数T1=100ms、変数T2=100ms、変数T3=200msであるので、(T1+T2)÷T3は、1である。このため、変数kは、k>1を満たす最小の整数である「2」と設定される(S405)。
次に、同一タイミング「21000ms」から(T3×k)だけ前のタイミングすなわち400ms前のタイミングが、S403の処理によって選択された制御対象5以外の制御対象3,4,6がIピクチャを生成するタイミングと同一か否かが判断される(S406)。図16に示すように、21000msから400ms前のタイミングでは、制御対象3,4,6は、Iピクチャを生成していない。このため、S301の処理(図9参照)で選択された同一タイミング「21000ms」から400ms前のタイミングが、制御対象5以外の制御対象3,4,6がIピクチャを生成するタイミングと同一ではないと判断される(S406:NO)。
続いて、同一タイミング「21000ms」から400ms前のタイミングが、制御対象5がIピクチャを生成するタイミングとして決定され、変更タイミングとして変更タイミング記憶エリア227に記憶される(S407)。なお、このとき、制御対象5は、同一タイミング「21000ms」では、Pピクチャを生成する。S407の処理で、制御対象5がIピクチャを生成するタイミングが決定された場合における、各制御対象の符号化のタイミングを図17に示す。
変数T3=200msは、制御対象5が、画像を符号化する間隔の時間である。そして、変数kは「2」である。つまり、図17に示すように、制御対象5が画像を符号化するタイミングのうち、同一タイミング「21000ms」から2個前のタイミングが、変更後のIピクチャを生成するタイミングとなる。
図17に示すように、制御対象6のIピクチャのタイミングは、同一タイミング「21000ms」から、T1である「100ms」前に変更されている。そして、T2である「100ms」は、制御対象6が画像を符号化する間隔の時間である。このため、同一タイミング「21000ms」から、(T1+T2)である「200ms」前のタイミングは、制御対象6について変更されたIピクチャのタイミングの一つ前に画像が符号化されるタイミングを表している。そして、S405の処理によって、T3×k>(T1+T2)を満たす最小の整数が変数kとして設定されている。このため、T3×kは、制御対象6について変更されたIピクチャのタイミングの一つ前に画像が符号化されるタイミングよりも、さらに前に設定される。つまり、制御対象6について決定されたIピクチャを符号化するタイミングと、制御対象5について決定されたIピクチャを符号化するタイミングとが重なることがない。このため、各制御対象が受信するピクチャのビットレートが、受信可能帯域より大きくなることを防止することができる。
また、S406の処理によって、同一タイミング「21000ms」から400msだけ前のタイミングが、制御対象5以外の制御対象3,4,6がIピクチャを生成するタイミングと同一でないことが確認されている(S406:NO)。このため、変更後のIピクチャを生成するタイミングは、他の制御対象3,4,6が、ビットレートの大きいIピクチャを生成するタイミングと同一とならないように設定されている。このため、Iピクチャを生成するタイミングを変更した後に、各制御対象が受信するピクチャのビットレートが各制御対象の受信可能帯域より大きくことが防止されている。
次に、S304の処理(図9参照)によって決定された制御対象4,5,6が、S403の処理によってすべて選択されたか否かが判断される(S408)。S403の処理によって選択された制御対象は、制御対象5,6であるので、制御対象4が選択されていない。このため、S403の処理によって選択されていない制御対象があると判断される(S408:NO)。
続いて、(T3×k)が算出され、変数記憶エリア222に記憶されている変数T1が(T3×k)の値に設定される(S409)。つまり、変数T1には、S407の処理によって変更された制御対象5のIピクチャのタイミングが設定される(S409)。変数T3=200msであり、変数k=2であるので、変数T1が「100ms」から「400ms」に更新される。つまり、図17に示すT3×k=400msのタイミングが、図18に示すように、T1=400msに設定される。次に、変数記憶エリア222に記憶されている変数T3が、変数T2の値に設定される(S410)。つまり、変数T2には、S407によってIピクチャのタイミングを決定された制御対象5の画像を符号化する間隔の時間が設定される(S410)。これによって、変数T2が「100ms」から「200ms」に更新される。次に、S403に戻り、処理が繰り返される。
S304の処理によって決定された制御対象は、制御対象4,5,6である。また、S407の処理によって変更後のIピクチャを生成するタイミングが決定されたのは、制御対象5,6である。また、制御対象4のフレームレートは4fpsである。したがって、S407の処理によって変更後のIピクチャを生成するタイミングが決定されておらず、最もフレームレートが大きい制御対象4が選択される(S403)。
次に、制御対象4のフレームレート「4fps」の逆数である「0.25秒」すなわち「250ms」が、変数T3に設定され、変数記憶エリア222に記憶される(S404)。つまり、制御対象4が、画像を符号化する間隔の時間である「250ms」が変数T3として設定される(S404)。
次に、T3×k>(T1+T2)を満たす最小の整数が算出され、変数kとして設定され、変数記憶エリア222に記憶される(S405)。つまり、k>(T1+T2)÷T3を満たす最小の整数が変数kに設定される(S405)。変数T1=400ms、変数T2=200ms、変数T3=250msであるので、(T1+T2)÷T3は、2.4である。このため、変数kは、k>2.4を満たす最小の整数である「3」と設定される(S405)。
次に、同一タイミング「21000ms」から(T3×k)だけ前のタイミングすなわち750ms前のタイミングが、制御対象4以外の制御対象3,5,6がIピクチャを生成するタイミングと同一か否かが判断される(S406)。図18に示すように、21000msから750ms前のタイミングでは、制御対象3,5,6は、Iピクチャを生成していない。このため、同一タイミング「21000ms」から750ms前のタイミングが、制御対象4以外の制御対象3,5,6がIピクチャを生成するタイミングと同一ではないと判断される(S406:NO)。
続いて、同一タイミング「21000ms」から750ms前のタイミングが、制御対象4がIピクチャを生成するタイミングとして決定され、変更タイミングとして変更タイミング記憶エリア227に記憶される(S407)。なお、このとき、制御対象4は、同一タイミング「21000ms」では、Pピクチャを生成する。S407の処理で、制御対象5がIピクチャを生成するタイミングが決定された場合における、各制御対象の符号化のタイミングを図19に示す。
変数T3=250msは、制御対象4が、画像を符号化する間隔の時間である。そして、変数kは「3」である。つまり、図19に示すように、制御対象5が画像を符号化するタイミングのうち、同一タイミング「21000ms」から3個前のタイミングが、変更後のIピクチャを生成するタイミングとなる。
図19に示すように、制御対象5のIピクチャのタイミングは、同一タイミング「21000ms」から、T1である「400ms」前に変更されている。そして、T2である「200ms」は、制御対象5が画像を符号化する間隔の時間である。このため、同一タイミング「21000ms」から、(T1+T2)である「600ms」前のタイミングは、制御対象5について変更されたIピクチャのタイミングの一つ前に画像が符号化されるタイミングを表している。そして、S405の処理によって、T3×k>(T1+T2)を満たす最小の整数が変数kとして設定されている。このため、T3×kは、制御対象6について変更されたIピクチャのタイミングの一つ前に画像が符号化されるタイミングよりも、さらに前に設定される。つまり、制御対象5について決定されたIピクチャを符号化するタイミングと、制御対象4について決定されたIピクチャを符号化するタイミングとが重なることがない。このため、各制御対象が受信するピクチャのビットレートが、受信可能帯域より大きくなることを防止することができる。
また、S406の処理によって、同一タイミング「21000ms」から750msだけ前のタイミングが、制御対象4以外の制御対象3,5,6がIピクチャを生成するタイミングと同一でないことが確認されている(S406:NO)。このため、変更後のIピクチャを生成するタイミングは、他の制御対象3,5,6が、ビットレートの大きいIピクチャを生成するタイミングと同一とならないように設定されている。このため、Iピクチャを生成するタイミングを変更した後に、各制御対象が受信するピクチャのビットレートが、各制御対象の受信可能帯域より大きくなることが防止されている。
次に、S304の処理(図9参照)によって決定された制御対象4,5,6が、S403の処理によってすべて選択されたか否かが判断される(S408)。S403の処理によって選択された制御対象は、制御対象4,5,6であるので、すべての制御対象4,5,6が選択されたと判断され(S408:YES)、Iピクチャタイミング変更処理が終了される。
前述したように、第一具体例の場合では、制御対象6は、同一タイミング「21000ms」から、100ms前にIピクチャを生成するように設定される。また、制御対象5は、同一タイミング「21000ms」から、400ms前にIピクチャを生成するように設定される。また、制御対象4は、同一タイミング「21000ms」から、750ms前にIピクチャを生成するように設定される。同一タイミングの倍数である「42000ms」、「63000ms」、「84000ms」等でも同様のタイミングでIピクチャを生成するタイミングが変更される。例えば、制御対象6は、同一タイミング「42000ms」から、100ms前にIピクチャを生成するように設定される。また制御対象5は、同一タイミング「42000ms」から、400ms前にIピクチャを生成するように設定される。また、制御対象5は、同一タイミング「42000ms」から、750ms前にIピクチャを生成するように設定される。
図13のS406の処理において、S301の処理で選択された同一タイミングから(T3×k)だけ前のタイミングが、S403の処理によって選択された制御対象以外の制御対象がIピクチャを生成するタイミングと同一あると判断された場合には(S406:YES)、続いて、S403の処理によって選択された制御対象以外の制御対象のうち、同一タイミングから(T3×k)だけ前のタイミングにおいてIピクチャを生成している制御対象のフレームレートの逆数が変数T4に設定され、変数記憶エリア222に記憶される(S411)。
次に、T3×h>(T3×k)+T4を満たす最小の整数が算出され、変数hとして設定され、変数記憶エリア222に記憶される(S412)。つまり、h>((T3×k)+T4)÷T3を満たす最小の整数が変数hに設定される(S412)。次に、変数kに、変数hの値が設定される(S413)。次に、S406に戻り、処理が繰り返される。
ここで、第二具体例として、第一具体例の場合に追加して、通信装置7がネットワーク2に接続されているとする。そして、S102の処理(図6参照)によって、制御対象7として認識されているとする。また、制御対象7のフレームレートは10fpsであるとし、制御対象7は、20900msでIピクチャを生成するとする。この場合において、前述の第一具体例のように、制御対象6のIピクチャを生成するタイミングを変更する場合に、S405の処理によって(T3×k)が「100ms」となるように、変数kが設定された場合について説明する。この場合において制御対象3,4,5,6,7が画像を符号化するタイミングを図20に示す。
図20に示すように、同一タイミング「21000ms」より(T3×k)だけ前のタイミングすなわち100ms前のタイミングは、「20900ms」であるため、制御対象7がIピクチャを生成するタイミングと同一となる。このため、S406の処理によって、同一タイミング「21000ms」より(T3×k)だけ前のタイミングが、制御対象7がIピクチャを生成するタイミングと同一あると判断される(S406:YES)。
次に、同一タイミング「21000ms」から(T3×k)だけ前のタイミングにおいてIピクチャを生成している制御対象7のフレームレートの逆数が変数T4に設定され、変数記憶エリア222に記憶される(S411)。制御対象7のフレームレートは10fpsであるので、フレームレートの逆数は「0.1秒」すなわち「100ms」である。つまり、制御対象7が、画像を符号化する間隔の時間は「100ms」である。変数T4には「100ms」が設定される(S411)。
次に、T3×h>(T3×k)+T4を満たす最小の整数が算出され、変数hとして設定され、変数記憶エリア222に記憶される(412)。つまり、h>((T3×k)+T4)÷T3を満たす最小の整数が変数hに設定される(S412)。変数T3は、S404の処理によって、「100ms」と設定されている。また、変数kは、S405の処理によって、「1」と設定されている。また、変数T4は、「100ms」である。このため、((T3×k)+T4)÷T3は、「2」と算出される。このため変数hは、h>2を満たす最小の整数である「3」と設定される(S412)。このとき、T3×hは300msである。
次に、変数kに変数hの値である「3」が設定される(S413)。つまり、変数k=3と設定される(S413)。次に、同一タイミング「21000ms」から(T3×k)だけ前のタイミングすなわち300ms前のタイミングが、制御対象6以外の制御対象3,4,5,7がIピクチャを生成するタイミングと同一か否かが判断される(S406)。図20に示すように、21000msから300ms前のタイミングでは、制御対象3,4,5,7は、Iピクチャを生成していない。このため、同一タイミング「21000ms」から300ms前のタイミングが、制御対象6以外の制御対象3,4,5,7がIピクチャを生成するタイミングと同一ではないと判断される(S406:NO)。
続いて、同一タイミング「21000ms」から(T3×k)だけ前のタイミング、すなわち300ms前のタイミングが、制御対象6がIピクチャを生成するタイミングとして決定され、変更タイミングとして変更タイミング記憶エリア227に記憶される(S407)。なお、このとき、制御対象6は、同一タイミング「21000ms」では、Pピクチャを生成する。S407の処理で、制御対象6がIピクチャを生成するタイミングが決定された場合における、各制御対象の符号化のタイミングを図21に示す。図21で示すように、制御対象6がIピクチャを生成するタイミングは、他の制御対象3,4,5,7がIピクチャを生成するタイミングと同一とならないように設定される。
以上説明したように、Iピクチャタイミング変更処理が終了されると、図9に示すタイミング確認変更処理に戻る。
次に、受信ビットレートテーブル50に登録されているすべての同一タイミングがS301の処理によって選択されたか否かが判断される(S310)。なお、S308の処理によって、S304の処理で決定されたIピクチャを生成するタイミングを変更させる制御対象がない場合にも(S308:YES)、S310の処理が実行される。
受信ビットレートテーブル50に登録されている同一タイミングのうち、S301の処理によって選択されていない同一タイミングがある場合には(S310:NO)、続いて、S301に戻り、処理が繰り返される。つまり、すべての同一タイミングについて、S301〜S310の処理が実行される。
受信ビットレートテーブル50に登録されているすべての同一タイミングがS301の処理によって選択された場合には(S310:YES)、図9に示すタイミング確認変更処理を終了し、図6に示す第一メイン処理に戻る。
第一具体例の場合において、すべての同一タイミングについて、S301〜S310の処理が実行された後の受信ビットレートテーブル50を図22に示す。
図22に示すように、すべての同一タイミングについて、S301〜S310の処理が実行された場合、各制御対象3,4,5,6が受信するビットレートの合計が、各制御対象3,4,5,6の受信可能帯域より小さくなっている。なお、図22に示すように、同一タイミング「10500ms」においては、Iピクチャのタイミングを変更された制御対象はない。同一タイミング「7000ms」においては、制御対象6のIピクチャのタイミングが変更されている。同一タイミング「4200ms」においては、制御対象6のIピクチャのタイミングが変更されている。同一タイミング「3000ms」においては、制御対象4,5のIピクチャのタイミングが変更されている。
図9に示すタイミング確認変更処理が終了されたら、図6に示す第一メイン処理に戻る。次に、Iピクチャを生成するタイミングを変更することが必要な制御対象があるか否かが判断される(S118)。Iピクチャを生成するタイミングを変更することが必要な制御対象がある場合には(S118:YES)、続いて、通信制御装置3のIピクチャを生成するタイミングを変更する必要があるか否かが判断される(S119)。通信制御装置3のIピクチャを生成するタイミングを変更する必要がある場合には(S119:YES)、続いて、S407の処理(図13参照)によって変更タイミング記憶エリア227に記憶された変更タイミングに基づいて、Iピクチャを生成するタイミングが変更される(S120)。これによって、通信制御装置3は、S407の処理(図13参照)によって決定されたタイミングで、Iピクチャを生成することが可能となる(S120)。
次に、通信装置のIピクチャを生成するタイミングを変更する必要があるか否かが判断される(S121)。なお、S119の処理によって、通信制御装置3のIピクチャを生成するタイミングを変更する必要がないと判断された場合も(S119:NO)、S121の処理が実行される。通信装置のIピクチャを生成するタイミングを変更する必要がある場合には(S121:YES)、続いて、S407の処理(図13参照)によって変更タイミング記憶エリア227に記憶された変更タイミングが通信装置に送信される(S122)。なお、S122の処理によって送信された変更タイミングは、通信装置のS506の処理(図23参照)によって受信される。そして、S507の処理(図23参照)によって、変更タイミングに基づいて、Iピクチャを生成するタイミングが変更される。これによって、通信装置は、S407の処理(図13参照)によって決定されたタイミングで、Iピクチャを生成することが可能となる。
次に、カメラ34から入力された画像が、エンコーダ36(図2参照)によって符号化される(S123)。このとき、S120の処理によって、Iピクチャを生成するタイミングが変更されていれば、S407の処理(図13参照)によって決定されたタイミングで、Iピクチャが生成される。なお、S118の処理によって、Iピクチャを生成するタイミングを変更することが必要な制御対象がないと判断された場合にも(S118:NO)、S123の処理が行われる。
次に、S123の処理によって符号化されたピクチャが、通信装置に送信される(S124)。S124の処理によって送信されたピクチャは、後述する通信装置のS511の処理(図23参照)によって受信される(S511)。次に、カメラ34から入力された画像が、ディスプレイ28に表示される(S125)。
次に、通信装置のS509の処理(図23参照、後述)によって送信されるピクチャが受信されたか否かが判断される(S126)。通信装置のS509の処理によって送信されるピクチャが受信された場合には(S126:YES)、続いて、S126の処理で受信された通信装置のピクチャがデコーダ37(図2参照)によって復号され、画像がディスプレイ28に表示される(S127)。次に、マウス27又はキーボード29を介してユーザによって終了指示が入力されたか否かが判断される(S128)。なお、S126の処理によって、通信装置のS509の処理(図23参照、後述)によって送信されるピクチャが受信されていない場合にも(S126:NO)、S128の処理が行われる。ユーザによって終了指示が入力されていない場合には(S128:NO)、S114に戻り、処理が繰り返される。つまり通信制御装置3と通信装置との受信可能帯域が取得され(S114及びS115)、受信可能帯域に応じて、通信制御装置3と通信装置とのIピクチャを生成するタイミングが変更される。これによって、例えば、急に受信可能帯域が少なくなった場合でも、ピクチャを適切に送受信することが可能となる。なお、ユーザによって終了指示が入力された場合には(S128:YES)、第一メイン処理が終了される。
第一具体例の場合、制御対象3は、S117の処理によってIピクチャを生成するタイミングを変更されていない。このため、制御対象3は、Iピクチャを生成するタイミングを変更する必要がない。また、制御対象4,5,6は、Iピクチャを生成するタイミングを変更する必要がある。このため、Iピクチャを生成するタイミングを変更することが必要な制御対象があると判断される(S118:YES)。次に、通信制御装置3のIピクチャを生成するタイミングを変更する必要がないと判断される(S119:NO)。
次に、通信装置4,5,6のIピクチャを生成するタイミングを変更する必要があると判断される(S121:YES)。次に、S407の処理(図13参照)によって変更タイミング記憶エリア227に記憶された変更タイミングが通信装置4,5,6に送信される(S122)。なお、S122の処理によって送信された変更タイミングは、通信装置4,5,6のS506の処理(図23参照)によって受信される。そして、S507の処理(図23参照)によって、変更タイミングに基づいて、Iピクチャを生成するタイミングが変更される。これによって、通信装置4,5,6は、S407の処理(図13参照)によって決定されたタイミングで、Iピクチャを生成することが可能となる。例えば、同一タイミング「21000ms」においては、通信装置4,5,6は、図19に示す変更後のタイミングでIピクチャを生成する。
次に、カメラ34から入力された画像が、符号化される(S123)。次に、S123の処理によって符号化されたピクチャが、通信装置4,5,6に送信される(S124)。S124の処理によって送信されたピクチャは、通信装置4,5,6のS511の処理(図23参照)によって受信される。次に、カメラ34から入力された画像が、ディスプレイ28に表示される(S125)。
次に、通信装置4,5,6のS509の処理(図23参照)によって送信されるピクチャが受信されたと判断されると(S126:YES)、続いて、S126の処理で受信された通信装置のピクチャが復号され、画像がディスプレイ28に表示される(S127)。次に、マウス27又はキーボード29を介してユーザによって終了指示が入力されていなければ(S128:NO)、S114に戻り処理が繰り返される。これによってテレビ会議が継続される。そして、ユーザによって終了指示が入力された場合には(S128:YES)、第一メイン処理が終了される。
次に、図23のフローチャートを参照して、通信装置4,5,6のCPU20による第二メイン処理について説明する。なお、通信装置4,5,6において行われる処理は略同一であるので、ここでは、通信装置4において行われる処理について説明する。
図23に示すように、通信装置4において行われる第二メイン処理では、まず、各種のパラメータ等の初期化が行われる(S501)。次に、通信制御装置3のS105の処理(図6参照)によって送信される第一要求データが受信されたか否かが判断される(S502)。第一要求データが受信されていない場合には(S502:NO)、続いて、S502に戻り、処理が繰り返される。第一要求データが受信された場合には(S502:YES)、続いて、Iピクチャ周期記憶エリア312に記憶されている通信装置4のIピクチャ周期と、フレームレート記憶エリア313に記憶されている通信装置4のフレームレートと、データサイズ記憶エリア314に記憶されている通信装置4のIピクチャサイズとPピクチャサイズとが読み出され、通信制御装置3に送信される(S503)。なお、503の処理によって送信された各種データは、通信制御装置3のS106の処理(図6参照)によって受信される。
次に、通信制御装置3のS111の処理(図6参照)によって送信されるエンコード開始データが受信されたか否かが判断される(S504)。エンコード開始データが受信されていない場合には(S504:NO)、S504に戻り、処理が繰り返される。つまり、エンコード開始データが受信されるまで待機している。エンコード開始データが受信された場合には(S504:YES)、次に、通信装置4の受信可能帯域が測定されることで取得され、通信制御装置3に送信される(S505)。なお、S505の処理によって、送信された受信可能帯域は、通信制御装置3のS112又はS115の処理(図6参照)によって受信される。
次に、通信制御装置3のS122の処理(図6参照)によって送信される変更タイミングが受信されたか否かが判断される(S506:YES)。変更タイミングが受信された場合には(S506:YES)、変更タイミングに基づいて、Iピクチャを生成するタイミングが変更される。これによって、通信装置4は、通信制御装置3のS407の処理(図13参照)によって決定されたタイミングで、Iピクチャを生成することが可能となる。
次に、カメラ34から入力された画像が、エンコーダ36(図2参照)によって符号化される(S508)。なお、S506の処理によって、変更タイミングが受信されていないと判断された場合にも(S506:NO)、S508の処理が行われる。S507の処理によって、Iピクチャを生成するタイミングが変更されていれば、S407の処理(図13参照)によって決定されたタイミングで、Iピクチャが生成される。
次に、S508の処理によって符号化されたピクチャが、通信制御装置3及び他の通信装置に送信される(S509)。S509の処理によって送信されたピクチャは、通信制御装置のS126の処理(図6参照)によって受信される。また、S509の処理によって送信されたピクチャは、他の通信装置のS511の処理(後述)によって受信される。
次に、カメラ34から入力された画像が、ディスプレイ28に表示される(S510)。次に、通信制御装置3のS124の処理(図6参照)によって送信されるピクチャ、又は、他の通信装置のS509の処理によって送信されるピクチャが受信されたか否かが判断される(S511)。ピクチャが受信された場合には(S511:YES)、続いて、S511の処理で受信された通信制御装置3又は他の通信装置のピクチャが、デコーダ37によって復号され、画像がディスプレイ28に表示される(S512)。次に、マウス27又はキーボード29を介してユーザによって終了指示が入力されたか否かが判断される(S513)。なお、S511の処理によって、ピクチャが受信されていないと判断された場合にも(S511:NO)、S513の処理が行われる。ユーザによって終了指示が入力されていない場合には(S513:NO)、S505に戻り、処理が繰り返される。つまり、受信可能帯域を送信し(S505)、Iピクチャを生成するタイミングを変更する必要があれば、Iピクチャを生成するタイミングを変更する(S507)。そして、ピクチャを送受信する。これによって、テレビ会議が継続される。
ユーザによって終了指示が入力された場合には(S513:YES)、第二メイン処理が終了される。
以上説明したように、本実施形態における通信制御装置3と通信装置との処理が行われる。本実施形態では、同一タイミングにおいて制御対象が受信するビットレートの合計が、制御対象の受信可能帯域以下ではない場合に、Iピクチャを生成するタイミングを変更させる制御対象が決定される(図9のS304参照)。そして、変更タイミングが決定され(図13のS407参照)、決定された変更タイミングが、制御対象に送信される(図6のS122参照)。このため、同一タイミングにおける第一ビットレートの合計が帯域以下となり、ピクチャを適切に受信することができる。よって、画質の劣化を防止することができる。
また、S403の処理(図13参照)では、フレームレートの大きい制御対象を選択し、S407の処理でIピクチャを生成するタイミングを変更している。フレームレートが大きければ、ビットレートが大きくなる。このため、最も大きいフレームレートを有する制御対象のIピクチャを生成するタイミングを変更することで、効率的に、同一タイミングにおけるビットレートの合計を減らすことができる。
なお、本発明の通信制御装置3及び通信装置は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
例えば、通信制御装置3と通信装置4,5,6,7とは、同一の電気的構成をしており、さらに同一のソフトウェアが設定されていたがこれに限定されない。例えば、通信制御装置3は、通信制御装置として動作するために必要な電気的構成のみで構成され、通信制御装置として動作するために必要な処理のみが設定されもよい。また、通信装置4,5,6,7は、通信装置として動作するために必要な電気的構成のみで構成され、通信装置として動作するために必要な処理のみが設定されてもよい。
また、通信制御装置3は、画像を送受信することが可能であったが、これに限定されない。例えば、画像を送受信することができなくてもよい。この場合には、通信制御装置3は、通信装置を制御対象として認識して、通信装置が受信するビットレートの合計が、受信可能帯域以下となるように、通信装置がIピクチャを生成するタイミングを調整すればよい。これによって、通信装置が適切に、互いのピクチャを送受信することができる。よって、画質の劣化が防止される。
また、図7のS208の処理で、Iビットレートは、Iピクチャサイズとフレームレートとの積を算出することで取得され、Pビットレートは、Pピクチャサイズとフレームレートとの積を算出することで取得されていたがこれに限定されない。例えば、IビットレートとPビットレートとを予め記憶しておき、S109の処理(図6参照)で取得してもよい。また、S105の処理(図6参照)で、通信装置にIビットレートとPビットレートとを要求し、S106の処理でIビットレートとPビットレートとを受信することで取得してもよい。
また、本実施形態では、Bピクチャを生成していなかったが、Bピクチャを生成してもよい。この場合、S109の処理及びS106の処理でBピクチャのサイズも取得し、Bピクチャも含めて処理を行ってもよい。BピクチャもPピクチャと同様に、Iピクチャよりもデータのサイズが小さい。このため、本実施形態で述べたPピクチャの場合と同様に、Iピクチャのタイミングを変更した後の同一タイミングでは、Bピクチャを生成してもよい。
また、S403の処理(図13参照)でフレームレートが大きい制御対象を選択していたが、これに限定されない。例えば、Iビットレートが大きい制御対象を選択してもよい。また、IビットレートとPビットレートとの差が大きい制御対象を選択してもよい。
また、S407の処理(図13参照)において、同一タイミングから(T3×k)だけ前のタイミングを、変更後のIピクチャを生成するタイミングとして決定していたが、これに限定されない。例えば、同一タイミングから(T3×k)だけ後のタイミングを、変更後のIピクチャを生成するタイミングとして決定してもよい。また、変更した後のタイミングにおける各制御対象が受信する合計のビットレートが、各制御対象の受信可能帯域より大きくならなければ、変更した後のタイミングが、他の制御対象がIピクチャを生成するタイミングと重なってもよい。
また、IピクチャサイズとPピクチャサイズとが、S109の処理及びS106の処理(図6参照)で取得されていたがこれに限定されない。例えば、通信装置からIピクチャとPピクチャとを送信させ、通信制御装置3で受信し、受信したピクチャのデータサイズを計測することで取得してもよい。同様に、通信制御装置3において一度IピクチャとPピクチャとを生成し、生成した後のサイズを計測することで、通信制御装置3のIピクチャサイズとPピクチャサイズとを取得してもよい。
また、本実施形態では、IビットレートとPビットレートとの合計が、受信可能帯域以下か否かを判断し、IビットレートとPビットレートとの合計が受信可能帯域以下となるように、Iピクチャを生成するタイミングを変更していたが、これに限定されない。例えば、Iビットレートのみの合計が受信可能帯域以下か否かを判断し、Iビットレートの合計のみが受信可能帯域以下となるように、Iピクチャを生成するタイミングを変更してもよい。Iビットレートは、Pビットレートより大きいため、Iビットレートのみの合計と受信可能帯域とを比較するだけでも、ビットレートの合計を受信可能帯域以下にできる可能性が高いからである。さらにこの場合、Pビットレートの値を考慮して、Iビットレートの合計と比較する受信可能帯域を、実際の受信可能帯域より小さい値に設定するとよい。このようにすれば、Iビットレートのみの合計と受信可能帯域とを比較して、確実にビットレートの合計を受信可能帯域以下にすることができる。
なお、上記実施形態において、ピクチャが、本発明の「符号化情報」に相当し、図6のS102の処理を行うCPU20が、本発明の「認識手段」に相当する。また、Iピクチャ周期が、本発明の「周期」に相当し、図6のS106とS109の処理においてIピクチャ周期を取得する処理を行うCPU20が、本発明の「周期取得手段」に相当する。また、図6のS106とS109の処理においてフレームレートを取得する処理を行うCPU20が、本発明の「フレームレート取得手段」に相当し、Iビットレートが、本発明の「第一ビットレート」に相当する。また、図7のS208の処理を行うCPU20が、本発明の「ビットレート取得手段」に相当し、受信可能帯域が、本発明の「帯域」に相当する。また、図7のS112とS114とS115との処理を行うCPU20が、本発明の「帯域取得手段」に相当し、図7のS203の処理を行うCPU20が、本発明の「同一タイミング算出手段」に相当する。
また、図9のS303の処理を行うCPU20が、本発明の「帯域判断手段」に相当し、図9のS304の処理を行うCPU20が、本発明の「変更対象決定手段」に相当する。また、図13のS407の処理を行うCPU20が、本発明の「変更タイミング決定手段」に相当し、図6のS122の処理を行うCPU20が、本発明の「タイミング送信手段」に相当する。また、図6のS123の処理を行うCPU20が、本発明の「符号化情報生成手段」に相当し、図6のS124の処理を行うCPU20が、本発明の「符号化情報送信手段」に相当する。図6のS126の処理を行うCPU20が、本発明の「符号化情報受信手段」に相当し、図6のS120の処理を行うCPU20が、本発明の「タイミング変更手段」に相当する。また、図6のS106とS109の処理において、Iピクチャサイズを取得する処理を行うCPU20が、本発明の「データサイズ取得手段」に相当する。
また、図6のS102の処理が、本発明の「認識ステップ」に相当し、図6のS106とS109の処理においてIピクチャ周期を取得する処理が、本発明の「周期取得ステップ」に相当する。また、図6のS106とS109の処理においてフレームレートを取得する処理が、本発明の「フレームレート取得ステップ」に相当し、図7のS208の処理が、本発明の「ビットレート取得ステップ」に相当する。また、図7のS112とS114とS115との処理が、本発明の「帯域取得ステップ」に相当し、図7のS203の処理が、本発明の「同一タイミング算出ステップ」に相当する。また、図9のS303の処理が、本発明の「帯域判断ステップ」に相当し、図9のS304の処理が、本発明の「変更対象決定ステップ」に相当する。また、図13のS407の処理が、本発明の「変更タイミング決定ステップ」に相当し、図6のS122の処理が、本発明の「タイミング送信ステップ」に相当する。
1 テレビ会議システム
2 ネットワーク
3 通信制御装置
4 通信装置
5 通信装置
6 通信装置
36 エンコーダ
37 デコーダ
50 受信ビットレートテーブル
114 CD−ROM

Claims (7)

  1. 画像を符号化した情報である符号化情報をネットワークを介して送受信することが可能な通信装置に、前記ネットワークを介して接続された通信制御装置であって、
    前記ネットワークに接続された前記通信装置を、制御対象として認識する認識手段と、
    前記認識手段によって認識された前記制御対象の、前記画像がIピクチャとして符号化される周期を取得する周期取得手段と、
    前記制御対象のフレームレートを取得するフレームレート取得手段と、
    前記制御対象が前記ネットワークに前記Iピクチャを送出する場合のビットレートである第一ビットレートを取得するビットレート取得手段と、
    前記制御対象が前記符号化情報を受信可能な帯域を取得する帯域取得手段と、
    前記周期取得手段によって取得された前記周期の最小公倍数を算出することで、二以上の前記制御対象が同時に前記ネットワークに前記Iピクチャを送出するタイミングある同一タイミングを算出する同一タイミング算出手段と、
    前記同一タイミング算出手段によって算出された前記同一タイミングにおける前記制御対象の前記第一ビットレートの合計が、前記帯域取得手段によって取得された前記帯域以下であるか否かを判断する帯域判断手段と、
    前記帯域判断手段によって、前記同一タイミング算出手段によって算出された前記同一タイミングにおける前記制御対象の前記第一ビットレートの合計が、前記帯域取得手段によって取得された前記帯域以下ではないと判断された場合に、前記合計が前記帯域以下となるように、前記Iピクチャを生成するタイミングを変更させる前記制御対象を決定する変更対象決定手段と、
    前記フレームレート取得手段によって取得された前記フレームレートに基づいて、前記変更対象決定手段によって決定された前記制御対象が前記Iピクチャを生成するタイミングを変更するための情報である変更タイミングを決定する変更タイミング決定手段と、
    前記変更対象決定手段によって決定された前記制御対象に対して、前記変更タイミング決定手段によって決定された前記変更タイミングを送信するタイミング送信手段と
    を備えたことを特徴とする通信制御装置。
  2. 前記符号化情報を生成する符号化情報生成手段と、
    前記符号化情報生成手段によって生成された前記符号化情報を、前記ネットワークを介して前記通信装置に送信する符号化情報送信手段と、
    前記通信装置から前記ネットワークを介して送信される前記符号化情報を受信する符号化情報受信手段と、
    前記符号化情報生成手段が前記Iピクチャを生成するタイミングを変更するタイミング変更手段と
    をさらに備え、
    前記認識手段は、
    前記ネットワークに接続された前記通信装置と、前記ネットワークに接続された前記通信制御装置とを前記制御対象として認識し、
    前記タイミング送信手段は、
    前記変更対象決定手段によって決定された前記制御対象が前記通信装置である場合に、前記通信装置に対して、前記変更タイミングを送信し、
    前記タイミング変更手段は、
    前記変更対象決定手段によって決定された前記制御対象が前記通信制御装置である場合に、前記変更タイミングに基づいて、前記符号化情報生成手段が前記Iピクチャを生成するタイミングを変更することを特徴とする請求項1に記載の通信制御装置。
  3. 前記制御対象が生成する前記Iピクチャのデータサイズを取得するデータサイズ取得手段をさらに備え、
    前記ビットレート取得手段は、
    前記フレームレート取得手段によって取得された前記フレームレートと、前記データサイズ取得手段によって取得された前記データサイズとから前記第一ビットレートを算出することで、前記第一ビットレートを取得することを特徴とする請求項1又は2に記載の通信制御装置。
  4. 前記変更対象決定手段は、
    前記帯域判断手段によって、前記前記同一タイミング算出手段によって算出された前記同一タイミングにおける前記制御対象の前記第一ビットレートの合計が、前記帯域取得手段によって取得された前記帯域以下ではないと判断された場合に、前記フレームレート取得手段によって取得された前記フレームレートのうち、最も大きい前記フレームレートを有する前記制御対象を、前記Iピクチャを生成するタイミングを変更させる前記制御対象として決定することを特徴とする請求項1から3のいずれかに記載の通信制御装置。
  5. 前記変更タイミング決定手段は、
    前記変更対象決定手段によって決定された前記制御対象の前記フレームレートから算出される前記符号化情報を生成するタイミングのうち、他の前記制御対象が前記Iピクチャを生成するタイミングと同一とならないタイミングを、前記変更タイミングとして決定することを特徴とする請求項1から4のいずれかに記載の通信制御装置。
  6. 画像を符号化した情報である符号化情報をネットワークを介して送受信することが可能な通信装置に、前記ネットワークを介して接続された通信制御装置において実行される通信制御方法であって、
    前記ネットワークに接続された前記通信装置を、制御対象として認識する認識ステップと、
    前記認識ステップによって認識された前記制御対象の、前記画像がIピクチャとして符号化される周期を取得する周期取得ステップと、
    前記制御対象のフレームレートを取得するフレームレート取得ステップと、
    前記制御対象が前記ネットワークに前記Iピクチャを送出する場合のビットレートである第一ビットレートを取得するビットレート取得ステップと、
    前記制御対象が前記符号化情報を受信可能な帯域を取得する帯域取得ステップと、
    前記周期取得ステップによって取得された前記周期の最小公倍数を算出することで、二以上の前記制御対象が同時に前記ネットワークに前記Iピクチャを送出するタイミングある同一タイミングを算出する同一タイミング算出ステップと、
    前記同一タイミング算出ステップによって算出された前記同一タイミングにおける前記制御対象の前記第一ビットレートの合計が、前記帯域取得ステップによって取得された前記帯域以下であるか否かを判断する帯域判断ステップと、
    前記帯域判断ステップによって、前記同一タイミング算出ステップによって算出された前記同一タイミングにおける前記制御対象の前記第一ビットレートの合計が、前記帯域取得ステップによって取得された前記帯域以下ではないと判断された場合に、前記合計が前記帯域以下となるように、前記Iピクチャを生成するタイミングを変更させる前記制御対象を決定する変更対象決定ステップと、
    前記フレームレート取得ステップによって取得された前記フレームレートに基づいて、前記変更対象決定ステップによって決定された前記制御対象が前記Iピクチャを生成するタイミングを変更するための情報である変更タイミングを決定する変更タイミング決定ステップと、
    前記変更対象決定ステップによって決定された前記制御対象に対して、前記変更タイミング決定手段によって決定された前記変更タイミングを送信するタイミング送信ステップと
    を備えたことを特徴とする通信制御方法。
  7. 画像を符号化した情報である符号化情報をネットワークを介して送受信することが可能な通信装置に、前記ネットワークを介して接続された通信制御装置において実行される通信制御プログラムであって、
    コンピュータに、
    前記ネットワークに接続された前記通信装置を、制御対象として認識する認識ステップと、
    前記認識ステップによって認識された前記制御対象の、前記画像がIピクチャとして符号化される周期を取得する周期取得ステップと、
    前記制御対象のフレームレートを取得するフレームレート取得ステップと、
    前記制御対象が前記ネットワークに前記Iピクチャを送出する場合のビットレートである第一ビットレートを取得するビットレート取得ステップと、
    前記制御対象が前記符号化情報を受信可能な帯域を取得する帯域取得ステップと、
    前記周期取得ステップによって取得された前記周期の最小公倍数を算出することで、二以上の前記制御対象が同時に前記ネットワークに前記Iピクチャを送出するタイミングある同一タイミングを算出する同一タイミング算出ステップと、
    前記同一タイミング算出ステップによって算出された前記同一タイミングにおける前記制御対象の前記第一ビットレートの合計が、前記帯域取得ステップによって取得された前記帯域以下であるか否かを判断する帯域判断ステップと、
    前記帯域判断ステップによって、前記同一タイミング算出ステップによって算出された前記同一タイミングにおける前記制御対象の前記第一ビットレートの合計が、前記帯域取得ステップによって取得された前記帯域以下ではないと判断された場合に、前記合計が前記帯域以下となるように、前記Iピクチャを生成するタイミングを変更させる前記制御対象を決定する変更対象決定ステップと、
    前記フレームレート取得ステップによって取得された前記フレームレートに基づいて、前記変更対象決定ステップによって決定された前記制御対象が前記Iピクチャを生成するタイミングを変更するための情報である変更タイミングを決定する変更タイミング決定ステップと、
    前記変更対象決定ステップによって決定された前記制御対象に対して、前記変更タイミング決定手段によって決定された前記変更タイミングを送信するタイミング送信ステップと
    を実行させることを特徴とする通信制御プログラム。
JP2009228397A 2009-09-30 2009-09-30 通信制御装置、通信制御方法、及び通信制御プログラム Pending JP2011077912A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009228397A JP2011077912A (ja) 2009-09-30 2009-09-30 通信制御装置、通信制御方法、及び通信制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009228397A JP2011077912A (ja) 2009-09-30 2009-09-30 通信制御装置、通信制御方法、及び通信制御プログラム

Publications (1)

Publication Number Publication Date
JP2011077912A true JP2011077912A (ja) 2011-04-14

Family

ID=44021386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009228397A Pending JP2011077912A (ja) 2009-09-30 2009-09-30 通信制御装置、通信制御方法、及び通信制御プログラム

Country Status (1)

Country Link
JP (1) JP2011077912A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014045243A (ja) * 2012-08-24 2014-03-13 Sumitomo Electric Ind Ltd 映像データ配信装置およびそれを含む双方向対話システム
JP2015100101A (ja) * 2013-11-18 2015-05-28 三星テクウィン株式会社Samsung Techwin Co., Ltd 映像処理装置及びその方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1023427A (ja) * 1996-07-04 1998-01-23 Matsushita Electric Ind Co Ltd 映像信号符号化及び復号化装置と映像信号伝送装置
JP2005341347A (ja) * 2004-05-28 2005-12-08 Nippon Telegr & Teleph Corp <Ntt> 多地点接続装置および方法
JP2007251501A (ja) * 2006-03-15 2007-09-27 Nec Corp テレビ会議システム及びテレビ会議方法
JP2009005315A (ja) * 2007-06-25 2009-01-08 Panasonic Corp データ通信装置及びデータ通信方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1023427A (ja) * 1996-07-04 1998-01-23 Matsushita Electric Ind Co Ltd 映像信号符号化及び復号化装置と映像信号伝送装置
JP2005341347A (ja) * 2004-05-28 2005-12-08 Nippon Telegr & Teleph Corp <Ntt> 多地点接続装置および方法
JP2007251501A (ja) * 2006-03-15 2007-09-27 Nec Corp テレビ会議システム及びテレビ会議方法
JP2009005315A (ja) * 2007-06-25 2009-01-08 Panasonic Corp データ通信装置及びデータ通信方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014045243A (ja) * 2012-08-24 2014-03-13 Sumitomo Electric Ind Ltd 映像データ配信装置およびそれを含む双方向対話システム
JP2015100101A (ja) * 2013-11-18 2015-05-28 三星テクウィン株式会社Samsung Techwin Co., Ltd 映像処理装置及びその方法

Similar Documents

Publication Publication Date Title
US10951818B2 (en) Video encoding method and apparatus, device, and storage medium
US11924394B2 (en) Methods and apparatus for receiving and/or using reduced resolution images
US20230403384A1 (en) Methods and apparatus for streaming content
RU2018116473A (ru) Устройство кодирования и способ кодирования, устройство декодирования и способ декодирования
WO2015011762A1 (ja) 画像生成システムおよび画像生成用プログラム
CN104581188A (zh) 用于ip视频信号同步的方法和装置
US11250619B2 (en) Image processing apparatus and method
KR20110124139A (ko) 카메라 제어부, 컨트롤러, 카메라 제어 방법, 카메라 원격 제어 방법 및 비일시적인 컴퓨터 판독가능한 기억 장치
US11523144B2 (en) Communication apparatus, communication method, and computer-readable storage medium
JP2010035133A5 (ja)
JP2016009925A5 (ja) 送信装置、送信方法、及びプログラム
JP6560696B2 (ja) データのセグメント受信を制御するクライアント、プログラム及び方法
JP2011077912A (ja) 通信制御装置、通信制御方法、及び通信制御プログラム
KR101892022B1 (ko) 몰입형 콘텐츠의 개선된 스트리밍 방법 및 장치
JP2023171661A (ja) タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法
JP6090305B2 (ja) 決定装置、決定プログラムおよび決定方法
US20170214970A1 (en) Setting data rates in a video camera system
US10708631B2 (en) Method and terminal for tile selection amongst a set of tiles
JP2012015831A5 (ja)
GB2560923A (en) Video streaming
JP6415387B2 (ja) 表示制御装置、表示制御方法及びプログラム
GB2568726A (en) Object prioritisation of virtual content
GB2560953A (en) Video Streaming
US20210308570A1 (en) Method and apparatus for game streaming
JP2011193415A5 (ja)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131001