JP6406200B2 - Communication program and communication system - Google Patents
Communication program and communication system Download PDFInfo
- Publication number
- JP6406200B2 JP6406200B2 JP2015192752A JP2015192752A JP6406200B2 JP 6406200 B2 JP6406200 B2 JP 6406200B2 JP 2015192752 A JP2015192752 A JP 2015192752A JP 2015192752 A JP2015192752 A JP 2015192752A JP 6406200 B2 JP6406200 B2 JP 6406200B2
- Authority
- JP
- Japan
- Prior art keywords
- video data
- cpu
- communication device
- load state
- video
- 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.)
- Expired - Fee Related
Links
- 238000004891 communication Methods 0.000 title claims description 286
- 238000000034 method Methods 0.000 claims description 152
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 150
- 230000006866 deterioration Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Telephonic Communication Services (AREA)
Description
本発明は、ネットワークを介して通信を行うことによって遠隔会議を実現するための通信プログラム、及び、通信システムに関する。 The present invention relates to a communication program and a communication system for realizing a remote conference by performing communication via a network.
ネットワークに接続した複数の通信装置のそれぞれのユーザの間で遠隔会議を行うための遠隔会議システムが知られている。特許文献1は、複数の通信装置の間で通信を行うことによって、各通信装置のユーザにビデオサービスを提供することが可能なシステムを開示する。このシステムでは、各通信装置から宛先通信装置に対してビデオフレームが送信される場合の設定条件が、それぞれの通信装置のコスト係数と、CPUリソースとの関係に基づいて決定される。コスト係数は、現時点でのビデオフレームのエンコードクロック、デコードクロック、レンダリングクロック、フレームレート等に基づいて特定される。決定される設定条件の具体例として、ビデオフレームのフレームサイズ、フレームレート、及び、ビデオフレームを生成するエンコーダの種別等が挙げられている。
A remote conference system for performing a remote conference between users of a plurality of communication devices connected to a network is known.
宛先通信装置においてビデオフレームが受信され、表示部に映像が表示される場合を例示する。仮に、特許文献1では、宛先通信装置の復号およびレンダリングによって、宛先通信装置の使用可能CPU速度の40%よりも宛先通信装置のコスト係数が大きくなる場合、フレームサイズ、フレームレート、及び、ビデオフレームを生成するエンコーダの種別が変更される。例えば、フレームサイズが小さく設定される。一方、宛先通信装置において表示される映像の画質は、宛先通信装置の表示部における映像の解像度(例えば、表示される大きさ)に応じて変化する。例えば、フレームサイズが小さく設定された映像が表示された状態で、表示される大きさを大きくした場合、表示される大きさに応じて映像に含まれる画素は補完される。従って、例えば、宛先通信装置のCPUリソースの消費量は下がる一方で、宛先通信装置のユーザが、映像の表示される大きさを大きくした場合、映像が粗くなることに応じて画質が低下する可能性がある。
The case where a video frame is received in the destination communication apparatus and a video is displayed on the display unit is illustrated. In
本発明の目的は、表示部における映像の表示される大きさに応じて画質が低下することを抑制するための通信プログラム、及び、通信システムを提供することである。 An object of the present invention is to provide a communication program and a communication system for suppressing deterioration in image quality in accordance with the display size of an image on a display unit.
本発明の第1態様に係る通信プログラムは、遠隔会議に参加可能な第1通信装置のコンピュータに実行させるための通信プログラムであって、前記第1通信装置のカメラにおいて撮影された映像がエンコードされた映像データを送信する送信ステップと、前記遠隔会議に参加する第2通信装置が前記映像データをデコードする場合の負荷状態、及び、前記映像データがデコードされた映像が、前記第2通信装置の表示部に表示される場合の解像度を受信する受信ステップと、前記受信ステップによって受信された前記負荷状態が、第1負荷状態か判断する第1判断ステップと、前記受信ステップによって受信された前記解像度が、第2所定値以下か判断する第2判断ステップと、前記第1判断ステップによって前記第1負荷状態と判断された場合、前記第2判断ステップによって前記解像度が前記第2所定値以下と判断されたことに応じて、第2エンコード条件でエンコードされた第2映像データを生成し、前記第2判断ステップによって前記解像度が前記第2所定値より大きいと判断されたことに応じて、前記第2エンコード条件よりも負荷が大きい第1エンコード条件でエンコードされた第1映像データを生成する第1生成ステップとを前記コンピュータに実行させ、前記送信ステップは、前記第1生成ステップによって前記第1映像データが生成された場合、前記映像データとして前記第1映像データを送信し、前記第1生成ステップによって前記第2映像データが生成された場合、前記映像データとして前記第2映像データを送信することを特徴とする。 A communication program according to a first aspect of the present invention is a communication program for causing a computer of a first communication device capable of participating in a remote conference to execute, wherein an image captured by a camera of the first communication device is encoded. a transmission step of transmitting the video data, pre-SL load condition when the second communication device decodes the video data to participate in the teleconference, and image the image data is decoded, the second communication device A receiving step for receiving the resolution when displayed on the display unit, a first determining step for determining whether the load state received by the receiving step is a first load state, and the received by the receiving step A second determination step for determining whether the resolution is equal to or lower than a second predetermined value and the first load state is determined by the first determination step. If the resolution is determined to be less than or equal to the second predetermined value in the second determination step, second video data encoded under a second encoding condition is generated, and the resolution is determined in the second determination step. A first generation step of generating first video data encoded under a first encoding condition having a load greater than that of the second encoding condition in response to determining that is greater than the second predetermined value. The transmission step transmits the first video data as the video data when the first video data is generated by the first generation step, and the second video data by the first generation step. Is generated, the second video data is transmitted as the video data.
第1態様によれば、第1通信装置は、第2通信装置の負荷状態が第1負荷状態の場合であり、且つ、解像度が第2所定値以下の場合に、第2映像データを送信する。その理由は、第2通信装置の負荷を軽減させるためである。なお、第2エンコード条件でエンコードが実行される場合の負荷は、第1エンコード条件でエンコードが実行される場合よりも小さい。このため、第2エンコード条件でエンコードされた第2映像データをデコードするときの負荷は、第1エンコード条件でエンコードされた第1映像データをデコードするときの負荷よりも小さくなる。このため、第1通信装置は、第2映像データを送信することによって、第2通信装置がデコード処理を行うときの負荷を軽減できる。 According to the first aspect, the first communication device transmits the second video data when the load state of the second communication device is the first load state and the resolution is equal to or less than the second predetermined value. . The reason is to reduce the load on the second communication device. Note that the load when encoding is performed under the second encoding condition is smaller than that when encoding is performed under the first encoding condition. Therefore, the load when decoding the second video data encoded under the second encoding condition is smaller than the load when decoding the first video data encoded under the first encoding condition. For this reason, the 1st communication apparatus can reduce the load when the 2nd communication apparatus performs a decoding process by transmitting 2nd video data.
なお、第1映像及び第2映像が共通の解像度で表示部に表示された場合、第2映像の画質は、第1映像の画質よりも低画質となる場合がある。これに対し、第1通信装置は、第2通信装置の表示部に表示された映像の解像度が第2所定値以下の場合に、第2映像データを送信する。その理由は、表示部に表示された映像の解像度が第2所定値以下であるので、例えば第1映像の代わりに第2映像が表示部に表示された場合でも、映像の画質の劣化が目立ちにくい為である。このように、第1通信装置は、第2通信装置の表示部に表示される映像の画質が低画質となることを抑制しつつ、第2通信装置の負荷を軽減できる。 When the first video and the second video are displayed on the display unit with a common resolution, the image quality of the second video may be lower than that of the first video. In contrast, the first communication device transmits the second video data when the resolution of the video displayed on the display unit of the second communication device is equal to or lower than the second predetermined value. The reason is that the resolution of the video displayed on the display unit is equal to or lower than the second predetermined value. For example, even when the second video is displayed on the display unit instead of the first video, the degradation of the video image quality is conspicuous. This is because it is difficult. In this way, the first communication device can reduce the load on the second communication device while suppressing the image quality of the video displayed on the display unit of the second communication device from becoming low.
一方、第1通信装置は、第2通信装置の負荷状態が第1負荷状態の場合であり、且つ、解像度が第2所定値よりも大きい場合に、第1映像データを送信する。その理由は、例えば第1映像の代わりに第2映像が表示された場合、映像の画質の劣化が目立ちやすいので、映像の画質を優先させる必要性が高いためである。このように、第1通信装置は、第2通信装置の表示部に表示される映像の画質が低画質となることを抑制できる。 On the other hand, the first communication device transmits the first video data when the load state of the second communication device is the first load state and the resolution is greater than the second predetermined value. This is because, for example, when the second video is displayed instead of the first video, the image quality of the video is easily deteriorated, and therefore it is highly necessary to prioritize the image quality of the video. Thus, the 1st communication apparatus can control that the picture quality of the picture displayed on the display part of the 2nd communication apparatus becomes low image quality.
本発明の第2態様に係る通信プログラムは、遠隔会議に参加可能な第2通信装置のコンピュータに実行させるための通信プログラムであって、前記遠隔会議に参加する第1通信装置からの映像データをデコードするときの前記第2通信装置における負荷状態を決定する決定ステップと、前記第2通信装置の表示部に、前記映像データがデコードされた映像が表示される場合の解像度を取得する取得ステップと、前記映像データとして、第1エンコード条件でエンコードされた第1映像データ、及び、前記第1エンコード条件よりも負荷が小さい第2エンコード条件でエンコードされた第2映像データを受信する受信ステップと、前記決定ステップによって決定された前記負荷状態、及び、前記取得ステップによって取得された前記解像度に基づいて、前記第1映像データ及び前記第2映像データの何れかをデコードすると判断する第1判断ステップと、前記受信ステップによって受信された前記映像データと、前記第1判断ステップによってデコードすると判断された前記映像データとが、何れも前記第1映像データである場合又は何れも前記第2映像データである場合、前記映像データをデコードし、前記受信ステップによって受信された前記映像データと、前記第1判断ステップによってデコードすると判断された前記映像データとが、前記第1映像データと前記第2映像データとで相違する場合、前記映像データをデコードしない処理ステップとを前記コンピュータに実行させる。 A communication program according to a second aspect of the present invention is a communication program for causing a computer of a second communication device that can participate in a remote conference to execute the video data from the first communication device that participates in the remote conference. A determination step of determining a load state in the second communication device when decoding, an acquisition step of acquiring a resolution when a video obtained by decoding the video data is displayed on the display unit of the second communication device; Receiving a first video data encoded under a first encoding condition and a second video data encoded under a second encoding condition having a smaller load than the first encoding condition, as the video data; Based on the load state determined by the determination step and the resolution acquired by the acquisition step. And determining whether to decode one of the first video data and the second video data, decoding the video data received in the reception step, and decoding in the first determination step. When the video data is the first video data or when the video data is the second video data, the video data is decoded and the video data received by the receiving step, When the video data determined to be decoded in the determination step is different between the first video data and the second video data, the computer is caused to execute a processing step of not decoding the video data.
第2態様によれば、第2通信装置は、第1通信装置から受信した映像データ(第1映像データ又は第2映像データ)と、負荷状態及び解像度に基づいて特定される映像データとを比較する。第2通信装置は、双方の映像データが、何れも第1映像データである場合又は何れも第2映像データである場合、映像データをデコードする。第2通信装置は、双方の映像データが第1映像データと第2映像データとで相違する場合、映像データをデコードしない。これによって、第2通信装置は、負荷が相対的に高くなることを抑制しつつ、表示部に表示された映像の画質が低画質となることを抑制できる。 According to the second aspect, the second communication device compares the video data received from the first communication device (first video data or second video data) with the video data specified based on the load state and the resolution. To do. The second communication device decodes the video data when both the video data are the first video data or when both are the second video data. The second communication device does not decode the video data when both video data are different between the first video data and the second video data. Accordingly, the second communication device can suppress the image quality of the video displayed on the display unit from being low, while suppressing the load from becoming relatively high.
本発明の第3態様に係る通信システムは、遠隔会議に参加可能な第1通信装置及び第2通信装置を含む通信システムであって、前記第1通信装置は、前記第1通信装置のカメラにおいて撮影された映像がエンコードされた映像データを送信する送信手段と、前記第2通信装置が前記映像データをデコードする場合の負荷状態、及び、前記映像データがデコードされた映像が、前記第2通信装置の表示部に表示される場合の解像度を受信する第1受信手段と、前記第1受信手段によって受信された前記負荷状態が、第1負荷状態か判断する第1判断手段と、前記第1受信手段によって受信された前記解像度が、第2所定値以下か判断する第2判断手段と、前記第1判断手段によって前記第1負荷状態と判断された場合、前記第2判断手段によって前記解像度が前記第2所定値以下と判断されたことに応じて、第2エンコード条件でエンコードされた第2映像データを生成し、前記第2判断手段によって前記解像度が前記第2所定値より大きいと判断されたことに応じて、前記第2エンコード条件よりも負荷が大きい第1エンコード条件でエンコードされた第1映像データを生成する第1生成手段とを備え、前記送信手段は、前記第1生成手段によって前記第1映像データが生成された場合、前記映像データとして前記第1映像データを送信し、前記第1生成手段によって前記第2映像データが生成された場合、前記映像データとして前記第2映像データを送信し、前記第2通信装置は、前記負荷状態を決定する決定手段と、前記解像度を取得する取得手段と、前記映像データとして前記第1通信装置から送信された前記第1映像データ及び前記第2映像データを受信する第2受信手段と、前記決定手段によって決定された前記負荷状態、及び、前記取得手段によって取得された前記解像度に基づいて、前記第1映像データ及び前記第2映像データの何れかをデコードすると判断する第3判断手段と、前記第2受信手段によって受信された前記映像データと、前記第3判断手段によってデコードすると判断された前記映像データとが、何れも前記第1映像データである場合又は何れも前記第2映像データである場合、前記映像データをデコードし、前記第2受信手段によって受信された前記映像データと、前記第3判断手段によってデコードすると判断された前記映像データとが、前記第1映像データと前記第2映像データとで相違する場合、前記映像データをデコードしない処理手段とを備えたことを特徴とする。第3態様によれば、第1態様及び第2態様と同様の効果を奏することができる。 A communication system according to a third aspect of the present invention is a communication system including a first communication device and a second communication device that can participate in a remote conference, wherein the first communication device is a camera of the first communication device. transmission means for capturing video transmits the encoded video data, pre-SL load condition when the second communication device decodes the video data, and the video that the video data is decoded, the second First receiving means for receiving a resolution when displayed on a display unit of a communication device; first determining means for determining whether the load state received by the first receiving means is a first load state; A second determination unit that determines whether the resolution received by the first reception unit is equal to or less than a second predetermined value; and when the first determination unit determines that the first load state is present, the second determination unit When the resolution is determined to be less than or equal to the second predetermined value, second video data encoded under a second encoding condition is generated, and the resolution is greater than the second predetermined value by the second determination unit. And a first generation means for generating first video data encoded under a first encoding condition having a load greater than that of the second encoding condition, wherein the transmission means includes the first encoding means. When the first video data is generated by the generation unit, the first video data is transmitted as the video data. When the second video data is generated by the first generation unit, the first video data is transmitted as the video data. 2 video data is transmitted, and the second communication device is configured to determine the load state, an acquisition unit to acquire the resolution, and the video data Second receiving means for receiving the first video data and the second video data transmitted from the first communication device, the load state determined by the determining means, and the resolution acquired by the acquiring means Based on the first video data and the second video data, the third judgment means for judging to decode, the video data received by the second reception means, and the third judgment means for decoding When the video data determined to be the first video data or the second video data, the video data is decoded and received by the second receiving means. The data and the video data determined to be decoded by the third determination means are the first video data and the second video data. If they are different from each other, a processing unit that does not decode the video data is provided. According to the 3rd aspect, there can exist an effect similar to a 1st aspect and a 2nd aspect.
<通信システム1の概要>
図1を参照し、通信システム1について説明する。通信システム1は、サーバ装置11、及び、通信装置12A、12B、12Cを備える。以下、通信装置12A、12B、12Cを総称して、「通信装置12」という。サーバ装置11、及び、通信装置12は、ネットワーク14を介して接続する。通信システム1は、通信装置12のそれぞれのユーザに対し、仮想会議室を提供することによって、それぞれのユーザ間でWeb会議を実現させるためのシステムである。
<Outline of
The
サーバ装置11は、周知のMulti-point Control Unit(MCU)である。通信装置12は、周知の汎用Personal Computer(PC)に対して、Web会議を行なうためのアプリケーション(以下、「会議アプリケーション」という。)のプログラムをインストールすることで構成される。以下、通信装置12A、12B、12CのそれぞれのIDを、「12A」「12B」「12C」とする。通信装置12A、12B、12Cのそれぞれのユーザを、ユーザ13A、13B、13Cという。ユーザ13A、13B、13Cを総称してユーザ13という。なお、サーバ装置11は、汎用のサーバに対して、サーバ用の会議アプリケーションのプログラムをインストールすることで構成されてもよい。通信装置12の少なくとも1つは、遠隔会議用の専用端末、スマートフォン、タブレット端末等のモバイル端末に対して会議アプリケーションのプログラムをインストールすることで構成されてもよい。
The server device 11 is a known multi-point control unit (MCU). The
<電気的構成>
サーバ装置11の電気的構成を説明する。サーバ装置11は、サーバ装置11の制御を司るCPU111を備える。CPU111は、ROM112、RAM113、記憶部114、通信I/F115、及び、ドライブ装置116と、非図示のインタフェース回路を介して電気的に接続する。ROM112には、ブートプログラム、BIOS等が記憶される。RAM113には、タイマやカウンタ、フラグデータ、一時的なデータ等が記憶される。記憶部114は、コンピュータが読み取り可能な非一時的な記憶媒体、たとえは、ハードディスク等で構成される。記憶部114には、CPU111が実行する処理のプログラム、及びOSが記憶される。
<Electrical configuration>
The electrical configuration of the server device 11 will be described. The server device 11 includes a
通信I/F115は、サーバ装置11がネットワーク14に接続するためのインタフェース素子(例えば、LANカードなど)、又は、サーバ装置11がネットワーク14に接続した図示外のアクセスポイントと接続して無線通信を行うためのインタフェース素子(例えば、Wi−Fi(登録商標)通信モデムなど)である。CPU111は、通信I/F115を介して、ネットワーク14に接続する他の機器とデータの送受信を行う。ドライブ装置116は、半導体メモリや光ディスク等のコンピュータが読み取り可能な記憶媒体116Aに記憶された情報を読み出すことができる。CPU111は、記憶媒体116Aに記憶されたプログラムをドライブ装置116によって読み出し、記憶部114に記憶できる。
The communication I /
通信装置12の電気的構成を説明する。通信装置12は、通信装置12の制御を司るCPU121を備える。CPU121は、ROM122、RAM123、記憶部124、カメラ125、表示部126、通信I/F127、入力部128、マイク129、スピーカ130、及び、ドライブ装置131と、非図示のインタフェース回路を介して電気的に接続する。ROM122には、ブートプログラム、BIOS等が記憶される。RAM123には、タイマやカウンタ、フラグデータ、一時的なデータ等が記憶される。記憶部124は、コンピュータが読み取り可能な非一時的な記憶媒体、たとえは、ハードディスク等で構成される。記憶部124には、会議アプリケーションのプログラム、及びOSが記憶される。カメラ125は、撮影した映像のデータ(以下、「撮影データ」という。)をCPU121に対して出力可能である。表示部126はLiquid Crystal Display(LCD)などのディスプレイである。通信I/F127は、通信装置12がネットワーク14に接続するためのインタフェース素子、又は、通信装置12がネットワーク14に接続した図示外のアクセスポイントと接続して無線通信を行うためのインタフェース素子である。CPU121は、通信I/F127を介して、ネットワーク14に接続する他の機器とデータの送受信を行う。入力部128は、キーボード128A、マウス128B等を含む。ドライブ装置131は、半導体メモリ等のコンピュータが読み取り可能な記憶媒体131Aに記憶された情報を読み出すことができる。CPU121は、記憶媒体131Aに記憶されたプログラムをドライブ装置131によって読み出し、記憶部124に記憶できる。
The electrical configuration of the
なお、記憶部114、124は、例えば、フラッシュメモリ及び/又はROM等、他の非一時的な記憶媒体で構成されてもよい。非一時的な記憶媒体は、情報を記憶する期間に関わらず、情報を記憶可能な記憶媒体であればよい。非一時的な記憶媒体は、一時的な記憶媒体(例えば、伝送される信号)を含まなくてもよい。CPU111、121として、汎用的なプロセッサが用いられてもよい。CPU111,121によって実行される処理の一部は、他の電子部品(例えば、ASIC)によって実行されてもよい。CPU111、121によって実行される処理は、複数の電子機器(つまり、複数のCPU)によって分散処理されてもよい。例えば、サーバ装置11のCPU111によって実行される処理の一部は、通信装置12のCPU121によって実行されてもよい。プログラムは、例えば、ネットワーク14に接続された別のサーバからダウンロードされて(即ち、伝送信号として送信され)、記憶部114、124に記憶されてもよい。この場合、プログラムは、別のサーバに備えられたハードディスクなどの非一時的な記憶媒体に保存されていることとなる。
Note that the
通信装置12のCPU121は、カメラ125から出力された撮影データを取得した場合、第1エンコード条件及び第2エンコード条件の何れかを選択してエンコードすることが可能である。第1エンコード条件及び第2エンコード条件で撮影データがエンコードされる場合、何れの場合も、撮影データは別の形式のデータに変換される。以下、撮影データが第1エンコード条件でエンコードされた場合に生成されるデータを、「第1映像データ」という。撮影データが第2エンコード条件でエンコードされた場合に生成されるデータを、「第2映像データ」という。第1映像データ及び第2映像データを総称して、「映像データ」という。例えば、撮影データはアナログデータであり、映像データは符号化されたデジタルデータである。
When the
本実施形態では、第1エンコード条件でエンコードが実行される場合のCPU121の負荷が、第2エンコード条件でエンコードが実行される場合のCPU121の負荷よりも大きいことを前提とする。エンコード時におけるCPU121の負荷は、例えば、エンコード後のデータのビットレートに比例する。本実施形態において、第1映像データと第2映像データとでは、例えば、ビットレートが相違する。第1映像データのビットレートは、第2映像データのビットレートよりも大きい。このビットレートの相違は、第1映像データのフレームサイズ及びフレームレートが、第2映像データのフレームサイズ及びフレームレートに比べて大きいことに起因する。なお、同一のエンコーダが用いられる場合、第1エンコード条件は、例えば、第2エンコード条件と比較して、エンコーダの設定が異なってもよい(例えば、第1エンコード条件は、第2エンコード条件よりも参照フレーム数が多い)。あるいは、異なるエンコーダが用いられる場合、第1エンコード条件(例えば、H.264)と第2エンコード条件(例えば、MPEG4)とが異なってもよい。
In the present embodiment, it is assumed that the load on the
又、通信装置12のCPU121は、他の通信装置12によって生成された映像データをデコードし、表示部126に表示することが可能なデータを生成可能である。以下、第1映像データがデコードされた場合に生成される映像を、「第1映像」という。第2映像データがデコードされた場合に生成される映像を、「第2映像」という。本実施形態では、第1映像データをデコードする場合のCPU121の負荷が、第2映像データをデコードする場合のCPU121の負荷よりも大きいことを前提とする。その理由は、第1映像データのビットレートは、第2映像データのビットレートよりも大きいのに対し、デコード時におけるCPU121の負荷は、例えば、映像データのビットレートに比例するためである。
Further, the
<メインウィンドウ20の概要>
通信装置12A〜12Cのそれぞれのユーザ13A〜13Cが、仮想会議室(以下、単に「会議室」という。)を利用するための所定の操作を行った場合を例に挙げる。所定の操作は、周知のWeb会議システムにおいて会議室が利用される場合にユーザによって行われる操作と同一である。例えば、所定の操作は、サーバ装置11から通信装置12に対して予め通知されたURLを、マウス128Bによって選択する操作である。このURLには、例えば、参加する会議室を識別する会議IDが引数として含まれる。この場合、通信装置12のCPU121は、サーバ装置11と通信を行い、周知の会議接続の処理を実行する。会議接続の処理では、サーバ装置11と通信装置12との間で会議室のセッションが確立される。サーバ装置11は、会議室に参加するすべての通信装置12のID及びアドレス情報を、各通信装置12に対して通知する。以下では、通信装置12A〜12Cとサーバ装置11との間で会議室のセッションが確立され、通信装置12A〜12Cが共通の会議室に参加することを前提とする。
<Outline of
The case where each
セッションの確立後、通信装置12のCPU121によって会議アプリケーションが実行される。会議アプリケーションが実行された場合、会議アプリケーションのメインウィンドウ20が表示部126に表示される。メインウィンドウ20には、映像ウィンドウ21が含まれる。映像ウィンドウ21には、会議室に参加する他の通信装置12のカメラ125によって撮影された映像が表示される。映像ウィンドウ21の大きさは、通信装置12のユーザ13がマウス128Bを操作することによって変更可能である。
After the session is established, the conference application is executed by the
図1において、通信装置12Aの表示部126に表示されたメインウィンドウ20Aには、映像ウィンドウ22B、22Cが含まれる。映像ウィンドウ22B(解像度:640×480(dot))には、通信装置12Bのカメラ125によって撮影されたユーザ13Bの映像が表示されている。映像ウィンドウ22C(解像度:320×240(dot))には、通信装置12Cのカメラ125によって撮影されたユーザ13Cの映像が表示されている。通信装置12Bの表示部126に表示されたメインウィンドウ20Bには、映像ウィンドウ23A、23Cが含まれる。映像ウィンドウ23A(解像度:640×480(dot))には、通信装置12Aのカメラ125によって撮影されたユーザ13Aの映像が表示されている。映像ウィンドウ23C(解像度:320×240(dot))には、通信装置12Cのカメラ125によって撮影されたユーザ13Cの映像が表示されている。通信装置12Cの表示部126に表示されたメインウィンドウ20Cには、映像ウィンドウ24A、24Bが含まれる。映像ウィンドウ24A(解像度:320×240(dot))には、通信装置12Aのカメラ125によって撮影されたユーザ13Aの映像が表示されている。映像ウィンドウ24B(解像度:640×480(dot))には、通信装置12Bのカメラ125によって撮影されたユーザ13Bの映像が表示されている。
In FIG. 1, the
通信装置12AのCPU121によって第1映像データが生成され、この第1映像データに基づいて、通信装置12Bの映像ウィンドウ23A、及び、通信装置12Cの映像ウィンドウ24Aに第1映像が表示される場合を例に挙げる。上記で説明したように、第1映像データのフレームサイズは、第2映像データのフレームサイズよりも大きい。このため、映像ウィンドウ23Aに第1映像が表示された場合の画質は、映像ウィンドウ23Aに第2映像が表示された場合の画質よりも高画質となる。同様に、映像ウィンドウ24Aに第1映像が表示された場合の画質は、映像ウィンドウ24Aに第2映像が表示された場合の画質よりも高品質となる。
A case in which the first video data is generated by the
又、映像ウィンドウ23Aの解像度(640×480(dot))は、映像ウィンドウ24Aの解像度320×240(dot)よりも大きい。このため、第1映像に代えて第2映像が表示された場合の画質の劣化は、映像ウィンドウ24Aよりも映像ウィンドウ23Aの方が目立ちやすい。例えば、第2映像の画素が、映像ウィンドウ23A、24Aのそれぞれの解像度で表示可能なように補完された場合、映像ウィンドウ23Aに表示された第2映像の画素の大きさは、映像ウィンドウ24Aに表示された第2映像の画素の大きさよりも大きくなる。このため、フレームサイズが元々小さい第2映像データに対応する第2映像が、映像ウィンドウ23Aに表示された場合、映像ウィンドウ24Aに第2映像が表示される場合よりも、各画素が粗くなり、画質が低画質になりやすい。このため、特に通信装置12Bの映像ウィンドウ23Aには、第2映像よりも第1映像が表示されることが好ましい。
The resolution (640 × 480 (dot)) of the
但し、第1映像データをデコードする場合のCPU121の負荷は、第2映像データをデコードする場合のCPU121の負荷よりも大きくなる。このため、第1映像データのデコードが実行された場合、CPU121の負荷が過多になり好ましくない場合がある。
However, the load on the
一方、通信装置12AのCPU121によって第2映像データが生成され、この第2映像データに基づいて、通信装置12Bの映像ウィンドウ23A、及び、通信装置12Cの映像ウィンドウ24Aに第2映像が表示される場合を例に挙げる。この場合、第2映像データをデコードする場合のCPU121の負荷は、第1映像データをデコードする場合のCPU121の負荷よりも小さくなるので、第2映像データのデコードが実行されることによって、CPU121の負荷が過多になることを抑制できる場合がある。しかし上記のように、映像ウィンドウ23Aに表示された第2映像は、映像ウィンドウ24Aに表示された第2映像よりも低画質になりやすい。
On the other hand, the second video data is generated by the
これに対し、本実施形態において、通信装置12のCPU121は、他の通信装置12の映像ウィンドウ21の解像度、及び、他の通信装置12のCPU121の負荷の状態に応じて、第1エンコード条件及び第2エンコード条件の何れの条件で撮影データをエンコードするかを決定する。又、通信装置12のCPU121は、自身のCPU121の負荷の状態、及び、映像ウィンドウ21の解像度に応じて、第1映像データ及び第2映像データの何れをデコードして映像ウィンドウ21に映像を表示するかを決定する。
On the other hand, in the present embodiment, the
<第1テーブル124A>
図2を参照し、通信装置12の記憶部124に記憶された第1テーブル124Aについて説明する。第1テーブル124Aには、通信装置12の負荷状態、及び、解像度が格納される。負荷状態は、CPU121の負荷の度合いのレベルを示す。負荷状態の詳細は後述する。解像度は、通信装置12の表示部126に表示された各映像ウィンドウ21の解像度である。解像度は、各映像ウィンドウ21に表示される映像の映像データを送信した通信装置12のIDに対応付けられる。以下、映像データを送信した通信装置12のIDを、「表示ID」という。「映像ウィンドウ21に表示される映像の映像データを送信した通信装置12の表示ID」を、「映像ウィンドウ21の表示ID」と言い換える。図2では、通信装置12A、12B、12Cのそれぞれの記憶部124に記憶された第1テーブル124Aが示されている。第2テーブル124Bについての説明は後述する。
<First table 124A>
The first table 124A stored in the
<第1処理>
図3〜図8を参照し、通信装置12のCPU121によって実行される第1処理〜第5処理について説明する。はじめに、図3を参照し、第1処理について説明する。第1処理は、サーバ装置11との間のセッションの確立後に会議アプリケーションが実行されてメインウィンドウ20が表示部126に表示された場合、記憶部124に記憶されたプログラムをCPU121が実行することによって、一定周期(例えば、5〜10分毎)で開始される。CPU121は、第1処理を最初に実行する場合、第1テーブル124A(図2参照)の「負荷状態」の初期値として、負荷の度合いのレベルが低い状態(以下、「低状態」という。)であることを示す「1」を設定する。以下、負荷状態に「1」を設定することを、「負荷状態に低状態を設定する」という。
<First processing>
The first to fifth processes executed by the
はじめに、CPU121は、CPU121の負荷の度合いを特定する。負荷の度合いとは、後述する第5処理(図5参照)において受信された映像データ(第1映像データ又は第2映像データ)がデコードされる場合における、CPU121の使用率を示す。CPU121は、特定された負荷の度合いが、第1所定値(例えば、40%)以上か判断する(S11)。CPU121は、特定された負荷の度合いが第1所定値以上と判断された場合(S11:YES)、第1テーブル124Aの負荷状態が低状態に設定されているか判断する(S17)。なお、上記のように、最初に第1処理が実行される場合、第1テーブル124Aの負荷状態は低状態に設定されている。CPU121は、第1テーブル124Aの負荷状態が低状態に設定されていると判断した場合(S17:YES)、負荷の度合いのレベルが中程度の状態(以下、「中状態」という。)であることを示す「2」を、第1テーブル124Aの負荷状態に設定する(S19)。以下、第1テーブル124Aの負荷状態に「2」を設定することを、「負荷状態に中状態を設定する」という。CPU121は、第1テーブル124Aの負荷状態を、サーバ装置11に対して送信する(S23)。CPU121は第1処理を終了させる。一方、例えば、前回の第1処理において第1テーブル124Aの負荷状態が中状態又は高状態に設定されている場合、CPU121は、第1テーブル124Aの負荷状態が低状態に設定されていないと判断する(S17:NO)。この場合、CPU121は、負荷の度合いのレベルが高い状態(以下、「高状態」という。)であることを示す「3」を、第1テーブル124Aの負荷状態に設定する(S21)。以下、第1テーブル124Aの負荷状態に「3」を設定することを、「負荷状態に高状態を設定する」という。CPU121は、第1テーブル124Aの負荷状態を、サーバ装置11に対して送信する(S23)。CPU121は第1処理を終了させる。
First, the
一方、負荷の度合いが第1所定値未満と判断された場合(S11:NO)、第1テーブル124Aの負荷状態に高状態が設定されているか判断する(S13)。例えば、前回の第1処理において第1テーブル124Aの負荷状態が高状態に設定されている場合、CPU121は、第1テーブル124Aの負荷状態に高状態が設定されていると判断する(S13:YES)。この場合、CPU121は、第1テーブル124Aの負荷状態に中状態を設定する(S19)。CPU121は、第1テーブル124Aの負荷状態を、サーバ装置11に対して送信する(S23)。CPU121は第1処理を終了させる。一方、例えば、前回の第1処理において第1テーブル124Aの負荷状態が低状態又は中状態に設定されている場合、CPU121は、第1テーブル124Aの負荷状態に高状態が設定されていないと判断する(S13:NO)。この場合、CPU121は、第1テーブル124Aの負荷状態に低状態を設定する(S15)。CPU121は、第1テーブル124Aの負荷状態を、サーバ装置11に対して送信する(S23)。CPU121は第1処理を終了させる。
On the other hand, when it is determined that the degree of load is less than the first predetermined value (S11: NO), it is determined whether a high state is set as the load state of the first table 124A (S13). For example, when the load state of the first table 124A is set to a high state in the previous first process, the
<第2処理>
図4を参照し、通信装置12のCPU121によって実行される第2処理について説明する。第2処理は、サーバ装置11とのセッションの確立後に会議アプリケーションが実行されてメインウィンドウ20が表示された直後、又は、メインウィンドウ20に含まれる映像ウィンドウ21の何れかの大きさを変更する操作が、入力部128を介して行われた場合に、記憶部124に記憶されたプログラムをCPU121が実行することによって開始される。CPU121は、第2処理を最初に実行する場合、第1テーブル124A(図2参照)のすべての解像度として、「0×0」(dot)を設定する。
<Second processing>
The second process executed by the
はじめに、CPU121は、メインウィンドウ20に含まれる映像ウィンドウ21の何れかの解像度を取得する(S41)。なお、取得される解像度は、映像ウィンドウ21に第1映像又は第2映像が表示される場合の解像度に対応する。CPU121は、S41の処理によって取得された解像度と、第1テーブル124Aのうち、S41の処理によって解像度が取得された映像ウィンドウ21の表示IDに対応付けられた解像度(以下、「対応解像度」という。)とを比較する。
First, the
CPU121は、S41の処理によって取得された解像度と第1テーブル124Aの対応解像度とが相違する場合、映像ウィンドウ21の解像度が変更されたと判断する(S43:YES)。この場合、CPU121は、第1テーブル124Aにおいて対応解像度に対応付けられた表示IDを、S41の処理によって取得された解像度に関連付け、サーバ装置11に対して送信する(S45)。CPU121は、第1テーブル124Aの対応解像度を、S41の処理によって取得された解像度に変更する。CPU121は処理をS47に進める。一方、CPU121は、S41の処理によって取得された解像度と、第1テーブル124Aの対応解像度とが一致する場合、映像ウィンドウ21の解像度が変更されていないと判断する(S43:NO)。この場合、CPU121は処理をS47に進める。
The
なお、上記のS45の処理において、CPU121は、S41の処理によって取得された解像度と第1テーブル124Aの対応解像度との相違が所定の範囲内である場合に、映像ウィンドウ21の解像度が変更されていないと判断してもよい。具体的には、例えば、それぞれの解像度の横方向及び縦方向の画素数の相違量が何れも100dot以内の場合、CPU121は、映像ウィンドウ21の解像度が変更されていないと判断してもよい。
In the processing of S45 described above, the
CPU121は、メインウィンドウ20に含まれるすべての映像ウィンドウ21の解像度が、S41の処理によって取得されたか判断する(S47)。CPU121は、解像度を取得していない映像ウィンドウ21が残っている場合、すべての映像ウィンドウ21の解像度が取得されていないと判断する(S47:NO)。CPU121は処理をS41に戻す。CPU121は、解像度が取得されていない映像ウィンドウ21の何れかから、解像度を取得し(S41)、S43、S45の処理を繰り返す。CPU121は、すべての映像ウィンドウ21の解像度が取得されたと判断された場合(S47:YES)、第2処理を終了させる。
The
なお、メインウィンドウ20が表示された直後、最初に第2処理が実行される場合、第1テーブル124Aのすべての解像度に「0×0」が設定される。このため、すべての映像ウィンドウ21について、S41の処理によって取得された解像度と対応解像度とが相違すると判断される(S43)。従って、すべての映像ウィンドウ21の解像度に、第1テーブル124Aにおいて対応解像度に対応付けられた表示IDが関連付けられ、サーバ装置11に対して送信される(S45)。
Note that when the second process is first executed immediately after the
図8は、サーバ装置11及び通信装置12の間の通信シーケンスの概要を示す。上記の第1処理(図3参照)が通信装置12AのCPU121によって実行され、低状態が第1テーブル124Aに設定された場合、低状態が設定された負荷状態は、通信装置12Aからサーバ装置11に対して送信される(矢印C11)。又、上記の第2処理(図4参照)が、通信装置12AのCPU121によって実行された場合、例えば、映像ウィンドウ22B(図1参照)の解像度「640×480」(dot)に、通信装置12BのID「12B」が関連付けられ、通信装置12Aからサーバ装置11に対して送信される(矢印C11)。又、例えば、映像ウィンドウ22C(図1参照)の解像度「320×240」(dot)に、通信装置12CのID「12C」が関連付けられ、通信装置12Aからサーバ装置11に対して送信される(矢印C11)。なお、通信装置12BのCPU121によって第1処理及び第2処理が実行された場合、及び、通信装置12CのCPU121によって第1処理及び第2処理が実行された場合も同様である(矢印C13、C15)。なお、図8では、負荷状態及び解像度が通信装置12から同時に送信されているように記載されているが、実際には、負荷状態及び解像度は、第1処理及び第2処理の実行時に送信されるので、それぞれは別々に送信される。もちろん、負荷状態及び解像度が通信装置12から同時に送信されても差し支え無い。
FIG. 8 shows an outline of a communication sequence between the server device 11 and the
詳細は後述するが、サーバ装置11のCPU111は、矢印C11、C13、C15のように送信された負荷状態及び解像度を受信する。CPU111は、記憶部114に記憶されたテーブル114A(図9参照)に、受信された負荷状態及び解像度を格納する。
Although details will be described later, the
<テーブル114A>
図9に示すように、テーブル114Aにおいて、負荷状態は、負荷状態を送信した通信装置12のID「12A」「12B」「12C」に対応付けられる。又、解像度は、解像度を送信した通信装置12のIDと、解像度に関連付けられていた通信装置12のIDとに対応付けられる。以下、負荷状態及び解像度を送信した通信装置12のIDを、「第1ID」という。解像度に関連付けられていた通信装置12のIDを、「第2ID」という。
<Table 114A>
As illustrated in FIG. 9, in the table 114A, the load state is associated with the IDs “12A”, “12B”, and “12C” of the
CPU111は、通信装置12から負荷状態を受信する度に、受信した負荷状態に第1IDを関連付け、会議室に参加するすべての通信装置12に対してブロードキャスト送信する(矢印C12、C14、C16)。又、CPU111は、通信装置12から解像度を受信する度に、受信した解像度に、第1ID及び第2IDを関連付け、会議室に参加するすべての通信装置12に対してブロードキャスト送信する(矢印C12、C14、C16)。
Each time the
<第3処理>
図5を参照し、通信装置12のCPU121によって実行される第3処理について説明する。第3処理は、サーバ装置11とのセッションの確立後に会議アプリケーションが実行されてメインウィンドウ20が表示された後、サーバ装置11から送信された負荷状態又は解像度の受信が開始された場合に、記憶部124に記憶されたプログラムをCPU121が実行することによって開始される。
<Third process>
The third process executed by the
はじめに、CPU121は、サーバ装置11から送信された負荷状態の受信が開始されたか判断する(S81)。CPU121は、負荷状態の受信が開始されたと判断された場合(S81:YES)、負荷状態をすべて受信する。CPU121は、受信された負荷状態と、受信された負荷状態に関連付けられた第1IDとを対応付けて、第2テーブル124B(図2参照、後述)に格納する(S83)。CPU121は処理をS85に進める。CPU121は、負荷状態の受信が開始されていないと判断された場合(S81:NO)、処理をS85に進める。
First, the
CPU121は、サーバ装置11から送信された解像度の受信が開始されたか判断する(S85)。CPU121は、解像度の受信が開始されたと判断された場合(S85:YES)、解像度をすべて受信する。CPU121は、受信された解像度と、受信された解像度に関連付けられた第1ID及び第2IDとを対応付けて、第2テーブル124B(図2参照、後述)に格納する(S87)。CPU121は第3処理を終了させる。CPU121は、解像度を受信していないと判断された場合(S85:NO)、第3処理を終了させる。
する。
The
To do.
例えば、図8に示すように、サーバ装置11から矢印C12、C14、C16のようにブロードキャスト送信された負荷状態及び解像度は、通信装置12A、12B、12CのそれぞれのCPU121が第3処理を実行することによって受信される。なお、図5の第3処理では説明を省略しているが、CPU121は、自身のIDが第1IDとして関連付けられている負荷状態及び解像度を受信した場合、この負荷状態及び解像度を第2テーブル124Bに記憶しない。具体的には、例えば、通信装置12AのCPU121は、サーバ装置11から矢印C12のように送信された負荷状態及び解像度を受信した場合、自身のIDと同じ第1ID「12A」が関連付けられているので、この負荷状態及び解像度を第2テーブル124Bに記憶しない(R11)。一方、CPU121は、サーバ装置11から矢印C14のように送信された負荷状態を受信した場合、自身のIDと異なる第1ID「12B」が関連付けられているので、負荷状態に第1IDを対応付けて記憶部124に記憶する(R21)。CPU121は、サーバ装置11から矢印C14のように送信された解像度を受信した場合、解像度に第1ID及び第2IDを対応付けて記憶部124に記憶する(R21)。サーバ装置11から矢印C16のように送信された負荷状態及び解像度が受信された場合についても同様である(R31)。又、通信装置12BのCPU121が、サーバ装置11から矢印C12、C14、C16のように送信された負荷状態及び解像度を受信した場合(R12、R22、R32)、及び、通信装置12CのCPU121が、サーバ装置11から矢印C12、C14、C16のように送信された負荷状態及び解像度を受信した場合(R13、R23、R33)についても同様であるので、説明を省略する。
For example, as shown in FIG. 8, the load state and resolution broadcast transmitted from the server apparatus 11 as indicated by arrows C12, C14, and C16 are executed by the
<第2テーブル124B>
図2を参照し、通信装置12の記憶部124に記憶された第2テーブル124Bについて説明する。第2テーブル124Bには、サーバ装置11から受信された負荷状態が、第1IDに対応付けて格納される。又、第2テーブル124Bには、サーバ装置11から受信された解像度が、第1ID及び第2IDに対応付けて格納される。
<Second table 124B>
The second table 124B stored in the
<第4処理>
図6を参照し、通信装置12のCPU121によって実行される第4処理について説明する。第4処理は、サーバ装置11とのセッションの確立後に会議アプリケーションが実行されてメインウィンドウ20が表示された後、映像データのフレーム周期で繰り返し起動される。
<4th process>
With reference to FIG. 6, the 4th process performed by CPU121 of the
はじめに、CPU121は、カメラ125から撮影データを取得する(S51)。CPU121は、会議室に参加する他の通信装置12のIDの何れかを選択する(S53)。なお、CPU121は、サーバ装置11とのセッションが確立した後、会議室に参加するすべての通信装置12のID及びアドレス情報を、サーバ装置11から受信している。CPU121は、第3処理(図5参照)を実行することによって第2テーブル124B(図2参照)に格納された負荷状態のうち、S53の処理によって選択されたIDと同じ第1IDに対応付けられた負荷状態を取得する(S55)。CPU121は、第3処理を実行することによって第2テーブル124Bに格納された解像度のうち、S53の処理によって選択されたIDと同じ第1ID、且つ、自身のIDと同じ第2IDに対応付けられた解像度を取得する(S57)。
First, the
CPU121は、S55の処理によって取得された負荷状態が低状態に設定されているか判断する(S59)。CPU121は、負荷状態が低状態に設定されていると判断された場合(S59:YES)、S51の処理によって取得された撮影データを第1エンコード条件でエンコードすると決定する(S65)。CPU121は処理をS69に進める。
The
CPU121は、S55の処理によって取得された負荷状態に低状態が設定されていないと判断された場合(S59:NO)、負荷状態に中状態が設定されているか判断する(S61)CPU121は、中状態が設定されていると判断された場合(S61:YES)、S57の処理によって取得された解像度が、第2所定値(例えば、320×240(dot))よりも大きいか判断する。CPU121は、第2所定値よりも大きいと判断された場合(S63:YES)、S51の処理によって取得された撮影データを第1エンコード条件でエンコードすると決定する(S65)。CPU121は処理をS69に進める。CPU121は、S57の処理によって取得された解像度が、第2所定値以下と判断された場合(S63:NO)、S51の処理によって取得された撮影データを第2エンコード条件でエンコードすると決定する(S67)。CPU121は処理をS69に進める。
When the
CPU121は、S55の処理によって取得された負荷状態に中状態が設定されていないと判断された場合(S61:NO)、処理をS67に進める。この場合、S55の処理によって取得された負荷状態に高状態が設定されている。CPU121は、S51の処理によって取得された撮影データを第2エンコード条件でエンコードすると判断する(S67)。CPU121は処理をS69に進める。
If it is determined that the middle state is not set in the load state acquired by the process of S55 (S61: NO), the
CPU121は、S51の処理によって取得された撮影データを、S65、又は、S67の処理によって決定した条件(第1エンコード条件、又は、第2エンコード条件)でエンコードし、映像データを生成する(S69)。CPU121は、生成された映像データをRAM123に記憶する。CPU121は、会議室に参加する他の通信装置12のIDを、S53の処理によってすべて選択したか判断する(S71)。CPU121は、会議室に参加する他の通信装置12のIDを、S53の処理によってすべて選択していないと判断された場合(S71:NO)、処理をS53に戻す。CPU121は、会議室に参加する他の通信装置12のIDのうち、選択されていないIDの何れかを選択し(S53)、処理を繰り返す。
The
なお、会議室に参加する他の通信装置12が2以上ある場合、上記のように処理が繰り返される過程で、第1エンコード条件又は第2エンコード条件が2回以上決定される場合がある。このような場合、S51の処理によって取得された撮影データは、決定された条件で既にエンコードされており、生成された映像データはRAM123に既に記憶されている。この場合、図6の第4処理では説明を省略しているが、CPU121は、2回目以降に決定された条件によるエンコード(S69)を実行しない。これによって、CPU121は、同一の映像データが重複して生成されることを回避できる。
If there are two or more
CPU121は、遠隔会議に参加する他の通信装置12のIDが、S53の処理によってすべて選択されたと判断された場合(S71:YES)、処理をS73に進める。CPU121は、RAM123に記憶されたすべての映像データ(第1映像データ又は第2映像データ)を、サーバ装置11に対して送信する(S73)。CPU121は第4処理を終了させる。
If the
通信装置12AのCPU121において第4処理が実行された場合について、図8を参照して具体的に説明する。通信装置12AのCPU121は、カメラ125から撮影データを取得する(S51)。CPU121は、会議室に参加する通信装置12B、12Cのうち、通信装置12BのID「12B」を選択する。(S53)。CPU121は、記憶部124の第2テーブル124B(図2(A)参照)に格納された負荷状態のうち、選択されたID「12B」と同じ第1IDに対応付けられた負荷状態に設定された中状態を取得する(S55)。CPU121は、第2テーブル124Bに格納された解像度のうち、選択されたID「12B」と同じ第1ID、及び、自身のID「12A」と同じ第2IDに対応付けられた解像度「640×480」を取得する(S57)。
A case where the fourth process is executed by the
CPU121は、取得された負荷状態に低状態が設定されておらず(S59:NO)、中状態が設定されており(S61:YES)、解像度「640×480」が第2所定値よりも大きいと判断する(S63:YES)。CPU121は、第1エンコード条件を決定し(S65)、S51の処理によって取得された撮影データをエンコードして第1映像データを生成する(S69)。CPU121は、第1映像データをRAM123に記憶する。CPU121は、会議室に参加する通信装置12CのID「12C」がS53の処理によって選択されていないので(S71:NO)、処理をS53に戻す。
The
次に、CPU121は、会議室に参加する通信装置12B、12Cのうち、通信装置12BのID「12C」を選択する。(S53)。CPU121は、第2テーブル124Bに格納された負荷状態のうち、選択されたID「12C」と同じ第1IDに対応付けられた負荷状態に設定された高状態を取得する(S55)。CPU121は、第2テーブル124Bに格納された解像度のうち、選択されたID「12C」と同じ第1ID、及び、自身のID「12A」と同じ第2IDに対応付けられた解像度「320×240」を取得する(S57)。
Next, the
CPU121は、取得された負荷状態に低状態が設定されておらず(S59:NO)、且つ、中状態が設定されていないと判断する(S61:NO)。CPU121は、第2エンコード条件を決定し(S65)、S51の処理によって取得された撮影データをエンコードして第2映像データを生成する(S69)。CPU121は、第2映像データをRAM123に記憶する。CPU121は、会議室に参加する通信装置12B、12CのID「12B」「12C」がS53の処理によって選択されているので(S71:YES)、RAM123に記憶された第1映像データ及び第2映像データを、サーバ装置11に対して送信する(S73、矢印C17、矢印C19(図8参照))。
The
詳細は後述するが、サーバ装置11のCPU111は、図8に示すように、通信装置12Aから矢印C17のように送信された第1映像データ、及び、通信装置12AからC19のように送信された第2映像データを受信する。図示されていないが、CPU111は、通信装置12B、12Cから送信された映像データ(第1映像データ又は第2映像データ)も同様に受信する。CPU111は、映像データを通信装置12から受信する度に、受信された映像データに、受信された映像データを送信した通信装置12のIDを関連付け、会議室に参加するすべての通信装置12に対してブロードキャスト送信する(矢印C18、C20)。以下、映像データを送信した通信装置12IDを、「第3ID」という。
Although details will be described later, as shown in FIG. 8, the
<第5処理>
図7を参照し、通信装置12のCPU121によって実行される第5処理について説明する。第5処理は、サーバ装置11とのセッションの確立後に会議アプリケーションが実行されてメインウィンドウ20が表示された後、サーバ装置11から送信された映像データの受信が開始された場合に、記憶部124に記憶されたプログラムをCPU121が実行することによって開始される。
<Fifth process>
The fifth process executed by the
CPU121は、サーバ装置11から送信された映像データをすべて受信し、RAM123に記憶する(S31)。CPU121は、以下の方法で、デコードの対象とする映像データを特定する(S33)。はじめに、CPU121は、第1テーブル124A(図2参照)に格納された負荷状態を取得する。次に、CPU121は、第1テーブル124Aに格納された解像度のうち、受信された映像データに関連付けられた第3IDと同じ表示IDに対応付けられた解像度を取得する。CPU121は、(1)取得された負荷状態に低状態が設定されている場合、取得された解像度に関わらず、第1映像データをデコードの対象として特定する。CPU121は、(2)取得された負荷状態に高状態が設定されている場合、取得された解像度に関わらず、第2映像データをデコードの対象として特定する。CPU121は、(3)取得された負荷状態に中状態が設定されている場合であって、取得された解像度が第2所定値よりも大きい場合、第1映像データをデコードの対象として特定する。CPU121は、(4)取得された負荷状態に中状態が設定されている場合であって、取得された解像度が第2所定値以下の場合、第2映像データをデコードの対象として特定する。
The
CPU121は、S31の処理によって第1映像データが受信されており、且つ、S33の処理によって、第1映像データが特定されている場合、又は、S31の処理によって第2映像データが受信されており、且つ、S33の処理によって、第2映像データが特定されている場合、映像データの種別が一致すると判断する(S35:YES)。この場合、CPU121は、S31の処理によって第1映像データが受信されている場合、受信された第1映像データをデコードして第1映像を生成する(S37)。CPU121は、S31の処理によって第2映像データが受信されている場合、受信された第2映像データをデコードして第2映像を生成する(S37)。CPU121は、メインウィンドウ20の映像ウィンドウ21のうち、S31の処理によって受信された映像データに関連付けられた第3IDと同じ表示IDの映像ウィンドウ21を選択する。CPU121は、選択された映像ウィンドウ21に、生成された第1映像又は第2映像を表示させる(S39)。CPU121は第5処理を終了させる。
The
一方、CPU121は、S31の処理によって第1映像データが受信されており、且つ、S33の処理によって第2映像データが特定された場合、又は、S31の処理によって第2映像データが受信されており、且つ、S33の処理によって第1映像データが特定された場合、映像データの種別が一致しないと判断する(S35:NO)。この場合、CPU121は、S31の処理によってRAM123に記憶された第1映像データ又は第2映像データを削除する(S40)。CPU121は第5処理を終了させる。
On the other hand, the
上記の第5処理が実行された場合について、図8を参照して具体的に説明する。なお、図7の第5処理では説明を省略しているが、CPU121は、自身のIDが第3IDとして関連付けられている映像データを受信した場合、この映像データをRAM123から削除する。具体的には、例えば、通信装置12AのCPU121は、サーバ装置11から矢印C18のように送信された第1映像データを受信した場合、自身のID「12A」と同じ第3IDが関連付けられているので、この第1映像データをRAM123から削除する(R41)。又、通信装置12AのCPU121は、サーバ装置11から矢印C20のように送信された第2映像データを受信した場合、自身のID「12A」と同じ第3IDが関連付けられているので、この第2映像データをRAM123から削除する(R51)。
The case where the fifth process is executed will be specifically described with reference to FIG. Although not described in the fifth process of FIG. 7, the
通信装置12BのCPU121は、サーバ装置11から矢印C18のように送信された第1映像データを受信する(S31)。CPU121は、通信装置12Bの記憶部124に記憶された第1テーブル124A(図2(B)参照)に格納された負荷状態「中状態」を取得する。CPU121は、第1テーブル124Aのうち、受信された第1映像データに関連付けられた第3ID「12A」と同じ表示IDに対応付けられた解像度「640×480」を取得する。CPU121は、中状態が設定されている場合であって、解像度が第2所定値よりも大きいので、上記の(3)の条件を満たすと判断する。この場合、CPU121は、第1映像データをデコードの対象として特定する(S33)。CPU121は、S31の処理によって第1映像データが受信され、且つ、S33の処理によって第1映像データが特定されているので、映像データの種別が一致すると判断する(S35:YES)。この場合、CPU121は、受信された第1映像データをデコードして第1映像を生成する(S37)。CPU121は、メインウィンドウ20に含まれる映像ウィンドウ21のうち、受信された第1映像データに関連付けられた第3ID「12A」と同じ表示IDの映像ウィンドウ23A(図1参照)に、生成された第1映像を表示させる(S39、R42(図8参照))。
The
又、通信装置12BのCPU121は、サーバ装置11から矢印C20のように送信された第2映像データを受信する(S31)。CPU121は、上記と同様、第1映像データをデコードの対象として特定する(S33)。CPU121は、S31の処理によって第1映像データが受信され、且つ、S33の処理によって第2映像データが特定されているので、映像データの種別が一致しないと判断する(S35:NO)。この場合、CPU121は、受信された第2映像データをRAM123から削除する(S41、R52(図8参照))。
Further, the
通信装置12CのCPU121は、サーバ装置11から矢印C18のように送信された第1映像データを受信する(S31)。CPU121は、通信装置12Cの記憶部124に記憶された第1テーブル124A(図2(C)参照)に格納された負荷状態「高状態」を取得する。CPU121は、第1テーブル124Aのうち、受信された第1映像データに関連付けられた第3ID「12A」と同じ表示IDに対応付けられた解像度「320×240」を取得する。CPU121は、高状態が設定されているので、上記の(2)の条件を満たすと判断する。この場合、CPU121は、取得された解像度に関わらず、第2映像データをデコードの対象として特定する(S33)。CPU121は、S31の処理によって第1映像データが受信され、且つ、S33の処理によって第2映像データが特定されているので、映像データの種別が一致しないと判断する(S35:NO)。この場合、CPU121は、受信された第1映像データをRAM123から削除する(S41、R43(図8参照))。
The
又、通信装置12CのCPU121は、サーバ装置11から矢印C20のように送信された第2映像データを受信する(S31)。CPU121は、上記と同様、第2映像データをデコードの対象として特定する(S33)。CPU121は、S31の処理によって第2映像データが受信され、且つ、S33の処理によって第2映像データが特定されているので、映像データの種別が一致すると判断する(S35:YES)。この場合、CPU121は、受信された第2映像データをデコードして第2映像を生成する(S37)。CPU121は、メインウィンドウ20に含まれる映像ウィンドウ21のうち、受信された第2映像データに関連付けられた第3ID「12A」と同じ表示IDの映像ウィンドウ24A(図1参照)に、第2映像を表示させる(S39、R53(図8参照))。
Further, the
<サーバ処理>
図10を参照し、サーバ装置11のCPU121によって実行されるサーバ処理について説明する。サーバ処理は、負荷状態、解像度、及び、映像データの何れかを通信装置12から受信した場合、記憶部114に記憶されたプログラムをCPU111が実行することによって開始される。なお、CPU111は、会議室に参加するすべての通信装置12A〜12CのID及びアドレス情報を、通信装置12A〜12Cとの間でセッションが確立された場合に取得する。CPU111は、通信装置12A〜12CのID及びアドレス情報を対応付け、記憶部114に記憶する。
<Server processing>
Server processing executed by the
はじめに、CPU111は、通信装置12から送信された負荷状態(C11、13、15(図8参照))を受信したか判断する(S101)。CPU111は、負荷状態が受信されたと判断された場合(S101:YES)、受信された負荷状態を送信した通信装置12のIDを特定する。CPU111は、特定した第1IDを、第1IDとして負荷状態に対応付け、記憶部114のテーブル114A(図9参照)に記憶する(S103)。CPU111は、受信された負荷状態に第1IDを関連付けて、会議室に参加するすべての通信装置12に対してブロードキャスト送信する(S105、C12、14、16(図8参照))。CPU111は処理をS107に進める。一方、CPU111は、負荷状態を受信していないと判断された場合(S101:NO)、処理をS107に進める。
First, the
CPU111は、通信装置12から送信された解像度(C11、13、15(図8参照))を受信したか判断する(S107)。CPU111は、解像度を受信したと判断された場合(S107:YES)、受信された解像度を送信した通信装置12のIDを第1IDとして特定する。CPU111は、受信された解像度に関連付けられたIDを、第2IDとして特定する。CPU111は、特定した第1ID及び第2IDと、受信された解像度とを対応付け、記憶部114のテーブル114Aに記憶する(S109)。CPU111は、受信された解像度に第1ID及び第2IDを関連付けて、会議室に参加するすべての通信装置12に対してブロードキャスト送信する(S111、C12、14、16(図8参照))。CPU111は処理をS113に進める。一方、CPU111は、解像度を受信していないと判断された場合(S107:NO)、処理をS113に進める。
The
CPU111は、通信装置12から送信された映像データ(C17、19(図8参照))を受信したか判断する(S113)。CPU111は、映像データを受信したと判断された場合(S113:YES)、受信された映像データを送信した通信装置12のIDを特定する。CPU111CPU111は、特定したIDを第3IDとして映像データに関連付けて、会議室に参加するすべての通信装置12に対してブロードキャスト送信する(S115、C18、20(図8参照))。CPU111はサーバ処理を終了させる。一方、CPU111は、映像データを受信していないと判断された場合(S113:NO)、サーバ処理を終了させる。
The
なお、図10では説明を省略しているが、CPU111は、通信装置12との間でセッションが確立された場合、テーブル114Aに格納された各負荷状態に第1IDを関連付けて、セッションが確立された通信装置12に対して送信する。又、CPU111は、通信装置12との間でセッションが確立された場合、テーブル114Aに格納された各解像度に第1ID及び第2IDを関連付けて、セッションが確立された通信装置12に対して送信する。これによって、通信装置12のCPU121は、会議室に参加した直後の状態であっても、第1テーブル124A及び第2テーブル124Bを作成して映像ウィンドウ21に映像を表示することが可能となる。
Although not described in FIG. 10, when a session is established with the
<本実施形態の主たる作用、効果>
図2(A)〜(C)によって示される第1テーブル124A及び第2テーブル124Bが通信装置12A〜12Cの記憶部124に記憶された状態で、通信装置12CのCPU121によって、負荷状態が中状態と判断された場合(S19)を例示する。この場合、図2(C)と異なり、通信装置12Cの第1テーブル124Aにおいて、負荷状態として中状態が格納される。又、図11(D)で示されるように、通信装置12Aの第2テーブル124Bにおいて、第1ID「12C」に対応する負荷状態として、中状態が格納される。
<Main functions and effects of this embodiment>
With the first table 124A and the second table 124B shown in FIGS. 2A to 2C stored in the
上記の場合において、通信装置12AのCPU121は、図11(D)の第2テーブル124Bに基づき、通信装置12Cの負荷状態が中状態であり(S61:YES)、且つ、通信装置12Cの表示部126に表示された映像ウィンドウ21のうち表示IDが「12A」の映像ウィンドウ24Aの解像度(320×240)が、第2所定値以下であると判断する(S63:NO)。この場合、CPU121は、第2エンコード条件で撮影データをエンコードすると決定し(S67)、第2映像データを生成してサーバ装置11に送信する(S69、S73)。その理由は、通信装置12CのCPU121の負荷を軽減させることを優先させるためである。ここで、第2映像データをデコードする場合のCPU121の負荷は、第1映像データをデコードする場合のCPU121の負荷よりも小さくなる。このため、通信装置12AのCPU121は、第2映像データを生成して送信することによって、通信装置12CのCPU121が映像データのデコード処理を行うときの負荷を軽減できる。
In the above case, the
なお、第2映像が映像ウィンドウ24Aに表示された場合、第2映像の画質は、第1映像が表示された場合の画質よりも低画質となる場合がある。これに対し、通信装置12AのCPU121は、映像ウィンドウ24Aの解像度が第2所定値以下であるので、第2映像データを生成して送信する。その理由は、映像ウィンドウ24Aの解像度が低いので、例えば第1映像に代えて第2映像が映像ウィンドウ24Aに表示された場合でも、映像の画質の劣化が目立ちにくい為である。このように、通信装置12Aは、第2映像データを生成して送信することによって、通信装置12Cの表示部126の映像ウィンドウ24Aに表示される映像の画質が低画質となることを抑制しつつ、通信装置12CのCPU121の負荷を軽減できる。
When the second video is displayed on the
又、上記の場合において、通信装置12AのCPU121は、図11(D)の第2テーブル124Bに基づき、通信装置12Bの負荷状態が中状態であり(S61:YES)、且つ、通信装置12Bの表示部126に表示された映像ウィンドウ21のうち表示IDが「12A」の映像ウィンドウ23Aの解像度(640×480)が、第2所定値よりも大きいと判断する(S63:YES)。この場合、CPU121は、第1エンコード条件で撮影データをエンコードすると決定し(S65)、第1映像データを生成してサーバ装置11に送信する(S69、S73)。その理由は、映像ウィンドウ23Aの解像度が高く、例えば第1映像に代えて第2映像が映像ウィンドウ23Aに表示された場合、映像の画質の劣化が目立ちやすいので、映像の画質を優先させる必要性が高いためである。なお、通信装置12BのCPU121の負荷状態は中状態であるので、第1映像データのデコードによってCPU121の負荷が高くなり過ぎる可能性は低い。
In the above case, the
図2(A)〜(C)によって示される第1テーブル124A及び第2テーブル124Bが通信装置12A〜12Cの記憶部124に記憶された状態で、通信装置12BのCPU121によって負荷状態が低状態と判断された場合(S15)を例示する。この場合、図2(B)と異なり、通信装置12Bの第1テーブル124Aにおいて、負荷状態として低状態が格納される。又、図11(E)で示されるように、通信装置12Aの第2テーブル124Bにおいて、第1ID「12B」に対応する負荷状態として低状態が格納される。
In a state where the first table 124A and the second table 124B shown in FIGS. 2A to 2C are stored in the
上記の場合において、通信装置12AのCPU121は、図11(E)の第2テーブル124Bに基づき、通信装置12Bの負荷状態が低状態であるので(S59:YES)、映像ウィンドウ21の解像度に関わらず、第1エンコード条件で撮影データをエンコードすると決定する(S65)。この場合、CPU121は、第1映像データを生成してサーバ装置11に送信する(S69、S73)。その理由は、通信装置12BのCPU121の負荷が既に低い状態であるので、CPU121の負荷を更に軽減させる必要性が低い為である。この場合、通信装置12Bの表示部126の映像ウィンドウ23Aには、第1映像が表示される。従って、通信装置12Aは、通信装置12Bの表示部126の映像ウィンドウ21に映像を高画質で表示させることができる。
In the above case, the
又、上記の場合において、通信装置12AのCPU121は、図11(E)の第2テーブル124Bに基づき、通信装置12Cの負荷状態が高状態であるので(S61:NO)、映像ウィンドウ21の解像度に関わらず、第2エンコード条件で撮影データをエンコードすると決定する(S69)。この場合、CPU121は、第2映像データを生成してサーバ装置11に送信する(S69、S73)。その理由は、通信装置12CのCPU121の負荷が既に高い状態であるので、CPU121の負荷を軽減させる必要性が高い為である。この場合、通信装置12CのCPU121は、第2映像データをデコードして第2映像を映像ウィンドウ24Aに表示させる。従って、通信装置12AのCPU121は、通信装置12CのCPU121が映像データのデコード処理を行うときの負荷を軽減できる。
In the above case, the
通信装置12のCPU121は、サーバ装置11からブロードキャスト送信された映像データを受信した(S31)場合、第1テーブル124A及び第2テーブル124Bに基づき、デコードの対象とする映像データを、(1)〜(4)の条件に応じて特定する(S33)。CPU121は、受信された映像データと、デコードの対象とする映像データとが、何れも第1映像データである場合、又は、何れも第2映像データである場合(S35:YES)、映像データをデコードする(S37)。一方、CPU121は、双方の映像データが第1映像データと第2映像データとで相違する場合(S35:NO)、映像データをデコードせず、記憶部124から削除する(S41)。
When the
具体的には、CPU121は、(1)として、自身の負荷状態として低状態が設定されている場合、映像ウィンドウ21の解像度に関わらず、第1映像データをデコードの対象として特定する。この理由は、CPU121の負荷が低い状態であるので、第1映像データをデコードしても、CPU121の負荷が高くなり過ぎる可能性が低い為である。又、第1映像を映像ウィンドウ21に表示させることによって、映像の画質を高品質とすることができるためである。又、CPU121は、(2)として、自身の負荷状態として高状態が設定されている場合、映像ウィンドウ21の解像度に関わらず、第2映像データをデコードの対象として特定する。この理由は、CPU121の負荷が高い状態であるので、第2映像データをデコードすることによってCPU121の負荷を軽減させる必要性が高い為である。又、CPU121は、(3)として、自身の負荷状態として中状態が設定されている場合であって、映像ウィンドウ21の解像度が第2所定値よりも大きい場合、第1映像データをデコードの対象として特定する。この理由は、映像ウィンドウ21の解像度が高く、映像の画質の劣化が目立ちやすいので、映像の画質を優先させる必要性が高いためである。又、CPU121の負荷状態は中状態であるので、第1映像データのデコードによってCPU121の負荷が高くなり過ぎる可能性は低いためである。又、CPU121は、(4)として、自身の負荷状態として中状態が設定されている場合であって、取得された解像度が第2所定値以下の場合、第2映像データをデコードの対象として特定する。この理由は、映像ウィンドウ21の解像度が低く、映像の画質の劣化が目立ちにくいので、CPU121の負荷を軽減させることを優先させるためである。
Specifically, as (1), when a low state is set as its own load state, the
以上のように、CPU121は、CPU121の負荷が高くなることを抑制しつつ、映像ウィンドウ21に表示される映像の画質を維持できる。又、CPU121は、サーバ装置11からブロードキャスト送信された映像データをデコードするか否かを、第1テーブル124A及び第2テーブル124Bに基づいて判断できる。
As described above, the
CPU121は、第1テーブル124Aの負荷状態が低状態に設定されている場合、デコードの対象とする映像データとして、第1映像データを特定する(S33)。又、CPU121は、映像データがデコードされる場合におけるCPU121の使用率を、負荷の度合いとして特定する(図3参照)。CPU121は、特定された負荷の度合いが第1所定値以上の場合(S11:YES)、且つ、第1テーブル124Aの負荷状態が低状態に設定されている場合(S17:YES)、第1テーブル124Aの負荷状態に中状態を設定する(S19)。つまり、第1映像データがデコードされる場合の負荷の度合いが第1所定値以上の場合、負荷状態は、低状態から中状態に変更されることになる。このため、CPU121は、デコード時のCPU121の負荷が大きい第1映像データをデコードする場合の負荷の度合いが、第1所定値以上の場合に、低状態に対して1段階上の中状態に負荷状態を設定できる。
When the load state of the first table 124A is set to the low state, the
CPU121は、第1テーブル124Aの負荷状態が高状態に設定されている場合、デコードの対象とする映像データとして、第2映像データを特定する(S33)。又、CPU121は、特定された負荷の度合いが第1所定値よりも小さい場合(S11:NO)、且つ、第1テーブル124Aの負荷状態が高状態に設定されている場合(S13:YES)、第1テーブル124Aの負荷状態に中状態を設定する(S19)。つまり、第2映像データがデコードされる場合の負荷の度合いが第1所定値よりも場合、負荷状態は、高状態から中状態に変更されることになる。このため、CPU121は、デコード時のCPU121の負荷が小さい第2映像データをデコードする場合の負荷の度合いが、第1所定値よりも小さい場合に、高状態に対して1段階下の中状態に負荷状態を設定できる。前回設定された負荷状態、及び、現時点での負荷の度合いに基づいて、負荷状態が設定されるため、現時点での負荷の度合いのみに基づいて負荷状態が設定される場合と比べて、より細かな負荷状態の設定が可能になる。
When the load state of the first table 124A is set to the high state, the
<変形例>
なお、本発明は上記実施形態に限定されず、種々の変更が可能である。上記において、通信装置12間の通信は、サーバ装置11を介して実行された。これに対し、通信装置12間の通信は、サーバ装置11を介さず直接行われてもよい。通信装置12のCPU121は、撮影データのエンコード処理、及び、映像データのデコード処理を、専用デバイスに実行させてもよい。CPU121は、専用デバイスのエンコード処理によって専用デバイスから出力される映像データ、及び、専用デバイスのデコード処理によって専用デバイスから出力される映像を取得してもよい。
<Modification>
In addition, this invention is not limited to the said embodiment, A various change is possible. In the above, the communication between the
上記において、CPU121は、映像データがデコードされる場合におけるCPU121の使用率を、負荷の度合いとして特定した(S11)。CPU121は、負荷の度合いとして別のパラメータを特定してもよい。例えば、CPU121は、映像データがデコードされる場合のCPU121の処理速度、処理量、RAM123の使用率、デコード終了までに要する時間の少なくとも何れかを、負荷の度合いとして特定してもよい。又、CPU121は、使用率、処理速度、処理量、RAM123の使用率、及び、デコード終了までに要する時間のうち2つ以上を、所定の演算式に適用してパラメータを算出し、このパラメータを負荷の度合いとして特定してもよい。
In the above, the
上記において、CPU121は、映像ウィンドウ21のドット数を解像度としてサーバ装置11に送信した。このため、各ドットの大きさが通信装置12によって異なる場合、つまり、各通信装置12の表示部126の大きさが相違する場合、解像度が同一であっても、映像ウィンドウ21の大きさが異なる場合があった。これに対し、CPU121は、映像ウィンドウ21の解像度に加えて、映像ウィンドウ21の縦方向及び横方向の長さ(以下、「映像ウィンドウの大きさ」という。)を、S45の処理によってサーバ装置11に対して送信してもよい。サーバ装置11のCPU111は、解像度及び映像ウィンドウの大きさを受信した場合、解像度及び映像ウィンドウの大きさを通信装置12に対してブロードキャスト送信してもよい。通信装置12のCPU121は、解像度及び映像ウィンドウの大きさを受信した場合、S63の処理によって、解像度が第2所定値よりも大きく且つ映像ウィンドウの大きさが第3所定値よりも大きい場合(S63:YES)、第1エンコード条件で撮影データをエンコードすると決定してもよい。一方、CPU121は、解像度が第2所定以下か、又は、映像ウィンドウの大きさが第3所定値以下の場合(S63:NO)、第2エンコード条件で撮影データをエンコードすると決定してもよい。
In the above description, the
CPU121は、使用率が第1所定値以上である状態の経過時間に応じて、低状態、中状態、及び、高状態の何れかを負荷状態として特定してもよい。例えば、CPU121は、使用率が第1所定値以上である状態が所定時間以上継続した場合に、より大きな(例えば、1段階上の)負荷状態を特定してもよい。ここで、低状態に対する1段階上の負荷状態は中状態であり、中状態に対する1段階上の負荷状態は高状態である。又、CPU121は、使用率が第1所定値未満である状態が所定時間以上継続した場合に、より小さな(例えば、1段階下の)負荷状態を特定してもよい。ここで、高状態に対する1段階下の負荷状態は中状態であり、中状態に対する1段階下の負荷状態は低状態である。又、CPU121は、負荷状態を3段階(低状態、中状態、及び、高状態)で特定した。これに対し、CPU121は、負荷状態を2段階(低状態及び中状態、又は、中状態及び高状態)で特定してもよいし、4段階以上で特定してもよい。
The
上記において、通信装置12のCPU121は、映像データをサーバ装置11に送信する場合、映像データの宛先の通信装置12を指定して送信してもよい。又、サーバ装置11は、映像データを通信装置12に対して送信する場合、ブロードキャスト送信でなく、映像データを受信したときに指定された宛先に対して送信してもよい。この場合、CPU121は、第5処理を実行せず、受信した映像データをすべてデコードしてもよい。
In the above, when transmitting video data to the server device 11, the
上記において、通信装置12のCPU121は、一定周期で第1処理(図3参照)を実行して負荷状態を特定し、サーバ装置11に送信した。又、CPU121は、映像ウィンドウ21の解像度が変更された場合に第2処理(図4参照)を実行して解像度を取得し、サーバ装置11に送信した。これに対し、CPU121は、映像データを送信するタイミングで、サーバ装置11に対して要求データを送信してもよい。サーバ装置11のCPU111は、要求データを受信した場合、要求データをブロードキャスト通信してもよい。通信装置12のCPU121は、要求データを受信した場合、負荷状態及び解像度をサーバ装置11に対して送信してもよい。サーバ装置11のCPU111は、負荷状態及び解像度を受信した場合、要求データを送信した通信装置12に対して負荷状態及び解像度を送信してもよい。
In the above, the
<その他>
S73の処理は、本発明の第1通信装置のコンピュータに実行させるための通信プログラム(以下、「第1通信プログラム」という。)における「送信ステップ」の一例である。S83、S87の処理は本発明の第1通信プログラムにおける「受信ステップ」の一例である。S61の処理は本発明の本発明の第1通信プログラムにおける「第1判断ステップ」「第4判断ステップ」の一例である。S63の処理は本発明の本発明の第1通信プログラムにおける「第2判断ステップ」の一例である。S65、S67、S69の処理は本発明の本発明の第1通信プログラムにおける「第1生成ステップ」「第2生成ステップ」「第3生成ステップ」の一例である。S59の処理は本発明の本発明の第1通信プログラムにおける「第3判断ステップ」の一例である。S15、S19、S21の処理は、本発明の第2通信装置のコンピュータに実行させるための通信プログラム(以下、「第2通信プログラム」という。)における「決定ステップ」の一例である。S41の処理は本発明の第2通信プログラムにおける「取得ステップ」の一例である。S31の処理は本発明の第2通信プログラムにおける「受信ステップ」の一例である。S33の処理は本発明の第2通信プログラムにおける「第1判断ステップ」の一例である。S35、S37、S41の処理は本発明の第2通信プログラムにおける「処理ステップ」の一例である。S73の処理を行うCPU121は、本発明の「送信手段」の一例である。S83、S87の処理を行うCPU121は、本発明の「第1受信手段」の一例である。S61の処理を行うCPU121は、本発明の「第1判断手段」の一例である。S63の処理を行うCPU121は、本発明の「第2判断手段」の一例である。S65、S67、S69の処理を行うCPU121は、本発明の「第1生成手段」の一例である。S15、S19、S21の処理を行うCPU121は、本発明の「決定手段」の一例である。S41の処理を行うCPU121は、本発明の「取得手段」の一例である。S31の処理を行うCPU121は、本発明の「受信手段」の一例である。S33の処理を行うCPU121は、本発明の「第3判断手段」の一例である。S35、S37、S41の処理を行うCPU121は、本発明の「処理手段」の一例である。中状態は、本発明の「第1負荷状態」の一例である。低状態は、本発明の「第2負荷状態」の一例である。高状態は、本発明の「第3負荷状態」の一例である。
<Others>
The process of S73 is an example of a “transmission step” in a communication program (hereinafter referred to as “first communication program”) to be executed by the computer of the first communication apparatus of the present invention. The processes of S83 and S87 are an example of “reception step” in the first communication program of the present invention. The process of S61 is an example of “first determination step” and “fourth determination step” in the first communication program of the present invention. The process of S63 is an example of the “second determination step” in the first communication program of the present invention. The processes of S65, S67, and S69 are examples of “first generation step”, “second generation step”, and “third generation step” in the first communication program of the present invention. The process of S59 is an example of a “third determination step” in the first communication program of the present invention. The processing of S15, S19, and S21 is an example of a “decision step” in a communication program (hereinafter referred to as “second communication program”) that is executed by the computer of the second communication apparatus of the present invention. The process of S41 is an example of an “acquisition step” in the second communication program of the present invention. The process of S31 is an example of a “reception step” in the second communication program of the present invention. The process of S33 is an example of a “first determination step” in the second communication program of the present invention. The processing of S35, S37, and S41 is an example of “processing step” in the second communication program of the present invention. The
1 :通信システム
11 :サーバ装置
12、12A、12B、12C :通信装置
111 :CPU
114A :テーブル
121 :CPU
124A :第1テーブル
124B :第2テーブル
125 :カメラ
1: Communication system 11:
114A: Table 121: CPU
124A: First table 124B: Second table 125: Camera
Claims (8)
前記第1通信装置のカメラにおいて撮影された映像がエンコードされた映像データを送信する送信ステップと、
前記遠隔会議に参加する第2通信装置が前記映像データをデコードする場合の負荷状態、及び、前記映像データがデコードされた映像が、前記第2通信装置の表示部に表示される場合の解像度を受信する受信ステップと、
前記受信ステップによって受信された前記負荷状態が、第1負荷状態か判断する第1判断ステップと、
前記受信ステップによって受信された前記解像度が、第2所定値以下か判断する第2判断ステップと、
前記第1判断ステップによって前記第1負荷状態と判断された場合、
前記第2判断ステップによって前記解像度が前記第2所定値以下と判断されたことに応じて、第2エンコード条件でエンコードされた第2映像データを生成し、
前記第2判断ステップによって前記解像度が前記第2所定値より大きいと判断されたことに応じて、前記第2エンコード条件よりも負荷が大きい第1エンコード条件でエンコードされた第1映像データを生成する第1生成ステップと
を前記コンピュータに実行させ、
前記送信ステップは、
前記第1生成ステップによって前記第1映像データが生成された場合、前記映像データとして前記第1映像データを送信し、
前記第1生成ステップによって前記第2映像データが生成された場合、前記映像データとして前記第2映像データを送信することを特徴とする通信プログラム。 A communication program for causing a computer of a first communication device capable of participating in a remote conference to execute,
A transmission step of transmitting video data in which video captured by the camera of the first communication device is encoded;
Before SL load condition when the second communication device to participate in a teleconference to decode the video data, and the resolution of the case where the image data is video image which has been decoded, is displayed on the display unit of the second communication device Receiving step for receiving,
A first determination step of determining whether the load state received by the reception step is a first load state;
A second determination step of determining whether the resolution received by the reception step is equal to or less than a second predetermined value;
When it is determined in the first load state by the first determination step,
In response to determining that the resolution is equal to or less than the second predetermined value in the second determination step, generate second video data encoded under a second encoding condition;
When the second determination step determines that the resolution is greater than the second predetermined value, the first video data encoded under the first encoding condition having a load greater than that of the second encoding condition is generated. Causing the computer to execute a first generation step;
The transmitting step includes
When the first video data is generated by the first generation step, the first video data is transmitted as the video data,
When the second video data is generated by the first generation step, the communication program transmits the second video data as the video data.
前記第3判断ステップによって前記第2負荷状態と判断された場合、前記第1エンコード条件でエンコードされた前記第1映像データを生成する第2生成ステップと
を前記コンピュータに更に実行させ、
前記送信ステップは、前記第2生成ステップによって生成された前記第1映像データを、前記映像データとして送信することを特徴とする請求項1に記載の通信プログラム。 A third determination step for determining whether the load state received by the reception step is a second load state indicating that the load state is smaller than the first load state;
If it is determined in the second load state by the third determination step, the computer further executes a second generation step of generating the first video data encoded under the first encoding condition;
The communication program according to claim 1, wherein the transmission step transmits the first video data generated by the second generation step as the video data.
前記第4判断ステップによって前記第3負荷状態と判断された場合、前記第2エンコード条件でエンコードされた前記第2映像データを生成する第3生成ステップを更に前記コンピュータに実行させ、
前記送信ステップは、前記第3生成ステップによって生成された前記第2映像データを、前記映像データとして送信することを特徴とする請求項1又は2に記載の通信プログラム。 A fourth determination step for determining whether the load state received by the reception step is a third load state indicating that the load state is greater than the first load state;
If it is determined in the third load state by the fourth determination step, the computer further executes a third generation step of generating the second video data encoded under the second encoding condition,
The communication program according to claim 1 or 2, wherein the transmission step transmits the second video data generated by the third generation step as the video data.
前記第2通信装置が前記第1映像データをデコードするときの負荷の度合いが第1所定値以上の場合、又は、前記第2通信装置が前記第2映像データをデコードするときの負荷の度合いが前記第1所定値より小さい場合、前記第1負荷状態と判断することを特徴とする請求項1から3の何れかに記載の通信プログラム。 The first determination step includes
The degree of load when the second communication device decodes the first video data is greater than or equal to a first predetermined value, or the degree of load when the second communication device decodes the second video data. The communication program according to any one of claims 1 to 3, wherein if it is smaller than the first predetermined value, the first load state is determined.
前記遠隔会議に参加する第1通信装置からの映像データをデコードするときの前記第2通信装置における負荷状態を決定する決定ステップと、
前記第2通信装置の表示部に、前記映像データがデコードされた映像が表示される場合の解像度を取得する取得ステップと、
前記映像データとして、第1エンコード条件でエンコードされた第1映像データ、及び、前記第1エンコード条件よりも負荷が小さい第2エンコード条件でエンコードされた第2映像データを受信する受信ステップと、
前記決定ステップによって決定された前記負荷状態、及び、前記取得ステップによって取得された前記解像度に基づいて、前記第1映像データ及び前記第2映像データの何れかをデコードすると判断する第1判断ステップと、
前記受信ステップによって受信された前記映像データと、前記第1判断ステップによってデコードすると判断された前記映像データとが、何れも前記第1映像データである場合又は何れも前記第2映像データである場合、前記映像データをデコードし、前記受信ステップによって受信された前記映像データと、前記第1判断ステップによってデコードすると判断された前記映像データとが、前記第1映像データと前記第2映像データとで相違する場合、前記映像データをデコードしない処理ステップと
を前記コンピュータに実行させるための通信プログラム。 A communication program for causing a computer of a second communication device capable of participating in a remote conference to execute,
A determination step of determining a load state in the second communication device when decoding video data from the first communication device participating in the remote conference;
An acquisition step of acquiring a resolution when a video obtained by decoding the video data is displayed on the display unit of the second communication device;
A receiving step of receiving, as the video data, first video data encoded under a first encoding condition, and second video data encoded under a second encoding condition having a smaller load than the first encoding condition;
A first determination step of determining to decode one of the first video data and the second video data based on the load state determined by the determination step and the resolution acquired by the acquisition step; ,
When the video data received by the receiving step and the video data determined to be decoded by the first determining step are both the first video data or when both are the second video data The video data decoded and received by the receiving step and the video data determined to be decoded by the first determining step are the first video data and the second video data. A communication program for causing the computer to execute a processing step that does not decode the video data if they are different.
前記映像データをデコードするときの前記第2通信装置における負荷の度合いに応じて、前記負荷状態を、第1負荷状態、前記第1負荷状態よりも前記度合いの小さい第2負荷状態、及び、前記第1負荷状態よりも前記度合いの大きい第3負荷状態の何れかとして決定し、
前記第1判断ステップは、
前記決定ステップによって前記第2負荷状態が決定された場合、前記第1映像データをデコードすると判断し、
前記決定ステップによって前記第3負荷状態が決定された場合、前記第2映像データをデコードすると判断し、
前記決定ステップによって前記第1負荷状態が決定された場合であって、前記解像度が第2所定値よりも大きい場合、前記第1映像データをデコードすると判断し、
前記決定ステップによって前記第1負荷状態が決定された場合であって、前記解像度が前記第2所定値以下の場合、前記第2映像データをデコードすると判断する
ことを特徴とする請求項6に記載の通信プログラム。 The determining step includes
Depending on the degree of load on the second communication device when decoding the video data, the load state is changed to a first load state, a second load state having a smaller degree than the first load state, and the It is determined as one of the third load states having a larger degree than the first load state,
The first determination step includes
If the second load state is determined by the determining step, determining that the first video data is to be decoded;
When the third load state is determined by the determining step, it is determined to decode the second video data;
When the first load state is determined by the determining step, and the resolution is greater than a second predetermined value, it is determined to decode the first video data;
7. The method according to claim 6, wherein when the first load state is determined by the determining step and the resolution is equal to or less than the second predetermined value, it is determined that the second video data is to be decoded. Communication program.
前記第1通信装置は、
前記第1通信装置のカメラにおいて撮影された映像がエンコードされた映像データを送信する送信手段と、
前記第2通信装置が前記映像データをデコードする場合の負荷状態、及び、前記映像データがデコードされた映像が、前記第2通信装置の表示部に表示される場合の解像度を受信する第1受信手段と、
前記第1受信手段によって受信された前記負荷状態が、第1負荷状態か判断する第1判断手段と、
前記第1受信手段によって受信された前記解像度が、第2所定値以下か判断する第2判断手段と、
前記第1判断手段によって前記第1負荷状態と判断された場合、
前記第2判断手段によって前記解像度が前記第2所定値以下と判断されたことに応じて、第2エンコード条件でエンコードされた第2映像データを生成し、
前記第2判断手段によって前記解像度が前記第2所定値より大きいと判断されたことに応じて、前記第2エンコード条件よりも負荷が大きい第1エンコード条件でエンコードされた第1映像データを生成する第1生成手段と
を備え、
前記送信手段は、
前記第1生成手段によって前記第1映像データが生成された場合、前記映像データとして前記第1映像データを送信し、
前記第1生成手段によって前記第2映像データが生成された場合、前記映像データとして前記第2映像データを送信し、
前記第2通信装置は、
前記負荷状態を決定する決定手段と、
前記解像度を取得する取得手段と、
前記映像データとして前記第1通信装置から送信された前記第1映像データ及び前記第2映像データを受信する第2受信手段と、
前記決定手段によって決定された前記負荷状態、及び、前記取得手段によって取得された前記解像度に基づいて、前記第1映像データ及び前記第2映像データの何れかをデコードすると判断する第3判断手段と、
前記第2受信手段によって受信された前記映像データと、前記第3判断手段によってデコードすると判断された前記映像データとが、何れも前記第1映像データである場合又は何れも前記第2映像データである場合、前記映像データをデコードし、前記第2受信手段によって受信された前記映像データと、前記第3判断手段によってデコードすると判断された前記映像データとが、前記第1映像データと前記第2映像データとで相違する場合、前記映像データをデコードしない処理手段と
を備えたことを特徴とする通信システム。 A communication system including a first communication device and a second communication device capable of participating in a remote conference,
The first communication device is
Transmitting means for transmitting video data encoded with video captured by the camera of the first communication device;
Before SL load condition when the second communication device decodes the video data, and the first video to the video data is decoded, it receives the resolution when displayed on the display unit of the second communication device Receiving means;
First determination means for determining whether the load state received by the first reception means is a first load state;
Second determination means for determining whether the resolution received by the first reception means is equal to or lower than a second predetermined value;
When it is determined by the first determination means that the first load state,
In response to determining that the resolution is equal to or lower than the second predetermined value by the second determination unit, generate second video data encoded under a second encoding condition;
In response to determining that the resolution is greater than the second predetermined value by the second determination unit, first video data encoded under a first encoding condition having a load greater than that of the second encoding condition is generated. First generating means,
The transmission means includes
When the first video data is generated by the first generation means, the first video data is transmitted as the video data,
When the second video data is generated by the first generation means, the second video data is transmitted as the video data,
The second communication device is
Determining means for determining the load state;
Obtaining means for obtaining the resolution;
Second receiving means for receiving the first video data and the second video data transmitted from the first communication device as the video data;
Third determination means for determining to decode one of the first video data and the second video data based on the load state determined by the determination means and the resolution acquired by the acquisition means; ,
The video data received by the second receiving means and the video data determined to be decoded by the third determining means are both the first video data, or both are the second video data. In some cases, the video data is decoded, the video data received by the second receiving means, and the video data determined to be decoded by the third determining means are the first video data and the second video data. A communication system comprising processing means for decoding video data when it differs from video data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015192752A JP6406200B2 (en) | 2015-09-30 | 2015-09-30 | Communication program and communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015192752A JP6406200B2 (en) | 2015-09-30 | 2015-09-30 | Communication program and communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017069746A JP2017069746A (en) | 2017-04-06 |
JP6406200B2 true JP6406200B2 (en) | 2018-10-17 |
Family
ID=58492876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015192752A Expired - Fee Related JP6406200B2 (en) | 2015-09-30 | 2015-09-30 | Communication program and communication system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6406200B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111050108A (en) * | 2019-12-19 | 2020-04-21 | 维沃移动通信有限公司 | Method and device for realizing multi-channel video call and electronic equipment |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09275550A (en) * | 1996-04-05 | 1997-10-21 | Fujitsu Ltd | Video conference system |
JP2011029868A (en) * | 2009-07-24 | 2011-02-10 | Ricoh Co Ltd | Terminal device, remote conference system, method for controlling terminal device, control program of terminal device, and computer readable recording medium recording control program of terminal device |
JP2012178672A (en) * | 2011-02-25 | 2012-09-13 | Ricoh Co Ltd | Repeating apparatus, and multi-base video conference system |
-
2015
- 2015-09-30 JP JP2015192752A patent/JP6406200B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111050108A (en) * | 2019-12-19 | 2020-04-21 | 维沃移动通信有限公司 | Method and device for realizing multi-channel video call and electronic equipment |
Also Published As
Publication number | Publication date |
---|---|
JP2017069746A (en) | 2017-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113038287B (en) | Method and device for realizing multi-user video live broadcast service and computer equipment | |
JP2015186127A (en) | Program and server device | |
US10079867B2 (en) | Apparatus, system, and method of controlling output of content data, and recording medium | |
CN109309842B (en) | Live broadcast data processing method and device, computer equipment and storage medium | |
WO2018024231A1 (en) | Method and apparatus for interconnecting spliced wall and mobile intelligent terminal | |
US9344678B2 (en) | Information processing apparatus, information processing method and computer-readable storage medium | |
WO2017041551A1 (en) | Spice protocol-based image transmission method and apparatus | |
KR20180104641A (en) | Apparatus and method for generating, streaming, and rendering high dynamic range images | |
CN104102421A (en) | Method and system for replacing shooting content by using screenshot content | |
CN111343503B (en) | Video transcoding method and device, electronic equipment and storage medium | |
US20170093937A1 (en) | Storage Medium Storing Program and Teleconference Method | |
US9344680B2 (en) | Server and non-transitory computer readable medium storing program for remote conference | |
JP2016192610A (en) | Remote conference program, controller and remote conference method | |
JP6406200B2 (en) | Communication program and communication system | |
US20190306462A1 (en) | Image processing apparatus, videoconference system, image processing method, and recording medium | |
JP2005223430A (en) | Image communication system, image distributing server, client terminal, image communication method, and program | |
CN105992055B (en) | video decoding method and device | |
US11284094B2 (en) | Image capturing device, distribution system, distribution method, and recording medium | |
JP2010147905A (en) | Display control device and image processor | |
CN113573004A (en) | Video conference processing method and device, computer equipment and storage medium | |
WO2016154816A1 (en) | Data processing method and device | |
JP2016096395A (en) | Television conference device, television conference system, and program | |
EP2733531A1 (en) | Method and apparatus for temporal stabilization of streaming frames | |
KR20190065792A (en) | Electronic device and method for transmitting image data thereof | |
CN113965714B (en) | Video stream processing method and device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170922 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180605 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180711 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180821 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180903 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6406200 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |