JP6406200B2 - Communication program and communication system - Google Patents

Communication program and communication system Download PDF

Info

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
Application number
JP2015192752A
Other languages
Japanese (ja)
Other versions
JP2017069746A (en
Inventor
孝一 櫻井
孝一 櫻井
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 JP2015192752A priority Critical patent/JP6406200B2/en
Publication of JP2017069746A publication Critical patent/JP2017069746A/en
Application granted granted Critical
Publication of JP6406200B2 publication Critical patent/JP6406200B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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. Patent Document 1 discloses a system that can provide a video service to a user of each communication device by performing communication between the plurality of communication devices. In this system, setting conditions when a video frame is transmitted from each communication device to the destination communication device are determined based on the relationship between the cost coefficient of each communication device and the CPU resource. The cost coefficient is specified based on the current video frame encoding clock, decoding clock, rendering clock, frame rate, and the like. Specific examples of the setting conditions to be determined include the frame size of the video frame, the frame rate, the type of encoder that generates the video frame, and the like.

特表2007−525884号公報Special table 2007-52584 gazette

宛先通信装置においてビデオフレームが受信され、表示部に映像が表示される場合を例示する。仮に、特許文献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 Patent Document 1, if the destination communication device has a cost coefficient larger than 40% of the usable CPU speed of the destination communication device due to decoding and rendering of the destination communication device, the frame size, the frame rate, and the video frame The type of encoder that generates is changed. For example, the frame size is set small. On the other hand, the image quality of the video displayed on the destination communication device changes according to the resolution (for example, the displayed size) of the video on the display unit of the destination communication device. For example, when the displayed size is increased in a state where an image with a small frame size is displayed, pixels included in the image are complemented according to the displayed size. Thus, for example, if the destination communication device user increases the display size of the video while the consumption of the CPU resource of the destination communication device is reduced, the image quality may be reduced as the video becomes coarse There is sex.

本発明の目的は、表示部における映像の表示される大きさに応じて画質が低下することを抑制するための通信プログラム、及び、通信システムを提供することである。   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の概要と、サーバ11及び通信装置12の電気的構成とを示す図である。It is a figure which shows the outline | summary of the communication system 1, and the electrical structure of the server 11 and the communication apparatus 12. FIG. 通信装置12の記憶部124に記憶された第1テーブル124A及び第2テーブル124Bを示す図である。It is a figure which shows the 1st table 124A and the 2nd table 124B which were memorize | stored in the memory | storage part 124 of the communication apparatus 12. FIG. 第1処理のフローチャートである。It is a flowchart of a 1st process. 第2処理のフローチャートである。It is a flowchart of a 2nd process. 第3処理のフローチャートである。It is a flowchart of a 3rd process. 第4処理のフローチャートである。It is a flowchart of a 4th process. 第5処理のフローチャートである。It is a flowchart of a 5th process. 通信シーケンスを示す図である。It is a figure which shows a communication sequence. サーバ装置11の記憶部114に記憶されたテーブル114Aを示す図である。It is a figure which shows the table 114A memorize | stored in the memory | storage part 114 of the server apparatus 11. FIG. サーバ処理のフローチャートである。It is a flowchart of a server process. 通信装置12Aの記憶部124に記憶された第1テーブル124A及び第2テーブル124Bを示す図である。It is a figure which shows the 1st table 124A and the 2nd table 124B which were memorize | stored in the memory | storage part 124 of 12 A of communication apparatuses.

<通信システム1の概要>
図1を参照し、通信システム1について説明する。通信システム1は、サーバ装置11、及び、通信装置12A、12B、12Cを備える。以下、通信装置12A、12B、12Cを総称して、「通信装置12」という。サーバ装置11、及び、通信装置12は、ネットワーク14を介して接続する。通信システム1は、通信装置12のそれぞれのユーザに対し、仮想会議室を提供することによって、それぞれのユーザ間でWeb会議を実現させるためのシステムである。
<Outline of communication system 1>
The communication system 1 will be described with reference to FIG. The communication system 1 includes a server device 11 and communication devices 12A, 12B, and 12C. Hereinafter, the communication devices 12A, 12B, and 12C are collectively referred to as “communication device 12”. The server device 11 and the communication device 12 are connected via the network 14. The communication system 1 is a system for realizing a web conference between users by providing a virtual conference room to each user of the communication device 12.

サーバ装置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 communication device 12 is configured by installing a program of an application (hereinafter referred to as “conference application”) for performing a Web conference on a known general-purpose personal computer (PC). Hereinafter, the IDs of the communication devices 12A, 12B, and 12C are assumed to be “12A”, “12B”, and “12C”. The users of the communication devices 12A, 12B, and 12C are referred to as users 13A, 13B, and 13C. The users 13A, 13B, and 13C are collectively referred to as a user 13. The server device 11 may be configured by installing a server conference application program on a general-purpose server. At least one of the communication devices 12 may be configured by installing a conference application program on a mobile terminal such as a remote conference dedicated terminal, a smartphone, or a tablet terminal.

<電気的構成>
サーバ装置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 CPU 111 that controls the server device 11. The CPU 111 is electrically connected to the ROM 112, the RAM 113, the storage unit 114, the communication I / F 115, and the drive device 116 via an interface circuit (not shown). The ROM 112 stores a boot program, BIOS, and the like. The RAM 113 stores a timer, a counter, flag data, temporary data, and the like. The storage unit 114 includes a computer-readable non-transitory storage medium, such as a hard disk. The storage unit 114 stores a program for processing executed by the CPU 111 and an OS.

通信I/F115は、サーバ装置11がネットワーク14に接続するためのインタフェース素子(例えば、LANカードなど)、又は、サーバ装置11がネットワーク14に接続した図示外のアクセスポイントと接続して無線通信を行うためのインタフェース素子(例えば、Wi−Fi(登録商標)通信モデムなど)である。CPU111は、通信I/F115を介して、ネットワーク14に接続する他の機器とデータの送受信を行う。ドライブ装置116は、半導体メモリや光ディスク等のコンピュータが読み取り可能な記憶媒体116Aに記憶された情報を読み出すことができる。CPU111は、記憶媒体116Aに記憶されたプログラムをドライブ装置116によって読み出し、記憶部114に記憶できる。   The communication I / F 115 performs wireless communication by connecting to an interface element (for example, a LAN card) for the server apparatus 11 to connect to the network 14 or an access point (not shown) connected to the network 14 by the server apparatus 11. Interface element for performing (for example, Wi-Fi (registered trademark) communication modem). The CPU 111 transmits and receives data to and from other devices connected to the network 14 via the communication I / F 115. The drive device 116 can read information stored in a computer-readable storage medium 116A such as a semiconductor memory or an optical disk. The CPU 111 can read out the program stored in the storage medium 116 </ b> A by the drive device 116 and store it in the storage unit 114.

通信装置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 communication device 12 will be described. The communication device 12 includes a CPU 121 that controls the communication device 12. The CPU 121 is electrically connected to the ROM 122, the RAM 123, the storage unit 124, the camera 125, the display unit 126, the communication I / F 127, the input unit 128, the microphone 129, the speaker 130, and the drive device 131 via an interface circuit (not shown). Connect to. The ROM 122 stores a boot program, BIOS, and the like. The RAM 123 stores a timer, counter, flag data, temporary data, and the like. The storage unit 124 is configured by a computer-readable non-transitory storage medium, such as a hard disk. The storage unit 124 stores a conference application program and an OS. The camera 125 can output captured video data (hereinafter referred to as “photographing data”) to the CPU 121. The display unit 126 is a display such as a liquid crystal display (LCD). The communication I / F 127 is an interface element for the communication apparatus 12 to connect to the network 14 or an interface element for the communication apparatus 12 to connect to an access point (not shown) connected to the network 14 and perform wireless communication. . The CPU 121 transmits / receives data to / from other devices connected to the network 14 via the communication I / F 127. The input unit 128 includes a keyboard 128A, a mouse 128B, and the like. The drive device 131 can read information stored in a computer-readable storage medium 131A such as a semiconductor memory. The CPU 121 can read out the program stored in the storage medium 131 </ b> A by the drive device 131 and store it in the storage unit 124.

なお、記憶部114、124は、例えば、フラッシュメモリ及び/又はROM等、他の非一時的な記憶媒体で構成されてもよい。非一時的な記憶媒体は、情報を記憶する期間に関わらず、情報を記憶可能な記憶媒体であればよい。非一時的な記憶媒体は、一時的な記憶媒体(例えば、伝送される信号)を含まなくてもよい。CPU111、121として、汎用的なプロセッサが用いられてもよい。CPU111,121によって実行される処理の一部は、他の電子部品(例えば、ASIC)によって実行されてもよい。CPU111、121によって実行される処理は、複数の電子機器(つまり、複数のCPU)によって分散処理されてもよい。例えば、サーバ装置11のCPU111によって実行される処理の一部は、通信装置12のCPU121によって実行されてもよい。プログラムは、例えば、ネットワーク14に接続された別のサーバからダウンロードされて(即ち、伝送信号として送信され)、記憶部114、124に記憶されてもよい。この場合、プログラムは、別のサーバに備えられたハードディスクなどの非一時的な記憶媒体に保存されていることとなる。   Note that the storage units 114 and 124 may be configured by other non-temporary storage media such as a flash memory and / or a ROM, for example. The non-temporary storage medium may be any storage medium that can store information regardless of the period in which the information is stored. The non-transitory storage medium may not include a temporary storage medium (for example, a signal to be transmitted). A general-purpose processor may be used as the CPUs 111 and 121. A part of the processing executed by the CPUs 111 and 121 may be executed by another electronic component (for example, ASIC). The processing executed by the CPUs 111 and 121 may be distributed by a plurality of electronic devices (that is, a plurality of CPUs). For example, part of the processing executed by the CPU 111 of the server device 11 may be executed by the CPU 121 of the communication device 12. For example, the program may be downloaded from another server connected to the network 14 (that is, transmitted as a transmission signal) and stored in the storage units 114 and 124. In this case, the program is stored in a non-temporary storage medium such as a hard disk provided in another server.

通信装置12のCPU121は、カメラ125から出力された撮影データを取得した場合、第1エンコード条件及び第2エンコード条件の何れかを選択してエンコードすることが可能である。第1エンコード条件及び第2エンコード条件で撮影データがエンコードされる場合、何れの場合も、撮影データは別の形式のデータに変換される。以下、撮影データが第1エンコード条件でエンコードされた場合に生成されるデータを、「第1映像データ」という。撮影データが第2エンコード条件でエンコードされた場合に生成されるデータを、「第2映像データ」という。第1映像データ及び第2映像データを総称して、「映像データ」という。例えば、撮影データはアナログデータであり、映像データは符号化されたデジタルデータである。   When the CPU 121 of the communication device 12 acquires the shooting data output from the camera 125, it can select and encode either the first encoding condition or the second encoding condition. When photographing data is encoded under the first encoding condition and the second encoding condition, the photographing data is converted into data of another format in any case. Hereinafter, data generated when shooting data is encoded under the first encoding condition is referred to as “first video data”. Data generated when shooting data is encoded under the second encoding condition is referred to as “second video data”. The first video data and the second video data are collectively referred to as “video data”. For example, the shooting data is analog data, and the video data is encoded digital data.

本実施形態では、第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 CPU 121 when encoding is performed under the first encoding condition is larger than the load on the CPU 121 when encoding is performed under the second encoding condition. The load on the CPU 121 during encoding is proportional to the bit rate of the encoded data, for example. In the present embodiment, for example, the bit rate is different between the first video data and the second video data. The bit rate of the first video data is larger than the bit rate of the second video data. This difference in bit rate is due to the fact that the frame size and frame rate of the first video data are larger than the frame size and frame rate of the second video data. When the same encoder is used, the first encoding condition may be different from the setting of the encoder, for example, compared to the second encoding condition (for example, the first encoding condition is more than the second encoding condition). Many reference frames). Alternatively, when different encoders are used, the first encoding condition (for example, H.264) and the second encoding condition (for example, MPEG4) may be different.

又、通信装置12のCPU121は、他の通信装置12によって生成された映像データをデコードし、表示部126に表示することが可能なデータを生成可能である。以下、第1映像データがデコードされた場合に生成される映像を、「第1映像」という。第2映像データがデコードされた場合に生成される映像を、「第2映像」という。本実施形態では、第1映像データをデコードする場合のCPU121の負荷が、第2映像データをデコードする場合のCPU121の負荷よりも大きいことを前提とする。その理由は、第1映像データのビットレートは、第2映像データのビットレートよりも大きいのに対し、デコード時におけるCPU121の負荷は、例えば、映像データのビットレートに比例するためである。   Further, the CPU 121 of the communication device 12 can decode the video data generated by the other communication device 12 and generate data that can be displayed on the display unit 126. Hereinafter, the video generated when the first video data is decoded is referred to as “first video”. A video generated when the second video data is decoded is referred to as a “second video”. In the present embodiment, it is assumed that the load on the CPU 121 when decoding the first video data is larger than the load on the CPU 121 when decoding the second video data. The reason is that, while the bit rate of the first video data is larger than the bit rate of the second video data, the load on the CPU 121 at the time of decoding is proportional to the bit rate of the video data, for example.

<メインウィンドウ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 main window 20>
The case where each user 13A-13C of communication apparatus 12A-12C performed the predetermined | prescribed operation for utilizing a virtual conference room (henceforth a "conference room") is mentioned as an example. The predetermined operation is the same as the operation performed by the user when the conference room is used in a known web conference system. For example, the predetermined operation is an operation of selecting a URL notified in advance from the server device 11 to the communication device 12 with the mouse 128B. This URL includes, for example, a conference ID for identifying a conference room to participate as an argument. In this case, the CPU 121 of the communication device 12 communicates with the server device 11 and executes a well-known conference connection process. In the conference connection process, a conference room session is established between the server device 11 and the communication device 12. The server device 11 notifies each communication device 12 of the IDs and address information of all the communication devices 12 participating in the conference room. In the following description, it is assumed that a conference room session is established between the communication devices 12A to 12C and the server device 11, and the communication devices 12A to 12C participate in a common conference room.

セッションの確立後、通信装置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 CPU 121 of the communication device 12. When the conference application is executed, the main window 20 of the conference application is displayed on the display unit 126. The main window 20 includes a video window 21. The video window 21 displays a video shot by the camera 125 of another communication device 12 participating in the conference room. The size of the video window 21 can be changed by the user 13 of the communication device 12 operating the mouse 128B.

図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 main window 20A displayed on the display unit 126 of the communication device 12A includes video windows 22B and 22C. In the video window 22B (resolution: 640 × 480 (dot)), the video of the user 13B taken by the camera 125 of the communication device 12B is displayed. In the video window 22C (resolution: 320 × 240 (dot)), the video of the user 13C taken by the camera 125 of the communication device 12C is displayed. The main window 20B displayed on the display unit 126 of the communication device 12B includes video windows 23A and 23C. In the video window 23A (resolution: 640 × 480 (dot)), the video of the user 13A taken by the camera 125 of the communication device 12A is displayed. In the video window 23C (resolution: 320 × 240 (dot)), the video of the user 13C taken by the camera 125 of the communication device 12C is displayed. The main window 20C displayed on the display unit 126 of the communication device 12C includes video windows 24A and 24B. In the video window 24A (resolution: 320 × 240 (dot)), the video of the user 13A taken by the camera 125 of the communication device 12A is displayed. In the video window 24B (resolution: 640 × 480 (dot)), the video of the user 13B taken by the camera 125 of the communication device 12B is displayed.

通信装置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 CPU 121 of the communication device 12A and the first video is displayed on the video window 23A of the communication device 12B and the video window 24A of the communication device 12C based on the first video data. Take an example. As described above, the frame size of the first video data is larger than the frame size of the second video data. Therefore, the image quality when the first video is displayed in the video window 23A is higher than the image quality when the second video is displayed in the video window 23A. Similarly, the image quality when the first video is displayed in the video window 24A is higher than the image quality when the second video is displayed in the video window 24A.

又、映像ウィンドウ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 video window 23A is larger than the resolution 320 × 240 (dot) of the video window 24A. For this reason, the image window 23A is more conspicuous in the image window 23A than in the image window 24A when the second image is displayed instead of the first image. For example, when the pixels of the second video are complemented so that they can be displayed at the respective resolutions of the video windows 23A and 24A, the size of the pixel of the second video displayed in the video window 23A is displayed in the video window 24A. It becomes larger than the pixel size of the displayed second video. For this reason, when the second video corresponding to the second video data whose frame size is originally small is displayed in the video window 23A, each pixel becomes coarser than when the second video is displayed in the video window 24A. The image quality tends to be low. For this reason, it is particularly preferable that the first video is displayed over the second video in the video window 23A of the communication device 12B.

但し、第1映像データをデコードする場合のCPU121の負荷は、第2映像データをデコードする場合のCPU121の負荷よりも大きくなる。このため、第1映像データのデコードが実行された場合、CPU121の負荷が過多になり好ましくない場合がある。   However, the load on the CPU 121 when decoding the first video data is larger than the load on the CPU 121 when decoding the second video data. For this reason, when the decoding of the first video data is executed, the load on the CPU 121 becomes excessive, which may not be preferable.

一方、通信装置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 CPU 121 of the communication device 12A, and the second video is displayed on the video window 23A of the communication device 12B and the video window 24A of the communication device 12C based on the second video data. Take the case as an example. In this case, the load on the CPU 121 when decoding the second video data is smaller than the load on the CPU 121 when decoding the first video data. It may be possible to suppress an excessive load. However, as described above, the second video displayed in the video window 23A tends to have lower image quality than the second video displayed in the video window 24A.

これに対し、本実施形態において、通信装置12のCPU121は、他の通信装置12の映像ウィンドウ21の解像度、及び、他の通信装置12のCPU121の負荷の状態に応じて、第1エンコード条件及び第2エンコード条件の何れの条件で撮影データをエンコードするかを決定する。又、通信装置12のCPU121は、自身のCPU121の負荷の状態、及び、映像ウィンドウ21の解像度に応じて、第1映像データ及び第2映像データの何れをデコードして映像ウィンドウ21に映像を表示するかを決定する。   On the other hand, in the present embodiment, the CPU 121 of the communication device 12 determines the first encoding condition and the first encoding condition according to the resolution of the video window 21 of the other communication device 12 and the load state of the CPU 121 of the other communication device 12. It is determined which of the second encoding conditions is used to encode the photographic data. In addition, the CPU 121 of the communication device 12 decodes either the first video data or the second video data and displays the video on the video window 21 according to the load state of the CPU 121 and the resolution of the video window 21. Decide what to do.

<第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 storage unit 124 of the communication device 12 will be described with reference to FIG. The first table 124A stores the load state and resolution of the communication device 12. The load state indicates the level of the degree of load on the CPU 121. Details of the load state will be described later. The resolution is the resolution of each video window 21 displayed on the display unit 126 of the communication device 12. The resolution is associated with the ID of the communication device 12 that has transmitted the video data of the video displayed in each video window 21. Hereinafter, the ID of the communication device 12 that has transmitted the video data is referred to as a “display ID”. The “display ID of the communication device 12 that has transmitted the video data of the video displayed in the video window 21” is rephrased as the “display ID of the video window 21”. FIG. 2 shows a first table 124A stored in each storage unit 124 of the communication devices 12A, 12B, and 12C. The description of the second table 124B will be described later.

<第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 CPU 121 of the communication device 12 will be described with reference to FIGS. First, the first process will be described with reference to FIG. In the first process, when the conference application is executed after the session with the server device 11 is established and the main window 20 is displayed on the display unit 126, the CPU 121 executes the program stored in the storage unit 124. , And starts at a fixed period (eg, every 5 to 10 minutes) When the CPU 121 executes the first process for the first time, the load level is low (hereinafter referred to as “low state”) as the initial value of the “load state” in the first table 124A (see FIG. 2). “1” is set to indicate that. Hereinafter, setting “1” to the load state is referred to as “setting a low state to the load state”.

はじめに、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 CPU 121 identifies the degree of load on the CPU 121. The degree of load indicates the usage rate of the CPU 121 when video data (first video data or second video data) received in a fifth process (see FIG. 5) described later is decoded. The CPU 121 determines whether the specified degree of load is greater than or equal to a first predetermined value (for example, 40%) (S11). When it is determined that the specified degree of load is equal to or greater than the first predetermined value (S11: YES), the CPU 121 determines whether the load state of the first table 124A is set to a low state (S17). As described above, when the first process is executed first, the load state of the first table 124A is set to the low state. When the CPU 121 determines that the load state of the first table 124A is set to a low state (S17: YES), the CPU 121 is in a state where the load level is medium (hereinafter referred to as “medium state”). “2” indicating this is set to the load state of the first table 124A (S19). Hereinafter, setting “2” to the load state of the first table 124A is referred to as “setting the middle state to the load state”. The CPU 121 transmits the load state of the first table 124A to the server device 11 (S23). The CPU 121 ends the first process. On the other hand, for example, when the load state of the first table 124A is set to the medium state or the high state in the previous first process, the CPU 121 determines that the load state of the first table 124A is not set to the low state. (S17: NO). In this case, the CPU 121 sets “3” indicating that the level of the degree of load is high (hereinafter referred to as “high state”) to the load state of the first table 124A (S21). Hereinafter, setting “3” to the load state of the first table 124A is referred to as “setting a high state to the load state”. The CPU 121 transmits the load state of the first table 124A to the server device 11 (S23). The CPU 121 ends the first process.

一方、負荷の度合いが第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 CPU 121 determines that the high state is set to the load state of the first table 124A (S13: YES). ). In this case, the CPU 121 sets the middle state to the load state of the first table 124A (S19). The CPU 121 transmits the load state of the first table 124A to the server device 11 (S23). The CPU 121 ends the first process. On the other hand, for example, when the load state of the first table 124A is set to the low state or the medium state in the previous first process, the CPU 121 determines that the high state is not set to the load state of the first table 124A. (S13: NO). In this case, the CPU 121 sets a low state as the load state of the first table 124A (S15). The CPU 121 transmits the load state of the first table 124A to the server device 11 (S23). The CPU 121 ends the first process.

<第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 CPU 121 of the communication device 12 will be described with reference to FIG. The second process is an operation to change the size of any video window 21 included in the main window 20 immediately after the conference application is executed after the session with the server device 11 is established and the main window 20 is displayed. Is started by the CPU 121 executing the program stored in the storage unit 124. When executing the second process for the first time, the CPU 121 sets “0 × 0” (dot) as all the resolutions of the first table 124A (see FIG. 2).

はじめに、CPU121は、メインウィンドウ20に含まれる映像ウィンドウ21の何れかの解像度を取得する(S41)。なお、取得される解像度は、映像ウィンドウ21に第1映像又は第2映像が表示される場合の解像度に対応する。CPU121は、S41の処理によって取得された解像度と、第1テーブル124Aのうち、S41の処理によって解像度が取得された映像ウィンドウ21の表示IDに対応付けられた解像度(以下、「対応解像度」という。)とを比較する。   First, the CPU 121 acquires any resolution of the video window 21 included in the main window 20 (S41). Note that the acquired resolution corresponds to the resolution when the first video or the second video is displayed in the video window 21. The CPU 121 and the resolution acquired in S41 and the resolution associated with the display ID of the video window 21 in which the resolution is acquired in S41 in the first table 124A (hereinafter referred to as “corresponding resolution”). ).

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 CPU 121 determines that the resolution of the video window 21 has been changed when the resolution acquired by the processing of S41 is different from the corresponding resolution of the first table 124A (S43: YES). In this case, the CPU 121 associates the display ID associated with the corresponding resolution in the first table 124A with the resolution acquired by the process of S41, and transmits the display ID to the server device 11 (S45). The CPU 121 changes the corresponding resolution of the first table 124A to the resolution acquired by the process of S41. The CPU 121 advances the process to S47. On the other hand, when the resolution acquired by the process of S41 and the corresponding resolution of the first table 124A match, the CPU 121 determines that the resolution of the video window 21 has not been changed (S43: NO). In this case, the CPU 121 advances the process to S47.

なお、上記のS45の処理において、CPU121は、S41の処理によって取得された解像度と第1テーブル124Aの対応解像度との相違が所定の範囲内である場合に、映像ウィンドウ21の解像度が変更されていないと判断してもよい。具体的には、例えば、それぞれの解像度の横方向及び縦方向の画素数の相違量が何れも100dot以内の場合、CPU121は、映像ウィンドウ21の解像度が変更されていないと判断してもよい。   In the processing of S45 described above, the CPU 121 changes the resolution of the video window 21 when the difference between the resolution acquired by the processing of S41 and the corresponding resolution of the first table 124A is within a predetermined range. You may decide not to. Specifically, for example, when the amount of difference in the number of pixels in the horizontal direction and the vertical direction of each resolution is within 100 dots, the CPU 121 may determine that the resolution of the video window 21 has not been changed.

CPU121は、メインウィンドウ20に含まれるすべての映像ウィンドウ21の解像度が、S41の処理によって取得されたか判断する(S47)。CPU121は、解像度を取得していない映像ウィンドウ21が残っている場合、すべての映像ウィンドウ21の解像度が取得されていないと判断する(S47:NO)。CPU121は処理をS41に戻す。CPU121は、解像度が取得されていない映像ウィンドウ21の何れかから、解像度を取得し(S41)、S43、S45の処理を繰り返す。CPU121は、すべての映像ウィンドウ21の解像度が取得されたと判断された場合(S47:YES)、第2処理を終了させる。   The CPU 121 determines whether the resolutions of all the video windows 21 included in the main window 20 have been acquired by the process of S41 (S47). When the video window 21 from which the resolution has not been acquired remains, the CPU 121 determines that the resolutions of all the video windows 21 have not been acquired (S47: NO). The CPU 121 returns the process to S41. The CPU 121 acquires the resolution from any of the video windows 21 for which the resolution has not been acquired (S41), and repeats the processes of S43 and S45. When it is determined that the resolutions of all the video windows 21 have been acquired (S47: YES), the CPU 121 ends the second process.

なお、メインウィンドウ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 main window 20 is displayed, “0 × 0” is set for all the resolutions in the first table 124A. For this reason, it is determined that the resolution acquired by the process of S41 is different from the corresponding resolution for all the video windows 21 (S43). Accordingly, the display IDs associated with the corresponding resolutions in the first table 124A are associated with the resolutions of all the video windows 21 and transmitted to the server device 11 (S45).

図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 communication device 12. When the first process (see FIG. 3) is executed by the CPU 121 of the communication device 12A and the low state is set in the first table 124A, the load state in which the low state is set is changed from the communication device 12A to the server device 11. (Arrow C11). When the second process (see FIG. 4) is executed by the CPU 121 of the communication device 12A, for example, the communication device 12B has the resolution “640 × 480” (dot) of the video window 22B (see FIG. 1). ID “12B” is associated and transmitted from the communication device 12A to the server device 11 (arrow C11). Further, for example, the ID “12C” of the communication device 12C is associated with the resolution “320 × 240” (dot) of the video window 22C (see FIG. 1) and transmitted from the communication device 12A to the server device 11 ( Arrow C11). The same applies when the first process and the second process are executed by the CPU 121 of the communication apparatus 12B, and when the first process and the second process are executed by the CPU 121 of the communication apparatus 12C (arrows C13 and C15). ). In FIG. 8, the load state and the resolution are described as being simultaneously transmitted from the communication device 12, but actually, the load state and the resolution are transmitted when the first process and the second process are executed. So each is sent separately. Of course, the load state and the resolution may be transmitted from the communication device 12 at the same time.

詳細は後述するが、サーバ装置11のCPU111は、矢印C11、C13、C15のように送信された負荷状態及び解像度を受信する。CPU111は、記憶部114に記憶されたテーブル114A(図9参照)に、受信された負荷状態及び解像度を格納する。   Although details will be described later, the CPU 111 of the server apparatus 11 receives the load state and resolution transmitted as indicated by arrows C11, C13, and C15. The CPU 111 stores the received load state and resolution in the table 114A (see FIG. 9) stored in the storage unit 114.

<テーブル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 communication device 12 that transmitted the load state. The resolution is associated with the ID of the communication device 12 that transmitted the resolution and the ID of the communication device 12 associated with the resolution. Hereinafter, the ID of the communication device 12 that has transmitted the load state and the resolution is referred to as a “first ID”. The ID of the communication device 12 associated with the resolution is referred to as “second ID”.

CPU111は、通信装置12から負荷状態を受信する度に、受信した負荷状態に第1IDを関連付け、会議室に参加するすべての通信装置12に対してブロードキャスト送信する(矢印C12、C14、C16)。又、CPU111は、通信装置12から解像度を受信する度に、受信した解像度に、第1ID及び第2IDを関連付け、会議室に参加するすべての通信装置12に対してブロードキャスト送信する(矢印C12、C14、C16)。   Each time the CPU 111 receives the load state from the communication device 12, the CPU 111 associates the first ID with the received load state and broadcasts to all the communication devices 12 participating in the conference room (arrows C12, C14, C16). Further, each time the CPU 111 receives the resolution from the communication device 12, the CPU 111 associates the first ID and the second ID with the received resolution, and broadcasts to all the communication devices 12 participating in the conference room (arrows C12 and C14). , C16).

<第3処理>
図5を参照し、通信装置12のCPU121によって実行される第3処理について説明する。第3処理は、サーバ装置11とのセッションの確立後に会議アプリケーションが実行されてメインウィンドウ20が表示された後、サーバ装置11から送信された負荷状態又は解像度の受信が開始された場合に、記憶部124に記憶されたプログラムをCPU121が実行することによって開始される。
<Third process>
The third process executed by the CPU 121 of the communication device 12 will be described with reference to FIG. The third process is performed when the reception of the load state or the resolution transmitted from the server device 11 is started after the conference application is executed after the session with the server device 11 is established and the main window 20 is displayed. The program is started when the CPU 121 executes the program stored in the unit 124.

はじめに、CPU121は、サーバ装置11から送信された負荷状態の受信が開始されたか判断する(S81)。CPU121は、負荷状態の受信が開始されたと判断された場合(S81:YES)、負荷状態をすべて受信する。CPU121は、受信された負荷状態と、受信された負荷状態に関連付けられた第1IDとを対応付けて、第2テーブル124B(図2参照、後述)に格納する(S83)。CPU121は処理をS85に進める。CPU121は、負荷状態の受信が開始されていないと判断された場合(S81:NO)、処理をS85に進める。   First, the CPU 121 determines whether reception of a load state transmitted from the server device 11 has been started (S81). When it is determined that the load state has been started (S81: YES), the CPU 121 receives all the load states. The CPU 121 associates the received load state with the first ID associated with the received load state and stores them in the second table 124B (see FIG. 2, described later) (S83). The CPU 121 advances the process to S85. If the CPU 121 determines that reception of the load state has not been started (S81: NO), the process proceeds to S85.

CPU121は、サーバ装置11から送信された解像度の受信が開始されたか判断する(S85)。CPU121は、解像度の受信が開始されたと判断された場合(S85:YES)、解像度をすべて受信する。CPU121は、受信された解像度と、受信された解像度に関連付けられた第1ID及び第2IDとを対応付けて、第2テーブル124B(図2参照、後述)に格納する(S87)。CPU121は第3処理を終了させる。CPU121は、解像度を受信していないと判断された場合(S85:NO)、第3処理を終了させる。
する。
The CPU 121 determines whether the reception of the resolution transmitted from the server device 11 has been started (S85). When it is determined that the reception of the resolution is started (S85: YES), the CPU 121 receives all the resolutions. The CPU 121 associates the received resolution with the first ID and the second ID associated with the received resolution and stores them in the second table 124B (see FIG. 2, described later) (S87). The CPU 121 ends the third process. If it is determined that the resolution has not been received (S85: NO), the CPU 121 ends the third process.
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 CPU 121 of each of the communication apparatuses 12A, 12B, and 12C. Can be received by. Although not described in the third process of FIG. 5, when the CPU 121 receives a load state and resolution associated with its own ID as the first ID, the CPU 121 displays the load state and resolution in the second table 124B. Do not remember. Specifically, for example, when the CPU 121 of the communication device 12A receives the load state and resolution transmitted from the server device 11 as indicated by the arrow C12, the first ID “12A” that is the same as its own ID is associated with the CPU 121. Therefore, this load state and resolution are not stored in the second table 124B (R11). On the other hand, when the CPU 121 receives the load state transmitted from the server device 11 as indicated by the arrow C14, the CPU 121 associates the first ID with the load state because the first ID “12B” is different from its own ID. It memorize | stores in the memory | storage part 124 (R21). When the CPU 121 receives the resolution transmitted from the server device 11 as indicated by the arrow C14, the CPU 121 stores the first ID and the second ID in association with the resolution in the storage unit 124 (R21). The same applies to the case where the load state and resolution transmitted from the server apparatus 11 as indicated by the arrow C16 are received (R31). When the CPU 121 of the communication device 12B receives the load state and resolution transmitted from the server device 11 as indicated by arrows C12, C14, and C16 (R12, R22, R32), and the CPU 121 of the communication device 12C The same applies to the case (R13, R23, R33) when the load state and the resolution transmitted from the server apparatus 11 as indicated by arrows C12, C14, C16 are received, and the description thereof is omitted.

<第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 storage unit 124 of the communication device 12 will be described with reference to FIG. In the second table 124B, the load state received from the server device 11 is stored in association with the first ID. The second table 124B stores the resolution received from the server device 11 in association with the first ID and the second ID.

<第4処理>
図6を参照し、通信装置12のCPU121によって実行される第4処理について説明する。第4処理は、サーバ装置11とのセッションの確立後に会議アプリケーションが実行されてメインウィンドウ20が表示された後、映像データのフレーム周期で繰り返し起動される。
<4th process>
With reference to FIG. 6, the 4th process performed by CPU121 of the communication apparatus 12 is demonstrated. The fourth process is started repeatedly in the frame period of the video data after the conference application is executed after the session with the server device 11 is established and the main window 20 is displayed.

はじめに、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 CPU 121 acquires shooting data from the camera 125 (S51). The CPU 121 selects one of the IDs of other communication devices 12 participating in the conference room (S53). The CPU 121 receives the ID and address information of all the communication devices 12 participating in the conference room from the server device 11 after the session with the server device 11 is established. The CPU 121 executes the third process (see FIG. 5) and is associated with the same first ID as the ID selected by the process of S53 among the load states stored in the second table 124B (see FIG. 2). The obtained load state is acquired (S55). Of the resolutions stored in the second table 124B by executing the third process, the CPU 121 is associated with the first ID that is the same as the ID selected by the process of S53 and the second ID that is the same as its own ID. The resolution is acquired (S57).

CPU121は、S55の処理によって取得された負荷状態が低状態に設定されているか判断する(S59)。CPU121は、負荷状態が低状態に設定されていると判断された場合(S59:YES)、S51の処理によって取得された撮影データを第1エンコード条件でエンコードすると決定する(S65)。CPU121は処理をS69に進める。   The CPU 121 determines whether or not the load state acquired by the process of S55 is set to a low state (S59). When it is determined that the load state is set to the low state (S59: YES), the CPU 121 determines to encode the shooting data acquired by the process of S51 under the first encoding condition (S65). The CPU 121 advances the process to S69.

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 CPU 121 determines that the low state is not set in the load state acquired by the process of S55 (S59: NO), the CPU 121 determines whether the medium state is set in the load state (S61). When it is determined that the state is set (S61: YES), it is determined whether the resolution acquired by the process of S57 is larger than a second predetermined value (for example, 320 × 240 (dot)). When it is determined that the CPU 121 is larger than the second predetermined value (S63: YES), the CPU 121 determines to encode the shooting data acquired by the process of S51 under the first encoding condition (S65). The CPU 121 advances the process to S69. If the CPU 121 determines that the resolution acquired by the process of S57 is equal to or less than the second predetermined value (S63: NO), the CPU 121 determines to encode the shooting data acquired by the process of S51 under the second encoding condition (S67). ). The CPU 121 advances the process to S69.

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 CPU 121 advances the process to S67. In this case, the high state is set as the load state acquired by the process of S55. The CPU 121 determines to encode the photographic data acquired by the process of S51 under the second encoding condition (S67). The CPU 121 advances the process to S69.

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 CPU 121 encodes the photographic data acquired by the process of S51 under the condition (first encoding condition or second encoding condition) determined by the process of S65 or S67, and generates video data (S69). . The CPU 121 stores the generated video data in the RAM 123. The CPU 121 determines whether all the IDs of the other communication devices 12 participating in the conference room have been selected by the process of S53 (S71). If the CPU 121 determines that all the IDs of the other communication devices 12 participating in the conference room have not been selected by the process of S53 (S71: NO), the process returns to S53. The CPU 121 selects one of the unselected IDs among the IDs of the other communication devices 12 participating in the conference room (S53), and repeats the process.

なお、会議室に参加する他の通信装置12が2以上ある場合、上記のように処理が繰り返される過程で、第1エンコード条件又は第2エンコード条件が2回以上決定される場合がある。このような場合、S51の処理によって取得された撮影データは、決定された条件で既にエンコードされており、生成された映像データはRAM123に既に記憶されている。この場合、図6の第4処理では説明を省略しているが、CPU121は、2回目以降に決定された条件によるエンコード(S69)を実行しない。これによって、CPU121は、同一の映像データが重複して生成されることを回避できる。   If there are two or more other communication devices 12 participating in the conference room, the first encoding condition or the second encoding condition may be determined twice or more in the process of repeating the process as described above. In such a case, the shooting data acquired by the process of S51 is already encoded under the determined conditions, and the generated video data is already stored in the RAM 123. In this case, although the description is omitted in the fourth process of FIG. 6, the CPU 121 does not execute the encoding (S69) based on the conditions determined after the second time. As a result, the CPU 121 can avoid the same video data being duplicated.

CPU121は、遠隔会議に参加する他の通信装置12のIDが、S53の処理によってすべて選択されたと判断された場合(S71:YES)、処理をS73に進める。CPU121は、RAM123に記憶されたすべての映像データ(第1映像データ又は第2映像データ)を、サーバ装置11に対して送信する(S73)。CPU121は第4処理を終了させる。   If the CPU 121 determines that all the IDs of the other communication devices 12 participating in the remote conference have been selected by the process of S53 (S71: YES), the CPU 121 advances the process to S73. The CPU 121 transmits all the video data (first video data or second video data) stored in the RAM 123 to the server device 11 (S73). The CPU 121 ends the fourth process.

通信装置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 CPU 121 of the communication device 12A will be specifically described with reference to FIG. The CPU 121 of the communication device 12A acquires shooting data from the camera 125 (S51). The CPU 121 selects the ID “12B” of the communication device 12B among the communication devices 12B and 12C participating in the conference room. (S53). CPU 121 is set to the load state associated with the same first ID as the selected ID “12B” among the load states stored in second table 124B (see FIG. 2A) of storage unit 124. The middle state is acquired (S55). The CPU 121 sets the resolution “640 × 480” associated with the first ID that is the same as the selected ID “12B” and the second ID that is the same as its own ID “12A” among the resolutions stored in the second table 124B. Is acquired (S57).

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 CPU 121 does not set the low state in the acquired load state (S59: NO), sets the medium state (S61: YES), and the resolution “640 × 480” is larger than the second predetermined value. (S63: YES). The CPU 121 determines the first encoding condition (S65), encodes the photographic data acquired by the process of S51, and generates first video data (S69). The CPU 121 stores the first video data in the RAM 123. The CPU 121 returns the process to S53 because the ID “12C” of the communication device 12C participating in the conference room has not been selected by the process of S53 (S71: NO).

次に、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 CPU 121 selects the ID “12C” of the communication device 12B among the communication devices 12B and 12C participating in the conference room. (S53). The CPU 121 acquires a high state set to the load state associated with the first ID that is the same as the selected ID “12C” among the load states stored in the second table 124B (S55). The CPU 121 sets the resolution “320 × 240” associated with the first ID that is the same as the selected ID “12C” and the second ID that is the same as its own ID “12A” among the resolutions stored in the second table 124B. Is acquired (S57).

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 CPU 121 determines that the low state is not set in the acquired load state (S59: NO) and that the intermediate state is not set (S61: NO). The CPU 121 determines the second encoding condition (S65), encodes the shooting data acquired by the process of S51, and generates second video data (S69). The CPU 121 stores the second video data in the RAM 123. The CPU 121 selects the first video data and the second video stored in the RAM 123 because the IDs “12B” and “12C” of the communication devices 12B and 12C participating in the conference room are selected in the process of S53 (S71: YES). Data is transmitted to the server device 11 (S73, arrow C17, arrow C19 (see FIG. 8)).

詳細は後述するが、サーバ装置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 CPU 111 of the server apparatus 11 transmits the first video data transmitted from the communication apparatus 12A as indicated by an arrow C17 and the communication apparatus 12A to C19 as illustrated in FIG. Second video data is received. Although not shown, the CPU 111 similarly receives video data (first video data or second video data) transmitted from the communication devices 12B and 12C. Each time the CPU 111 receives video data from the communication device 12, the CPU 111 associates the ID of the communication device 12 that transmitted the received video data with the received video data, so that all the communication devices 12 that participate in the conference room are associated with each other. Broadcast transmission (arrows C18 and C20). Hereinafter, the communication device 12ID that has transmitted the video data is referred to as a “third ID”.

<第5処理>
図7を参照し、通信装置12のCPU121によって実行される第5処理について説明する。第5処理は、サーバ装置11とのセッションの確立後に会議アプリケーションが実行されてメインウィンドウ20が表示された後、サーバ装置11から送信された映像データの受信が開始された場合に、記憶部124に記憶されたプログラムをCPU121が実行することによって開始される。
<Fifth process>
The fifth process executed by the CPU 121 of the communication device 12 will be described with reference to FIG. The fifth process is performed when the reception of video data transmitted from the server device 11 is started after the conference application is executed after the session with the server device 11 is established and the main window 20 is displayed. The program is started when the CPU 121 executes the program stored in.

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 CPU 121 receives all the video data transmitted from the server device 11 and stores it in the RAM 123 (S31). The CPU 121 specifies video data to be decoded by the following method (S33). First, the CPU 121 acquires the load state stored in the first table 124A (see FIG. 2). Next, the CPU 121 obtains a resolution associated with the same display ID as the third ID associated with the received video data from among the resolutions stored in the first table 124A. When the low state is set as the acquired load state, the CPU 121 identifies the first video data as a decoding target regardless of the acquired resolution. The CPU 121 identifies (2) the second video data as a decoding target regardless of the acquired resolution when the high state is set in the acquired load state. The CPU 121 identifies the first video data as a decoding target when (3) the acquired load state is set to the middle state and the acquired resolution is larger than the second predetermined value. The CPU 121 specifies the second video data as a decoding target when (4) the acquired load state is set to the middle state and the acquired resolution is equal to or lower than the second predetermined value.

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 CPU 121 receives the first video data by the process of S31 and the first video data is specified by the process of S33, or the second video data is received by the process of S31. If the second video data is specified by the process of S33, it is determined that the types of the video data match (S35: YES). In this case, when the first video data is received by the process of S31, the CPU 121 decodes the received first video data to generate a first video (S37). When the second video data is received by the process of S31, the CPU 121 decodes the received second video data to generate a second video (S37). The CPU 121 selects the video window 21 having the same display ID as the third ID associated with the video data received by the process of S31, from the video window 21 of the main window 20. The CPU 121 displays the generated first video or second video on the selected video window 21 (S39). The CPU 121 ends the fifth process.

一方、CPU121は、S31の処理によって第1映像データが受信されており、且つ、S33の処理によって第2映像データが特定された場合、又は、S31の処理によって第2映像データが受信されており、且つ、S33の処理によって第1映像データが特定された場合、映像データの種別が一致しないと判断する(S35:NO)。この場合、CPU121は、S31の処理によってRAM123に記憶された第1映像データ又は第2映像データを削除する(S40)。CPU121は第5処理を終了させる。   On the other hand, the CPU 121 receives the first video data by the process of S31 and the second video data is received by the process of S31 when the second video data is specified by the process of S33. When the first video data is specified by the process of S33, it is determined that the types of the video data do not match (S35: NO). In this case, the CPU 121 deletes the first video data or the second video data stored in the RAM 123 by the process of S31 (S40). The CPU 121 ends the fifth process.

上記の第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 CPU 121 deletes the video data from the RAM 123 when it receives video data associated with its own ID as the third ID. Specifically, for example, when the CPU 121 of the communication device 12A receives the first video data transmitted from the server device 11 as indicated by the arrow C18, the same third ID as its own ID “12A” is associated. Therefore, the first video data is deleted from the RAM 123 (R41). When the CPU 121 of the communication device 12A receives the second video data transmitted from the server device 11 as indicated by the arrow C20, the second ID is associated with the same third ID as its own ID “12A”. The video data is deleted from the RAM 123 (R51).

通信装置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 CPU 121 of the communication device 12B receives the first video data transmitted from the server device 11 as indicated by the arrow C18 (S31). The CPU 121 acquires the load state “medium state” stored in the first table 124A (see FIG. 2B) stored in the storage unit 124 of the communication device 12B. The CPU 121 acquires the resolution “640 × 480” associated with the same display ID as the third ID “12A” associated with the received first video data in the first table 124A. The CPU 121 determines that the condition (3) is satisfied since the medium state is set and the resolution is greater than the second predetermined value. In this case, the CPU 121 identifies the first video data as a decoding target (S33). The CPU 121 determines that the types of the video data match because the first video data is received by the processing of S31 and the first video data is specified by the processing of S33 (S35: YES). In this case, the CPU 121 decodes the received first video data to generate a first video (S37). The CPU 121 generates the first generated video window 23A (see FIG. 1) having the same display ID as the third ID “12A” associated with the received first video data among the video windows 21 included in the main window 20. One video is displayed (S39, R42 (see FIG. 8)).

又、通信装置12BのCPU121は、サーバ装置11から矢印C20のように送信された第2映像データを受信する(S31)。CPU121は、上記と同様、第1映像データをデコードの対象として特定する(S33)。CPU121は、S31の処理によって第1映像データが受信され、且つ、S33の処理によって第2映像データが特定されているので、映像データの種別が一致しないと判断する(S35:NO)。この場合、CPU121は、受信された第2映像データをRAM123から削除する(S41、R52(図8参照))。   Further, the CPU 121 of the communication device 12B receives the second video data transmitted from the server device 11 as indicated by the arrow C20 (S31). In the same manner as described above, the CPU 121 specifies the first video data as a decoding target (S33). The CPU 121 determines that the types of video data do not match because the first video data has been received by the process of S31 and the second video data has been specified by the process of S33 (S35: NO). In this case, the CPU 121 deletes the received second video data from the RAM 123 (S41, R52 (see FIG. 8)).

通信装置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 CPU 121 of the communication device 12C receives the first video data transmitted from the server device 11 as indicated by the arrow C18 (S31). The CPU 121 acquires the load state “high state” stored in the first table 124A (see FIG. 2C) stored in the storage unit 124 of the communication device 12C. The CPU 121 acquires the resolution “320 × 240” associated with the same display ID as the third ID “12A” associated with the received first video data in the first table 124A. Since the high state is set, the CPU 121 determines that the condition (2) is satisfied. In this case, the CPU 121 specifies the second video data as a decoding target regardless of the acquired resolution (S33). The CPU 121 determines that the types of video data do not match because the first video data has been received by the process of S31 and the second video data has been specified by the process of S33 (S35: NO). In this case, the CPU 121 deletes the received first video data from the RAM 123 (S41, R43 (see FIG. 8)).

又、通信装置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 CPU 121 of the communication device 12C receives the second video data transmitted from the server device 11 as indicated by the arrow C20 (S31). In the same manner as described above, the CPU 121 specifies the second video data as a decoding target (S33). The CPU 121 determines that the types of the video data match because the second video data is received by the processing of S31 and the second video data is specified by the processing of S33 (S35: YES). In this case, the CPU 121 decodes the received second video data to generate a second video (S37). The CPU 121 displays the second video in the video window 24A (see FIG. 1) having the same display ID as the third ID “12A” associated with the received second video data among the video windows 21 included in the main window 20. It is displayed (S39, R53 (see FIG. 8)).

<サーバ処理>
図10を参照し、サーバ装置11のCPU121によって実行されるサーバ処理について説明する。サーバ処理は、負荷状態、解像度、及び、映像データの何れかを通信装置12から受信した場合、記憶部114に記憶されたプログラムをCPU111が実行することによって開始される。なお、CPU111は、会議室に参加するすべての通信装置12A〜12CのID及びアドレス情報を、通信装置12A〜12Cとの間でセッションが確立された場合に取得する。CPU111は、通信装置12A〜12CのID及びアドレス情報を対応付け、記憶部114に記憶する。
<Server processing>
Server processing executed by the CPU 121 of the server device 11 will be described with reference to FIG. The server process is started when the CPU 111 executes the program stored in the storage unit 114 when any one of the load state, the resolution, and the video data is received from the communication device 12. In addition, CPU111 acquires ID and address information of all the communication apparatuses 12A-12C which participate in a meeting room, when a session is established with communication apparatuses 12A-12C. The CPU 111 associates the IDs and address information of the communication devices 12 </ b> A to 12 </ b> C and stores them in the storage unit 114.

はじめに、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 CPU 111 determines whether the load state (C11, 13, 15 (see FIG. 8)) transmitted from the communication device 12 has been received (S101). When it is determined that the load state has been received (S101: YES), the CPU 111 identifies the ID of the communication device 12 that has transmitted the received load state. The CPU 111 associates the identified first ID with the load state as the first ID, and stores the first ID in the table 114A (see FIG. 9) of the storage unit 114 (S103). The CPU 111 associates the first ID with the received load state and broadcasts it to all the communication devices 12 participating in the conference room (S105, C12, 14, 16 (see FIG. 8)). The CPU 111 advances the process to S107. On the other hand, when it is determined that the load state has not been received (S101: NO), the CPU 111 advances the process to S107.

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 CPU 111 determines whether the resolution (C11, 13, 15 (see FIG. 8)) transmitted from the communication device 12 has been received (S107). When it is determined that the resolution has been received (S107: YES), the CPU 111 identifies the ID of the communication device 12 that has transmitted the received resolution as the first ID. The CPU 111 identifies the ID associated with the received resolution as the second ID. The CPU 111 associates the identified first ID and second ID with the received resolution, and stores them in the table 114A of the storage unit 114 (S109). The CPU 111 associates the first ID and the second ID with the received resolution and broadcasts to all the communication devices 12 participating in the conference room (S111, C12, 14, 16 (see FIG. 8)). The CPU 111 advances the process to S113. On the other hand, if it is determined that the resolution has not been received (S107: NO), the CPU 111 advances the process to S113.

CPU111は、通信装置12から送信された映像データ(C17、19(図8参照))を受信したか判断する(S113)。CPU111は、映像データを受信したと判断された場合(S113:YES)、受信された映像データを送信した通信装置12のIDを特定する。CPU111CPU111は、特定したIDを第3IDとして映像データに関連付けて、会議室に参加するすべての通信装置12に対してブロードキャスト送信する(S115、C18、20(図8参照))。CPU111はサーバ処理を終了させる。一方、CPU111は、映像データを受信していないと判断された場合(S113:NO)、サーバ処理を終了させる。   The CPU 111 determines whether the video data (C17, 19 (see FIG. 8)) transmitted from the communication device 12 has been received (S113). When it is determined that the video data has been received (S113: YES), the CPU 111 identifies the ID of the communication device 12 that has transmitted the received video data. The CPU 111 associates the identified ID with the video data as the third ID and broadcasts it to all the communication devices 12 participating in the conference room (S115, C18, 20 (see FIG. 8)). The CPU 111 ends the server process. On the other hand, when it is determined that the video data is not received (S113: NO), the CPU 111 ends the server process.

なお、図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 communication device 12, the CPU 111 establishes a session by associating the first ID with each load state stored in the table 114 </ b> A. To the communication device 12. Further, when a session is established with the communication device 12, the CPU 111 associates the first ID and the second ID with each resolution stored in the table 114A, and transmits it to the communication device 12 with the session established. . As a result, the CPU 121 of the communication device 12 can create the first table 124A and the second table 124B and display the video on the video window 21 even immediately after joining the conference room.

<本実施形態の主たる作用、効果>
図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 storage unit 124 of the communication devices 12A to 12C, the load state is in the middle state by the CPU 121 of the communication device 12C. (S19) is illustrated as an example. In this case, unlike FIG. 2C, the middle state is stored as the load state in the first table 124A of the communication device 12C. Further, as shown in FIG. 11D, in the second table 124B of the communication device 12A, the middle state is stored as the load state corresponding to the first ID “12C”.

上記の場合において、通信装置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 CPU 121 of the communication device 12A has the load state of the communication device 12C based on the second table 124B in FIG. 11D (S61: YES), and the display unit of the communication device 12C. It is determined that the resolution (320 × 240) of the video window 24A having the display ID “12A” in the video window 21 displayed in 126 is equal to or lower than the second predetermined value (S63: NO). In this case, the CPU 121 determines to encode the shooting data under the second encoding condition (S67), generates the second video data, and transmits it to the server device 11 (S69, S73). The reason is to give priority to reducing the load on the CPU 121 of the communication device 12C. Here, the load on the CPU 121 when decoding the second video data is smaller than the load on the CPU 121 when decoding the first video data. Therefore, the CPU 121 of the communication device 12A can reduce the load when the CPU 121 of the communication device 12C performs the decoding process of the video data by generating and transmitting the second video data.

なお、第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 video window 24A, the image quality of the second video may be lower than the image quality when the first video is displayed. On the other hand, since the resolution of the video window 24A is equal to or lower than the second predetermined value, the CPU 121 of the communication device 12A generates and transmits the second video data. The reason is that since the resolution of the video window 24A is low, for example, even when the second video is displayed on the video window 24A instead of the first video, the degradation of the image quality of the video is not noticeable. As described above, the communication device 12A generates and transmits the second video data, thereby suppressing the image quality of the video displayed on the video window 24A of the display unit 126 of the communication device 12C from being lowered. The load on the CPU 121 of the communication device 12C can be reduced.

又、上記の場合において、通信装置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 CPU 121 of the communication device 12A is based on the second table 124B of FIG. 11D, the load state of the communication device 12B is in the middle state (S61: YES), and the communication device 12B It is determined that the resolution (640 × 480) of the video window 23A with the display ID “12A” in the video window 21 displayed on the display unit 126 is larger than the second predetermined value (S63: YES). In this case, the CPU 121 determines to encode the shooting data under the first encoding condition (S65), generates the first video data, and transmits it to the server device 11 (S69, S73). The reason is that the video window 23A has a high resolution. For example, when the second video is displayed on the video window 23A instead of the first video, the video image quality is likely to deteriorate, so it is necessary to prioritize the video quality. Is high. Note that since the load state of the CPU 121 of the communication device 12B is in the middle state, it is unlikely that the load on the CPU 121 becomes too high due to the decoding of the first video data.

図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 storage unit 124 of the communication devices 12A to 12C, the load state is reduced by the CPU 121 of the communication device 12B. The case where it is judged (S15) is illustrated. In this case, unlike FIG. 2B, the low state is stored as the load state in the first table 124A of the communication device 12B. Further, as shown in FIG. 11E, the low state is stored as the load state corresponding to the first ID “12B” in the second table 124B of the communication device 12A.

上記の場合において、通信装置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 CPU 121 of the communication device 12A is based on the second table 124B of FIG. 11E, and the load state of the communication device 12B is low (S59: YES). First, it is determined that the photographic data is encoded under the first encoding condition (S65). In this case, the CPU 121 generates first video data and transmits it to the server device 11 (S69, S73). The reason is that since the load on the CPU 121 of the communication device 12B is already low, the need for further reducing the load on the CPU 121 is low. In this case, the first video is displayed on the video window 23A of the display unit 126 of the communication device 12B. Accordingly, the communication device 12A can display the video with high image quality in the video window 21 of the display unit 126 of the communication device 12B.

又、上記の場合において、通信装置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 CPU 121 of the communication device 12A is based on the second table 124B of FIG. 11E, and the load state of the communication device 12C is high (S61: NO). Regardless, it is determined to encode the photographic data under the second encoding condition (S69). In this case, the CPU 121 generates the second video data and transmits it to the server device 11 (S69, S73). The reason is that the load on the CPU 121 of the communication device 12C is already high, and therefore there is a high need to reduce the load on the CPU 121. In this case, the CPU 121 of the communication device 12C decodes the second video data and displays the second video on the video window 24A. Therefore, the CPU 121 of the communication device 12A can reduce the load when the CPU 121 of the communication device 12C performs the video data decoding process.

通信装置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 CPU 121 of the communication device 12 receives the video data broadcast from the server device 11 (S31), the CPU 121 determines the video data to be decoded based on the first table 124A and the second table 124B as (1) to It identifies according to the conditions of (4) (S33). When the received video data and the video data to be decoded are both the first video data, or when both are the second video data (S35: YES), the CPU 121 selects the video data. Decode (S37). On the other hand, when both the video data are different between the first video data and the second video data (S35: NO), the CPU 121 deletes the video data from the storage unit 124 without decoding (S41).

具体的には、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 CPU 121 specifies the first video data as a decoding target regardless of the resolution of the video window 21. This is because the load on the CPU 121 is low, and even if the first video data is decoded, there is a low possibility that the load on the CPU 121 becomes too high. Further, by displaying the first video on the video window 21, the quality of the video can be improved. In addition, as (2), when the high state is set as its own load state, the CPU 121 specifies the second video data as a decoding target regardless of the resolution of the video window 21. This is because the load on the CPU 121 is high, and it is highly necessary to reduce the load on the CPU 121 by decoding the second video data. In addition, as (3), when the medium state is set as the load state of the CPU 121 and the resolution of the video window 21 is larger than the second predetermined value, the CPU 121 decodes the first video data. As specified. This is because the video window 21 has a high resolution, and the deterioration of the image quality of the image is conspicuous, so that it is highly necessary to prioritize the image quality of the image. Moreover, since the load state of the CPU 121 is a medium state, it is unlikely that the load on the CPU 121 becomes too high due to the decoding of the first video data. Further, as (4), the CPU 121 specifies the second video data as a decoding target when the medium state is set as its own load state and the acquired resolution is equal to or lower than the second predetermined value. To do. This is because priority is given to reducing the load on the CPU 121, since the resolution of the video window 21 is low and the deterioration of the image quality of the video is less noticeable.

以上のように、CPU121は、CPU121の負荷が高くなることを抑制しつつ、映像ウィンドウ21に表示される映像の画質を維持できる。又、CPU121は、サーバ装置11からブロードキャスト送信された映像データをデコードするか否かを、第1テーブル124A及び第2テーブル124Bに基づいて判断できる。   As described above, the CPU 121 can maintain the image quality of the video displayed on the video window 21 while suppressing an increase in the load on the CPU 121. Further, the CPU 121 can determine whether or not to decode the video data broadcast from the server device 11 based on the first table 124A and the second table 124B.

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 CPU 121 identifies the first video data as the video data to be decoded (S33). Further, the CPU 121 specifies the usage rate of the CPU 121 when the video data is decoded as the degree of load (see FIG. 3). When the specified load degree is equal to or greater than the first predetermined value (S11: YES), and the load state of the first table 124A is set to a low state (S17: YES), the CPU 121 determines the first table. The medium state is set as the load state of 124A (S19). That is, when the degree of load when the first video data is decoded is equal to or greater than the first predetermined value, the load state is changed from the low state to the middle state. Therefore, when the degree of load when decoding the first video data with a large load on the CPU 121 at the time of decoding is equal to or higher than the first predetermined value, the CPU 121 loads the medium state one level higher than the low state. You can set the state.

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 CPU 121 specifies the second video data as the video data to be decoded (S33). Further, the CPU 121 determines that the specified degree of load is smaller than the first predetermined value (S11: NO) and the load state of the first table 124A is set to a high state (S13: YES). The middle state is set as the load state of the first table 124A (S19). That is, when the degree of load when the second video data is decoded is higher than the first predetermined value, the load state is changed from the high state to the medium state. For this reason, when the degree of load when decoding the second video data with a small load on the CPU 121 at the time of decoding is smaller than the first predetermined value, the CPU 121 takes the intermediate state one step below the high state. The load status can be set. Since the load status is set based on the load status set last time and the current load level, it is more detailed than when the load status is set only based on the current load level. It is possible to set the correct load state.

<変形例>
なお、本発明は上記実施形態に限定されず、種々の変更が可能である。上記において、通信装置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 communication devices 12 is executed via the server device 11. On the other hand, communication between the communication devices 12 may be performed directly without using the server device 11. The CPU 121 of the communication device 12 may cause the dedicated device to execute shooting data encoding processing and video data decoding processing. The CPU 121 may acquire video data output from the dedicated device by the encoding process of the dedicated device and video output from the dedicated device by the decoding process of the dedicated device.

上記において、CPU121は、映像データがデコードされる場合におけるCPU121の使用率を、負荷の度合いとして特定した(S11)。CPU121は、負荷の度合いとして別のパラメータを特定してもよい。例えば、CPU121は、映像データがデコードされる場合のCPU121の処理速度、処理量、RAM123の使用率、デコード終了までに要する時間の少なくとも何れかを、負荷の度合いとして特定してもよい。又、CPU121は、使用率、処理速度、処理量、RAM123の使用率、及び、デコード終了までに要する時間のうち2つ以上を、所定の演算式に適用してパラメータを算出し、このパラメータを負荷の度合いとして特定してもよい。   In the above, the CPU 121 specifies the usage rate of the CPU 121 when the video data is decoded as the degree of load (S11). The CPU 121 may specify another parameter as the degree of load. For example, the CPU 121 may specify at least one of the processing speed of the CPU 121, the processing amount, the usage rate of the RAM 123, and the time required to complete the decoding when the video data is decoded as the degree of load. In addition, the CPU 121 calculates a parameter by applying two or more of the usage rate, processing speed, processing amount, usage rate of the RAM 123, and the time required for decoding to a predetermined arithmetic expression. The degree of load may be specified.

上記において、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 CPU 121 transmits the number of dots in the video window 21 to the server apparatus 11 as the resolution. For this reason, when the size of each dot differs depending on the communication device 12, that is, when the size of the display unit 126 of each communication device 12 is different, the size of the video window 21 is different even if the resolution is the same. There was a case. On the other hand, in addition to the resolution of the video window 21, the CPU 121 determines the vertical and horizontal lengths of the video window 21 (hereinafter referred to as “the size of the video window”) by the process of S45. May be sent to. When receiving the resolution and the size of the video window, the CPU 111 of the server device 11 may broadcast the resolution and the size of the video window to the communication device 12. When the CPU 121 of the communication device 12 receives the resolution and the size of the video window, the processing in S63 causes the resolution to be greater than the second predetermined value and the size of the video window to be greater than the third predetermined value (S63). : YES), it may be determined that the shooting data is encoded under the first encoding condition. On the other hand, if the resolution is equal to or smaller than the second predetermined value or the size of the video window is equal to or smaller than the third predetermined value (S63: NO), the CPU 121 may determine to encode the shooting data under the second encoding condition.

CPU121は、使用率が第1所定値以上である状態の経過時間に応じて、低状態、中状態、及び、高状態の何れかを負荷状態として特定してもよい。例えば、CPU121は、使用率が第1所定値以上である状態が所定時間以上継続した場合に、より大きな(例えば、1段階上の)負荷状態を特定してもよい。ここで、低状態に対する1段階上の負荷状態は中状態であり、中状態に対する1段階上の負荷状態は高状態である。又、CPU121は、使用率が第1所定値未満である状態が所定時間以上継続した場合に、より小さな(例えば、1段階下の)負荷状態を特定してもよい。ここで、高状態に対する1段階下の負荷状態は中状態であり、中状態に対する1段階下の負荷状態は低状態である。又、CPU121は、負荷状態を3段階(低状態、中状態、及び、高状態)で特定した。これに対し、CPU121は、負荷状態を2段階(低状態及び中状態、又は、中状態及び高状態)で特定してもよいし、4段階以上で特定してもよい。   The CPU 121 may identify one of the low state, the middle state, and the high state as the load state according to the elapsed time of the state where the usage rate is equal to or greater than the first predetermined value. For example, the CPU 121 may specify a larger load state (for example, one level above) when the state where the usage rate is equal to or higher than the first predetermined value continues for a predetermined time or longer. Here, the one-stage load state with respect to the low state is a medium state, and the one-stage load state with respect to the medium state is a high state. Further, the CPU 121 may specify a smaller load state (for example, one level lower) when the state where the usage rate is less than the first predetermined value continues for a predetermined time or longer. Here, the load state one level below the high state is a medium state, and the load state one step below the medium state is a low state. In addition, the CPU 121 identifies the load state in three stages (low state, medium state, and high state). On the other hand, the CPU 121 may specify the load state in two stages (low state and intermediate state, or intermediate state and high state), or may specify in four or more stages.

上記において、通信装置12のCPU121は、映像データをサーバ装置11に送信する場合、映像データの宛先の通信装置12を指定して送信してもよい。又、サーバ装置11は、映像データを通信装置12に対して送信する場合、ブロードキャスト送信でなく、映像データを受信したときに指定された宛先に対して送信してもよい。この場合、CPU121は、第5処理を実行せず、受信した映像データをすべてデコードしてもよい。   In the above, when transmitting video data to the server device 11, the CPU 121 of the communication device 12 may designate and transmit the destination communication device 12 of the video data. Further, when transmitting the video data to the communication device 12, the server device 11 may transmit the video data to a destination designated when the video data is received instead of broadcast transmission. In this case, the CPU 121 may decode all received video data without executing the fifth process.

上記において、通信装置12のCPU121は、一定周期で第1処理(図3参照)を実行して負荷状態を特定し、サーバ装置11に送信した。又、CPU121は、映像ウィンドウ21の解像度が変更された場合に第2処理(図4参照)を実行して解像度を取得し、サーバ装置11に送信した。これに対し、CPU121は、映像データを送信するタイミングで、サーバ装置11に対して要求データを送信してもよい。サーバ装置11のCPU111は、要求データを受信した場合、要求データをブロードキャスト通信してもよい。通信装置12のCPU121は、要求データを受信した場合、負荷状態及び解像度をサーバ装置11に対して送信してもよい。サーバ装置11のCPU111は、負荷状態及び解像度を受信した場合、要求データを送信した通信装置12に対して負荷状態及び解像度を送信してもよい。   In the above, the CPU 121 of the communication device 12 executes the first process (see FIG. 3) at a constant cycle to identify the load state and transmits it to the server device 11. In addition, when the resolution of the video window 21 is changed, the CPU 121 executes the second process (see FIG. 4) to acquire the resolution, and transmits it to the server device 11. On the other hand, the CPU 121 may transmit the request data to the server device 11 at the timing of transmitting the video data. When receiving the request data, the CPU 111 of the server device 11 may broadcast the request data. When receiving the request data, the CPU 121 of the communication device 12 may transmit the load state and the resolution to the server device 11. When the CPU 111 of the server device 11 receives the load state and resolution, the CPU 111 may transmit the load state and resolution to the communication device 12 that transmitted the request data.

<その他>
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 CPU 121 that performs the process of S73 is an example of the “transmission unit” in the present invention. The CPU 121 that performs the processes of S83 and S87 is an example of the “first receiving means” in the present invention. The CPU 121 that performs the process of S61 is an example of the “first determination unit” in the present invention. The CPU 121 that performs the process of S63 is an example of the “second determination unit” in the present invention. The CPU 121 that performs the processes of S65, S67, and S69 is an example of the “first generation unit” in the present invention. The CPU 121 that performs the processes of S15, S19, and S21 is an example of the “determination unit” in the present invention. The CPU 121 that performs the process of S41 is an example of the “acquiring unit” in the present invention. The CPU 121 that performs the process of S31 is an example of the “reception unit” in the present invention. The CPU 121 that performs the process of S33 is an example of the “third determination unit” in the present invention. The CPU 121 that performs the processes of S35, S37, and S41 is an example of the “processing means” in the present invention. The middle state is an example of the “first load state” in the present invention. The low state is an example of the “second load state” in the present invention. The high state is an example of the “third load state” in the present invention.

1 :通信システム
11 :サーバ装置
12、12A、12B、12C :通信装置
111 :CPU
114A :テーブル
121 :CPU
124A :第1テーブル
124B :第2テーブル
125 :カメラ
1: Communication system 11: Server devices 12, 12A, 12B, 12C: Communication device 111: CPU
114A: Table 121: CPU
124A: First table 124B: Second table 125: Camera

Claims (8)

遠隔会議に参加可能な第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 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.
前記受信ステップによって受信された前記負荷状態が、前記第1負荷状態よりも小さいことを示す第2負荷状態か判断する第3判断ステップと、
前記第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.
前記受信ステップによって受信された前記負荷状態が、前記第1負荷状態よりも大きいことを示す第3負荷状態か判断する第4判断ステップと、
前記第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.
前記第1判断ステップは、
前記第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.
前記負荷の度合いは、前記第2通信装置のプロセッサの負荷の度合いであることを特徴とする請求項4に記載の通信プログラム。   The communication program according to claim 4, wherein the degree of load is a degree of load of a processor of the second communication device. 遠隔会議に参加可能な第2通信装置のコンピュータに実行させるための通信プログラムであって、
前記遠隔会議に参加する第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通信装置及び第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映像データとで相違する場合、前記映像データをデコードしない処理手段と
を備えたことを特徴とする通信システム。
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.
JP2015192752A 2015-09-30 2015-09-30 Communication program and communication system Expired - Fee Related JP6406200B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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