JP2017069744A - Communication control device, program, recording medium, and communication control method - Google Patents

Communication control device, program, recording medium, and communication control method Download PDF

Info

Publication number
JP2017069744A
JP2017069744A JP2015192734A JP2015192734A JP2017069744A JP 2017069744 A JP2017069744 A JP 2017069744A JP 2015192734 A JP2015192734 A JP 2015192734A JP 2015192734 A JP2015192734 A JP 2015192734A JP 2017069744 A JP2017069744 A JP 2017069744A
Authority
JP
Japan
Prior art keywords
gpu
cpu
unit
execution
resource information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015192734A
Other languages
Japanese (ja)
Inventor
恵輔 藤田
Keisuke Fujita
恵輔 藤田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2015192734A priority Critical patent/JP2017069744A/en
Publication of JP2017069744A publication Critical patent/JP2017069744A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a communication control device, a program, a recording medium, and a method capable of efficiently distributing processing loads to a CPU and a GPU.SOLUTION: A communication control device 10 (conference server) includes: resource information confirmation means for confirming pre-execution CPU resource information and pre-execution GPU resource information prior to execution of a first processing part; resource information estimation means for estimating post-execution CPU resource information and post-execution GPU resource information posterior to execution of the first processing part; and allocation means for allocating processing. The allocation means allocates the execution of the first processing part to at least one processor between the CPU and the GPU on the basis of the pre-execution CPU resource information, the pre-execution GPU resource information, the post-execution CPU resource information, and the post-execution GPU resource information.SELECTED DRAWING: Figure 1

Description

本発明は、通信制御装置及びプログラム、記録媒体、並びに、通信制御方法に関し、例えば、多地点ビデオ会議サーバに適用し得るものである。   The present invention relates to a communication control device and program, a recording medium, and a communication control method, and can be applied to, for example, a multipoint video conference server.

従来、多地点ビデオ会議サーバは、映像のコーデック処理を含むすべての処理をCPU(Central Processing Unit)で行う構成としていた(特許文献1参照)。その結果、従来の多地点ビデオ会議サーバは、CPUの処理負荷がボトルネックとなり、同時接続数や同時会議開催数が制限される等の問題が内在していた。   Conventionally, a multipoint video conference server has a configuration in which all processing including video codec processing is performed by a CPU (Central Processing Unit) (see Patent Document 1). As a result, the conventional multipoint video conference server has a problem that the processing load of the CPU becomes a bottleneck and the number of simultaneous connections and the number of simultaneous conferences are limited.

特開2013−197766号公報JP 2013-197766 A

昨今、映像出力処理(一例)に用いられるGPU(Graphics Processing Unit)を搭載したCPU(Central Processing Unit)が、リリースされている。このGPUを搭載したCPUは、処理負荷のかかる映像出力処理を、GPUに割り当てる。   Recently, a CPU (Central Processing Unit) equipped with a GPU (Graphics Processing Unit) used for video output processing (an example) has been released. The CPU on which this GPU is mounted assigns a video output process requiring a processing load to the GPU.

しかしながら、多地点ビデオ会議サーバは、接続される端末に関わる映像や音声のコーデック処理(符号化処理、復号処理)、及び映像や音声の合成処理等を実行する。そのため、多地点ビデオ会議サーバにおける処理負荷は、接続する端末に関わる各処理量などに基づいて変動する。よって、多地点ビデオ会議サーバは、他の装置に比べて、CPUとGPUに効率的に処理負荷を分散させる必要性に迫られている。   However, the multipoint video conference server executes video and audio codec processing (encoding processing and decoding processing) related to a connected terminal, video and audio synthesis processing, and the like. Therefore, the processing load in the multipoint video conference server varies based on each processing amount related to the connected terminal. Therefore, the multipoint video conference server is required to efficiently distribute the processing load to the CPU and the GPU as compared with other devices.

そのため、CPUとGPUに効率的に処理負荷を分散できる通信制御装置及び通信制御プログラム、記録媒体、並びに、通信制御方法が望まれている。   Therefore, a communication control device, a communication control program, a recording medium, and a communication control method that can efficiently distribute the processing load between the CPU and the GPU are desired.

第1の本発明は、複数の通信装置に接続され、少なくとも1つのCPUと、少なくとも1つのGPUとを有する通信制御装置であって、(1)第1処理部の実行前における実行前CPUリソース情報と、実行前GPUリソース情報とを確認するリソース情報確認手段と、(2)前記第1処理部の実行後における実行後CPUリソース情報と、実行後GPUリソース情報とを推定するリソース情報推定手段と、(3)前記実行前CPUリソース情報と、前記実行前GPUリソース情報と、前記実行後CPUリソース情報と、前記実行後GPUリソース情報とに基づいて、前記第1処理部の実行を、CPU及びGPUのうち少なくとも1つの処理装置に割り当てる割当手段とを有することを特徴とする。   A first aspect of the present invention is a communication control device that is connected to a plurality of communication devices and has at least one CPU and at least one GPU, and (1) a pre-execution CPU resource before the execution of the first processing unit Resource information confirmation means for confirming information and pre-execution GPU resource information; (2) resource information estimation means for estimating post-execution CPU resource information and post-execution GPU resource information after execution of the first processing unit; And (3) executing the first processing unit based on the pre-execution CPU resource information, the pre-execution GPU resource information, the post-execution CPU resource information, and the post-execution GPU resource information. And assigning means for assigning to at least one processing device among the GPUs.

第2の本発明のプログラムは、複数の通信装置に接続され、少なくとも1つのCPUと、少なくとも1つのGPUとを有するコンピュータを、(1)第1処理部の実行前における実行前CPUリソース情報と、実行前GPUリソース情報とを確認するリソース情報確認手段と、(2)前記第1処理部の実行後における実行後CPUリソース情報と、実行後GPUリソース情報とを推定するリソース情報推定手段と、(3)前記実行前CPUリソース情報と、前記実行前GPUリソース情報と、前記実行後CPUリソース情報と、前記実行後GPUリソース情報とに基づいて、前記第1処理部の実行を、CPU及びGPUのうち少なくとも1つの処理装置に割り当てる割当手段として機能させることを特徴とする。   A program according to a second aspect of the present invention provides a computer connected to a plurality of communication devices and having at least one CPU and at least one GPU. (1) CPU resource information before execution before execution of the first processing unit Resource information confirmation means for confirming pre-execution GPU resource information; (2) resource information estimation means for estimating post-execution CPU resource information after execution of the first processing unit; and post-execution GPU resource information; (3) Based on the pre-execution CPU resource information, the pre-execution GPU resource information, the post-execution CPU resource information, and the post-execution GPU resource information, the execution of the first processing unit is performed by the CPU and the GPU. It is made to function as an allocation means to allocate to at least one processing apparatus.

第3の本発明は、第2の本発明のプログラムを記録したコンピュータ読み取り可能な記録媒体である。   The third aspect of the present invention is a computer-readable recording medium on which the program of the second aspect of the present invention is recorded.

第4の本発明は、複数の通信装置に接続され、少なくとも1つのCPUと、少なくとも1つのGPUとを有する通信制御装置の通信制御方法であって、前記通信制御装置は、(1)第1処理部の実行前における実行前CPUリソース情報と、実行前GPUリソース情報とを確認するリソース情報確認ステップと、(2)前記第1処理部の実行後における実行後CPUリソース情報と、実行後GPUリソース情報とを推定するリソース情報推定ステップと、(3)前記実行前CPUリソース情報と、前記実行前GPUリソース情報と、前記実行後CPUリソース情報と、前記実行後GPUリソース情報とに基づいて、前記第1処理部の実行を、CPU及びGPUのうち少なくとも1つの処理装置に割り当てるアプリケーション割当ステップとを有することを特徴とする。   A fourth aspect of the present invention is a communication control method for a communication control apparatus connected to a plurality of communication apparatuses and having at least one CPU and at least one GPU, the communication control apparatus comprising: (1) first A resource information confirmation step for confirming pre-execution CPU resource information and pre-execution GPU resource information before execution of the processing unit; (2) post-execution CPU resource information after execution of the first processing unit; and post-execution GPU Resource information estimation step for estimating resource information; (3) based on the pre-execution CPU resource information, the pre-execution GPU resource information, the post-execution CPU resource information, and the post-execution GPU resource information; An application allocating step for allocating execution of the first processing unit to at least one processing device of the CPU and the GPU. Characterized in that it.

本発明によれば、CPUとGPUに効率的に処理負荷を分散できる。   According to the present invention, the processing load can be efficiently distributed to the CPU and the GPU.

第1の実施形態に係る会議システムの全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the conference system which concerns on 1st Embodiment. 第1の実施形態に係る会議サーバのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the conference server which concerns on 1st Embodiment. 第1の実施形態に係るメディア処理部(MCU)内部の機能的構成例について示したブロック図である。It is the block diagram shown about the functional structural example inside the media processing part (MCU) which concerns on 1st Embodiment. 第1の実施形態に係る制御部内部の機能的構成例について示したブロック図である。It is the block diagram shown about the functional structural example inside the control part which concerns on 1st Embodiment. 第1の実施形態に係るCPU/GPU処理割当候補取得部が取得する割当候補(パターン)を示す説明図である。It is explanatory drawing which shows the allocation candidate (pattern) which the CPU / GPU process allocation candidate acquisition part which concerns on 1st Embodiment acquires. 第1の実施形態に係るCPU/GPU処理割当候補取得部が取得する割当候補(割当候補(1)〜(4))を示す説明図である。It is explanatory drawing which shows the allocation candidate (Allocation candidate (1)-(4)) which the CPU / GPU process allocation candidate acquisition part which concerns on 1st Embodiment acquires. 第1の実施形態に係るCPU/GPU処理割当候補取得部が取得する割当候補(割当候補(1)〜(4))を示す説明図(その2)である。It is explanatory drawing (the 2) which shows the allocation candidate (allocation candidate (1)-(4)) which the CPU / GPU process allocation candidate acquisition part which concerns on 1st Embodiment acquires. 第1の実施形態に係るメディア制御部の特徴動作(CPU/GPUの処理割当)を示すフローチャートである。It is a flowchart which shows the characteristic operation | movement (CPU / GPU process allocation) of the media control part which concerns on 1st Embodiment. 第2の実施形態に係るCPU/GPU処理割当候補取得部が取得する割当候補(割当候補(5))を示す説明図である。It is explanatory drawing which shows the allocation candidate (allocation candidate (5)) which the CPU / GPU process allocation candidate acquisition part which concerns on 2nd Embodiment acquires. 第3の実施形態に係るCPU/GPU処理割当候補取得部が取得する割当候補(割当候補(1)、(1α)、(1β))を示す説明図である。It is explanatory drawing which shows the allocation candidate (Allocation candidate (1), (1 (alpha)), (1 (beta))) which the CPU / GPU process allocation candidate acquisition part which concerns on 3rd Embodiment acquires. 第3の実施形態に係るCPU/GPU処理割当候補取得部が取得する割当候補(割当候補(2)、(2α)、(2β))を示す説明図である。It is explanatory drawing which shows the allocation candidate (Allocation candidate (2), (2 (alpha)), (2 (beta))) which the CPU / GPU process allocation candidate acquisition part which concerns on 3rd Embodiment acquires. 第3の実施形態に係るCPU/GPU処理割当候補取得部が取得する割当候補(割当候補(3)、(3α)、(3β)、(4))を示す説明図である。It is explanatory drawing which shows the allocation candidate (Allocation candidate (3), (3 (alpha)), (3 (beta)), (4)) which the CPU / GPU process allocation candidate acquisition part which concerns on 3rd Embodiment acquires.

(A)第1の実施形態
以下、本発明による通信制御装置及びプログラム、記録媒体、並びに、通信制御方法の第1の実施形態を、図面を参照しながら詳述する。
(A) First Embodiment Hereinafter, a first embodiment of a communication control device and program, a recording medium, and a communication control method according to the present invention will be described in detail with reference to the drawings.

(A−1)第1の実施形態の構成
図1は、第1の実施形態に係る会議システムの全体構成を示すブロック図である。
(A-1) Configuration of First Embodiment FIG. 1 is a block diagram showing an overall configuration of a conference system according to the first embodiment.

会議システム1には、会議サーバ10と、4台の会議端末40−1〜40−4が配置されている。   In the conference system 1, a conference server 10 and four conference terminals 40-1 to 40-4 are arranged.

会議サーバ10は、会議端末の接続許可及びアドレス変換機能を有する呼制御部20(ゲートキーパ(以下、「GK」ともいう)20)と、2人以上の参加者による多地点会議において、音声、映像、データを相互交換する機能を担っているメディア処理部30(MCU30)と、主にメディア処理部30の構成(処理)を制御するメディア制御部700とを有している。   The conference server 10 includes a call control unit 20 (gatekeeper (hereinafter also referred to as “GK”) 20) having a conference terminal connection permission and address conversion function, and voice and video in a multipoint conference by two or more participants. And a media processing unit 30 (MCU 30) having a function of exchanging data, and a media control unit 700 that mainly controls the configuration (processing) of the media processing unit 30.

会議サーバ10においては、仮想的に1又は複数の会議室が設定される。会議サーバ10は、会議端末40−1〜40−4から受信した映像データを合成して、合成した映像データを会議端末40−1〜40−4に送信する。さらに、会議サーバ10は、会議端末40−1〜40−4から受信した音声データを合成して、合成した音声データを会議端末40−1〜40−4に送信する。   In the conference server 10, one or a plurality of conference rooms are virtually set. The conference server 10 combines the video data received from the conference terminals 40-1 to 40-4, and transmits the combined video data to the conference terminals 40-1 to 40-4. Furthermore, the conference server 10 synthesizes the audio data received from the conference terminals 40-1 to 40-4, and transmits the synthesized audio data to the conference terminals 40-1 to 40-4.

この実施形態の説明おいて、会議サーバ10の一例は、次の通りである。会議サーバ10は、4台の会議端末40−1〜40−4により一つの会議室が設定される。会議サーバ10は、会議端末40−1〜40−4から受信した映像データを合成して、合成した映像データを会議端末40−1〜40−4に送信する。さらに、会議サーバ10は、会議端末40−1〜40−4から受信した音声データを合成して、合成した音声データを会議端末40−1〜40−4に送信する。   In the description of this embodiment, an example of the conference server 10 is as follows. In the conference server 10, one conference room is set by the four conference terminals 40-1 to 40-4. The conference server 10 combines the video data received from the conference terminals 40-1 to 40-4, and transmits the combined video data to the conference terminals 40-1 to 40-4. Furthermore, the conference server 10 synthesizes the audio data received from the conference terminals 40-1 to 40-4, and transmits the synthesized audio data to the conference terminals 40-1 to 40-4.

図1において、会議サーバ10は、映像データと併せて音声データを会議端末40−1〜40−4から受信し、合成し、送信するものとしているが、映像データ、又は音声データのいずれかデータを会議端末40−1〜40−4から受信し、合成し、送信するようにしても良い。   In FIG. 1, the conference server 10 receives, synthesizes, and transmits audio data together with video data from the conference terminals 40-1 to 40-4, but either video data or audio data is stored. May be received from the conference terminals 40-1 to 40-4, combined, and transmitted.

また、図1において、会議端末40−1〜40−4は、会議サーバ10(メディア処理部30(MCU30))と、H.323準拠の方式で呼を接続するものとして説明するが、呼を接続する方式はH.323に限定されないものである。呼を接続する方式における他の一例は、SIP(Session Initiation Protocol)などがある。   In FIG. 1, the conference terminals 40-1 to 40-4 are described as connecting the conference server 10 (media processing unit 30 (MCU 30)) with a H.323-compliant method. The connection method is H.264. It is not limited to H.323. Another example of a method for connecting calls is SIP (Session Initiation Protocol).

会議端末40−1〜40−4は、上述の通り会議サーバ10に接続する端末であり、既存のビデオ会議システムにおける端末を適用するようにしても良い。なお、配置する会議端末40の数は限定されないものである。   The conference terminals 40-1 to 40-4 are terminals connected to the conference server 10 as described above, and terminals in an existing video conference system may be applied. Note that the number of conference terminals 40 to be arranged is not limited.

なお、メディア処理部30(MCU30)と、メディア制御部700の構成例は、後述される図3、図4を用いて説明される。   Configuration examples of the media processing unit 30 (MCU 30) and the media control unit 700 will be described with reference to FIGS. 3 and 4 described later.

<会議サーバ10のハードウェア構成例>
図2は、会議サーバ10のハードウェア構成例を示すブロック図である。
<Hardware configuration example of conference server 10>
FIG. 2 is a block diagram illustrating a hardware configuration example of the conference server 10.

図2において、会議サーバ10は、CPU611と、GPU612と、メモリ613(CPU用メモリ613−1、GPU用メモリ613−2)と、インタフェース614と、記憶装置615とを有している。   In FIG. 2, the conference server 10 includes a CPU 611, a GPU 612, a memory 613 (CPU memory 613-1 and GPU memory 613-2), an interface 614, and a storage device 615.

CPU611は、少なくとも会議サーバ10の一部の構成を制御する演算処理装置(プロセッサ)である。   The CPU 611 is an arithmetic processing device (processor) that controls at least a part of the configuration of the conference server 10.

例えば、CPU611は、メモリ613(CPU用メモリ613−1)に、記憶装置615に記憶されるプログラムをロードする。そして、CPU611は、ロードしたプログラムを実行して、呼制御部20、メディア処理部30(MCU30)(後述)、メディア制御部700(後述)を実現する。   For example, the CPU 611 loads a program stored in the storage device 615 into the memory 613 (CPU memory 613-1). The CPU 611 executes the loaded program to realize a call control unit 20, a media processing unit 30 (MCU 30) (described later), and a media control unit 700 (described later).

なお、CPU611により実現されるメディア処理部30(MCU30)の構成は、全ての構成、又は一部の構成である。CPU611により実現されるメディア処理部30(MCU30)の構成が一部の構成である場合、残りのメディア処理部30(MCU30)の構成は、後述されるGPU612により実現される。   Note that the configuration of the media processing unit 30 (MCU 30) realized by the CPU 611 is all or part of the configuration. When the configuration of the media processing unit 30 (MCU 30) realized by the CPU 611 is a partial configuration, the configuration of the remaining media processing unit 30 (MCU 30) is realized by the GPU 612 described later.

GPU612は、会議サーバ10の一部の構成する演算処理装置である。さらに、GPU612は、種々の映像データ、音声データを、映像符号化方式、音声符号化方式に基づいて処理するコーデックエンジンが搭載されている演算処理装置であり、CPU611に比べて複数のタスクを同時に処理することができる演算処理装置である。   The GPU 612 is an arithmetic processing device that constitutes a part of the conference server 10. Further, the GPU 612 is an arithmetic processing unit equipped with a codec engine that processes various video data and audio data based on the video encoding method and the audio encoding method, and performs a plurality of tasks simultaneously as compared with the CPU 611. An arithmetic processing unit capable of processing.

例えば、GPU612は、メモリ613(GPU用メモリ613−2)にロードされたプログラムを用いる。ここで、ロードされたプログラムは、記憶装置615に記憶されるプログラムであり、CPU611によって、メモリ613(GPU用メモリ613−2)にロードされたプログラムである。そして、GPU612は、CPU611から命令を受信して、命令に関わるプログラムを実行して後述されるメディア処理部30(MCU30)を実現する。   For example, the GPU 612 uses a program loaded in the memory 613 (GPU memory 613-2). Here, the loaded program is a program stored in the storage device 615, and is a program loaded into the memory 613 (GPU memory 613-2) by the CPU 611. The GPU 612 receives an instruction from the CPU 611 and executes a program related to the instruction to realize a media processing unit 30 (MCU 30) described later.

なお、GPU612により実現されるメディア処理部30(MCU30)の構成は、一部の構成である。残りのメディア処理部30(MCU30)の構成は、上述のCPU611にて実現される。   Note that the configuration of the media processing unit 30 (MCU 30) realized by the GPU 612 is a partial configuration. The configuration of the remaining media processing unit 30 (MCU 30) is realized by the CPU 611 described above.

メモリ613(CPU用メモリ613−1、GPU用メモリ613−2)は、演算処理装置が直接アクセスする1次記憶手段である。なお、CPU用メモリ613−1は、CPU611が使用するメモリ領域である。また、GPU用メモリ613−2は、GPU612が使用するメモリ領域である。   The memory 613 (CPU memory 613-1, GPU memory 613-2) is primary storage means directly accessed by the arithmetic processing unit. The CPU memory 613-1 is a memory area used by the CPU 611. The GPU memory 613-2 is a memory area used by the GPU 612.

インタフェース614は、会議サーバ10の外部に存在する装置と接続するための接続インタフェースである。インタフェース614は、ネットワーク(図示せず)を介して会議端末40(40−1〜40−4)と接続される。   The interface 614 is a connection interface for connecting to a device existing outside the conference server 10. The interface 614 is connected to the conference terminals 40 (40-1 to 40-4) via a network (not shown).

また、インタフェース614は、会議サーバ10内におけるCPU611、GPU612、メモリ613(CPU用メモリ613−1、GPU用メモリ613−2)と接続される。   The interface 614 is connected to the CPU 611, GPU 612, and memory 613 (CPU memory 613-1, GPU memory 613-2) in the conference server 10.

記憶装置615は、CPU611、若しくはGPU612(又はその両方)で実行されるプログラム等を記憶する装置である。記憶装置615は、USBメモリやSSDを一例とするフラッシュメモリ、ハードディスクを一例とする磁気記憶装置等である。さらに、記憶装置615は、このプログラム等が記憶されたCD−ROMやFDを一例とする記憶媒体とその記憶媒体を読み取る記憶媒体読取装置を一対とした記憶装置等である。   The storage device 615 is a device that stores a program executed by the CPU 611 or the GPU 612 (or both). The storage device 615 is a flash memory using USB memory or SSD as an example, a magnetic storage device using a hard disk as an example, or the like. Further, the storage device 615 is a storage device or the like in which a storage medium such as a CD-ROM or FD in which the program is stored and a storage medium reader that reads the storage medium are paired.

<メディア処理部30(MCU30)内部の機能的構成例>
図3は、メディア処理部30(MCU30)内部の機能的構成例について示したブロック図である。
<Functional Configuration Example Inside Media Processing Unit 30 (MCU 30)>
FIG. 3 is a block diagram illustrating a functional configuration example inside the media processing unit 30 (MCU 30).

なお、図3においては記載を省略しているが、既存のMCU装置と同様に、データ信号処理装置等を有する構成としても良い。   In addition, although description is abbreviate | omitted in FIG. 3, it is good also as a structure which has a data signal processing apparatus etc. similarly to the existing MCU apparatus.

図3において、メディア処理部30(MCU30)は、映像データ処理部31、音声データ処理部32、データ受信処理部33(33−1〜33−4)、及びデータ送信処理部37(37−1〜37−4)を有する。   In FIG. 3, a media processing unit 30 (MCU 30) includes a video data processing unit 31, an audio data processing unit 32, a data reception processing unit 33 (33-1 to 33-4), and a data transmission processing unit 37 (37-1). ~ 37-4).

メディア処理部30(MCU30)の各部(映像データ処理部31、音声データ処理部32、データ受信処理部33、データ送信処理部37)は、メディア制御部700(図1)により、制御される。   Each unit (video data processing unit 31, audio data processing unit 32, data reception processing unit 33, data transmission processing unit 37) of the media processing unit 30 (MCU 30) is controlled by the media control unit 700 (FIG. 1).

なお、データ受信処理部33、データ送信処理部37は、接続する会議端末40と同数作成される。   Note that the same number of data reception processing units 33 and data transmission processing units 37 are created as there are conference terminals 40 to be connected.

ここで、メディア処理部30(MCU30)の各部の処理は、会議サーバ10のハードウェア構成例を示すブロック図(図2)により、実現される。   Here, the processing of each unit of the media processing unit 30 (MCU 30) is realized by a block diagram (FIG. 2) showing an example of a hardware configuration of the conference server 10.

メディア処理部30(MCU30)の各部の処理は、例えば、CPU611、又はGPU612がアクセス可能な記憶装置615に記憶されたメディア処理プログラムにコーディングされている。そして、CPU611、又はGPU612が記憶装置615からメディア処理プログラムを読み出して、コーディングされている処理を実行する。   The processing of each unit of the media processing unit 30 (MCU 30) is coded in, for example, a media processing program stored in the storage device 615 accessible by the CPU 611 or the GPU 612. Then, the CPU 611 or the GPU 612 reads the media processing program from the storage device 615 and executes the coded processing.

メディア処理部30(MCU30)の各部の構成例(データ受信処理部33、映像データ処理部31、音声データ処理部32、及びデータ送信処理部37)は、次の通りである。   A configuration example (data reception processing unit 33, video data processing unit 31, audio data processing unit 32, and data transmission processing unit 37) of each unit of the media processing unit 30 (MCU 30) is as follows.

ここで、メディア制御部700(図1)は、呼制御部20(GK20)から、会議端末40(40−1〜40−4)で利用可能な符号化方式とその仕様を受信しているものとする。   Here, the media control unit 700 (FIG. 1) has received from the call control unit 20 (GK20) the encoding schemes usable by the conference terminals 40 (40-1 to 40-4) and their specifications. And

なお、呼制御部20(GK20)は、会議サーバ10と会議端末40−1〜40−4との間で呼が確立するとき、会議端末40(40−1〜40−4)から、利用可能な符号化方式とその仕様を受信するものとする(または、呼制御部20(GK20)は、予め、利用可能な符号化方式とその仕様を記憶しているものとする)。   The call control unit 20 (GK20) can be used from the conference terminal 40 (40-1 to 40-4) when a call is established between the conference server 10 and the conference terminals 40-1 to 40-4. It is assumed that a correct encoding method and its specification are received (or call control unit 20 (GK20) stores an available encoding method and its specification in advance).

<データ受信処理部33>
データ受信処理部33(33−1〜33−4)は、メディア制御部700の指示により割り当てられたCPU611により、データ受信処理を行う機能を有する。
<Data reception processing unit 33>
The data reception processing unit 33 (33-1 to 33-4) has a function of performing data reception processing by the CPU 611 assigned by an instruction from the media control unit 700.

データ受信処理部33(33−1〜33−4)は、会議端末40(40−1〜40−4)から映像データ(符号化済)と音声データ(符号化済)を受信する。   The data reception processing unit 33 (33-1 to 33-4) receives video data (encoded) and audio data (encoded) from the conference terminals 40 (40-1 to 40-4).

データ受信処理部33(33−1〜33−4)は、映像データ処理部31に、受信した映像データ(符号化済)を送信し、音声データ処理部32に、受信した音声データ(符号化済)を送信する。   The data reception processing unit 33 (33-1 to 33-4) transmits the received video data (encoded) to the video data processing unit 31, and the received audio data (encoding) to the audio data processing unit 32. Sent).

<映像データ処理部31>
映像データ処理部31は、メディア制御部700(図1)の指示により割り当てられたCPU611若しくはGPU612(又は、その両方)により、映像処理(映像復号、映像合成、映像符号化)を行う機能を有する。
<Video data processing unit 31>
The video data processing unit 31 has a function of performing video processing (video decoding, video synthesis, video coding) by the CPU 611 or the GPU 612 (or both) assigned by an instruction from the media control unit 700 (FIG. 1). .

映像データ処理部31は、映像データ復号部34a(34a−1〜34a−4)、映像データ合成部35a(35a−1〜35a−4)、及び映像データ符号化部36a(36a−1〜36a−4)を有する。なお、映像データ復号部34a、映像データ合成部35a、映像データ符号化部36aは、接続する会議端末数と同数作成される。   The video data processing unit 31 includes a video data decoding unit 34a (34a-1 to 34a-4), a video data synthesis unit 35a (35a-1 to 35a-4), and a video data encoding unit 36a (36a-1 to 36a). -4). Note that the same number of video data decoding units 34a, video data synthesizing units 35a, and video data encoding units 36a as the number of conference terminals to be connected are created.

また、複数の映像データ合成部35aにおいて、映像データ合成部35aの入力される映像データと出力される映像データが同じである場合、複数の映像データ合成部35aは、1つの映像データ合成部35aで処理してもよい(なお、各映像データ合成部35aと各映像データ符号化部36aとの接続は、メディア制御部700(図1)からの指示により、動的に変更可能である)。   In addition, in the plurality of video data synthesis units 35a, when the video data input to the video data synthesis unit 35a is the same as the output video data, the plurality of video data synthesis units 35a includes one video data synthesis unit 35a. (The connection between each video data synthesizing unit 35a and each video data encoding unit 36a can be dynamically changed by an instruction from the media control unit 700 (FIG. 1)).

また、映像データ符号化部36aは、会議室に対して1つ以上任意の数で作成される。映像データ符号化部36aは、メディア制御部700の指示により、新たに作成されること、及び消去されることができるものとする。映像データ符号化部36aとデータ送信処理部37の接続関係は、会議中であっても、メディア制御部700の指示により、動的に変化させることができるものとする。   In addition, one or more video data encoding units 36a are created for the conference room. It is assumed that the video data encoding unit 36a can be newly created and deleted according to an instruction from the media control unit 700. It is assumed that the connection relationship between the video data encoding unit 36a and the data transmission processing unit 37 can be dynamically changed by an instruction from the media control unit 700 even during a conference.

また、複数の映像データ符号化部36aにおいて、映像データ符号化部36aに入力される映像データと出力される映像データが同じである場合、複数の映像データ符号化部36aは、1つの映像データ符号化部36aで処理してもよい(なお、各映像データ符号化部36aと各データ送信処理部37との接続は、メディア制御部700(図1)からの指示により、動的に変更可能である)。   In addition, in the plurality of video data encoding units 36a, when the video data input to the video data encoding unit 36a and the output video data are the same, the plurality of video data encoding units 36a have one video data Processing may be performed by the encoding unit 36a (Note that the connection between each video data encoding unit 36a and each data transmission processing unit 37 can be dynamically changed by an instruction from the media control unit 700 (FIG. 1). Is).

ここで、映像データ処理部31の各部(映像データ復号部34a、映像データ合成部35a、映像データ符号化部36a)の構成は、次の通りである。   Here, the configuration of each unit (video data decoding unit 34a, video data synthesizing unit 35a, video data encoding unit 36a) of the video data processing unit 31 is as follows.

<<映像データ復号部34a>>
映像データ復号部34a(34a−1〜34a−4)は、データ受信処理部33(33−1〜33−4)から、映像データ(符号化済)を受信して、受信した映像データ(符号化済)を復号する。映像データ復号部34a(34a−1〜34a−4)は、映像データ合成部35a(35a−1〜35a−4)に、復号した映像データを送信する。
<< Video Data Decoding Unit 34a >>
The video data decoding unit 34a (34a-1 to 34a-4) receives video data (encoded) from the data reception processing unit 33 (33-1 to 33-4), and receives the received video data (code Decrypted). The video data decoding unit 34a (34a-1 to 34a-4) transmits the decoded video data to the video data synthesis unit 35a (35a-1 to 35a-4).

ここで、映像データ復号部34a(34a−1〜34a−4)は、映像データ(符号化済)を復号処理する際、後述されるメディア制御部700により設定された符号化方式であり、会議端末40(40−1〜40−4)にて用いられた符号化方式に基づいて、復号処理を行う。   Here, the video data decoding unit 34a (34a-1 to 34a-4) is an encoding method set by the media control unit 700 described later when decoding video data (encoded), and the conference A decoding process is performed based on the encoding method used in the terminal 40 (40-1 to 40-4).

なお、会議端末40において、資料共有(PC画面や特定のアプリウインドウ)などが行われている場合、映像データ復号部34a(34a−1〜34a−4)は、上述の処理と並行して、データ受信処理部33(33−1〜33−4)から、映像データ(資料共有)(符号化済)を受信して、受信した映像データ(資料共有)(符号化済)を復号する。映像データ復号部34a(34a−1〜34a−4)は、映像データ合成部35a(35a−1〜35a−4)に、復号した映像データ(資料共有)を送信する。   In the conference terminal 40, when document sharing (PC screen or specific application window) or the like is performed, the video data decoding unit 34a (34a-1 to 34a-4) performs the above processing in parallel. Video data (material sharing) (encoded) is received from the data reception processing unit 33 (33-1 to 33-4), and the received video data (material sharing) (encoded) is decoded. The video data decoding unit 34a (34a-1 to 34a-4) transmits the decoded video data (material sharing) to the video data synthesis unit 35a (35a-1 to 35a-4).

<<映像データ合成部35a>>
映像データ合成部35a(35a−1〜35a−4)は、映像データ復号部34a(34a−1〜34a−4)から、映像データ(復号済)を受信して、受信した映像データ(復号済)を合成する。映像データ合成部35a(35a−1〜35a−4)は、合成された映像データを、映像データ符号化部36a(36a−1〜36a−4)にする。
<< Video Data Composition Unit 35a >>
The video data synthesis unit 35a (35a-1 to 35a-4) receives the video data (decoded) from the video data decoding unit 34a (34a-1 to 34a-4), and receives the received video data (decoded). ). The video data synthesis unit 35a (35a-1 to 35a-4) turns the synthesized video data into video data encoding units 36a (36a-1 to 36a-4).

ここで、映像データ合成部35aは、合成処理を行う際、映像データ(合成済)の送信先となる会議端末40(40−1〜40−4)に関わる映像データ(復号済)を除いて合成する。   Here, the video data synthesis unit 35a excludes video data (decoded) related to the conference terminals 40 (40-1 to 40-4) to which video data (synthesized) is transmitted when performing the synthesis process. Synthesize.

例えば、映像データ合成部35aは、会議端末40−1に関わる合成処理を行う際、映像データ復号部34a−1から受信した映像データ(復号済)を除いて、映像データ復号部34a−2〜34a−4から受信した映像データ(復号済)を合成する。   For example, when the video data synthesizing unit 35a performs the synthesizing process related to the conference terminal 40-1, the video data decoding unit 34a-2 to the video data decoding unit 34a-2 to the video data decoding unit 34a-1 except the video data (decoded) received from the video data decoding unit 34a-1. The video data (decoded) received from 34a-4 is synthesized.

なおここで、映像データ合成部35aは、合成処理を行う際、全ての会議端末40(40−1〜40−4)に関わる映像データ(復号済)を合成してもよい。   Here, the video data synthesis unit 35a may synthesize video data (decoded) related to all the conference terminals 40 (40-1 to 40-4) when performing the synthesis process.

<<映像データ符号化部36a>>
映像データ符号化部36a(36a−1〜36a−4)は、映像データ合成部35a(35a−1〜35a−4)から、映像データ(合成済)を受信して、受信した映像データ(合成済)を符号化する。
<< Video Data Encoding Unit 36a >>
The video data encoding unit 36a (36a-1 to 36a-4) receives the video data (synthesized) from the video data synthesis unit 35a (35a-1 to 35a-4), and receives the received video data (synthesized). Encoded).

映像データ符号化部36a(36a−1〜36a−4)は、会議端末40(40−1〜40−4)に、符号化した映像データを送信する。   The video data encoding unit 36a (36a-1 to 36a-4) transmits the encoded video data to the conference terminals 40 (40-1 to 40-4).

なお、映像データ符号化部36a(36a−1〜36a−4)は、映像データ(合成済)を符号化処理する際、後述されるメディア制御部700により設定された符号化方式であり、会議端末40(40−1〜40−4)にて用いられた符号化方式に基づいて、符号化処理を行う。   Note that the video data encoding unit 36a (36a-1 to 36a-4) is an encoding method set by the media control unit 700 described later when encoding video data (combined). The encoding process is performed based on the encoding method used in the terminal 40 (40-1 to 40-4).

<音声データ処理部32>
音声データ処理部32は、メディア制御部700の指示により割り当てられたCPU611若しくはGPU612(又は、その両方)により、音声処理(音声復号、音声合成、音声符号化)を行う機能を有する。
<Audio data processing unit 32>
The voice data processing unit 32 has a function of performing voice processing (speech decoding, voice synthesis, voice coding) by the CPU 611 or the GPU 612 (or both) assigned by an instruction from the media control unit 700.

音声データ処理部32は、音声データ復号部34b(34b−1〜34b−4)、音声データ合成部35b(35b−1〜35b−4)、及び音声データ符号化部36b(36b−1〜36b−4)を有する。なお、音声データ復号部34b、音声データ合成部35b、音声データ符号化部36bは、接続する会議端末数と同数作成される。   The audio data processing unit 32 includes an audio data decoding unit 34b (34b-1 to 34b-4), an audio data synthesis unit 35b (35b-1 to 35b-4), and an audio data encoding unit 36b (36b-1 to 36b). -4). Note that the same number of audio data decoding units 34b, audio data synthesizing units 35b, and audio data encoding units 36b are created as the number of conference terminals to be connected.

また、複数の音声データ合成部35bにおいて、音声データ合成部35bの入力される音声データと出力される音声データが同じである場合、複数の音声データ合成部35bは、1つの音声データ合成部35bで処理してもよい(なお、各音声データ合成部35bと各音声データ符号化部36bとの接続は、メディア制御部700(図1)からの指示により、動的に変更可能である)。   In addition, in the plurality of sound data synthesizers 35b, when the sound data input to the sound data synthesizer 35b is the same as the sound data to be output, the plurality of sound data synthesizers 35b is one sound data synthesizer 35b. (The connection between each audio data synthesis unit 35b and each audio data encoding unit 36b can be dynamically changed by an instruction from the media control unit 700 (FIG. 1)).

また、音声データ符号化部36bは、会議室に対して1つ以上任意の数で作成される。音声データ符号化部36bは、メディア制御部700の指示により、新たに作成されること、及び消去されることができるものとする。音声データ符号化部36bとデータ送信処理部37の接続関係は、会議中であっても、メディア制御部700の指示により、動的に変化させることができるものとする。   In addition, one or more audio data encoding units 36b are created for the conference room. It is assumed that the audio data encoding unit 36b can be newly created and deleted by an instruction from the media control unit 700. It is assumed that the connection relationship between the audio data encoding unit 36b and the data transmission processing unit 37 can be dynamically changed by an instruction from the media control unit 700 even during a conference.

また、複数の音声データ符号化部36bにおいて、音声データ符号化部36bに入力される音声データと出力される音声データが同じである場合、複数の音声データ符号化部36bは、1つの音声データ符号化部36bで処理してもよい(なお、各音声データ符号化部36bと各データ送信処理部37との接続は、メディア制御部700(図1)からの指示により、動的に変更可能である)。   In addition, in the plurality of audio data encoding units 36b, when the audio data input to the audio data encoding unit 36b and the output audio data are the same, the plurality of audio data encoding units 36b Processing may be performed by the encoding unit 36b (Note that the connection between each audio data encoding unit 36b and each data transmission processing unit 37 can be dynamically changed by an instruction from the media control unit 700 (FIG. 1). Is).

ここで、音声データ処理部32の各部(音声データ復号部34b、音声データ合成部35b、音声データ符号化部36b)の構成は、次の通りである。   Here, the configuration of each unit (the audio data decoding unit 34b, the audio data synthesis unit 35b, and the audio data encoding unit 36b) of the audio data processing unit 32 is as follows.

<<音声データ復号部34b>>
音声データ復号部34b(34b−1〜34b−4)は、データ受信処理部33(33−1〜33−4)から、音声データ(符号化済)を受信して、受信した音声データ(符号化済)を復号する。音声データ復号部34b(34b−1〜34b−4)は、音声データ合成部35b(35b−1〜35b−4)に、復号した音声データを送信する。
<< Audio data decoding unit 34b >>
The audio data decoding unit 34b (34b-1 to 34b-4) receives the audio data (encoded) from the data reception processing unit 33 (33-1 to 33-4), and receives the received audio data (encoded Decrypted). The audio data decoding unit 34b (34b-1 to 34b-4) transmits the decoded audio data to the audio data synthesis unit 35b (35b-1 to 35b-4).

なお、音声データ復号部34b(34b−1〜34b−4)は、音声データ(符号化済)を復号処理する際、後述されるメディア制御部700により指示された符号化方式であり、会議端末40(40−1〜40−4)にて用いられた符号化方式に基づいて、復号処理を行う。   The audio data decoding unit 34b (34b-1 to 34b-4) is an encoding method instructed by the media control unit 700 described later when decoding audio data (encoded), and is a conference terminal. Decoding processing is performed based on the encoding method used in 40 (40-1 to 40-4).

<<音声データ合成部35b>>
音声データ合成部35b(35b−1〜35b−4)は、音声データ復号部34b(34b−1〜34b−4)から、音声データ(復号済)を受信して、受信した音声データ(復号済)を合成する。音声データ合成部35b(35b−1〜35b−4)は、合成された音声データを、音声データ符号化部36b(36b−1〜36b−4)にする。
<< Sound Data Synthesizer 35b >>
The voice data synthesis unit 35b (35b-1 to 35b-4) receives the voice data (decoded) from the voice data decoding unit 34b (34b-1 to 34b-4) and receives the received voice data (decoded). ). The voice data synthesis unit 35b (35b-1 to 35b-4) converts the synthesized voice data into the voice data encoding unit 36b (36b-1 to 36b-4).

ここで、音声データ合成部35b(35b−1〜35b−4)は、合成処理を行う際、音声データ(合成済)の送信先となる会議端末40(40−1〜40−4)に関わる音声データ(復号済)を除いて合成する。   Here, the voice data synthesizer 35b (35b-1 to 35b-4) is involved in the conference terminals 40 (40-1 to 40-4) that are the transmission destinations of the voice data (synthesized) when performing the synthesis process. It is synthesized by excluding the voice data (decoded).

例えば、音声データ合成部35b−1は、会議端末40−1に関わる合成処理を行う際、音声データ復号部34b−1から受信した音声データ(復号済)を除いて、音声データ復号部34b−2〜34b−4から受信した音声データ(復号済)を合成する。   For example, the voice data synthesizing unit 35b-1 excludes the voice data (decoded) received from the voice data decoding unit 34b-1 when performing the synthesis process related to the conference terminal 40-1, and the voice data decoding unit 34b- The voice data (decoded) received from 2-34b-4 is synthesized.

<<音声データ符号化部36b>>
音声データ符号化部36b(36b−1〜36b−4)は、音声データ合成部35b(35b−1〜35b−4)から、音声データ(合成済)を受信して、受信した音声データ(合成済)を符号化する。
<< Audio Data Encoding Unit 36b >>
The voice data encoding unit 36b (36b-1 to 36b-4) receives the voice data (synthesized) from the voice data synthesis unit 35b (35b-1 to 35b-4), and receives the received voice data (synthesized). Encoded).

音声データ符号化部36b(36b−1〜36b−4)は、会議端末40(40−1〜40−4)に、符号化した音声データを送信する。   The audio data encoding unit 36b (36b-1 to 36b-4) transmits the encoded audio data to the conference terminals 40 (40-1 to 40-4).

なお、音声データ符号化部36b(36b−1〜36b−4)は、音声データ(合成済)を符号化処理する際、後述されるメディア制御部700により指示された符号化方式であり、会議端末40(40−1〜40−4)にて用いられた符号化方式に基づいて、符号化処理を行う。   Note that the audio data encoding unit 36b (36b-1 to 36b-4) is an encoding method instructed by the media control unit 700 described later when encoding audio data (combined). The encoding process is performed based on the encoding method used in the terminal 40 (40-1 to 40-4).

<データ送信処理部37>
データ送信処理部37(37−1〜37−4)は、メディア制御部700の指示により割り当てられたCPU611により、データ送信処理を行う機能を有する。
<Data transmission processing unit 37>
The data transmission processing unit 37 (37-1 to 37-4) has a function of performing data transmission processing by the CPU 611 assigned by an instruction from the media control unit 700.

データ送信処理部37(37−1〜37−4)は、映像データ処理部31(映像データ符号化部36a(36a−1〜36a−4))から、映像データ(符号化済)を受信して、受信した映像データ(符号化済)を、会議端末40(40−1〜40−4)に送信する。   The data transmission processing unit 37 (37-1 to 37-4) receives video data (encoded) from the video data processing unit 31 (video data encoding unit 36a (36a-1 to 36a-4)). Then, the received video data (encoded) is transmitted to the conference terminals 40 (40-1 to 40-4).

データ送信処理部37(37−1〜37−4)は、音声データ処理部32(音声データ符号化部36b(36b−1〜36b−4))から、音声データ(符号化済)を受信して、受信した音声データ(符号化済)を、会議端末40(40−1〜40−4)に送信する。   The data transmission processing unit 37 (37-1 to 37-4) receives the audio data (encoded) from the audio data processing unit 32 (audio data encoding unit 36b (36b-1 to 36b-4)). The received voice data (encoded) is transmitted to the conference terminals 40 (40-1 to 40-4).

<メディア制御部700内部の機能的構成例>
図4は、メディア制御部700内部の機能的構成例について示したブロック図である。
<Example of Functional Configuration Inside Media Control Unit 700>
FIG. 4 is a block diagram showing an example of a functional configuration inside the media control unit 700.

図4において、メディア制御部700は、上限リソース情報取得部310と、使用リソース情報取得部320と、CPU/GPU処理割当候補取得部330と、CPU/GPU処理割当部340と、メディア機能制御部350とを有する。   4, the media control unit 700 includes an upper limit resource information acquisition unit 310, a used resource information acquisition unit 320, a CPU / GPU process allocation candidate acquisition unit 330, a CPU / GPU process allocation unit 340, and a media function control unit. 350.

ここで、各部の処理は、会議サーバ10のハードウェア構成例を示すブロック図(図2)により、実現される。   Here, the process of each part is implement | achieved by the block diagram (FIG. 2) which shows the hardware structural example of the conference server 10. FIG.

各部の処理は、例えば、CPU611がアクセス可能な記憶装置615に記憶された制御プログラムにコーディングされる。そして、CPU611が記憶装置から制御プログラムを読み出して、コーディングされている処理を実行する。   The processing of each unit is coded in a control program stored in the storage device 615 accessible by the CPU 611, for example. The CPU 611 reads the control program from the storage device and executes the coded process.

各部の構成例(上限リソース情報取得部310、使用リソース情報取得部320、CPU/GPU処理割当候補取得部330、CPU/GPU処理割当部340、及びメディア機能制御部350)は、次の通りである。   A configuration example of each unit (upper limit resource information acquisition unit 310, used resource information acquisition unit 320, CPU / GPU process allocation candidate acquisition unit 330, CPU / GPU process allocation unit 340, and media function control unit 350) is as follows. is there.

<上限リソース情報取得部310>
上限リソース情報取得部310は、各リソースの上限値を取得するものである。例えば、上限リソース情報取得部310は、CPU611の上限使用率であるCPU上限使用率Cmax、GPU612の上限使用率であるGPU上限使用率Gmax、会議室数の上限数、1会議室における会議端末の上限接続数、会議端末40との間で使用可能な映像符号化方式に関する1つの会議端末におけるGPU使用率及びCPU使用率、会議端末40との間で使用可能な音声符号化方式に関する1つの会議端末におけるGPU使用率とCPU使用率、会議サーバ10における伝送容量の上限値(10Mbps、100Mbps、1Gbpsなど)等の情報を取得する。
<Upper limit resource information acquisition unit 310>
The upper limit resource information acquisition unit 310 acquires an upper limit value of each resource. For example, the upper limit resource information acquisition unit 310 includes a CPU upper limit usage rate Cmax that is an upper limit usage rate of the CPU 611, a GPU upper limit usage rate Gmax that is an upper limit usage rate of the GPU 612, an upper limit number of conference rooms, and a conference terminal in a conference room. Maximum number of connections, GPU usage rate and CPU usage rate in one conference terminal relating to video coding schemes usable with conference terminal 40, one conference relating to voice coding schemes usable with conference terminal 40 Information such as the GPU usage rate and CPU usage rate at the terminal and the upper limit value (10 Mbps, 100 Mbps, 1 Gbps, etc.) of the transmission capacity at the conference server 10 is acquired.

なお、会議端末40との間で使用可能な映像符号化方式と音声符号化方式の一例は、「<<映像符号化方式と音声符号化方式の一例>>」の項目(後述)で、説明される。   An example of the video encoding method and the audio encoding method that can be used with the conference terminal 40 is described in the item “<< Example of video encoding method and audio encoding method >>” (described later). Is done.

また、映像符号化方式と音声符号化方式に関する1つの会議端末におけるGPU使用率及びCPU使用率の一例は、「<<符号化方式(z)と、1つの会議端末におけるGPU使用率及びCPU使用率の一例>>」の項目(後述)で、説明される。   An example of the GPU usage rate and CPU usage rate in one conference terminal related to the video encoding method and the audio encoding method is “<< encoding method (z), GPU usage rate and CPU usage in one conference terminal” An example of the rate >> ”(described later) will be described.

<使用リソース情報取得部320>
使用リソース情報取得部320は、各リソースの現在使用している値(情報)を取得するものである。例えば、使用リソース情報取得部320は、メモリ613(CPU用メモリ613−1)から、CPU611の現在使用率であるCPU現在使用率C、GPU612の現在使用率であるGPU現在使用率G、現在稼動中の会議室数、各稼動中会議室における現在の会議端末の接続数、各稼動中会議室における現在使用中の映像符号化方式、各稼動中会議室における現在使用中の音声符号化方式、会議サーバ10における現在使用中の伝送容量を取得する。
<Used resource information acquisition unit 320>
The used resource information acquisition unit 320 acquires a value (information) currently used for each resource. For example, the used resource information acquisition unit 320 reads from the memory 613 (CPU memory 613-1) the CPU current usage rate C, which is the current usage rate of the CPU 611, the GPU current usage rate G, which is the current usage rate of the GPU 612, and the current operation. Number of conference rooms in operation, number of current conference terminal connections in each active conference room, video encoding method currently in use in each active conference room, audio encoding method in use in each active conference room, The transmission capacity currently used in the conference server 10 is acquired.

なお、CPU現在使用率Cは、CPU611により、所定の時間間隔、CPUのプログラムの開始時(終了時)などのタイミングに基づいて、メモリ613(CPU用メモリ613−1)に記録されるものとする。   The CPU current usage rate C is recorded by the CPU 611 in the memory 613 (CPU memory 613-1) based on a predetermined time interval, a timing such as the start (end time) of the CPU program, and the like. To do.

また、GPU現在使用率Gは、GPU612により、所定の時間間隔、プログラムの実行時、プログラムの終了時などのタイミングに基づいて、GPU現在使用率Gを、メモリ613(GPU用メモリ613−2)に記録されるものとする。さらに、メモリ613(GPU用メモリ613−2)に記録されるGPU現在使用率Gは、CPU611により、アクセスされ、メモリ613(CPU用メモリ613−1)に記録されるものとする。   Further, the GPU current usage rate G is determined by the GPU 612 based on a predetermined time interval, a program execution time, a program end time, and the like, based on the GPU current usage rate G, the memory 613 (GPU memory 613-2). Shall be recorded. Furthermore, the GPU current usage rate G recorded in the memory 613 (GPU memory 613-2) is accessed by the CPU 611 and recorded in the memory 613 (CPU memory 613-1).

<CPU/GPU処理割当候補取得部330>
CPU/GPU処理割当候補取得部330は、メディア処理部30(MCU30)の構成を、CPU611、若しくはGPU612(又はその両方)に割り当てる割当候補の取得を行う(割当候補の一例は、「<<割当候補と、変更される会議端末に関するGPU使用率及びCPU使用率の一例>>」の項目(後述)で、説明される)。
<CPU / GPU processing allocation candidate acquisition unit 330>
The CPU / GPU process allocation candidate acquisition unit 330 acquires allocation candidates to allocate the configuration of the media processing unit 30 (MCU 30) to the CPU 611 and / or the GPU 612 (or both of them). Candidate and an example of GPU usage rate and CPU usage rate related to conference terminal to be changed >> ”(described later).

なお、CPU/GPU処理割当候補取得部330は、例えば、割当候補を、メモリ613(CPU用メモリ613−1)、又は記憶装置615から取得するものとする。   Note that the CPU / GPU processing allocation candidate acquisition unit 330 acquires allocation candidates from the memory 613 (CPU memory 613-1) or the storage device 615, for example.

<CPU/GPU処理割当部340>
CPU/GPU処理割当部340は、CPU/GPU処理割当候補取得部330で取得された割当候補について、現在のリソース情報等を総合的に考慮して、実際に割当候補の内から一つを選択してメディア処理部30(MCU30)の処理を割り当てるものである。なお、CPU/GPU処理割当部340は、メディア処理部30(MCU30)の処理について、基本的にGPU612に処理を割り当てるのが効率的であるために、GPU現在使用率Gが、GPU上限使用率Gmaxに到達していなければ、優先的にGPU612に処理を割り当てる候補を選択するものとする(詳細については、動作の項で説明する)。
<CPU / GPU processing allocation unit 340>
The CPU / GPU process allocating unit 340 actually selects one of the allocation candidates from the allocation candidates acquired by the CPU / GPU process allocation candidate acquiring unit 330 in consideration of the current resource information and the like. Thus, the processing of the media processing unit 30 (MCU 30) is assigned. Note that the CPU / GPU processing allocation unit 340 is basically efficient in allocating the processing to the GPU 612 for the processing of the media processing unit 30 (MCU 30), so that the GPU current usage rate G is the GPU upper limit usage rate. If Gmax has not been reached, a candidate for preferentially assigning processing to the GPU 612 is selected (details will be described in the operation section).

<メディア機能制御部350>
メディア機能制御部350は、メディア処理部30に対して、映像符号化方式のパラメータの指示、又は音声符号化方式のパラメータの設定の指示、動作の制御等を行うものである。
<Media function control unit 350>
The media function control unit 350 instructs the media processing unit 30 to specify video encoding system parameters or to set audio encoding system parameters, control operations, and the like.

指示には、符号化方式(映像符号化方式、音声符号化方式)や、符号化方式の仕様(映像符号化方式の仕様、音声符号化方式の仕様)を含む。ここで、映像符号化方式の仕様の一例は、画素数、フレームレート、走査方式、伝送データ量などである。音声符号化方式の仕様の一例は、伝送データ量などである。   The instruction includes a coding scheme (video coding scheme, audio coding scheme) and coding scheme specifications (video coding scheme specifications, audio coding scheme specifications). Here, examples of the specifications of the video encoding method are the number of pixels, the frame rate, the scanning method, the amount of transmission data, and the like. An example of the specification of the speech coding scheme is the amount of transmission data.

<<映像符号化方式と音声符号化方式の一例>>
会議端末40との間で使用可能な符号化方式が符号化方式(z)である場合、映像符号化方式は映像符号化方式(z)であり、音声符号化方式は音声符号化方式(z)であるとする。
<< Examples of video coding system and audio coding system >>
When the encoding scheme that can be used with the conference terminal 40 is the encoding scheme (z), the video encoding scheme is the video encoding scheme (z), and the audio encoding scheme is the audio encoding scheme (z). ).

映像符号化方式(z)は、1種類でも複数の種類でもよい。   The video encoding method (z) may be one type or a plurality of types.

また、映像符号化方式(z)の仕様は、「画素数、フレームレート、走査方式、伝送データ量」などであり、「画素数、フレームレート、走査方式、伝送データ量」は、1種類でも複数の種類でよい。   The specification of the video encoding method (z) is “the number of pixels, the frame rate, the scanning method, the transmission data amount”, etc., and the “number of pixels, the frame rate, the scanning method, the transmission data amount” is one kind. There may be multiple types.

映像符号化方式(z)の一例は、H.265/HEVC、H.264/MPEG−4 AVCなどである(その他の一例は、H.261、MPEG2、MPEG4等である)。   Examples of the video encoding method (z) are H.265 / HEVC, H.264 / MPEG-4 AVC, and the like (other examples are H.261, MPEG2, MPEG4, etc.).

なお、映像符号化方式(z)の仕様の一例は、次のようになる。   An example of the specification of the video encoding method (z) is as follows.

H.265/HEVCの場合、映像符号化方式(z)の仕様の一例は、複数の「画素数、フレームレート、走査方式、伝送データ量」からなり、「3840×2160ドット、60フレーム/秒、プログレッシブ、28Mbps」、「1920×1080ドット、60フレーム/秒、プログレッシブ、15Mbps」、「1920×1080ドット、30フレーム/秒、プログレッシブ、9Mbps」、「1280×720ドット、30フレーム/秒、プログレッシブ、4.5Mbps」などである。   In the case of H.265 / HEVC, an example of the specification of the video encoding method (z) is composed of a plurality of “number of pixels, frame rate, scanning method, transmission data amount”, and “3840 × 2160 dots, 60 frames / second”. , Progressive, 28 Mbps "," 1920 x 1080 dots, 60 frames / second, progressive, 15 Mbps "," 1920 x 1080 dots, 30 frames / second, progressive, 9 Mbps "," 1280 x 720 dots, 30 frames / second, progressive , 4.5 Mbps ".

また、H.264/MPEG−4 AVCの場合、映像符号化方式(z)の仕様の一例は、複数の「画素数、フレームレート、走査方式、伝送データ量」からなり、「1920×1080ドット、60フレーム/秒、プログレッシブ、28Mbps」、「1920×1080ドット、30フレーム/秒、プログレッシブ、15Mbps」、「1280×720ドット、30フレーム/秒、プログレッシブ、9Mbps」、「800×480ドット、30フレーム/秒、プログレッシブ、4.5Mbps」などである。   In the case of H.264 / MPEG-4 AVC, an example of the specification of the video encoding method (z) is composed of a plurality of “number of pixels, frame rate, scanning method, transmission data amount”, and “1920 × 1080 dots”. , 60 frames / second, progressive, 28 Mbps ”,“ 1920 × 1080 dots, 30 frames / second, progressive, 15 Mbps ”,“ 1280 × 720 dots, 30 frames / second, progressive, 9 Mbps ”,“ 800 × 480 dots, 30 ” Frame / second, progressive, 4.5 Mbps ", and the like.

ここで、プロセッサ(GPU/CPU)の使用率は、H.265/HEVCの方が、H.264/MPEG−4 AVCよりも、高くなる。   Here, the usage rate of the processor (GPU / CPU) is higher in H.265 / HEVC than in H.264 / MPEG-4 AVC.

またここで、プロセッサ(GPU/CPU)の使用率は、同じ符号化方式であるならば、映像符号化方式の仕様(画素数、フレームレート、伝送データ量)において数値が大きいほど、高くなる。なお、プロセッサ(GPU/CPU)の使用率は、同じ符号化方式であるならば、映像符号化方式の仕様(走査方式)においてプログレッシブの方がインターレスよりも、高くなる。   Here, the usage rate of the processor (GPU / CPU) increases as the numerical value increases in the specifications of the video encoding method (number of pixels, frame rate, amount of transmission data) if the encoding method is the same. Note that the usage rate of the processor (GPU / CPU) is higher in progressive than in interlaced in the specification of the video coding method (scanning method) if the same coding method is used.

音声符号化方式(z)は、1種類でも複数の種類でよい。   The voice encoding method (z) may be one type or a plurality of types.

また、音声符号化方式(z)の仕様は、「伝送データ量」などであり、「伝送データ量」は、1種類でも複数の種類でよい。   In addition, the specification of the speech encoding method (z) is “transmission data amount” or the like, and the “transmission data amount” may be one type or a plurality of types.

音声符号化方式の一例は、MPEG−4 AAC−LC(ステレオ)、MPEG−4 AAC−LC(モノラル)などである(その他の一例は、G.711、G.722.1、G.729等である)。   An example of the audio coding system is MPEG-4 AAC-LC (stereo), MPEG-4 AAC-LC (monaural), etc. (other examples are G.711, G.722.1, G.729, etc.) Is).

なお、音声符号化方式(z)の仕様の一例は、次のようになる。   An example of the specification of the speech encoding method (z) is as follows.

MPEG−4 AAC−LC(ステレオ)の場合、音声符号化方式(z)の仕様の一例は、複数の「伝送データ量」からなり、「320kbps」、「256kbps」、「192kbps」、「128kbps」などである。   In the case of MPEG-4 AAC-LC (stereo), an example of the specification of the audio coding method (z) is composed of a plurality of “transmission data amounts”, “320 kbps”, “256 kbps”, “192 kbps”, “128 kbps”. Etc.

また、MPEG−4 AAC−LC(モノラル)の場合、音声符号化方式(z)の仕様の一例は、複数の「伝送データ量」からなり、「256kbps」、「192kbps」、「128kbps」、「96kbps」などである。   In the case of MPEG-4 AAC-LC (monaural), an example of the specification of the audio coding method (z) is composed of a plurality of “transmission data amounts”, and “256 kbps”, “192 kbps”, “128 kbps”, “128 kbps”, “ 96 kbps ".

ここで、プロセッサ(GPU/CPU)の使用率は、MPEG−4 AAC−LC(ステレオ)の方が、MPEG−4 AAC−LC(モノラル)よりも、高くなる。   Here, the usage rate of the processor (GPU / CPU) is higher in MPEG-4 AAC-LC (stereo) than in MPEG-4 AAC-LC (mono).

またここで、プロセッサ(GPU/CPU)の使用率は、同じ符号化方式であるならば、音声符号化方式の仕様(伝送データ量)において数値が大きいほど、高くなる。   Here, the use rate of the processor (GPU / CPU) becomes higher as the numerical value is larger in the specification (transmission data amount) of the voice encoding method if the same encoding method is used.

<<符号化方式(z)と、1つの会議端末におけるGPU使用率及びCPU使用率の一例>>
図5は、符号化方式(z)と、1つの会議端末におけるGPU使用率であるGx(z)、及びCPU使用率であるCx(z)の関係の一例を示す図[1000]である。符号化方式(z)[1110(行)]は、次の通りである。
<< Example of encoding method (z), GPU usage rate and CPU usage rate in one conference terminal >>
FIG. 5 is a diagram [1000] illustrating an example of the relationship between the encoding method (z), Gx (z) that is the GPU usage rate in one conference terminal, and Cx (z) that is the CPU usage rate. The encoding method (z) [1110 (row)] is as follows.

符号化方式(z)[1110(行)]の映像符号化方式(z)[1112(行)]は、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)を、GPU又はCPUに割り当てる候補であるとする[1030(列)]。   The video encoding method (z) [1112 (row)] of the encoding method (z) [1110 (row)] is a video data processing unit (decoding unit, synthesizing unit, encoding unit) of the media processing unit (MCU) 30. ) Is a candidate to be assigned to the GPU or CPU [1030 (column)].

符号化方式(z)[1110(行)]の音声符号化方式(z)[1114(行)]は、メディア処理部(MCU)30の音声データ処理部(復号部、合成部、符号化部)を、GPU又はCPUに割り当てる候補であるとする[1030(列)]。   The audio encoding method (z) [1114 (row)] of the encoding method (z) [1110 (row)] is an audio data processing unit (decoding unit, synthesizing unit, encoding unit) of the media processing unit (MCU) 30. ) Is a candidate to be assigned to the GPU or CPU [1030 (column)].

また、符号化方式(z)[1110(行)]は、「1つの会議端末におけるGPU使用率」であるgx(z)において、h(z)、i(z)、j(z)、k(z)、l(z)、m(z)の和となる[1040(列)の1042(列)]。なお、h(z)、i(z)、j(z)、k(z)、l(z)、m(z)は、符号化方式(z)に関する1つの会議端末において、映像データ処理部の復号部、合成部、符号化部、音声データ処理部の復号部、合成部、符号化部に対応するGPU使用率である。   Also, the encoding method (z) [1110 (row)] is h (z), i (z), j (z), k in gx (z) which is “GPU usage rate in one conference terminal”. The sum of (z), l (z), and m (z) [1042 (column) 1042 (column)]. Note that h (z), i (z), j (z), k (z), l (z), and m (z) are video data processing units in one conference terminal related to the encoding method (z). Are the GPU usage rates corresponding to the decoding unit, the synthesizing unit, the encoding unit, and the decoding unit, the synthesizing unit, and the encoding unit of the audio data processing unit.

符号化方式(z)[1110(行)]は、「1つの会議端末におけるCPU使用率」であるcx(z)において、r(z)、s(z)、t(z)、u(z)、v(z)、w(z)の和となる[1040(列)の1042(列)]。なお、r(z)、s(z)、t(z)、u(z)、v(z)、w(z)は、符号化方式(z)に関する1つの会議端末において、映像データ処理部の復号部、合成部、符号化部、音声データ処理部の復号部、合成部、符号化部に対応するCPU使用率である。   The encoding method (z) [1110 (line)] is the r (z), s (z), t (z), u (z) in cx (z) which is “CPU usage rate in one conference terminal”. ), V (z), and w (z) [1040 (column) 1042 (column)]. Note that r (z), s (z), t (z), u (z), v (z), and w (z) are video data processing units in one conference terminal related to the encoding method (z). Are the CPU usage rates corresponding to the decoding unit, the synthesizing unit, the encoding unit, and the decoding unit, the synthesizing unit, and the encoding unit of the audio data processing unit.

ここで、符号化方式(z)[1110(行)]の映像符号化方式(z)[1112(行)]は、「符号化方式(z)の仕様」として、画素数「a1(z)×a2(z)[ビット]」、フレームレート「b(z)[フレーム/秒]」、走査方式「d(z)」、伝送データ量「e(z)[Mbps]」を有する[1020(列)]。   Here, the video encoding method (z) [1112 (row)] of the encoding method (z) [1110 (row)] has the number of pixels “a1 (z)” as the “specification of the encoding method (z)”. × 1020 (having a2 (z) [bit] ", frame rate" b (z) [frame / second] ", scanning method" d (z) ", and transmission data amount" e (z) [Mbps] " Column)].

符号化方式(z)[1110(行)]の音声符号化方式(z)[1114(行)]は、「符号化方式(z)の仕様」として、伝送データ量「f(z)[Mbps]」を有する[1020(列)]。   The speech encoding method (z) [1114 (row)] of the encoding method (z) [1110 (row)] is a transmission data amount “f (z) [Mbps] as“ specification of the encoding method (z) ”. ] ”[1020 (column)].

なお、映像符号化方式(z)[1112(行)]の一例は、上述の「<<映像符号化方式と音声符号化方式の一例>>」の項目で示される、H.265/HEVC、H.264/MPEG−4 AVCなどである。   An example of the video encoding method (z) [1112 (line)] is H.265 / HEVC, which is indicated by the above item “<< Example of video encoding method and audio encoding method” >> H.264 / MPEG-4 AVC.

また、映像符号化方式(z)[1112(行)]における「符号化方式(z)の仕様[1020(列)]」の一例は、上述の「<<映像符号化方式と音声符号化方式の一例>>」の項目で示される、H.265/HEVCにおける1つの「画素数、フレームレート、走査方式、伝送データ量」や、H.264/MPEG−4 AVCにおける1つの「画素数、フレームレート、走査方式、伝送データ量」である。   An example of the “encoding method (z) specification [1020 (column)]” in the video coding method (z) [1112 (row)] is the above-mentioned “<< video coding method and audio coding method. One example of >>>, one “number of pixels, frame rate, scanning method, amount of transmission data” in H.265 / HEVC, and one “number of pixels,” in H.264 / MPEG-4 AVC, Frame rate, scanning method, transmission data amount ".

なお、音声符号化方式(z)[1114(行)]の一例は、上述の「<<映像符号化方式と音声符号化方式の一例>>」の項目で示される、MPEG−4 AAC−LC(ステレオ)、MPEG−4 AAC−LC(モノラル)などである。   An example of the audio encoding method (z) [1114 (line)] is MPEG-4 AAC-LC indicated by the above item “<< Example of video encoding method and audio encoding method >>”. (Stereo), MPEG-4 AAC-LC (monaural), and the like.

また、音声符号化方式(z)[1114(行)]における「符号化方式(z)の仕様[1020(列)]」の一例は、上述の「<<映像符号化方式と音声符号化方式の一例>>」の項目で示される、MPEG−4 AAC−LC(ステレオ)における1つの「伝送データ量」や、MPEG−4 AAC−LC(モノラル)の1つにおける「伝送データ量」である。   An example of the “encoding method (z) specification [1020 (column)]” in the audio encoding method (z) [1114 (row)] is the above-mentioned “<< video encoding method and audio encoding method. One example of “transmission data amount” in MPEG-4 AAC-LC (stereo) and “transmission data amount” in one of MPEG-4 AAC-LC (monaural), which are indicated by the item “Example of >>>” .

<<割当候補と、変更される会議端末に関するGPU使用率及びCPU使用率の一例>>
図6は、CPU/GPU処理割当候補取得部が取得する割当候補(割当候補(1)〜(4))を示す説明図である。さらに、図6は、割当候補と、変更される会議端末に関するGPU使用率及びCPU使用率の一例を示す図[2000]である。
<< Example of allocation candidate and GPU usage rate and CPU usage rate for conference terminal to be changed >>
FIG. 6 is an explanatory diagram showing allocation candidates (allocation candidates (1) to (4)) acquired by the CPU / GPU process allocation candidate acquisition unit. Furthermore, FIG. 6 is a diagram [2000] illustrating an example of an allocation candidate, a GPU usage rate and a CPU usage rate regarding the conference terminal to be changed.

割当候補(p)[2010(列)]は、4つであるものとし、割当候補(1)[2110(行)]、割当候補(2)[2120(行)]、割当候補(3)[2130(行)]、割当候補(4)[2140(行)]は、次の通りである。   Assume that there are four allocation candidates (p) [2010 (columns)], allocation candidates (1) [2110 (rows)], allocation candidates (2) [2120 (rows)], and allocation candidates (3) [ 2130 (row)] and allocation candidate (4) [2140 (row)] are as follows.

割当候補(1)[2110(行)]は、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)[2020(列)]を、GPU[2030(列)]に割り当てる候補であり、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)を、GPU[2030(列)]に割り当てる候補であるとする。   The allocation candidate (1) [2110 (row)] is the video data processing unit (decoding unit, synthesizing unit, encoding unit) [2020 (column)] of the media processing unit (MCU) 30 and GPU [2030 (column). , And the video data processing unit (decoding unit, synthesizing unit, encoding unit) of the media processing unit (MCU) 30 is a candidate to be allocated to GPU [2030 (column)].

割当候補(2)は、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)[2020(列)]を、GPU[2030(列)]に割り当てる候補であり、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)[2020(列)]を、CPU[2030(列)]に割り当てる候補であるとする。   The allocation candidate (2) is a candidate for allocating the video data processing unit (decoding unit, synthesizing unit, encoding unit) [2020 (column)] of the media processing unit (MCU) 30 to the GPU [2030 (column)]. The video data processing unit (decoding unit, synthesizing unit, encoding unit) [2020 (column)] of the media processing unit (MCU) 30 is a candidate to be assigned to the CPU [2030 (column)].

割当候補(3)は、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)[2020(列)]を、CPU[2030(列)]に割り当てる候補であり、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)[2020(列)]を、GPU[2030(列)]に割り当てる候補であるとする。   The allocation candidate (3) is a candidate for allocating the video data processing unit (decoding unit, synthesizing unit, encoding unit) [2020 (column)] of the media processing unit (MCU) 30 to the CPU [2030 (column)]. Suppose that the video data processing unit (decoding unit, synthesizing unit, encoding unit) [2020 (column)] of the media processing unit (MCU) 30 is a candidate to be assigned to the GPU [2030 (column)].

割当候補(4)は、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)を、CPU[2030(列)]に割り当てる候補であり、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)[2020(列)]を、CPU[2030(列)]に割り当てる候補であるとする。   The allocation candidate (4) is a candidate for allocating the video data processing unit (decoding unit, synthesizing unit, encoding unit) of the media processing unit (MCU) 30 to the CPU [2030 (column)], and the media processing unit (MCU) ) 30 video data processing units (decoding unit, synthesis unit, encoding unit) [2020 (column)] are candidates to be assigned to the CPU [2030 (column)].

割当候補(1)[2110(行)]は、「変更される会議端末に関するGPU使用率[%]であるGx」において、H、I、J、K、L、Mの和となる[2040(列)の2042(列)]。なお、H、I、J、K、L、Mは、変更される会議端末において、映像データ処理部の復号部、合成部、符号化部、音声データ処理部の復号部、合成部、符号化部に対応するGPU使用率である。   The allocation candidate (1) [2110 (line)] is the sum of H, I, J, K, L, and M in “Gx that is the GPU usage rate [%] for the conference terminal to be changed” [2040 ( Column 2042 (column)]. H, I, J, K, L, and M are the video data processing unit decoding unit, synthesizing unit, encoding unit, audio data processing unit decoding unit, synthesizing unit, encoding at the conference terminal to be changed. GPU usage rate corresponding to a part.

割当候補(1)[2110(行)]は、CPUへの割り当てが無いので、「変更される会議端末に関するCPU使用率[%]であるCx」において、「−」(つまり0[%])となる[2040(列)の2044(列)]。   Since the allocation candidate (1) [2110 (row)] has no allocation to the CPU, “-” (that is, 0 [%]) in “Cx that is the CPU usage rate [%] regarding the conference terminal to be changed”. [2040 (column) 2044 (column)].

割当候補(2)[2120(行)]は、「変更される会議端末に関するGPU使用率[%]であるGx」において、H、I、Jの和となる[2040(列)の2042(列)]。なお、H、I、J、は、変更される会議端末において、映像データ処理部の復号部、合成部、符号化部に対応するGPU使用率である。   Assignment candidate (2) [2120 (row)] is the sum of H, I, and J in “20x (column) 2042 (column) in“ Gx which is the GPU usage rate [%] for the conference terminal to be changed ””. ]]. H, I, and J are GPU usage rates corresponding to the decoding unit, the combining unit, and the encoding unit of the video data processing unit in the conference terminal to be changed.

割当候補(2)[2120(行)]は、「変更される会議端末に関するCPU使用率[%]であるCx」において、U、V、Wの和となる[2040(列)の2042(列)]。なお、U、V、Wは、変更される会議端末において、音声データ処理部の復号部、合成部、符号化部に対応するCPU使用率である。   Assignment candidate (2) [2120 (row)] is the sum of U, V and W in “Cx which is the CPU usage rate [%] for the conference terminal to be changed” [2042 of 2040 (column) (column ]]. U, V, and W are CPU usage rates corresponding to the decoding unit, the synthesizing unit, and the encoding unit of the audio data processing unit in the conference terminal to be changed.

割当候補(3)[2110(行)]は、「変更される会議端末に関するGPU使用率[%]であるGx」において、K、L、Mの和となる[2040(列)の2042(列)]。なお、K、L、Mは、変更される会議端末において、音声データ処理部の復号部、合成部、符号化部に対応するGPU使用率である。   Assignment candidate (3) [2110 (row)] is the sum of K, L, and M in “Gx that is the GPU usage rate [%] for the conference terminal to be changed” 2042 (column ]]. K, L, and M are GPU usage rates corresponding to the decoding unit, the synthesizing unit, and the encoding unit of the audio data processing unit in the conference terminal to be changed.

割当候補(3)[2120(行)]は、「変更される会議端末に関するCPU使用率[%]であるCx」において、R、S、Tの和となる[2040(列)の2042(列)]。なお、R、S、Tは、変更される会議端末において、映像データ処理部の復号部、合成部、符号化部に対応するCPU使用率である。   Assignment candidate (3) [2120 (row)] is the sum of R, S, and T in “Cx which is CPU usage rate [%] for the conference terminal to be changed” [2040 (column) 2042 (column) ]]. Note that R, S, and T are CPU usage rates corresponding to the decoding unit, the combining unit, and the encoding unit of the video data processing unit in the conference terminal to be changed.

割当候補(4)[2110(行)]は、GPUへの割り当てが無いので、「変更される会議端末に関するGPU使用率[%]であるGx」において、「−」(つまり0[%])となる[2040(列)の2042(列)]。   Since the allocation candidate (4) [2110 (row)] has no allocation to the GPU, “-” (that is, 0 [%]) in “Gx that is the GPU usage rate [%] related to the conference terminal to be changed”. [2040 (column) 2042 (column)].

割当候補(4)[2120(行)]は、「変更される会議端末に関するCPU使用率[%]であるCx」において、R、S、T、U、V、Wの和となる[2040(列)の2042(列)]。なお、R、S、T、U、V、Wは、変更される会議端末において、映像データ処理部の復号部、合成部、符号化部、音声データ処理部の復号部、合成部、符号化部に対応するCPU使用率である。   The allocation candidate (4) [2120 (row)] is the sum of R, S, T, U, V, and W in “Cx that is the CPU usage rate [%] regarding the conference terminal to be changed” [2040 ( Column 2042 (column)]. Note that R, S, T, U, V, and W are the video data processing unit decoding unit, the synthesis unit, the encoding unit, the audio data processing unit decoding unit, the synthesis unit, and the encoding in the conference terminal to be changed. CPU usage rate corresponding to each part.

ここで、「変更される会議端末に関するGPU使用率」の対象となる変更される会議端末が複数である場合、「H、I、J、K、L、M」は、「映像データ処理部の復号部、合成部、符号化部、音声データ処理部の復号部、合成部、符号化部」における、各々の「変更される会議端末に関するGPU使用率」の和となる。   Here, when there are a plurality of conference terminals to be changed that are targets of the “GPU usage rate for the conference terminal to be changed”, “H, I, J, K, L, M” It is the sum of the “GPU usage rate for the conference terminal to be changed” in the “decoding unit, synthesizing unit, encoding unit, decoding unit, synthesizing unit, encoding unit”.

また、「変更される会議端末に関するGPU使用率」の対象となる変更される会議端末が複数である場合であり、さらに、変更される会議端末の数がn、変更される会議端末で使用される符号化方式が同じ符号化方式(z)である場合、「H、I、J、K、L、M」は、「映像データ処理部の復号部、合成部、符号化部、音声データ処理部の復号部、合成部、符号化部」における、各々の「変更される会議端末に関するGPU使用率」のn倍(n×h、n×i、n×j、n×k、n×l、n×m)となる。   In addition, there are a plurality of conference terminals to be changed that are targets of the “GPU usage rate for the conference terminal to be changed”, and the number of conference terminals to be changed is n, which is used by the conference terminal to be changed. “H, I, J, K, L, M” are “decoding unit, synthesizing unit, encoding unit, audio data processing of video data processing unit”, and the same encoding method (z). N times (n × h, n × i, n × j, n × k, n × l) of each “GPU usage rate for the conference terminal to be changed” in the “decoding unit, combining unit, and encoding unit”. , N × m).

なお、「変更される会議端末に関するGPU使用率」の対象となる変更される会議端末が1つである場合、「H、I、J、K、L、M」は、「映像データ処理部の復号部、合成部、符号化部、音声データ処理部の復号部、合成部、符号化部」における、「変更される会議端末に関するGPU使用率」の「h、i、j、k、l、m」である。   In addition, when there is one conference terminal to be changed that is a target of “GPU usage rate for the conference terminal to be changed”, “H, I, J, K, L, M” is “video data processing unit “H, i, j, k, l,” of “GPU usage rate for conference terminal to be changed” in “decoding unit, synthesizing unit, encoding unit, decoding unit of speech data processing unit, synthesizing unit, encoding unit” m ".

同様に、「変更される会議端末に関するCPU使用率」の対象となる変更される会議端末が複数である場合、「R、S、T、U、V、W」は、「映像データ処理部の復号部、合成部、符号化部、音声データ処理部の復号部、合成部、符号化部」における、各々の「変更される会議端末に関するCPU使用率」の和となる。   Similarly, when there are a plurality of conference terminals to be changed that are targets of the “CPU usage rate regarding the conference terminal to be changed”, “R, S, T, U, V, W” It is the sum of each “CPU usage rate for the conference terminal to be changed” in the “decoding unit, synthesizing unit, encoding unit, decoding unit, synthesizing unit, encoding unit”.

また、「変更される会議端末に関するCPU使用率」の対象となる変更される会議端末が複数である場合であり、さらに、変更される会議端末の数がn、変更される会議端末で使用される符号化方式が同じ符号化方式(z)である場合、「R、S、T、U、V、W」は、「映像データ処理部の復号部、合成部、符号化部、音声データ処理部の復号部、合成部、符号化部」における、各々の「変更される会議端末に関するGPU使用率」のn倍(n×r、n×s、n×t、n×u、n×v、n×w)となる。   Further, there are a plurality of conference terminals to be changed that are targets of the “CPU usage rate regarding the conference terminal to be changed”, and the number of conference terminals to be changed is n, and the conference terminals to be changed are used. “R, S, T, U, V, W” are “decoding unit, synthesizing unit, encoding unit, audio data processing of video data processing unit”, and the same encoding method (z). N times (n × r, n × s, n × t, n × u, n × v) of each “GPU usage rate for the conference terminal to be changed” in the “decoding unit, combining unit, and encoding unit”. , N × w).

なお、「変更される会議端末に関するCPU使用率」の対象となる変更される会議端末が1つである場合、「R、S、T、U、V、W」は、「映像データ処理部の復号部、合成部、符号化部、音声データ処理部の復号部、合成部、符号化部」における、「変更される会議端末に関するGPU使用率」の「r、s、t、u、v、w」である。   In addition, when there is one conference terminal to be changed that is the target of “CPU usage rate regarding the conference terminal to be changed”, “R, S, T, U, V, W” “R, s, t, u, v,” of “GPU usage rate for conference terminal to be changed” in “decoding unit, synthesizing unit, encoding unit, decoding unit, synthesizing unit, encoding unit of audio data processing unit”. w ".

なお、変更される会議端末の数であるnは、整数である。変更される会議端末の数であるnは、例えば、会議サーバ10の任意の会議室に会議端末40が新たに追加される場合、若しくは削除される場合、又は会議サーバ10に会議室が新たに追加される場合、若しくは削除される場合などに関する、変更される会議端末の数である。   Note that n, which is the number of conference terminals to be changed, is an integer. The number n of the conference terminals to be changed is, for example, when a conference terminal 40 is newly added to or deleted from an arbitrary conference room of the conference server 10 or when a conference room is newly added to the conference server 10. This is the number of conference terminals to be changed when added or deleted.

それゆえ、変更される会議端末における変更の数であるnは、「1、2、3、・・・と増える場合」、「−1、−2、−3、・・・と減る場合」、「新規の1つの会議室として接続される会議端末の数(2、3、4、・・・)である場合」、「現在のサービスされる1つの会議室が終了して、終了される1つの会議室に接続される会議端末の数(−2、−3、−4、・・・)である場合」などがある。   Therefore, n, which is the number of changes in the conference terminal to be changed, is “when 1, 2, 3,... Increases”, “−1, −2, −3,. “When the number of conference terminals connected as one new conference room (2, 3, 4,...)”, “One conference room that is currently serviced is terminated and terminated 1 The number of conference terminals connected to one conference room (−2, −3, −4,...) ”.

<<割当候補と、GPU使用率及びCPU使用率の一例>>
図7は、CPU/GPU処理割当候補取得部が取得する割当候補(割当候補(1)〜(4))を示す説明図である。さらに、図7は、割当候補と、GPU未使用率及びCPU未使用率の一例を示す図[3000]である。
<< Examples of allocation candidates, GPU usage rate, and CPU usage rate >>
FIG. 7 is an explanatory diagram showing allocation candidates (allocation candidates (1) to (4)) acquired by the CPU / GPU process allocation candidate acquisition unit. Further, FIG. 7 is a diagram [3000] illustrating an example of an allocation candidate, a GPU unused rate, and a CPU unused rate.

割当候補(p)[3010(列)]は、4つであるものとし、割当候補(1)[3110(行)]、割当候補(2)[3120(行)]、割当候補(3)[3130(行)]、割当候補(4)[3140(行)]は、次の通りである。   Assume that there are four allocation candidates (p) [3010 (columns)], allocation candidates (1) [3110 (rows)], allocation candidates (2) [3120 (rows)], and allocation candidates (3) [ 3130 (row)] and allocation candidate (4) [3140 (row)] are as follows.

割当候補(1)[3110(行)]は、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)[3020(列)]を、GPU[3030(列)]に割り当てる候補であり、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)を、GPU[3030(列)]に割り当てる候補であるとする。   The allocation candidate (1) [3110 (row)] is the video data processing unit (decoding unit, synthesis unit, encoding unit) [3020 (column)] of the media processing unit (MCU) 30 and GPU [3030 (column). ] And the video data processing unit (decoding unit, synthesizing unit, encoding unit) of the media processing unit (MCU) 30 is a candidate to be allocated to GPU [3030 (column)].

割当候補(2)は、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)[3020(列)]を、GPU[3030(列)]に割り当てる候補であり、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)[3020(列)]を、CPU[3030(列)]に割り当てる候補であるとする。   The allocation candidate (2) is a candidate for allocating the video data processing unit (decoding unit, synthesizing unit, encoding unit) [3020 (column)] of the media processing unit (MCU) 30 to the GPU [3030 (column)]. Assume that the video data processing unit (decoding unit, synthesizing unit, encoding unit) [3020 (column)] of the media processing unit (MCU) 30 is a candidate to be assigned to the CPU [3030 (column)].

割当候補(3)は、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)[3020(列)]を、CPU[3030(列)]に割り当てる候補であり、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)[3020(列)]を、GPU[3030(列)]に割り当てる候補であるとする。   The allocation candidate (3) is a candidate for allocating the video data processing unit (decoding unit, synthesizing unit, encoding unit) [3020 (column)] of the media processing unit (MCU) 30 to the CPU [3030 (column)]. Assume that the video data processing unit (decoding unit, synthesizing unit, encoding unit) [3020 (column)] of the media processing unit (MCU) 30 is a candidate to be assigned to the GPU [3030 (column)].

割当候補(4)は、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)を、CPU[3030(列)]に割り当てる候補であり、メディア処理部(MCU)30の映像データ処理部(復号部、合成部、符号化部)[3020(列)]を、CPU[3030(列)]に割り当てる候補であるとする。   The allocation candidate (4) is a candidate for allocating the video data processing unit (decoding unit, synthesizing unit, encoding unit) of the media processing unit (MCU) 30 to the CPU [3030 (column)], and the media processing unit (MCU) ) 30 video data processing units (decoding unit, synthesizing unit, encoding unit) [3020 (column)] are candidates to be assigned to the CPU [3030 (column)].

各々の割当候補(1)〜(4)[3110(行)〜3140(行)]において、「GPU使用率[%]であるGx+G」は、「変更される会議端末に関するGPU使用率[%]であるGx」と「GPU現在使用率[%]であるG」との和である。さらに、「GPU未使用率[%]であるGy」は、「GPU上限使用率[%]であるGmax」から、「GPU使用率[%]であるGx+G」を、差し引いたものとなる[3312(列)]。   In each allocation candidate (1) to (4) [3110 (row) to 3140 (row)], “Gx + G as GPU usage rate [%]” is “GPU usage rate [%] for conference terminal to be changed”. Is Gx ”and“ G is GPU current usage rate [%] ”. Further, “Gy which is a GPU unused rate [%]” is obtained by subtracting “Gx + G which is a GPU usage rate [%]” from “Gmax which is a GPU upper limit usage rate [%]” [3312. (Column)].

各々の割当候補(1)〜(4)[3110(行)〜3140(行)]において、「CPU使用率[%]であるCx+C」は、「変更される会議端末に関するCPU使用率[%]であるCx」と「GPU現在使用率[%]であるC」との和である。さらに、「CPU未使用率[%]であるCy」は、「CPU上限使用率[%]であるCmax」から、「CPU使用率[%]であるCx+C」を、差し引いたものとなる[3314(列)]。   In each of the allocation candidates (1) to (4) [3110 (row) to 3140 (row)], “Cx + C which is a CPU usage rate [%]” is “CPU usage rate [%] for the conference terminal to be changed”. Is Cx ”and“ C is GPU current usage rate [%] ”. Further, “Cy that is a CPU unused rate [%]” is obtained by subtracting “Cx + C that is a CPU usage rate [%]” from “Cmax that is a CPU upper limit usage rate [%]” [3314. (Column)].

なお、図7は、上述される「<<割当候補と、変更される会議端末に関するGPU使用率及びCPU使用率の一例>>」に記載から、接続される会議端末における変更の数であるnにおいて、「会議サーバ10の任意の会議室に会議端末40が新たに追加される場合(n=1、2、3、・・・)、または「会議サーバ10に会議室が新たに追加される場合(n=2、3、4、・・・)の場合」である。   Note that FIG. 7 shows the number of changes in the connected conference terminal from the description in “<< Example of allocation candidate, GPU usage rate and CPU usage rate related to changed conference terminal” >> In “when a conference terminal 40 is newly added to an arbitrary conference room of the conference server 10 (n = 1, 2, 3,...)” Or “a conference room is newly added to the conference server 10. Case (n = 2, 3, 4,...) ”.

一方、接続される会議端末における変更の数であるnにおいて、「会議サーバ10の任意の会議室に会議端末40が新たに削除される場合(n=−1、−2、−3、・・・)」、「会議サーバ10に会議室が新たに削除される場合(n=−2、−3、−4、・・・)」などがある。   On the other hand, when n is the number of changes in the connected conference terminal, “when the conference terminal 40 is newly deleted in an arbitrary conference room of the conference server 10 (n = −1, −2, −3,... .) ”,“ When a conference room is newly deleted from the conference server 10 (n = −2, −3, −4,...) ”.

この場合、「変更される会議端末に関するGPU使用率[%]であるGx」が、負の値となるので、「GPU未使用率[%]であるGy」は、図7の記載と異なるものとなる。   In this case, since “Gx which is the GPU usage rate [%] regarding the conference terminal to be changed” is a negative value, “Gy which is the GPU unused rate [%]” is different from the description of FIG. It becomes.

「GPU未使用率[%]であるGy」は、GPU現在使用率[%]であるGから、「変更される会議端末に関するGPU使用率[%]であるGx」を、差し引いた形の記載となる(図示せず)。   “Gy that is the GPU unused rate [%]” is a description that is obtained by subtracting “Gx that is the GPU usage rate [%] regarding the conference terminal to be changed” from the G that is the GPU current usage rate [%]. (Not shown).

「CPU未使用率[%]であるCy」は、CPU現在使用率[%]であるCから、「変更される会議端末に関するCPU使用率[%]であるCx」を、差し引いた形の記載となる(図示せず)。   “Cy which is a CPU unused rate [%]” is a description in which “Cx which is a CPU usage rate [%] related to a conference terminal to be changed” is subtracted from C which is a current CPU usage rate [%]. (Not shown).

(A−2)第1の実施形態の動作
次に、以上のような構成を有する第1の実施形態の会議システム1の動作を、図面を参照しながら説明する。なお、以下では、メディア制御部700の動作に特徴を有するため、この部分を中心に説明する。
(A-2) Operation of First Embodiment Next, the operation of the conference system 1 according to the first embodiment having the above-described configuration will be described with reference to the drawings. In the following, since the operation of the media control unit 700 is characteristic, this portion will be mainly described.

図8は、メディア制御部700の特徴動作(CPU/GPUの処理割当)を示すフローチャートである。   FIG. 8 is a flowchart showing the characteristic operation (CPU / GPU process allocation) of the media control unit 700.

図8で示すCPU/GPUの処理割当の動作は、例えば、会議サーバ10の任意の会議室に会議端末40が新たに追加される場合、若しくは削除される場合、又は会議サーバ10に会議室が新たに追加される場合、若しくは削除される場合を契機として発生する。また、図8では、会議サーバ10と、会議端末40(40−1〜40−4)との間で呼が確立し、会議サーバ10が会議端末40(40−1〜40−4)から映像データ及び音声データを取集(受信)し、メディア処理部30の構成(復号部、合成部、符号化部)を実現(実行)するために、CPU611とGPU612に処理を割り当てる例を前提として説明する。なお、この実施形態におけるメディア制御部700は、CPU611とGPU612の処理割当において、映像データ処理部31の処理部、又は音声データ処理部32の処理部を単位として処理を割り当てるものとする。   The CPU / GPU process allocation operation shown in FIG. 8 is performed when, for example, a conference terminal 40 is newly added to or deleted from an arbitrary conference room of the conference server 10, or a conference room is added to the conference server 10. Occurs when newly added or deleted. Moreover, in FIG. 8, a call is established between the conference server 10 and the conference terminals 40 (40-1 to 40-4), and the conference server 10 receives video from the conference terminals 40 (40-1 to 40-4). Explanation will be made on the assumption that data and audio data are collected (received), and processing is assigned to the CPU 611 and the GPU 612 in order to realize (execute) the configuration (decoding unit, synthesizing unit, encoding unit) of the media processing unit 30. To do. Note that the media control unit 700 in this embodiment allocates processing in units of the processing unit of the video data processing unit 31 or the processing unit of the audio data processing unit 32 in the processing allocation between the CPU 611 and the GPU 612.

上限リソース情報取得部310は、CPU上限使用率Cmax、GPU上限使用率Gmax、会議室数の上限数、1会議室における端末の上限接続数、会議端末40との間で使用可能な映像符号化方式におけるGPU使用率及びCPU使用率、会議端末40との間で使用可能な音声符号化方式に関する1つの会議端末におけるGPU使用率とCPU使用率、会議サーバ10における伝送容量の情報を取得する(S101)。なお、CPU上限使用率Cmax、及びGPU上限使用率Gmaxは、予め所定の値が、設定されているものとする(例えば、理論上の上限値(100%)、上限値の70%の値等)。   The upper limit resource information acquisition unit 310 includes a CPU upper limit usage rate Cmax, a GPU upper limit usage rate Gmax, an upper limit number of conference rooms, an upper limit connection number of terminals in a conference room, and a video encoding usable with the conference terminal 40. Information on the GPU usage rate and CPU usage rate in the system, the GPU usage rate and CPU usage rate in one conference terminal, and the transmission capacity in the conference server 10 relating to the audio coding scheme that can be used with the conference terminal 40 ( S101). Note that predetermined values are set in advance for the CPU upper limit usage rate Cmax and the GPU upper limit usage rate Gmax (for example, a theoretical upper limit value (100%), a value of 70% of the upper limit value, etc.). ).

使用リソース情報取得部320は、CPU現在使用率C、GPU現在使用率G、現在稼動中の会議室数、各稼動中会議室における現在の会議端末40の接続数、各稼動中会議室における現在使用中の映像符号化方式、各稼動中会議室における現在使用中の音声符号化方式、会議サーバ10における現在使用中の伝送容量の情報を取得する(S102)。   The used resource information acquisition unit 320 includes a CPU current usage rate C, a GPU current usage rate G, the number of conference rooms currently in operation, the number of current conference terminal 40 connections in each active conference room, and the current status in each active conference room. Information on the video encoding method being used, the voice encoding method currently in use in each active conference room, and the transmission capacity currently being used in the conference server 10 is acquired (S102).

CPU/GPU処理割当候補取得部330は、メディア処理部30(MCU30)の構成(処理)の割当候補の取得する(S103)。   The CPU / GPU processing allocation candidate acquisition unit 330 acquires allocation candidates for the configuration (processing) of the media processing unit 30 (MCU 30) (S103).

例えば、CPU/GPU処理割当候補取得部330が取得した割当候補は、一例として、図6、図7に示される4つの割当候補(割当候補(1)〜(4))とする。   For example, the allocation candidates acquired by the CPU / GPU process allocation candidate acquisition unit 330 are, for example, the four allocation candidates (allocation candidates (1) to (4)) shown in FIGS.

割当候補(1)[図6:2110(行)、図7:3110(行)]は、GPU612のみに映像データ処理部31の処理及び音声データ処理部32の処理を割り当てる最も理想的な割当候補である。理由は、CPU611が、メディア処理部30の映像データ処理部31及び音声データ処理部32以外の他の処理について、実行できる汎用的なプロセッサであり、GPU612が、映像データや音声データを処理する際に使用される並列処理ができるプロセッサであるためである。   Assignment candidate (1) [FIG. 6: 2110 (row), FIG. 7: 3110 (row)] is the most ideal assignment candidate for assigning the processing of the video data processing unit 31 and the processing of the audio data processing unit 32 only to the GPU 612. It is. The reason is that the CPU 611 is a general-purpose processor that can execute processing other than the video data processing unit 31 and the audio data processing unit 32 of the media processing unit 30, and the GPU 612 processes video data and audio data. This is because it is a processor that can be used in parallel processing.

割当候補(2)[図6:2120(行)、図7:3120(行)]は、CPU611に音声データ処理部32の処理、GPU612に映像データ処理部31の処理を割り当てる2番目に理想的な割当候補である。割当候補(2)は、CPU611に音声データ処理部32の処理を割り当てる分だけ割当候補(1)に劣る。しかし、割当候補(2)は、処理負荷の大きい映像データ処理部31の処理をGPU612に割り当てる点に優位性が存在する。図7の項目[3120(行)]の[3310(列)]では、図7の項目[3110(行)]の[3310(列)]に比べてGPU612の使用率Gx+Gが若干下降し、CPU611の使用率Cx+Cが若干上昇する例が示されている。   The allocation candidate (2) [FIG. 6: 2120 (row), FIG. 7: 3120 (row)] is the second ideal to assign the processing of the audio data processing unit 32 to the CPU 611 and the processing of the video data processing unit 31 to the GPU 612. This is a good allocation candidate. The allocation candidate (2) is inferior to the allocation candidate (1) by the amount that the processing of the audio data processing unit 32 is allocated to the CPU 611. However, the allocation candidate (2) has an advantage in that the processing of the video data processing unit 31 with a large processing load is allocated to the GPU 612. In the item [3120 (column)] of the item [3120 (row)] in FIG. 7, the usage rate Gx + G of the GPU 612 slightly decreases compared to [3310 (column)] of the item [3110 (row)] in FIG. An example is shown in which the usage rate Cx + C is slightly increased.

割当候補(3)[図6:2130(行)、図7:3130(行)]は、GPU612に音声データ処理部32の処理、CPU611に映像データ処理部31の処理を割り当てる3番目に理想的な割当候補である。割当候補(3)は、CPU611に処理負荷の大きい映像データ処理部31の処理を割り当てる分だけ割当候補(2)に劣る。しかし、割当候補(3)は、全ての処理をCPU611に割り当てず、音声データ処理部32の処理をGPU612に割り当てる点に優位性が存在する。図7の項目[3130(行)]の[3310(列)]では、図7の項目[3120(行)]の[3310(列)]に比べて、負荷の大きい映像データ処理部31の処理を割り当てる分だけ、GPU612の使用率Gx+GがGPU現在使用率Gに近づき、CPU611の使用率Cx+CがCPU上限使用率Cmaxに近づく例が示されている。   The allocation candidate (3) [FIG. 6: 2130 (row), FIG. 7: 3130 (row)] is the third ideal to assign the processing of the audio data processing unit 32 to the GPU 612 and the processing of the video data processing unit 31 to the CPU 611. This is a good allocation candidate. The allocation candidate (3) is inferior to the allocation candidate (2) by the amount for allocating the processing of the video data processing unit 31 having a large processing load to the CPU 611. However, the allocation candidate (3) has an advantage in that all processing is not allocated to the CPU 611 and the processing of the audio data processing unit 32 is allocated to the GPU 612. In the item [3130 (column)] of the item [3130 (row)] in FIG. 7, the processing of the video data processing unit 31 having a larger load than the item [310 (column)] of the item [3120 (row)] in FIG. The example shows that the usage rate Gx + G of the GPU 612 approaches the GPU current usage rate G, and the usage rate Cx + C of the CPU 611 approaches the CPU upper limit usage rate Cmax by the amount allocated.

割当候補(4)[図6:2140(行)、図7:3140(行)]は、CPU611のみに映像データ処理部31及びCPU611の処理を割り当てる4番目に理想的な割当候補である。割当候補(4)は、割当候補(1)〜割当候補(3)を適用することができない場合(言い換えれば、GPU612が処理を実行できない場合)の割当候補である。また、図7の項目[3140(行)]の[3310(列)]では、CPU611に全ての処理を割り当てているので、GPU612の使用率Gx+GがGPU現在使用率Gと等しくなり、かつ割当候補(1)〜割当候補(3)に比べて、CPU611の使用率Cx+CがCPU上限使用率Cmaxに最も近くなる例が示されている。   Assignment candidate (4) [FIG. 6: 2140 (row), FIG. 7: 3140 (row)] is the fourth ideal assignment candidate for assigning the processing of the video data processing unit 31 and the CPU 611 only to the CPU 611. The allocation candidate (4) is an allocation candidate when the allocation candidate (1) to the allocation candidate (3) cannot be applied (in other words, when the GPU 612 cannot execute the process). Further, in [3310 (column)] of the item [3140 (row)] in FIG. 7, since all processing is allocated to the CPU 611, the usage rate Gx + G of the GPU 612 is equal to the GPU current usage rate G, and the allocation candidate Compared with (1) to allocation candidate (3), an example is shown in which the usage rate Cx + C of the CPU 611 is closest to the CPU upper limit usage rate Cmax.

CPU/GPU処理割当部340は、上述のステップS101で取得した上限リソース情報と、上述のステップS102で取得した現在のリソース情報とを総合的に判断して、上述のステップS103で取得された割当候補の内から1つを選択し、実際にCPU611とGPU612に、映像データ処理部31の処理、音声データ処理部32の処理を割り当てる(S104)。以下に、CPU/GPU処理割当部340の動作の一例を示す。   The CPU / GPU process allocation unit 340 comprehensively determines the upper limit resource information acquired in step S101 described above and the current resource information acquired in step S102 described above, and the allocation acquired in step S103 described above. One of the candidates is selected, and the processing of the video data processing unit 31 and the processing of the audio data processing unit 32 are actually assigned to the CPU 611 and the GPU 612 (S104). Below, an example of operation | movement of the CPU / GPU process allocation part 340 is shown.

まず、CPU/GPU処理割当部340は、GPU上限使用率Gmaxと、GPU現在使用率GとからGPU612に処理を割当可能なGPU612のリソース残量を算出する。同様に、CPU/GPU処理割当部340は、CPU上限使用率Cmaxと、CPU現在使用率CとからCPU611に処理を割当可能なCPU611のリソース残量を算出する。   First, the CPU / GPU process allocation unit 340 calculates the resource remaining amount of the GPU 612 that can allocate the process to the GPU 612 from the GPU upper limit usage rate Gmax and the GPU current usage rate G. Similarly, the CPU / GPU process allocation unit 340 calculates the remaining resource amount of the CPU 611 that can allocate the process to the CPU 611 from the CPU upper limit usage rate Cmax and the CPU current usage rate C.

次に、CPU/GPU処理割当部340は、映像データ処理部31内の処理量を算出(推定)する。同様に、CPU/GPU処理割当部340は、音声データ処理部32内の処理量を算出する。   Next, the CPU / GPU process allocation unit 340 calculates (estimates) the processing amount in the video data processing unit 31. Similarly, the CPU / GPU process allocation unit 340 calculates the processing amount in the audio data processing unit 32.

なお、算出(推定)される処理量の対象は、変更される会議端末であり、例えば、会議サーバ10の任意の会議室に新たに追加(削除)される会議端末40、会議サーバ10に新たに追加(削除)される会議室に関わる会議端末40である。   Note that the processing amount to be calculated (estimated) is the conference terminal to be changed. For example, the conference terminal 40 newly added (deleted) to any conference room of the conference server 10 and the conference server 10 are newly added. This is the conference terminal 40 related to the conference room to be added (deleted).

次に、CPU/GPU処理割当部340は、算出した映像データ処理部31及び音声データ処理部32内の処理量が、GPUリソース残量内に収まるか否か判定する。CPU/GPU処理割当部340は、当該処理量が、GPUリソース残量内に収まる場合には上述の割当候補(1)を適用する。また、CPU/GPU処理割当部340は、算出した映像データ処理部31の処理量のみが、GPUリソース残量内に収まる場合には、上述の割当候補(2)を適用する。さらに、CPU/GPU処理割当部340は、算出した音声データ処理部32内の処理量のみが、GPUリソース残量内に収まる場合には、上述の割当候補(3)を適用する。さらにまた、CPU/GPU処理割当部340は、算出した音声データ処理部32内の処理量、又は算出した映像データ処理部31の処理量が、GPUリソース残量内に収まらない場合には、上述の割当候補(4)を適用する。   Next, the CPU / GPU process allocation unit 340 determines whether or not the calculated processing amounts in the video data processing unit 31 and the audio data processing unit 32 fall within the GPU resource remaining amount. The CPU / GPU process allocation unit 340 applies the above allocation candidate (1) when the processing amount falls within the GPU resource remaining amount. Further, when only the calculated processing amount of the video data processing unit 31 falls within the GPU resource remaining amount, the CPU / GPU processing allocation unit 340 applies the above allocation candidate (2). Furthermore, the CPU / GPU process allocation unit 340 applies the above allocation candidate (3) when only the calculated processing amount in the audio data processing unit 32 falls within the remaining GPU resource amount. Furthermore, the CPU / GPU process allocation unit 340 determines that the calculated processing amount in the audio data processing unit 32 or the calculated processing amount of the video data processing unit 31 does not fall within the GPU resource remaining amount. The allocation candidate (4) is applied.

そして、CPU/GPU処理割当部340は、適用した割当候補(1)〜割当候補(4)のいずれかに従って、CPU611、若しくはGPU612(又はその両方)に、映像データ処理部31の処理及び音声データ処理部32の処理を割り当てる。   Then, the CPU / GPU process allocating unit 340 sends the processing of the video data processing unit 31 and the audio data to the CPU 611 or the GPU 612 (or both) according to any one of the applied allocation candidates (1) to (4). The processing of the processing unit 32 is assigned.

なお、変形例として、CPU/GPU処理割当部340は、例えば、稼働中会議室における映像符号化方式を用いて、映像データ処理部31(映像データ符号化部36a)の符号化処理を行う処理量が大きくて、割当候補(4)を適用せざるを得ない場合、上限リソース情報取得部310で取得した他の映像符号化方式(処理の軽い符号化方式)を用いた符号化処理を行うように制御しても良い。この場合、CPU/GPU処理割当部340は、会議端末40に対して改めて通信を行い、他の映像符号化方式が使用可能か否か確認しても良い。そして、CPU/GPU処理割当部340は、改めて処理量を計算して、割当候補(1)〜割当候補(4)を適用するように制御する。この変形例では、CPU611の使用率が上限(例えば、100%)を超えるようなオーバーフローの状態に近づくことについて、未然に防ぐという効果が生じる。   As a modification, for example, the CPU / GPU process allocating unit 340 performs encoding processing of the video data processing unit 31 (video data encoding unit 36a) using a video encoding method in an operating conference room. When the amount is large and the allocation candidate (4) must be applied, an encoding process using another video encoding system (lightly processing encoding system) acquired by the upper limit resource information acquisition unit 310 is performed. You may control as follows. In this case, the CPU / GPU process allocating unit 340 may newly communicate with the conference terminal 40 to check whether another video encoding method can be used. Then, the CPU / GPU process allocating unit 340 calculates the amount of processing again and controls to apply the allocation candidates (1) to (4). In this modified example, the effect of preventing the overflow of the usage rate of the CPU 611 exceeding the upper limit (for example, 100%) is produced.

また、CPU/GPU処理割当部340は、例えば、会議サーバ10における伝送容量が、上限に近づいていた場合には、上記とは逆に圧縮率の高い(処理の重い)映像符号化方式を用いた符号化処理を行うように制御しても良い。そして、CPU/GPU処理割当部340は、改めて処理量を計算して、割当候補(1)〜割当候補(4)を適用するように制御する。この変形例では、会議サーバ10の伝送容量の圧迫を未然に防ぐという効果が生じる。   Further, for example, when the transmission capacity in the conference server 10 is approaching the upper limit, the CPU / GPU process allocating unit 340 uses a video encoding method having a high compression ratio (heavy processing) contrary to the above. It may be controlled to perform the encoding process. Then, the CPU / GPU process allocating unit 340 calculates the amount of processing again and controls to apply the allocation candidates (1) to (4). In this modified example, an effect of preventing the transmission capacity of the conference server 10 from being compressed in advance occurs.

他にも、CPU/GPU処理割当部340は、会議室数の上限の数、1会議室の端末の上限接続数、現在稼働中の会議室数、及び稼働中会議室における現在の端末の接続数の情報を加味して、割当候補(1)〜割当候補(4)を適用するようにしても良い。   In addition, the CPU / GPU process allocating unit 340 determines the upper limit number of conference rooms, the upper limit connection number of terminals in the conference room, the number of conference rooms currently in operation, and the connection of current terminals in the conference room in operation. The allocation candidate (1) to the allocation candidate (4) may be applied in consideration of the number information.

(A−3)第1の実施形態の効果
第1の実施形態によれば、以下の効果を奏する。
(A-3) Effects of the First Embodiment According to the first embodiment, the following effects can be obtained.

メディア制御部700が、GPU上限使用率Gmax、GPU現在使用率G等のリソース情報から、なるべくGPU612にメディア処理部30(MCU30)の処理を割り当てるように制御することにより、第1の実施形態は、従来に比べて効率的にCPU611とGPU612に処理負荷を分散できるようになる。   In the first embodiment, the media control unit 700 performs control so that the processing of the media processing unit 30 (MCU 30) is allocated to the GPU 612 as much as possible from the resource information such as the GPU upper limit usage rate Gmax and the GPU current usage rate G. Thus, the processing load can be distributed to the CPU 611 and the GPU 612 more efficiently than in the past.

よって、会議サーバ10は、会議端末40の同時接続数や、同時会議数のスケーラビリティを向上することが可能となる。   Therefore, the conference server 10 can improve the number of simultaneous connections of the conference terminals 40 and the scalability of the number of simultaneous conferences.

(B)第2の実施形態
以下、本発明による通信制御装置及びプログラム、記録媒体、並びに、通信制御方法の第2の実施形態を、図面を参照しながら詳述する。
(B) Second Embodiment Hereinafter, a second embodiment of a communication control apparatus and program, a recording medium, and a communication control method according to the present invention will be described in detail with reference to the drawings.

(B−1)第2の実施形態の構成
第2の実施形態の多地点会議システム、及び会議サーバの構成についても、第1の実施形態と同様に、図1〜図7を用いて示すことができる。
(B-1) Configuration of Second Embodiment The configurations of the multipoint conference system and conference server of the second embodiment are also shown using FIGS. 1 to 7 as in the first embodiment. Can do.

以下では、第2の実施形態の会議サーバ10(メディア制御部700)の構成について、第1の実施形態との差異について説明する。   Hereinafter, differences between the configuration of the conference server 10 (media control unit 700) of the second embodiment and the first embodiment will be described.

第1の実施形態では、CPU/GPU処理割当候補取得部330は、映像データ処理部31、又は音声データ処理部32の処理部を単位として、CPU611、若しくはGPU612(又はその両方)に処理を割り当てた割当候補を取得していた。第1の実施形態の割当候補は、メモリ613(CPU用メモリ613−1、GPU用メモリ613−2)の効率的な使用という意味(例えば、CPU用メモリ613−1の内容を、GPU用メモリ613−2にコピーする等のオーバヘッドが少ない)では有効であった。   In the first embodiment, the CPU / GPU processing allocation candidate acquisition unit 330 allocates processing to the CPU 611 or the GPU 612 (or both) in units of the processing unit of the video data processing unit 31 or the audio data processing unit 32. Had been assigned candidates. The allocation candidate of the first embodiment means that the memory 613 (CPU memory 613-1, GPU memory 613-2) is efficiently used (for example, the content of the CPU memory 613-1 is changed to the GPU memory). This is effective when the overhead of copying to 613-2 is small.

一方、第2の実施形態では、CPU/GPU処理割当候補取得部330は、CPU611、GPU612の各プロセッサの特徴を生かした観点から処理の割当を行った候補を作成する。GPU612は、一般にグラフィック処理など特定の単純作業を並列で行うことに向いていると考えられている。また、CPU611は、複雑な処理を行うことに向いていると考えられている。   On the other hand, in the second embodiment, the CPU / GPU processing allocation candidate acquisition unit 330 creates a candidate for which processing has been allocated from the viewpoint of making use of the characteristics of the processors of the CPU 611 and the GPU 612. The GPU 612 is generally considered to be suitable for performing specific simple tasks such as graphic processing in parallel. The CPU 611 is considered to be suitable for performing complicated processing.

例えば、映像データ処理部31において、映像データ復号部34aの処理、及び映像データ符号化部36aの処理は、GPU612で実行されることに向いており、映像データ合成部35aの処理は、CPU611で実行されることに向いている。また、音声データ処理部32において、音声データ復号部34bの処理、及び音声データ符号化部36bの処理は、GPU612で実行されることに向いており、音声データ合成部35bの処理は、CPU611で実行されることに向いている。   For example, in the video data processing unit 31, the processing of the video data decoding unit 34 a and the processing of the video data encoding unit 36 a are suitable to be executed by the GPU 612, and the processing of the video data synthesis unit 35 a is performed by the CPU 611. Suitable for being executed. In the audio data processing unit 32, the processing of the audio data decoding unit 34b and the processing of the audio data encoding unit 36b are suitable to be executed by the GPU 612. The processing of the audio data synthesis unit 35b is performed by the CPU 611. Suitable for being executed.

(B−2)第2の実施形態の動作
次に、以上のような構成を有する第2の実施形態の会議システム1の動作を、図面を参照しながら説明する。なお、以下では、メディア制御部700の動作に特徴を有するため、この部分を中心に説明する。
(B-2) Operation | movement of 2nd Embodiment Next, operation | movement of the conference system 1 of 2nd Embodiment which has the above structures is demonstrated, referring drawings. In the following, since the operation of the media control unit 700 is characteristic, this portion will be mainly described.

第2の実施形態のメディア制御部700の動作も、第1の実施形態と同様に図8を用いて説明することができる。ただし、図8のステップS103の処理(割当候補の取得処理)、図8のステップS104の処理(割当候補の選択処理)が、第1の実施形態と異なるのでこの点を中心に説明する。   The operation of the media control unit 700 according to the second embodiment can also be described with reference to FIG. 8 as in the first embodiment. However, the processing in step S103 in FIG. 8 (assignment candidate acquisition processing) and the processing in step S104 in FIG. 8 (assignment candidate selection processing) are different from those in the first embodiment, so this point will be mainly described.

図8のステップS103の処理(割当候補の取得処理)は、次に示される処理となる。   The process of step S103 in FIG. 8 (assignment candidate acquisition process) is the process shown below.

CPU/GPU処理割当候補取得部330は、GPU612に、映像データ復号部34a(34a−1〜34a−4)の処理、映像データ符号化部36a(36a−1〜36a−4)の処理、音声データ復号部34b(34b−1〜34b−4)の処理、及び音声データ符号化部36b(36b−1〜36b−4)の処理を割り当て、CPU611に、映像データ合成部35aの処理、及び音声データ合成部35bの処理を割り当てる割当候補(割当候補(5))を取得する。   The CPU / GPU processing allocation candidate acquisition unit 330 sends the GPU 612 the processing of the video data decoding unit 34a (34a-1 to 34a-4), the processing of the video data encoding unit 36a (36a-1 to 36a-4), and audio. The processing of the data decoding unit 34b (34b-1 to 34b-4) and the processing of the audio data encoding unit 36b (36b-1 to 36b-4) are allocated, and the processing of the video data synthesis unit 35a and the audio are assigned to the CPU 611. An allocation candidate (allocation candidate (5)) to which the process of the data synthesis unit 35b is allocated is acquired.

ここで、図9は、CPU/GPU処理割当候補取得部が取得する割当候補(上述の割当候補(5))を示す説明図である。図9は、図6をベースに記載される。   Here, FIG. 9 is an explanatory diagram showing an allocation candidate (the above allocation candidate (5)) acquired by the CPU / GPU process allocation candidate acquisition unit. FIG. 9 is described based on FIG.

図8のステップS104の処理(割当候補の選択処理)は、次に示される処理となる。   The process of step S104 in FIG. 8 (assignment candidate selection process) is the following process.

その後、CPU/GPU処理割当部340は、第1の実施形態における上述のステップS104と同様に、割当候補(5)に従って、CPU611とGPU612に処理を割り当てる(第1の実施形態と異なり、割当候補は一つであるので、複数の割当候補から選択する処理は必要としない)。   Thereafter, the CPU / GPU process allocating unit 340 allocates processes to the CPU 611 and the GPU 612 according to the allocation candidate (5), as in step S104 described above in the first embodiment (unlike the first embodiment, the allocation candidate). Since there is one, there is no need to select from a plurality of allocation candidates).

(B−3)第2の実施形態の効果
第2の実施形態によれば、第1の実施形態と同様の効果を奏することができる。また、CPU/GPU処理割当部340が、CPU611、GPU612の各プロセッサの特徴を考慮して、得意とする処理を割り当てることができるので、第2の実施形態は、CPU611、GPU612の処理効率をより高めることが可能になる。
(B-3) Effect of Second Embodiment According to the second embodiment, the same effect as that of the first embodiment can be obtained. In addition, since the CPU / GPU process allocating unit 340 can allocate the processing that is good at the CPU 611 and the GPU 612 in consideration of the characteristics of the processors, the second embodiment further increases the processing efficiency of the CPU 611 and the GPU 612. It becomes possible to increase.

(C)第3の実施形態
以下、本発明による通信制御装置及びプログラム、記録媒体、並びに、通信制御方法の第2の実施形態を、図面を参照しながら詳述する。
(C) Third Embodiment Hereinafter, a second embodiment of a communication control device and program, a recording medium, and a communication control method according to the present invention will be described in detail with reference to the drawings.

(C−1)第3の実施形態の構成
第3の実施形態の多地点会議システム、及び会議サーバの構成についても、第1の実施形態と同様に図1〜図7を用いて示すことができる。
(C-1) Configuration of Third Embodiment The configurations of the multipoint conference system and conference server of the third embodiment can also be shown using FIGS. 1 to 7 as in the first embodiment. it can.

以下では、第3の実施形態の会議サーバ10(メディア制御部700)の構成について、第1、2の実施形態との差異について説明する。   Hereinafter, differences between the configuration of the conference server 10 (media control unit 700) of the third embodiment and the first and second embodiments will be described.

第1の実施形態では、CPU/GPU処理割当候補取得部330は、映像データ処理部31、又は音声データ処理部32を単位として、CPU611、若しくはGPU612(又はその両方)に処理を割り当てた割当候補を作成していた。また、第2の実施形態では、CPU/GPU処理割当候補取得部330は、CPU611、GPU612の各プロセッサの特徴を生かした観点から処理を割り当てる割当候補(映像データ処理部31と音声データ処理部32における合成処理はCPU611、映像データ処理部31と音声データ処理部32における復号処理、符号化処理はGPU612に割当)を取得していた。   In the first embodiment, the CPU / GPU process allocation candidate acquisition unit 330 allocates a process to the CPU 611 or the GPU 612 (or both) in units of the video data processing unit 31 or the audio data processing unit 32. Was creating. In the second embodiment, the CPU / GPU process allocation candidate acquisition unit 330 allocates processes (video data processing unit 31 and audio data processing unit 32) to allocate processes from the viewpoint of utilizing the characteristics of the processors of the CPU 611 and the GPU 612. The CPU 611, the decoding process in the video data processing unit 31 and the audio data processing unit 32, and the encoding process are assigned to the GPU 612).

一方、第3の実施形態のCPU/GPU処理割当候補取得部330は、CPU611、若しくはGPU612(又はその両方)に、映像データ処理部31、又は音声データ処理部32単位で処理を割り当てる割当候補を取得すること(第1の実施形態)に加えて、さらに、細部の構成(映像データ処理部31における映像データ復号部34a、映像データ合成部35a、映像データ符号化部36a、音声データ処理部32における音声データ復号部34b、音声データ合成部35b、音声データ符号化部36b等)単位でも、処理を割り当てる割当候補を取得する(詳細については、動作の項で述べる)。   On the other hand, the CPU / GPU processing allocation candidate acquisition unit 330 according to the third exemplary embodiment assigns allocation candidates to allocate processing to the CPU 611 or the GPU 612 (or both) in units of the video data processing unit 31 or the audio data processing unit 32. In addition to the acquisition (first embodiment), further details (video data decoding unit 34a, video data synthesis unit 35a, video data encoding unit 36a, audio data processing unit 32 in the video data processing unit 31). The allocation candidate to which the process is allocated is also acquired in units of the speech data decoding unit 34b, the speech data synthesis unit 35b, the speech data encoding unit 36b, etc. (details will be described in the operation section).

(C−2)第3の実施形態の動作
次に、以上のような構成を有する第3の実施形態の会議システム1の動作を、図面を参照しながら説明する。なお、以下では、メディア制御部700の動作に特徴を有するため、この部分を中心に説明する。
(C-2) Operation of Third Embodiment Next, the operation of the conference system 1 according to the third embodiment having the above-described configuration will be described with reference to the drawings. In the following, since the operation of the media control unit 700 is characteristic, this portion will be mainly described.

第3の実施形態のメディア制御部700の動作も、第1の実施形態と同様に図8を用いて説明することができる。ただし、図8のステップS103の処理(割当候補の作成処理)、図8のステップS104の処理(割当候補の選択処理)が、第1の実施形態と異なるのでこの点を中心に説明する。   The operation of the media control unit 700 according to the third embodiment can also be described with reference to FIG. 8 as in the first embodiment. However, the processing in Step S103 (assignment candidate creation processing) in FIG. 8 and the processing in Step S104 (assignment candidate selection processing) in FIG. 8 are different from those in the first embodiment, and thus this point will be mainly described.

図8のステップS103の処理(割当候補の取得処理)は、次に示される処理となる。   The process of step S103 in FIG. 8 (assignment candidate acquisition process) is the process shown below.

CPU/GPU処理割当候補取得部330は、CPU611、若しくはGPU612(又はその両方)に、映像データ処理部31の内部構成(映像データ復号部34a、映像データ合成部35a、映像データ符号化部36a)、又は音声データ処理部32の内部構成(音声データ処理部32、音声データ復号部34b、音声データ符号化部36b)を割り当てる割当候補を取得する。   The CPU / GPU processing allocation candidate acquisition unit 330 is connected to the CPU 611 or the GPU 612 (or both) by the internal configuration of the video data processing unit 31 (video data decoding unit 34a, video data synthesis unit 35a, video data encoding unit 36a). Alternatively, an allocation candidate to which the internal configuration of the audio data processing unit 32 (audio data processing unit 32, audio data decoding unit 34b, audio data encoding unit 36b) is assigned is acquired.

図10〜図12は、CPU/GPU処理割当候補取得部が取得する割当候補(割当候補(1)、割当候補(1α)、割当候補(1β)、割当候補(2)、割当候補(2α)、割当候補(2β)、割当候補(3)、割当候補(3α)、割当候補(3β)、割当候補(4))を示す説明図である。図10〜図12では、映像データ処理部31及び、音声データ処理部32の内部構成単位で、処理を実行するCPU611、又はGPU612について示めされている。図10〜図12は、図6をベースに記載される。   10 to 12 show allocation candidates (allocation candidates (1), allocation candidates (1α), allocation candidates (1β), allocation candidates (2), allocation candidates (2α)) acquired by the CPU / GPU process allocation candidate acquisition unit. FIG. 11 is an explanatory diagram showing an allocation candidate (2β), an allocation candidate (3), an allocation candidate (3α), an allocation candidate (3β), and an allocation candidate (4)). 10 to 12, the CPU 611 or the GPU 612 that executes processing in the internal configuration unit of the video data processing unit 31 and the audio data processing unit 32 is illustrated. 10 to 12 are described based on FIG.

ここで、図10〜図12に示される割当候補は、第1の実施形態の割当候補(1)、割当候補(2)、割当候補(3)、割当候補(4)と、第3の実施形態において新たに追加される割当候補(1α)、割当候補(1β)、割当候補(2α)、割当候補(2β)、割当候補(3α)、割当候補(3β)である。   Here, the allocation candidates shown in FIGS. 10 to 12 are the allocation candidate (1), allocation candidate (2), allocation candidate (3), allocation candidate (4) of the first embodiment, and the third implementation. They are the allocation candidate (1α), the allocation candidate (1β), the allocation candidate (2α), the allocation candidate (2β), the allocation candidate (3α), and the allocation candidate (3β) that are newly added in the form.

割当候補(1α)は、割当候補(1)の音声データ処理部の合成部を、GPUからCPUに変更したものである。   The allocation candidate (1α) is obtained by changing the synthesis unit of the voice data processing unit of the allocation candidate (1) from the GPU to the CPU.

割当候補(1β)は、割当候補(1)の音声データ処理部の合成部と復号部を、GPUからCPUに変更したものである。   The allocation candidate (1β) is obtained by changing the synthesis unit and the decoding unit of the voice data processing unit of the allocation candidate (1) from the GPU to the CPU.

割当候補(2α)は、割当候補(2)の映像データ処理部の合成部を、GPUからCPUに変更したものである。   The allocation candidate (2α) is obtained by changing the composition unit of the video data processing unit of the allocation candidate (2) from the GPU to the CPU.

割当候補(2β)は、割当候補(2)の映像データ処理部の合成部と復号部を、GPUからCPUに変更したものである。   The allocation candidate (2β) is obtained by changing the combining unit and decoding unit of the video data processing unit of the allocation candidate (2) from the GPU to the CPU.

割当候補(3α)は、割当候補(3)の音声データ処理部の合成部を、GPUからCPUに変更したものである。   The allocation candidate (3α) is obtained by changing the synthesis unit of the voice data processing unit of the allocation candidate (3) from the GPU to the CPU.

割当候補(3β)は、割当候補(3)の音声データ処理部の合成部と復号部を、GPUからCPUに変更したものである。   The allocation candidate (3β) is obtained by changing the synthesis unit and the decoding unit of the voice data processing unit of the allocation candidate (3) from the GPU to the CPU.

なお、図10〜図12は一例であり、CPU/GPU処理割当候補取得部330は、これ以外にも様々なパターン(例えば、第2の実施形態における上述の割当候補(5)等)を取得しても良い。   10 to 12 are examples, and the CPU / GPU processing allocation candidate acquisition unit 330 acquires various other patterns (for example, the above allocation candidate (5) in the second embodiment). You may do it.

図8のステップS104の処理(割当候補の選択処理)は、次に示される処理となる。   The process of step S104 in FIG. 8 (assignment candidate selection process) is the following process.

その後、CPU/GPU処理割当部340は、上述のステップS104と同様に、図10〜図12で示される10個の割当候補から1個の割当候補を選択して、選択された割当候補に従って、CPU611、若しくはGPU612(又はその両方)に、映像データ処理部31の処理及び音声データ処理部32の処理を割り当てる。   Thereafter, the CPU / GPU process assigning unit 340 selects one assignment candidate from the ten assignment candidates shown in FIG. 10 to FIG. 12 as in step S104 described above, and according to the selected assignment candidate, The processing of the video data processing unit 31 and the processing of the audio data processing unit 32 are allocated to the CPU 611 or the GPU 612 (or both).

なお、図10〜図12の割当候補は、最もプロセッサの効率の良い割当候補から最もプロセッサの効率の悪い割当候補の順番に記載されている。そのため、CPU/GPU処理割当部340は、計算された処理量がGPU612のリソース残量以内の場合又はCPU611のリソース残量以内の場合、割当候補(1)、割当候補(1α)、割当候補(1β)、割当候補(2)、割当候補(2α)、割当候補(2β)、割当候補(3)、割当候補(3α)、割当候補(3β)、割当候補(4)の順に割当候補を検討することになる。   The assignment candidates in FIGS. 10 to 12 are described in the order of assignment candidates with the highest processor efficiency to assignment candidates with the lowest processor efficiency. Therefore, when the calculated processing amount is within the resource remaining amount of the GPU 612 or within the resource remaining amount of the CPU 611, the CPU / GPU process allocating unit 340 allocates the allocation candidate (1), the allocation candidate (1α), and the allocation candidate ( 1β), allocation candidate (2), allocation candidate (2α), allocation candidate (2β), allocation candidate (3), allocation candidate (3α), allocation candidate (3β), allocation candidate (4) are examined in this order. Will do.

なお、CPU/GPU処理割当部340は、第2の実施形態における上述の割当候補(5)も含めて割当候補を検討する場合、割当候補(5)、割当候補(1)、割当候補(1α)、割当候補(1β)、割当候補(2)、割当候補(2α)、割当候補(2β)、割当候補(3)、割当候補(3α)、割当候補(3β)、割当候補(4)の順に、割当候補を検討することになる。ここで、割当候補を検討する際、割当候補(5)、割当候補(1)〜割当候補(4)の順とした理由は、第2の実施形態で述べたように、各プロセッサの特徴を考慮したためである。   Note that the CPU / GPU process allocation unit 340, when considering the allocation candidates including the allocation candidate (5) in the second embodiment, allocates the allocation candidate (5), the allocation candidate (1), and the allocation candidate (1α ), Allocation candidate (1β), allocation candidate (2), allocation candidate (2α), allocation candidate (2β), allocation candidate (3), allocation candidate (3α), allocation candidate (3β), allocation candidate (4) In turn, allocation candidates will be considered. Here, when considering the allocation candidates, the reason for the order of allocation candidates (5) and allocation candidates (1) to allocation candidates (4) is the characteristics of each processor as described in the second embodiment. This is because of consideration.

(C−3)第3の実施形態の効果
第3の実施形態によれば、第1及び第2の実施形態に比べて、より詳細にCPU611とGPU612に処理負荷を分散できるようになる。
(C-3) Effect of Third Embodiment According to the third embodiment, the processing load can be distributed to the CPU 611 and the GPU 612 in more detail as compared with the first and second embodiments.

(D)他の実施形態
上記各実施形態の説明においても、種々変形実施形態に言及したが、さらに、以下に例示するような変形実施形態も挙げることができる。
(D) Other Embodiments In the description of each of the above embodiments, various modified embodiments have been referred to. However, modified embodiments as exemplified below can also be cited.

上記第2、3の実施形態において、CPU/GPU処理割当部340は、映像データ合成部35a単位で、CPU611、又はGPU612に処理を割り当てていた。この変形例として、CPU/GPU処理割当部340は、例えば、合成映像のサイズを変更するリサイズ処理をGPU612に割り当て、リサイズ処理を除く映像合成処理をCPU611に割り当てる等のように、細分化された単位の処理をCPU611とGPU612に割り当てても良い。上記と同様に、他の構成(映像データ処理部31における映像データ復号部34a、映像データ符号化部36a、音声データ復号部34b、音声データ合成部35b、及び音声データ符号化部36b)についても、各構成部において細分化された単位の処理を、CPU611とGPU612に割り当てても良い。   In the second and third embodiments, the CPU / GPU process allocation unit 340 allocates a process to the CPU 611 or the GPU 612 in units of the video data synthesis unit 35a. As a modified example, the CPU / GPU process allocating unit 340 is subdivided such that, for example, a resizing process for changing the size of the synthesized video is allocated to the GPU 612, and a video synthesizing process excluding the resizing process is allocated to the CPU 611. Unit processing may be assigned to the CPU 611 and the GPU 612. Similarly to the above, other configurations (video data decoding unit 34a, video data encoding unit 36a, audio data decoding unit 34b, audio data synthesis unit 35b, and audio data encoding unit 36b in the video data processing unit 31) are also provided. The processing of units subdivided in each component may be assigned to the CPU 611 and the GPU 612.

1…会議システム、10…会議サーバ、20…呼制御部、30…メディア処理部、31…映像データ処理部、32…音声データ処理部、33…データ受信処理部、34a(34a−1〜34a−4)…映像データ復号部、34b(34b−1〜34b−4)…音声データ復号部、35…映像データ合成部、35a…映像データ合成部、35b…音声データ合成部、36a(36a−1〜36a−4)…映像データ符号化部、36b(36b−1〜36b−4)…音声データ符号化部、37…データ送信処理部、40(40−1〜40−4)…会議端末、310…上限リソース情報取得部、320…使用リソース情報取得部、330…GPU処理割当候補取得部、340…GPU処理割当部、350…メディア機能制御部、611…CPU、612…CPU、613(613−1、613−2)…メモリ、614…インタフェース、615…記憶装置、700…メディア制御部、C…CPU現在使用率、Cmax…CPU上限使用率、G…GPU現在使用率、Gmax…GPU上限使用率。 DESCRIPTION OF SYMBOLS 1 ... Conference system, 10 ... Conference server, 20 ... Call control unit, 30 ... Media processing unit, 31 ... Video data processing unit, 32 ... Audio data processing unit, 33 ... Data reception processing unit, 34a (34a-1 to 34a) -4) Video data decoder 34b (34b-1 to 34b-4) Audio data decoder 35 35 Video data synthesizer 35a Video data synthesizer 35b Audio data synthesizer 36a (36a- 1-36a-4) ... video data encoding unit, 36b (36b-1 to 36b-4) ... audio data encoding unit, 37 ... data transmission processing unit, 40 (40-1 to 40-4) ... conference terminal 310 ... Upper limit resource information acquisition unit, 320 ... Usage resource information acquisition unit, 330 ... GPU processing allocation candidate acquisition unit, 340 ... GPU processing allocation unit, 350 ... Media function control unit, 611 ... CPU, 6 2 ... CPU, 613 (613-1, 613-2) ... Memory, 614 ... Interface, 615 ... Storage device, 700 ... Media control unit, C ... CPU current usage rate, Cmax ... CPU upper limit usage rate, G ... GPU current Usage rate, Gmax ... GPU upper limit usage rate.

Claims (7)

複数の通信装置に接続され、少なくとも1つのCPUと、少なくとも1つのGPUとを有する通信制御装置であって、
第1処理部の実行前における実行前CPUリソース情報と、実行前GPUリソース情報とを確認するリソース情報確認手段と、
前記第1処理部の実行後における実行後CPUリソース情報と、実行後GPUリソース情報とを推定するリソース情報推定手段と、
前記実行前CPUリソース情報と、前記実行前GPUリソース情報と、前記実行後CPUリソース情報と、前記実行後GPUリソース情報とに基づいて、前記第1処理部の実行を、CPU及びGPUのうち少なくとも1つの処理装置に割り当てる割当手段と
を有することを特徴とする通信制御装置。
A communication control device connected to a plurality of communication devices and having at least one CPU and at least one GPU,
Resource information confirmation means for confirming pre-execution CPU resource information and pre-execution GPU resource information before execution of the first processing unit;
Resource information estimation means for estimating post-execution CPU resource information and post-execution GPU resource information after execution of the first processing unit;
Based on the pre-execution CPU resource information, the pre-execution GPU resource information, the post-execution CPU resource information, and the post-execution GPU resource information, execution of the first processing unit is performed by at least one of the CPU and the GPU. And a allocating means for allocating to one processing device.
前記第1処理部は、
複数の通信装置のうち少なくとも1つの通信装置から送信された、映像情報、音声情報、又は映像情報及び音声情報を復号する復号部と、
復号された情報を合成する合成部と、
合成された情報を符号化する符号化部と
を有すること特徴とする請求項1に記載する通信制御装置。
The first processing unit includes:
A decoding unit that decodes video information, audio information, or video information and audio information transmitted from at least one of the plurality of communication devices;
A combining unit that combines the decrypted information;
The communication control apparatus according to claim 1, further comprising: an encoding unit that encodes the synthesized information.
前記割当手段は、
前記実行後GPUリソース情報に基づく値が所定の閾値を超えていない場合、前記第1処理部の実行を、優先的にGPUに割り当てる第1割当手段
を有することを特徴とする請求項1又は2に記載の通信制御装置。
The assigning means includes
3. A first allocation unit that preferentially allocates execution of the first processing unit to a GPU when a value based on the post-execution GPU resource information does not exceed a predetermined threshold. The communication control device according to 1.
前記割当手段は、
前記合成部の実行を、優先的にCPUに割り当て、
前記復号部及び符号化部の実行を、優先的にGPUに割り当てる第2割当手段
を有することを特徴とする請求項2又は3に記載の通信制御装置。
The assigning means includes
Preferentially assign the execution of the synthesis unit to the CPU,
The communication control apparatus according to claim 2, further comprising: a second allocation unit that preferentially allocates execution of the decoding unit and the encoding unit to the GPU.
複数の通信装置に接続され、少なくとも1つのCPUと、少なくとも1つのGPUとを有するコンピュータを、
第1処理部の実行前における実行前CPUリソース情報と、実行前GPUリソース情報とを確認するリソース情報確認手段と、
前記第1処理部の実行後における実行後CPUリソース情報と、実行後GPUリソース情報とを推定するリソース情報推定手段と、
前記実行前CPUリソース情報と、前記実行前GPUリソース情報と、前記実行後CPUリソース情報と、前記実行後GPUリソース情報とに基づいて、前記第1処理部の実行を、CPU及びGPUのうち少なくとも1つの処理装置に割り当てる割当手段と
して機能させることを特徴とするプログラム。
A computer connected to a plurality of communication devices and having at least one CPU and at least one GPU,
Resource information confirmation means for confirming pre-execution CPU resource information and pre-execution GPU resource information before execution of the first processing unit;
Resource information estimation means for estimating post-execution CPU resource information and post-execution GPU resource information after execution of the first processing unit;
Based on the pre-execution CPU resource information, the pre-execution GPU resource information, the post-execution CPU resource information, and the post-execution GPU resource information, execution of the first processing unit is performed by at least one of the CPU and the GPU. A program which functions as an allocating means to be allocated to one processing device.
請求項5に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。   A computer-readable recording medium on which the program according to claim 5 is recorded. 複数の通信装置に接続され、少なくとも1つのCPUと、少なくとも1つのGPUとを有する通信制御装置の通信制御方法であって、
前記通信制御装置は、
第1処理部の実行前における実行前CPUリソース情報と、実行前GPUリソース情報とを確認するリソース情報確認ステップと、
前記第1処理部の実行後における実行後CPUリソース情報と、実行後GPUリソース情報とを推定するリソース情報推定ステップと、
前記実行前CPUリソース情報と、前記実行前GPUリソース情報と、前記実行後CPUリソース情報と、前記実行後GPUリソース情報とに基づいて、前記第1処理部の実行を、CPU及びGPUのうち少なくとも1つの処理装置に割り当てるアプリケーション割当ステップと
を有することを特徴とする通信制御方法。
A communication control method for a communication control device connected to a plurality of communication devices and having at least one CPU and at least one GPU,
The communication control device includes:
Resource information confirmation step for confirming pre-execution CPU resource information and pre-execution GPU resource information before execution of the first processing unit;
A resource information estimation step for estimating post-execution CPU resource information and post-execution GPU resource information after execution of the first processing unit;
Based on the pre-execution CPU resource information, the pre-execution GPU resource information, the post-execution CPU resource information, and the post-execution GPU resource information, execution of the first processing unit is performed by at least one of the CPU and the GPU. An application assignment step for assigning to one processing device.
JP2015192734A 2015-09-30 2015-09-30 Communication control device, program, recording medium, and communication control method Pending JP2017069744A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015192734A JP2017069744A (en) 2015-09-30 2015-09-30 Communication control device, program, recording medium, and communication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015192734A JP2017069744A (en) 2015-09-30 2015-09-30 Communication control device, program, recording medium, and communication control method

Publications (1)

Publication Number Publication Date
JP2017069744A true JP2017069744A (en) 2017-04-06

Family

ID=58495259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015192734A Pending JP2017069744A (en) 2015-09-30 2015-09-30 Communication control device, program, recording medium, and communication control method

Country Status (1)

Country Link
JP (1) JP2017069744A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220161070A (en) * 2021-05-28 2022-12-06 주식회사 엘지유플러스 Container-based gpu resource sharing mtehod and apparatus in cloud environment
KR102630705B1 (en) * 2023-07-12 2024-01-29 주식회사 넥스톤 Energy-saving network camera storage device and operation method of network camera storage device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011055234A (en) * 2009-09-01 2011-03-17 Ricoh Co Ltd Electronic conference system, multi-point connection device, data communication method, program, and recording medium
JP2014505913A (en) * 2010-12-14 2014-03-06 アマゾン テクノロジーズ インク Load balancing between general purpose and graphics processors
JP2014056425A (en) * 2012-09-12 2014-03-27 Nippon Telegr & Teleph Corp <Ntt> Data management device, data management system, process allocation method, and process allocation program
US20150189234A1 (en) * 2013-12-26 2015-07-02 OnCam, Inc. Real time stream provisioning infrastructure

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011055234A (en) * 2009-09-01 2011-03-17 Ricoh Co Ltd Electronic conference system, multi-point connection device, data communication method, program, and recording medium
JP2014505913A (en) * 2010-12-14 2014-03-06 アマゾン テクノロジーズ インク Load balancing between general purpose and graphics processors
JP2014056425A (en) * 2012-09-12 2014-03-27 Nippon Telegr & Teleph Corp <Ntt> Data management device, data management system, process allocation method, and process allocation program
US20150189234A1 (en) * 2013-12-26 2015-07-02 OnCam, Inc. Real time stream provisioning infrastructure

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220161070A (en) * 2021-05-28 2022-12-06 주식회사 엘지유플러스 Container-based gpu resource sharing mtehod and apparatus in cloud environment
KR102574043B1 (en) * 2021-05-28 2023-09-01 주식회사 엘지유플러스 Container-based gpu resource sharing mtehod and apparatus in cloud environment
KR102630705B1 (en) * 2023-07-12 2024-01-29 주식회사 넥스톤 Energy-saving network camera storage device and operation method of network camera storage device

Similar Documents

Publication Publication Date Title
CN102447906B (en) Low-latency video decoding
JP5788995B2 (en) Dynamic video switching
US8711154B2 (en) System and method for parallel video processing in multicore devices
EP2909718B1 (en) Media hardware resource allocation
US20120262531A1 (en) Scalable Video Encoding in a Multi-View Camera System
US20130191485A1 (en) Multi-party mesh conferencing with stream processing
JP6191886B2 (en) Dynamic insertion of synchronous prediction video frames
CN111510743B (en) Method, device, system, equipment and storage medium for scheduling transcoding resources
JP2017069744A (en) Communication control device, program, recording medium, and communication control method
CN116567346A (en) Video processing method, device, storage medium and computer equipment
WO2001037565A1 (en) Method and apparatus for controlling moving picture synthesis
CN111385515A (en) Video conference data transmission method and video conference data transmission system
US9118806B2 (en) Device and method for multistream bandwidth control in videoconferencing
CN110784731B (en) Data stream transcoding method, device, equipment and medium
US9338468B2 (en) Latency aware priority based multi-channel decoding
CN113423011B (en) Transcoding method for video file with any format
JP2001094980A (en) Data processor
WO2016086371A1 (en) Conference resource scheduling method and apparatus
WO2017173953A1 (en) Server, conference terminal, and cloud conference processing method
US10616530B2 (en) Multipoint video conference device and controlling method thereof
US20160352794A1 (en) Scalable architecture for media mixing
CN114584786B (en) Memory allocation method and system based on video decoding
CN110022479A (en) A kind of H265 hardware encoding method and live streaming platform based on Nvidia Maxwell2 video card
US10951889B2 (en) Image delivery device, image delivery program, and image delivery method
CN115665106A (en) Code stream scheduling method, code stream synthesizing method and code stream scheduling system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190806