JP4405845B2 - Video distribution apparatus and method - Google Patents

Video distribution apparatus and method Download PDF

Info

Publication number
JP4405845B2
JP4405845B2 JP2004136022A JP2004136022A JP4405845B2 JP 4405845 B2 JP4405845 B2 JP 4405845B2 JP 2004136022 A JP2004136022 A JP 2004136022A JP 2004136022 A JP2004136022 A JP 2004136022A JP 4405845 B2 JP4405845 B2 JP 4405845B2
Authority
JP
Japan
Prior art keywords
client
video stream
video
distribution
stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004136022A
Other languages
Japanese (ja)
Other versions
JP2005318414A (en
JP2005318414A5 (en
Inventor
章博 河野
崇夫 藤田
芳郎 疋田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004136022A priority Critical patent/JP4405845B2/en
Priority to US11/119,055 priority patent/US8219702B2/en
Publication of JP2005318414A publication Critical patent/JP2005318414A/en
Publication of JP2005318414A5 publication Critical patent/JP2005318414A5/ja
Application granted granted Critical
Publication of JP4405845B2 publication Critical patent/JP4405845B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、映像配信システムに関し、特に、クライアントからの要求に応じた属性の映像ストリームを配信する映像配信システムにおける映像ストリームの配信を制御する技術に関する。   The present invention relates to a video distribution system, and more particularly to a technique for controlling distribution of a video stream in a video distribution system that distributes a video stream having an attribute according to a request from a client.

近年のストリーミング技術の発達により、サーバから配信される映像をクライアントで閲覧することが一般的になってきている。その際には、クライアントの要求する各種の属性(符号化/復号化、画質、ビットレートなど)に応じて、ストリームが選択されたり、画像変換などがされて、配信されている。   With the recent development of streaming technology, it has become common to browse videos distributed from a server on a client. At that time, a stream is selected or subjected to image conversion or the like according to various attributes (encoding / decoding, image quality, bit rate, etc.) requested by the client.

また、QoSなどの観点から、サーバ−クライアント間での配信データの制御も行われている(例えば特許文献1を参照。)
この他、組み込み機器型のカメラサーバの映像配信システムもあり、ユーザの要求によってカメラ制御などを行うことで所望する映像ストリームを得ることができる(例えば特許文献2を参照。)。
In addition, from the viewpoint of QoS and the like, distribution data is also controlled between the server and the client (see, for example, Patent Document 1).
In addition, there is a video distribution system of an embedded device type camera server, and a desired video stream can be obtained by performing camera control or the like according to a user's request (see, for example, Patent Document 2).

映像の配信制御の典型例は次のようなものである。たとえば、映像配信を行うサーバ(映像配信サーバ)は、複数のクライアントに同時に接続されて、それぞれのクライアントから映像ストリームの配信が要求される。ここで同時に映像配信を行うクライアント数が増えるほど映像配信サーバにかかる処理負荷は増大していく。そして、この処理負荷が映像配信サーバの処理能力を超えてしまうと全体のパフォーマンスが落ち、円滑なストリーミングが妨げられることになる。そこで従来は、同時に接続されるクライアントの数に制限を設け、その制限いっぱいの数のクライアントが接続されている状態で更に別のクライアントからの配信要求が来た場合にはその配信要求を拒否する、という制御が行われていた。   A typical example of video distribution control is as follows. For example, a video distribution server (video distribution server) is simultaneously connected to a plurality of clients, and distribution of video streams is requested from each client. Here, the processing load on the video distribution server increases as the number of clients that simultaneously perform video distribution increases. When this processing load exceeds the processing capacity of the video distribution server, the overall performance is degraded, and smooth streaming is hindered. Therefore, conventionally, a limit is set on the number of clients that can be connected simultaneously, and when a distribution request is received from another client while the maximum number of clients are connected, the distribution request is rejected. , Was controlled.

特開2003−009126号公報JP 2003-009126 A 特開平10−164420号公報JP-A-10-164420

しかしながら、クライアントが任意の属性の映像ストリーム(マルチストリーム)の配信を要求することができ、映像配信サーバがそのクライアントからの要求に応じた属性の映像ストリームを配信するシステムを考えた場合には、従来のように単純に同時に接続されるクライアントの数に制限を設けても有効な配信制御を実現することはできない。クライアントごとに取り扱う映像ストリームの属性が異なり、その属性の違いによって処理負荷も異なるからである。同時に接続されるクライアント数が少なくてもそれぞれのクライアントが最高レベルの品質の映像を要求してくる場合には映像配信サーバの処理能力を超えてしまい、ストリーミングが滞る事態が生じる可能性は排除できない。   However, when a system is considered in which a client can request distribution of a video stream (multi-stream) having an arbitrary attribute and the video distribution server distributes a video stream having an attribute according to a request from the client, Even if the number of clients connected simultaneously is simply limited as in the prior art, effective distribution control cannot be realized. This is because the attributes of the video stream handled for each client are different, and the processing load differs depending on the attribute. Even if the number of clients connected at the same time is small, if each client requests the highest level of quality video, the processing capacity of the video distribution server will be exceeded, and the possibility of a situation where streaming is delayed cannot be excluded. .

とりわけ、組み込み機器型のカメラサーバは、一般的な映像配信サーバなどに比べると非力であり、加えて、映像配信サーバのように画像の処理だけでなく各種の機器制御にも処理能力を割かれることになるので、上記の問題はより顕著である。   In particular, the camera server of the embedded device type is less powerful than a general video distribution server, and in addition, like the video distribution server, the processing capability is not only used for image processing but also for various device controls. Therefore, the above problem is more remarkable.

また、この問題はサーバの処理能力だけの問題ではなく、クライアントの処理能力によっても、システム全体としての処理能力は変わることに留意する必要もある。   Also, it should be noted that this problem is not only a server processing capability, but the processing capability of the entire system changes depending on the processing capability of the client.

また、クライアントの利用者は、クライアントの持つ処理能力に合った適切な画像属性の映像ストリームを選択するために、試行錯誤を繰り返して最適な映像ストリームを探し出す手間が必要であった。   In addition, in order to select a video stream having an appropriate image attribute that matches the processing capability of the client, the client user needs to search for an optimal video stream by repeating trial and error.

さらに、同時に接続されているクライアントに対して、映像配信サーバの処理能力を分配する際に、単純に分配するだけではなく、多様な観点で分配することのできる配信制御技術が求められている。   Furthermore, there is a need for a distribution control technology that can be distributed not only simply but also from various viewpoints when distributing the processing capability of the video distribution server to clients connected simultaneously.

本発明は、上記したような課題の少なくともいずれか、あるいはその他の課題を解決することを目的としている。   An object of the present invention is to solve at least one of the above-described problems or other problems.

本発明の一側面に係る映像配信装置および方法によれば例えば、一のクライアントから配信要求を受信すると、映像ストリームの配信のために接続されている他のクライアントごとに、前記配信要求を受信した時点における処理負荷が求められ、その合計値が現在の処理負荷として推定されるとともに、前記一のクライアントへの前記配信要求に従う映像ストリームの配信にかかる処理負荷が推定される。そして、推定された前記現在の処理負荷と前記一のクライアントへの前記配信要求に従う映像ストリームの配信にかかる処理負荷との少なくともいずれかに基づいて、映像ストリームの配信制御が行われる。   According to the video distribution apparatus and method according to an aspect of the present invention, for example, when a distribution request is received from one client, the distribution request is received for each of the other clients connected to distribute the video stream. The processing load at the time is obtained, and the total value is estimated as the current processing load, and the processing load related to the distribution of the video stream according to the distribution request to the one client is estimated. Then, distribution control of the video stream is performed based on at least one of the estimated current processing load and a processing load related to distribution of the video stream according to the distribution request to the one client.

本発明によれば、映像配信サーバやクライアントの処理能力に応じて、映像ストリームの最適な配信制御が実現される。   According to the present invention, optimal distribution control of a video stream is realized according to the processing capabilities of the video distribution server and the client.

以下、図面を参照して本発明の好適な実施形態について詳細に説明する。以下では、多くの実施形態を説明するが、実施形態間で共通の構成や処理については共通の参照番号を付し、これにより重複した説明を回避している。ただし、共通の参照番号が付されていてもその内容が前出の構成や処理と相違する点を含む場合には、その都度その相違する点については言及することにする。   DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. In the following, a number of embodiments will be described, but common reference numerals are assigned to configurations and processes common to the embodiments, thereby avoiding redundant description. However, even if a common reference number is assigned, if the content includes a point different from the above-described configuration or processing, the point of difference will be referred to each time.

(実施形態1)
図1は、本発明の実施形態に係る映像配信システムの構成を示すブロック図である。
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of a video distribution system according to an embodiment of the present invention.

映像配信装置としての映像配信サーバ100は、撮像装置101からの映像信号102を受けデータを圧縮するデータ圧縮装置103、ブートプログラムや各種データを記憶するメモリ104、演算や処理の制御を行う中央処理装置(CPU)105、ネットワークに接続するためのネットワークインターフェース(Network I/F)106を含む構成である。   A video distribution server 100 as a video distribution device includes a data compression device 103 that receives a video signal 102 from an imaging device 101 and compresses data, a memory 104 that stores a boot program and various data, and a central processing that controls operations and processes. The apparatus includes a device (CPU) 105 and a network interface (Network I / F) 106 for connecting to a network.

撮像装置101は、映像配信サーバ100の制御信号107を受け、映像信号102を出力する。なお、本実施形態では、図示のように、映像配信サーバ100と撮像装置101とは独立した構成となっているが、両者が一体となった構成であってもよい。   The imaging apparatus 101 receives a control signal 107 from the video distribution server 100 and outputs a video signal 102. In the present embodiment, as shown in the figure, the video distribution server 100 and the imaging device 101 are configured independently, but a configuration in which both are integrated may be used.

データ圧縮装置103は、例えば圧縮チップにより実現されるもので、映像信号を圧縮してJPEGやMPEG等の形式のデータを出力し、メモリ102に格納する。   The data compression apparatus 103 is realized by, for example, a compression chip, compresses a video signal, outputs data in a format such as JPEG or MPEG, and stores the data in the memory 102.

ネットワークインターフェース(I/F)106は、例えばネットワークチップにより実現されるもので、ネットワーク108とCPU105との間のデータのI/Oの機能を提供する。   The network interface (I / F) 106 is realized by a network chip, for example, and provides a data I / O function between the network 108 and the CPU 105.

複数のクライアント(情報処理端末)109(クライアント109−1,109−2,…,109−n)はそれぞれ、ビューワとして機能するもので、ネットワーク108を介して映像配信サーバ100より配信されたデータを受け取り表示する。クライアント109は、パーソナルコンピュータ(PC)や携帯型コンピュータ(PDA)、携帯電話などによって実現されうる。   A plurality of clients (information processing terminals) 109 (clients 109-1, 109-2,..., 109-n) each function as a viewer, and receive data distributed from the video distribution server 100 via the network. Receive and display. The client 109 can be realized by a personal computer (PC), a portable computer (PDA), a mobile phone, or the like.

メモリ104には、図2に示すように、マルチストリーム作成プログラム210、配信制御プログラム220、ストリーム負荷データ250、接続情報260等が格納される。   As shown in FIG. 2, the memory 104 stores a multi-stream creation program 210, a distribution control program 220, stream load data 250, connection information 260, and the like.

図3は、本実施形態における映像配信サーバ100によるマルチストリーム作成処理を示すフローチャートである。このフローチャートに対応するプログラムはマルチストリーム作成プログラム210に含まれ、CPU105によって実行される。ここでは、640x480、320x240、160x120の画像サイズのJPEGマルチストリームを扱う例を示す。   FIG. 3 is a flowchart showing multi-stream creation processing by the video distribution server 100 in the present embodiment. A program corresponding to this flowchart is included in the multi-stream creation program 210 and executed by the CPU 105. Here, an example of handling a JPEG multi-stream having an image size of 640 × 480, 320 × 240, and 160 × 120 is shown.

まずステップS301において、メモリ104内の各種設定パラメータの初期設定を行う。この際、図4に示すような構造のストリーム負荷データ250や、後述するサーバ処理の上限値である設定値Xなどのロードも行われる。ストリーム負荷データ250は、例えば圧縮チップ(データ圧縮装置103)の性能に基づいて、属性としての画像サイズごとの処理負荷の値を有する。図4に示した例では、画像サイズ160x120の場合の処理負荷を基準(=1)として各画像サイズの映像配信サーバ100のストリーム配信を処理するための負荷が記述されている。図4に示すデータは予め実験して得られた値であってもよいし、推定値であってもよい。すなわち、320x240のときの処理負荷は4、640x480のときの処理負荷が16、800x600のときの処理負荷が25、となっている。   First, in step S301, various setting parameters in the memory 104 are initialized. At this time, the load such as the stream load data 250 having the structure shown in FIG. The stream load data 250 has a processing load value for each image size as an attribute based on, for example, the performance of the compression chip (data compression apparatus 103). In the example shown in FIG. 4, the load for processing the stream distribution of the video distribution server 100 of each image size is described using the processing load in the case of the image size 160 × 120 as a reference (= 1). The data shown in FIG. 4 may be a value obtained by experimenting in advance or an estimated value. That is, the processing load at 320 × 240 is 4, the processing load at 640 × 480 is 16, and the processing load at 800 × 600 is 25.

次に、ステップS302において、ステップS301で設定された撮像パラメータを用いて撮像装置101の初期設定を行う。この設定は例えば、撮像装置101への制御信号107を使用して行うことができる。   Next, in step S302, the imaging apparatus 101 is initialized using the imaging parameters set in step S301. This setting can be performed using, for example, a control signal 107 to the imaging apparatus 101.

次に、ステップS303において、ステップS301で設定されたデータ圧縮パラメータを用いてデータ圧縮装置103の初期設定を行う。この設定は例えば、圧縮する画像サイズなどを含む。   Next, in step S303, the data compression apparatus 103 is initialized using the data compression parameters set in step S301. This setting includes, for example, an image size to be compressed.

続くステップS304では、割り込みなどのイベントを待つ。以下のステップS320,S330,S340,S350,S360,S370はそれぞれ、受け取ったイベントの種類を判断するステップとなる。   In the subsequent step S304, an event such as an interrupt is awaited. The following steps S320, S330, S340, S350, S360, and S370 are steps for determining the type of event received.

受信したイベントが映像要求イベントであった場合は(ステップS320,yes)、要求された画像の属性であるサイズをデータ圧縮装置103に設定し(ステップS321)、その後ステップS304のイベントループに戻る。   If the received event is a video request event (step S320, yes), the size, which is the attribute of the requested image, is set in the data compression apparatus 103 (step S321), and then the process returns to the event loop of step S304.

データ圧縮装置103より映像作成完了イベントを受け取った場合は(ステップS330,yes)、メモリ104よりその画像を取り出し(ステップS331)、図5に示すような構造の接続情報260に従って、映像要求イベントを発行したクライアントに送信する(ステップS332)。接続情報260は、同図に示すように、現在接続されているクライアントとそのクライアントから要求されている画像サイズを記述したもので、後述する処理によって接続状況の変化に応じて更新される。   When a video creation completion event is received from the data compression apparatus 103 (step S330, yes), the image is taken out from the memory 104 (step S331), and the video request event is sent according to the connection information 260 having the structure shown in FIG. It is transmitted to the issued client (step S332). As shown in the figure, the connection information 260 describes the currently connected client and the image size requested by the client, and is updated according to a change in the connection status by a process described later.

クライアント109より、ネットワークインターフェース106を介して、継続映像要求イベントを受け取った場合は(ステップS340,yes)、映像要求イベントを発行してステップS321と同様の処理を行い(ステップS341)、その後ステップS304のイベントループに戻る。ここで、継続映像要求イベントとは、映像配信サーバ100からクライアント109への映像の継続的な配信を要求するイベントである。   If a continuous video request event is received from the client 109 via the network interface 106 (step S340, yes), the video request event is issued and the same processing as step S321 is performed (step S341), and then step S304. Return to the event loop. Here, the continuous video request event is an event for requesting continuous video distribution from the video distribution server 100 to the client 109.

クライアント109より、ネットワークインターフェース106を介して、接続終了イベントを受け取った場合には(ステップS350,yes)、接続情報260から該当するデータを一件削除して(ステップS351)、ステップS304のイベントループに戻る。ここで、接続終了イベントとは、映像配信サーバ100とクライアント109との接続を断つために、クライアント109より、映像配信サーバ100に対して要求されるイベントである。また、この接続終了イベントは、何らかの理由で映像配信サーバ100からクライアント109への通信が途切れてしまったような場合にも発行されうる。   When a connection end event is received from the client 109 via the network interface 106 (step S350, yes), the corresponding data is deleted from the connection information 260 (step S351), and the event loop of step S304 is performed. Return to. Here, the connection end event is an event requested from the client 109 to the video distribution server 100 in order to disconnect the connection between the video distribution server 100 and the client 109. This connection end event can also be issued when communication from the video distribution server 100 to the client 109 is interrupted for some reason.

以上のステップS320〜S351のような処理によって本実施形態の映像配信機構が実現される。   The video distribution mechanism according to the present embodiment is realized by the processes in steps S320 to S351 described above.

次に、クライアント109より、ネットワークインターフェース106を介して、接続要求イベントを受け取った場合には(ステップS360,yes)、配信制御プログラム220に基づいて、配信制御処理を実行する(ステップS361)。この接続要求イベントは、クライアントより要求された映像ストリームの属性の情報(以下「要求画像属性」という。)も含む。   Next, when a connection request event is received from the client 109 via the network interface 106 (step S360, yes), distribution control processing is executed based on the distribution control program 220 (step S361). This connection request event also includes information on the attribute of the video stream requested by the client (hereinafter referred to as “requested image attribute”).

以下、この映像配信サーバ100によるステップS361における配信制御処理を、図6のフローチャートを用いて説明する。   Hereinafter, the distribution control processing in step S361 by the video distribution server 100 will be described with reference to the flowchart of FIG.

まず、ステップS601で、接続要求イベントに含まれる要求画像属性を読み込み、ステップS602で、接続情報260を読み込む。この接続情報260を参照すれば現在接続されている全クライアントを特定することができる。   First, in step S601, a request image attribute included in a connection request event is read, and in step S602, connection information 260 is read. By referring to the connection information 260, all currently connected clients can be specified.

次に、ステップS603で、接続されているクライアントごとに、ストリーム負荷データ250を参照して、そのクライアントに対応する負荷を読み出し加算していき、その総和を全体負荷Fとして求める。この全体負荷Fによって現在の処理負荷が推定される。   Next, in step S603, for each connected client, the load corresponding to the client is read and added with reference to the stream load data 250, and the sum is obtained as the total load F. The current processing load is estimated from the overall load F.

図5の接続情報260および図4のストリーム負荷データ250に基づいて一例を説明する。図5の接続情報260を参照すると、現在クライアント109−1とクライアント109−2が映像配信サーバ100に接続されている。クライアント109−1は画像サイズが640x480の映像を要求しており、一方、クライアント109−2は画像サイズが160x120の映像を要求していることが分かる。次に、図4のストリーム負荷データ250を参照すると、640x480の画像の処理負荷は16、160x120の画像の処理負荷は1であるから、この場合の全体負荷F(すなわち、現在の処理負荷)は、F=16+1=17となる。   An example will be described based on the connection information 260 in FIG. 5 and the stream load data 250 in FIG. Referring to the connection information 260 in FIG. 5, the client 109-1 and the client 109-2 are currently connected to the video distribution server 100. It can be seen that the client 109-1 requests an image having an image size of 640x480, while the client 109-2 requests an image having an image size of 160x120. Next, referring to the stream load data 250 in FIG. 4, the processing load of the image of 640 × 480 is 16, and the processing load of the image of 160 × 120 is 1, so the total load F (that is, the current processing load) in this case is F = 16 + 1 = 17.

次に、ステップS604で、今回要求されている映像に対する負荷fをストリーム負荷データ250を参照して求める。たとえば、画像サイズ320x240の映像が要求されている場合には、ストリーム負荷データ250を参照すると、今回要求されている映像に対する負荷fは、4と推定される。   Next, in step S604, the load f for the currently requested video is obtained with reference to the stream load data 250. For example, when a video with an image size of 320 × 240 is requested, referring to the stream load data 250, the load f for the video requested this time is estimated to be 4.

今回新たに要求されている映像の配信を実行する場合には、そのときの全体の処理負荷は、現在の処理負荷(=全体負荷F)に、今回要求されている映像に対する負荷fを追加した値となる。この値が映像配信サーバ100の処理能力の限界を超える場合には、全体のパフォーマンスが落ち、円滑なストリーミングが妨げられる可能性がある。そこで、ステップS605で、ステップS301で読み込んだサーバ処理の上限値である設定値X(以下「上限値X」という。)を読み出し、ステップS606で、全体負荷Fと負荷fとの和(=今回要求されている映像の配信を実行するとした場合の全体の処理負荷)が上限値X以下に収まっているかどうか(すなわち、X≧F+fを満たすかどうか)を判断する。ここで、X≧F+fを満たす場合には、ステップS607に進み、接続要求イベントの発行元のクライアントの情報を接続情報260に登録する。その後、映像要求イベントを発行し、ステップS321と同様の処理を行う(ステップS608)。一方、X≧F+fを満たさない場合には、接続要求イベントの発行元に拒否応答を返す(ステップS609)。   When the distribution of the newly requested video is executed, the total processing load at that time is obtained by adding the load f for the currently requested video to the current processing load (= total load F). Value. If this value exceeds the limit of the processing capability of the video distribution server 100, the overall performance may be degraded and smooth streaming may be hindered. Therefore, in step S605, the setting value X (hereinafter referred to as “upper limit value X”) that is the upper limit value of the server process read in step S301 is read, and in step S606, the sum of the total load F and the load f (= current time). It is determined whether or not the distribution of the requested video is as follows (the overall processing load) is below the upper limit value X (that is, whether X ≧ F + f is satisfied). If X ≧ F + f is satisfied, the process advances to step S607 to register the information of the client that issued the connection request event in the connection information 260. Thereafter, a video request event is issued, and processing similar to that in step S321 is performed (step S608). On the other hand, if X ≧ F + f is not satisfied, a rejection response is returned to the issuer of the connection request event (step S609).

ここで、上限値Xについて説明しておく。この上限値Xは、映像配信サーバ100の管理者などによって変更することのできる値であり、典型的には、システムの動作状況を把握している管理者によって、管理者の許可する処理能力の上限値として設定される。上限値Xは固定値としてあらかじめメモリ104に設定しておいてもよいが、例えばtelnetやftp、RPCなどの機構によってメモリ104に設定するようにしてもよい。   Here, the upper limit value X will be described. This upper limit value X is a value that can be changed by the administrator of the video distribution server 100, and is typically the processing capability permitted by the administrator by the administrator who knows the operation status of the system. Set as the upper limit. The upper limit value X may be set as a fixed value in the memory 104 in advance, but may be set in the memory 104 by a mechanism such as telnet, ftp, or RPC.

なお従来の方式では、この上限値はクライアントの接続数などで指定されており、管理者の許可する処理能力の上限値を表すものではなかった。従来のようにクライアントの接続本数で制限した場合、大きな負荷のストリームばかりが選択されたときに、映像配信装置の処理能力を上回り、全てのストリーム配信に不具合が出てしまい、逆に、小さな負荷のストリームばかりが選択されたときには、映像配信装置の処理能力に余力があるにもかかわらず、接続数が上限に達したということだけで配信が拒否されるという事態が生じていた。   In the conventional method, this upper limit value is specified by the number of client connections and the like, and does not represent the upper limit value of the processing capability permitted by the administrator. When limited by the number of client connections as in the past, when only a stream with a large load is selected, the processing capacity of the video distribution device will be exceeded, and all the stream distribution will be defective. When only these streams are selected, there has been a situation where the distribution is rejected only because the number of connections has reached the upper limit even though the processing capacity of the video distribution apparatus is sufficient.

一方、本実施形態の上限値Xは単なるクライアントの接続本数等ではなく、画像処理などにかかる負荷を直接示す値であるから、映像配信サーバの処理能力をより有効に活用することができる。   On the other hand, the upper limit value X of the present embodiment is not a mere number of client connections, but a value that directly indicates the load on image processing and the like, so that the processing capability of the video distribution server can be utilized more effectively.

説明を図3のフローチャートに戻す。上記したステップS361の配信制御処理が終了すると、ステップS304のイベントループに戻る。   The description returns to the flowchart of FIG. When the distribution control process in step S361 is completed, the process returns to the event loop in step S304.

終了イベントを受け取った場合は(ステップS370,yes)、ステップS371に進み、接続情報260を全件削除して、このマルチストリーム作成処理を終了する。   If an end event has been received (step S370, yes), the process proceeds to step S371, where all connection information 260 is deleted, and this multi-stream creation process ends.

以上説明した実施形態1によれば、映像配信サーバにおいて、接続要求を受け取った際に、その要求に対する映像ストリームの作成・配信を実行するとした場合における全体の処理負荷(F+f)が推定され、それが所定の上限値(X)を超える場合には当該要求に係る接続が拒否される。これにより、映像配信サーバ100の処理負荷が能力の限界を超えてしまい全体のパフォーマンスが落ち、円滑なストリーミングが妨げられるような事態の発生を防止することができる。   According to the first embodiment described above, when the video distribution server receives the connection request, the overall processing load (F + f) when the video stream is created and distributed in response to the request is estimated. Is over a predetermined upper limit (X), the connection relating to the request is rejected. As a result, it is possible to prevent the occurrence of a situation in which the processing load of the video distribution server 100 exceeds the capacity limit, the overall performance is deteriorated, and smooth streaming is hindered.

特に、組み込み機器型のカメラサーバなど、比較的に処理能力の非力な映像配信サーバにおいてはこの効果が高い。このような機器の場合、転送路の制約に対して機器の処理能力の制約が大きく、機器の性能に対して転送路の性能が上回るため、従来型の接続本数の制限や、転送量の制約などだけでは適切な配信制御を行うことができなかったが、機器の処理能力によって配信制御を行うことで、映像配信サーバの処理能力をより有効に活用することができる。   In particular, this effect is high in a video distribution server with relatively low processing capability such as an embedded device type camera server. In the case of such a device, the restriction on the processing capacity of the device is greater than the restriction on the transfer path, and the performance of the transfer path exceeds the performance of the equipment. However, appropriate distribution control cannot be performed only by using the processing capability of the video distribution server by performing distribution control according to the processing capability of the device.

なお、本実施形態における映像配信サーバへの接続は映像の配信を目的としたものであり、それ以外の処理を目的とした接続は考慮しなかった。したがって、上記の「接続を拒否する」という表現は「映像の配信を拒否する」と等価である(以下同様。)。   Note that the connection to the video distribution server in this embodiment is for the purpose of video distribution, and the connection for other processing is not considered. Therefore, the expression “reject connection” is equivalent to “reject video distribution” (the same applies hereinafter).

また、上述の実施形態では、画像の属性が画像のサイズを示す場合の例について説明したが、画像の属性としてはこの他に、符号化/復号化、画質、フレームレート、あるいはこれらの組み合わせ等が考えられ、これらの属性についても本発明を適用することができることは容易に理解できるであろう。   In the above-described embodiment, an example in which the image attribute indicates the size of the image has been described. However, other than the image attribute, encoding / decoding, image quality, frame rate, or a combination of these, etc. It can be easily understood that the present invention can be applied to these attributes.

(実施形態2)
上述の実施形態1では、画像の属性として、画像サイズ、画質、フレームレート等を扱い、これらに応じた映像ストリームの配信制御について説明したが、本実施形態では、このような画像属性だけでなく、撮像装置(カメラ)の制御内容を示す「処理属性」をも加味した映像ストリームの配信制御を行う。
(Embodiment 2)
In the above-described first embodiment, image size, image quality, frame rate, and the like are handled as image attributes, and video stream distribution control according to these has been described. However, in this embodiment, not only such image attributes but also image attributes are described. Then, the distribution control of the video stream is performed in consideration of the “processing attribute” indicating the control content of the imaging device (camera).

本実施形態に係る映像配信システムの構成は図1に示した構成と同様である。ただし、メモリ104には、図7に示すように、実施形態1と同様のマルチストリーム作成プログラム210、配信制御プログラム220、ストリーム負荷データ250、接続情報260に加えて、撮像装置101を制御する手段としてのカメラ制御プログラム710が格納されている。このカメラ制御プログラム710を実行するかどうかはユーザが任意に設定することが可能であり、カメラ制御プログラム710が実行された場合には例えば、撮像装置101の向きを巡回させる巡回処理や、動体を検知してその動体を追尾するように撮像装置101の向きを移動させる動体追尾処理などのカメラ制御が行われる。なお、これらの各処理について個々に実行する/しないをユーザが設定できることがより好ましいが、ここでは説明を簡単にするために、カメラ制御プログラム710の実行/非実行の設定だけが行われると仮定する。なお、以下では、「カメラ制御プログラム710の実行/非実行」のことを「カメラ制御あり/なし」と略記する。   The configuration of the video distribution system according to the present embodiment is the same as the configuration shown in FIG. However, in the memory 104, as shown in FIG. 7, in addition to the multi-stream creation program 210, the distribution control program 220, the stream load data 250, and the connection information 260 that are the same as those in the first embodiment, means for controlling the imaging apparatus 101 The camera control program 710 is stored. Whether or not to execute the camera control program 710 can be arbitrarily set by the user. When the camera control program 710 is executed, for example, a patrol process that patrols the orientation of the imaging apparatus 101 or a moving object is performed. Camera control such as moving body tracking processing for moving the direction of the imaging apparatus 101 so as to detect and track the moving body is performed. It is more preferable that the user can set whether or not to execute each of these processes individually, but here, for the sake of simplicity of explanation, it is assumed that only the execution / non-execution setting of the camera control program 710 is performed. To do. Hereinafter, “execution / non-execution of the camera control program 710” is abbreviated as “with / without camera control”.

カメラ制御ありの場合には、CPU105の処理は映像ストリームの配信処理だけでなく、このカメラ制御にも割かれることになる。本実施形態ではこのことを考慮して、ストリーム負荷データ250には、画像サイズごとに、カメラ制御ありの場合とカメラ制御なしの場合の処理負荷がそれぞれ記述されている。図8に、このストリーム負荷データ250の構造例を示す。同図の例では、画像サイズが160x120でカメラ制御なしの場合の処理負荷を基準(=1)として、各ケースの処理負荷が記述されている。同様に、接続情報260にも、図9に示すように、現在接続されているクライアントごとに、画像サイズに加えカメラ制御あり/なしの情報が記述されている。   In the case of camera control, the processing of the CPU 105 is assigned not only to video stream distribution processing but also to this camera control. In the present embodiment, in consideration of this, the stream load data 250 describes, for each image size, processing loads with and without camera control. FIG. 8 shows an example of the structure of this stream load data 250. In the example shown in the drawing, the processing load in each case is described with the processing load when the image size is 160 × 120 and the camera is not controlled as a reference (= 1). Similarly, in the connection information 260, as shown in FIG. 9, information with / without camera control is described in addition to the image size for each currently connected client.

本実施形態におけるマルチストリーム作成処理は基本的に実施形態1における処理(図3、図6)とほぼ同様に行われる。   The multi-stream creation process in the present embodiment is basically performed in substantially the same manner as the process in the first embodiment (FIGS. 3 and 6).

なお、本実施形態の場合、図6のステップS603では、例えば次のようにして全体負荷Fが求められる。図9の接続情報260を参照すると、現在クライアント109−1とクライアント109−2が映像配信サーバ100に接続されている。クライアント109−1は、画像サイズ640x480の映像を要求し、カメラ制御は「なし」の設定である。一方、クライアント109−2は、画像サイズ160x120の映像を要求しているが、カメラ制御は「あり」の設定である。次に、図8のストリーム負荷データ250を参照すると、640x480の画像についてカメラ制御なしの場合の処理負荷は16、160x120の画像についてカメラ制御ありの場合の処理負荷は2であるから、この場合の全体負荷Fは、F=16+2=18となる。   In the case of the present embodiment, in step S603 of FIG. 6, for example, the overall load F is obtained as follows. Referring to the connection information 260 in FIG. 9, the client 109-1 and the client 109-2 are currently connected to the video distribution server 100. The client 109-1 requests a video having an image size of 640 × 480, and camera control is set to “none”. On the other hand, the client 109-2 requests an image having an image size of 160 × 120, but the camera control is set to “Yes”. Next, referring to the stream load data 250 in FIG. 8, the processing load when the camera control is not performed for the 640 × 480 image is 16, and the processing load when the camera control is performed for the 160 × 120 image is 2. The total load F is F = 16 + 2 = 18.

また、今回要求されている映像ストリームの作成にかかる負荷fをストリーム負荷データ250から求めるステップS604では、たとえば、画像サイズ320x240の映像が要求され、カメラ制御ありの設定がなされている場合には、図8のストリーム負荷データ250を参照すると、負荷f=5と推定される。   Further, in step S604 for obtaining the load f required to create the video stream requested this time from the stream load data 250, for example, when a video having an image size of 320x240 is requested and setting with camera control is performed, Referring to the stream load data 250 in FIG. 8, it is estimated that the load f = 5.

上限値Xは、実施形態1と同様、映像配信サーバ100の管理者などによって変更することのできる設定値であり、典型的には、システムの動作状況を把握している管理者によって、管理者の許可する処理能力の上限値として設定される。実施形態1では、典型的に、上限値Xは、圧縮処理の負荷の総和に対する上限値として設定されたが、本実施形態では圧縮処理のみならずカメラ制御に要する負荷を含む処理負荷の総和に対する上限値として設定されることになる。   The upper limit value X is a setting value that can be changed by the administrator of the video distribution server 100 as in the first embodiment, and is typically set by the administrator who knows the operation status of the system. Is set as the upper limit of the processing capacity allowed. In the first embodiment, the upper limit value X is typically set as an upper limit value for the total load of compression processing. However, in the present embodiment, the upper limit value X corresponds to the total processing load including not only the compression processing but also the load required for camera control. It will be set as the upper limit.

(実施形態3)
上述の実施形態1,2は、接続要求を受け取った際に、その要求に対する映像ストリームの作成・配信を実行するとした場合における全体の処理負荷(F+f)を推定し、それが所定の上限値(X)を超えるときは当該要求に係る接続を拒否する、というものであった。
(Embodiment 3)
In the above-described first and second embodiments, when a connection request is received, the overall processing load (F + f) in the case where the creation / distribution of a video stream corresponding to the request is executed is estimated, and this is calculated as a predetermined upper limit value ( When it exceeds X), the connection related to the request is rejected.

本実施形態は、上限値(X)を超えるときに当該要求に係る接続を直ちに拒否するのではなく、映像配信サーバの余力の範囲内で提供可能な映像ストリームの属性の候補を選択肢として提供する。これにより、ユーザが接続できないケースを減らし、少なくとも低負荷のストリームを提供できるようにすることがねらいである。以下の説明では基本的に実施形態2を基に、相違する点を中心に説明するが、本実施形態は実施形態1に対しても適用が可能である。   This embodiment does not immediately reject the connection according to the request when the upper limit (X) is exceeded, but provides video stream attribute candidates that can be provided within the capacity of the video distribution server as options. . This aims to reduce the number of cases where the user cannot connect and to provide at least a low-load stream. In the following description, the differences will be mainly described based on the second embodiment, but the present embodiment can be applied to the first embodiment.

本実施形態に係る映像配信システムの構成は図1に示した構成と同様である。ただし、メモリ104には、図10に示すように、実施形態2と同様のマルチストリーム作成プログラム210、配信制御プログラム220、カメラ制御プログラム710、ストリーム負荷データ250、接続情報260に加えて、ストリーム選択肢情報270が格納されている。また、本実施形態のストリーム負荷データ250および接続情報260はそれぞれ、実施形態2と同様に、図8、図9に示したような構造を有するものとする。   The configuration of the video distribution system according to the present embodiment is the same as the configuration shown in FIG. However, in the memory 104, as shown in FIG. 10, in addition to the multi-stream creation program 210, the distribution control program 220, the camera control program 710, the stream load data 250, and the connection information 260 similar to those in the second embodiment, stream options Information 270 is stored. Further, it is assumed that the stream load data 250 and the connection information 260 according to the present embodiment have the structures as illustrated in FIGS.

本実施形態における映像配信サーバ100によるマルチストリーム作成処理は基本的に実施形態1,2における処理(図3)とほぼ同様に行われる。ただし本実施形態では、ステップS361における配信制御処理が、図11のフローチャートに従って行われる。   The multi-stream creation processing by the video distribution server 100 in the present embodiment is basically performed in substantially the same manner as the processing in the first and second embodiments (FIG. 3). However, in the present embodiment, the distribution control process in step S361 is performed according to the flowchart of FIG.

まず、ステップS1001で、接続情報260を読み込む。また、実施形態1,2におけるステップS601と同様に、接続要求イベントに含まれる要求画像属性も読み込む。   First, in step S1001, the connection information 260 is read. Further, as in step S601 in the first and second embodiments, the request image attribute included in the connection request event is also read.

次に、ステップS1002で、接続情報260およびストリーム負荷データ250を参照して、接続されているクライアントごとの処理負荷を求め、その総和を全体負荷F(現在の処理負荷)として計算する。次に、ステップS1003で、今回要求されている映像に対する負荷fをストリーム負荷データ250を参照して求める。   Next, in step S1002, the connection information 260 and the stream load data 250 are referred to determine the processing load for each connected client, and the sum is calculated as the total load F (current processing load). In step S1003, the load f for the currently requested video is obtained with reference to the stream load data 250.

次に、ステップS1004で、ステップS301で読み込んだサーバ処理の上限値Xを読み出す。上限値Xは上述したように、典型的には、システムの動作状況を把握している管理者によって、管理者の許可する処理能力の上限値として設定される値である。次に、ステップS1005で、全体負荷Fと負荷fとの和(=今回要求されている映像の配信を実行するとした場合の全体の処理負荷)が上限値X以下に収まっているかどうか(すなわち、X≧F+fを満たすかどうか)を判断する。ここで、X≧F+fを満たす場合には、ステップS1006に進み、接続要求イベントの発行元のクライアントの情報を接続情報260に登録する。その後、映像要求イベントを発行し、ステップS321と同様の処理を行い(ステップS1007)、本処理を終了する。   In step S1004, the server processing upper limit value X read in step S301 is read. As described above, the upper limit value X is typically a value that is set as the upper limit value of the processing capability permitted by the administrator by the administrator who knows the operation status of the system. Next, in step S1005, whether or not the sum of the total load F and the load f (= the total processing load when the distribution of the currently requested video is executed) is less than or equal to the upper limit value X (ie, Whether or not X ≧ F + f is satisfied. If X ≧ F + f is satisfied, the process advances to step S1006 to register the information of the client that issued the connection request event in the connection information 260. Thereafter, a video request event is issued, the same processing as step S321 is performed (step S1007), and this processing ends.

一方、ステップS1005で、X≧F+fを満たさない場合には、ステップS1008に進み、映像配信サーバ100の余力Yを求める。映像配信サーバ100の余力Yは、上限値X−全体負荷Fにより求める。   On the other hand, if it is determined in step S1005 that X ≧ F + f is not satisfied, the process proceeds to step S1008 to determine the remaining capacity Y of the video distribution server 100. The remaining capacity Y of the video distribution server 100 is obtained from the upper limit value X-the overall load F.

次に、ステップS1009で、求めた余力Yに基づいて、提供可能な映像ストリームの属性の候補をストリーム負荷データ250から読み出し、図12に示すような構造のストリーム選択肢情報270をメモリ104に書き込む。例えば、上限値X=25、全体負荷F=18と仮定すると、余力Y=25−18=7となる。その後、図8のストリーム負荷データ250から、負荷の値が7(=余力)以下である属性のセットを抽出し、各セットを候補とするストリーム選択肢情報270を構成する。この例では具体的には、「jpeg320x240、カメラ制御なし」、「jpeg320x240、カメラ制御あり」、「jpeg160x120、カメラ制御なし」、「jpeg160x120、カメラ制御あり」、が抽出され、図12に示されるようなストリーム選択肢情報270が構成される。   Next, in step S1009, based on the obtained surplus Y, candidate video stream attributes that can be provided are read from the stream load data 250, and stream option information 270 having a structure as shown in FIG. For example, assuming that the upper limit value X = 25 and the total load F = 18, the remaining power Y = 25-18 = 7. After that, a set of attributes whose load value is 7 (= reserved power) or less is extracted from the stream load data 250 in FIG. 8, and stream option information 270 with each set as a candidate is configured. Specifically, in this example, “jpeg 320x240, without camera control”, “jpeg 320x240, with camera control”, “jpeg 160x120, without camera control”, “jpeg 160x120, with camera control” are extracted, as shown in FIG. Stream option information 270 is configured.

次に、ステップS1010で、ストリーム選択肢情報270をクライアントへ通知し、ステップS1011で、イベントを待つ。   Next, in step S1010, the stream option information 270 is notified to the client, and in step S1011 an event is awaited.

ステップS1012において、ストリーム選択肢情報270を渡したクライアントから選択肢に基づいた属性特定要求イベントを受け取った場合はステップS1013に進み、要求された画像の属性を読み込む。このとき、属性はストリーム選択肢情報270の選択番号などで受け取ることにしても良い。次に、ステップS1014で、ステップS607と同様に、属性特定要求イベントの発行元のクライアントの情報を接続情報260に登録し、続くステップS1015で、映像要求イベントを発行し、ステップS321と同様の処理を行う。   In step S1012, when an attribute specifying request event based on the option is received from the client that has passed the stream option information 270, the process proceeds to step S1013, and the requested image attribute is read. At this time, the attribute may be received as a selection number of the stream option information 270 or the like. Next, in step S1014, as in step S607, the information of the client that issued the attribute specifying request event is registered in the connection information 260. In the subsequent step S1015, a video request event is issued, and the same processing as in step S321 is performed. I do.

また、ステップS1016において、ストリーム選択肢情報270を渡したクライアントから接続終了イベントを受け取った場合、または、ステップS1017において、ストリーム選択肢情報270をクライアントに渡してから一定期間が経過しタイムアウトイベントが発行された場合には、本配信制御処理が終了する。   In step S1016, when a connection end event is received from the client that has passed the stream option information 270, or in step S1017, a time-out event has been issued after a certain period of time has passed since the stream option information 270 was passed to the client. In this case, the distribution control process ends.

以上説明した実施形態3によれば、映像配信サーバ100の余力に応じた映像ストリーム(すなわち、映像配信サーバ100全体の処理負荷が上限値Xを超えない範囲で提供が可能な映像ストリーム)の候補が選択肢としてクライアントに通知され、ユーザはこれに応じて次善の映像ストリームを選択することができる。これにより、ユーザが接続できないケースを減らすことができ、少なくとも低負荷のストリームを提供できるようになる。   According to the third embodiment described above, candidates for a video stream corresponding to the remaining capacity of the video distribution server 100 (that is, a video stream that can be provided within a range in which the processing load of the entire video distribution server 100 does not exceed the upper limit value X). Is notified to the client as an option, and the user can select the next-best video stream accordingly. Thereby, the case where a user cannot connect can be reduced, and at least a low-load stream can be provided.

なお、上記の処理例では、ステップS1005で、全体負荷Fと負荷fとの和、すなわち、今回要求されている映像ストリームの配信を実行するとした場合の全体の処理負荷、が上限値Xを超える場合に、ステップS1008以降の処理が実行されて選択肢がクライアントに通知されるようにしたが、全体負荷Fと負荷fとの和が上限値Xを超えるかどうかに関わらず、選択肢をクライアントに通知するようにしてもよい。   In the above processing example, in step S1005, the sum of the total load F and the load f, that is, the total processing load when the distribution of the currently requested video stream is executed exceeds the upper limit value X. In this case, the processing after step S1008 is executed and the option is notified to the client. However, the option is notified to the client regardless of whether the sum of the total load F and the load f exceeds the upper limit value X or not. You may make it do.

(実施形態4)
上述の実施形態3では、映像配信サーバ100の余力の範囲内で提供可能な映像ストリームの属性の選択肢をユーザに通知するようにした。しかし、映像配信サーバに課せられる負荷は刻々と変化するので、これに伴い余力も変動する。そこで本実施形態では、映像配信サーバの余力を監視し、余力の範囲内で提供可能な映像ストリームの属性の候補に変化があった場合には、改めて選択肢を通知するようにする。
(Embodiment 4)
In the above-described third embodiment, the user is notified of the choices of the attributes of the video stream that can be provided within the capacity of the video distribution server 100. However, since the load imposed on the video distribution server changes every moment, the remaining power fluctuates accordingly. Therefore, in the present embodiment, the surplus capacity of the video distribution server is monitored, and when there is a change in the candidates for the attributes of the video stream that can be provided within the surplus capacity, the options are notified again.

図13は、本実施形態における映像配信サーバ100によるマルチストリーム作成処理を示すフローチャートである。このフローチャートにおける多くのステップは図3のフローチャートにおけるステップと同様であるので、同じ内容のステップには同じ参照番号を付しそれらの説明は省略し、以下では、図3と相違するステップについてのみ説明する。   FIG. 13 is a flowchart showing multi-stream creation processing by the video distribution server 100 in the present embodiment. Since many steps in this flowchart are the same as those in the flowchart of FIG. 3, steps having the same contents are denoted by the same reference numerals and description thereof is omitted, and only steps different from those in FIG. 3 are described below. To do.

図3と対照すると分かるように、図13のフローチャートには、ステップS304とステップS320との間に、ステップS310〜S316の処理が挿入されている。   As can be seen from the comparison with FIG. 3, the processing of steps S310 to S316 is inserted between the steps S304 and S320 in the flowchart of FIG.

ステップS310において、受信したイベントが、余力の範囲内で提供可能な映像ストリームの属性の候補に変化があった場合に発行される選択肢変化イベントであった場合は、ストリーム負荷データ250と接続情報260を読み込み(ステップS311)、クライアントごとに、次の一連の動作を経て選択肢を通知する(ステップS312)。   In step S310, if the received event is an option change event issued when there is a change in the candidate attribute of the video stream that can be provided within the capacity range, the stream load data 250 and the connection information 260 are included. (Step S311), and the option is notified to each client through the following series of operations (step S312).

すなわち、接続情報260およびストリーム負荷データ250を参照して、現在接続されているクライアントごとの処理負荷を求め、その総和を全体負荷F(現在の処理負荷)として計算する。次に、上限値Xと全体負荷Fとの差分を余力Yとして求め、その余力Yに基づいて、提供可能な映像ストリームの属性の候補をストリーム負荷データ250から読み出し、メモリ104に格納されているストリーム選択肢情報270を更新する(ストリーム選択肢情報270がまだメモリ104に作成されていない場合には新規に作成する。)。そして、クライアント毎に新たな選択肢を通知し、その後ステップS304へ戻る。   That is, referring to the connection information 260 and the stream load data 250, the processing load for each currently connected client is obtained, and the sum is calculated as the total load F (current processing load). Next, a difference between the upper limit value X and the total load F is obtained as a surplus power Y, and based on the surplus power Y, candidates for attributes of video streams that can be provided are read from the stream load data 250 and stored in the memory 104. The stream option information 270 is updated (if the stream option information 270 has not yet been created in the memory 104, it is newly created). Then, a new option is notified for each client, and then the process returns to step S304.

なお、クライアントは、選択肢の通知を受け取ると、映像再生中であってもその選択肢が表示される。クライアントの使用者は、表示された選択肢から所望する属性を選択することができる。また、映像配信サーバ100の余力が増えたことで、より高品質な属性の選択肢が増えた場合には、クライアントは、その高品質な属性が自動で選択するように構成されていると好都合である。   When the client receives a notification of options, the options are displayed even during video playback. The user of the client can select a desired attribute from the displayed options. In addition, when the surplus capacity of the video distribution server 100 increases, when the choice of higher quality attributes increases, it is convenient that the client is configured to automatically select the high quality attributes. is there.

クライアント側で別の属性が選択された場合には、属性変更要求イベントが映像配信サーバ100に発行される。   When another attribute is selected on the client side, an attribute change request event is issued to the video distribution server 100.

ステップS313において、属性変更要求イベントを受信した場合には、要求された属性を読み込み(ステップS314)、その属性でメモリ104に格納されている接続情報260の該当部分を変更する(ステップS315)。つづいて、映像要求イベントと選択肢変化イベントを発行する(ステップS316)。選択肢変化イベントは、接続情報260を変更した際に発行される。   If an attribute change request event is received in step S313, the requested attribute is read (step S314), and the corresponding portion of the connection information 260 stored in the memory 104 is changed with that attribute (step S315). Subsequently, a video request event and a choice change event are issued (step S316). The option change event is issued when the connection information 260 is changed.

さらに、図13のフローチャートが図3のフローチャートと異なっているのは、ステップS351の後にステップS352が新たに挿入されている点である。ステップS351で接続情報260から該当するデータが削除されると、その後、ステップS352において、選択肢が変化したことを示す選択肢変化イベントが発行される。   Further, the flowchart of FIG. 13 differs from the flowchart of FIG. 3 in that step S352 is newly inserted after step S351. When the corresponding data is deleted from the connection information 260 in step S351, an option change event indicating that the option has changed is issued in step S352.

また、ステップS361で実行される配信制御処理も、基本的には図11に示したフローチャートに従って実行されるが、本実施形態では、ステップS1014において接続情報260に新たに接続されるクライアントの情報が追加登録され、ステップS1015で映像要求イベントが発行された後、この配信制御処理を完了する前にも選択肢変化イベントが発行される。   Also, the distribution control process executed in step S361 is basically executed according to the flowchart shown in FIG. 11, but in this embodiment, information on the client newly connected to the connection information 260 in step S1014 is displayed. After the additional registration is performed and the video request event is issued in step S1015, the option change event is also issued before this distribution control process is completed.

以上説明した実施形態4によれば、映像配信サーバ100の余力の範囲内で提供可能な映像ストリームの属性の候補に変化があった場合に、新たな選択肢が随時提示されるので、クライアントの使用者はその余力に応じた最適な属性をタイムリーに選択することが可能になる。たとえば、最低限のストリームで接続していたクライアントも、サーバに余力が出た時点で、より高品質なストリームを要求し直すことができる。   According to the fourth embodiment described above, when there is a change in video stream attribute candidates that can be provided within the capacity of the video distribution server 100, new options are presented as needed. The person can select the optimum attribute according to the remaining power in a timely manner. For example, a client connected with a minimum number of streams can request a higher quality stream again when the server has enough power.

(実施形態5)
上述の実施形態4では、映像配信サーバ100の余力の範囲内で提供可能な映像ストリームの属性の候補に変化があると、その都度新たな選択肢が提示された。
(Embodiment 5)
In the above-described fourth embodiment, a new option is presented each time there is a change in video stream attribute candidates that can be provided within the capacity of the video distribution server 100.

しかし、余力が少なくなった場合には、選択肢は、現在提供しているストリームよりも低品質なストリームに減るだけで、高品質なストリームが増えることはない。そうすると、クライアントのユーザにとっては、現在閲覧中のストリームより低品質のものに切り換えることをわざわざ勧められるということになってしまい、好ましくないと考えることもできる。   However, when the remaining capacity is reduced, the options are merely reduced to a lower quality stream than the currently provided stream, and the high quality stream is not increased. In this case, the client user is bothered to switch to a lower quality than the stream currently being browsed, and may be considered undesirable.

そこで、本実施形態では、余力が増加した場合に限り、新たな選択肢を提示する。   Therefore, in this embodiment, a new option is presented only when the remaining capacity increases.

これを実現するためには、実施形態4では図13のフローチャートにおけるステップS316において発行するようにした選択肢変化イベントを、発行しないようにする。同様に、実施形態4では図11のフローチャートにおけるステップS1015の後で発行するようにした選択肢変化イベントを、発行しないようにする。これにより、選択肢変化イベントが発行されるのは、接続が減少した場合に実行されるステップS352においてだけとなる。   In order to realize this, in the fourth embodiment, the option change event issued in step S316 in the flowchart of FIG. 13 is not issued. Similarly, in the fourth embodiment, the option change event that is issued after step S1015 in the flowchart of FIG. 11 is not issued. Thus, the option change event is issued only in step S352 executed when the number of connections decreases.

つまり、接続が増加する場合には選択肢変化イベントを発行せず、接続が減少する場合のみ、選択肢変化イベントを発行する。   That is, the option change event is not issued when the connection increases, and the option change event is issued only when the connection decreases.

これにより、映像配信サーバ100の余力の範囲内で提供可能な映像ストリームの属性の候補の数が増加した場合にのみ、クライアントに選択肢の変化通知がなされるので、クライアントの使用者は有益な通知だけを受け取ることができる。   As a result, only when the number of candidate video stream attributes that can be provided within the range of the capacity of the video distribution server 100 is increased, the client user is notified of a change in choice, so that the client user can receive a useful notification. Can only receive.

(実施形態6)
本実施形態は、上述の実施形態3〜5のいずれかに記載した、提供可能な映像ストリームの属性の候補の選択肢を提供する映像配信サーバ100に対するクライアント109における制御処理に関する。以下では、実施形態3の映像配信システムに基づいて説明する。
(Embodiment 6)
The present embodiment relates to a control process in the client 109 for the video distribution server 100 that provides a choice of candidate video stream attributes described in any of the above-described third to fifth embodiments. Below, it demonstrates based on the video delivery system of Embodiment 3. FIG.

図14は、実施形態におけるクライアント109の構成を示す図である。   FIG. 14 is a diagram illustrating a configuration of the client 109 according to the embodiment.

クライアント109は、図示のように、映像配信サーバ100からのデータを、ネットワーク108を介して受け取るネットワークインタフェース(Network I/F)2001、演算や処理の制御を行う中央処理装置(PU)2002、必要なプログラムやデータを記憶するメモリ2003、LCDやCRTなどで構成される表示装置2004、を含む。   As shown in the figure, the client 109 includes a network interface (Network I / F) 2001 that receives data from the video distribution server 100 via the network 108, a central processing unit (PU) 2002 that controls operations and processes, and the necessary. A memory 2003 for storing various programs and data, and a display device 2004 constituted by an LCD, a CRT, or the like.

ネットワークインタフェース2001を介して受信した圧縮データはメモリ2003に一旦格納される。その後、CPU2002によってその圧縮データが伸張処理され、表示装置2004に表示される。もっとも、CPU2002に代わって伸張処理を実行する専用のデータ処理伸張装置(DSPなど)が付加された構成でもよい。   The compressed data received via the network interface 2001 is temporarily stored in the memory 2003. Thereafter, the compressed data is decompressed by the CPU 2002 and displayed on the display device 2004. Of course, instead of the CPU 2002, a configuration in which a dedicated data processing expansion device (such as a DSP) for performing expansion processing is added may be used.

メモリ2003には、図15に示すように、映像配信サーバ100からの映像ストリームを受信するための映像ストリーム受信プログラム2100、後述する選択肢限定処理を実現するための選択肢限定プログラム2120、ビューワ機能を実現するためのビューワプログラム2130、クライアントの現在の余剰処理能力を測定するためのベンチマークプログラム2140等のプログラムが格納される他、画像の属性ごとのクライアントの処理負荷を示すクライアントストリーム負荷データ2150、映像配信サーバ100より通知される提供可能な映像ストリームの属性候補の選択肢の情報であるストリーム選択肢情報2160、選択肢限定プログラム2120の実行によって限定された選択肢データが記述されるストリーム限定選択肢情報2170等の各種データが格納される。   As shown in FIG. 15, the memory 2003 implements a video stream receiving program 2100 for receiving a video stream from the video distribution server 100, an option limiting program 2120 for realizing an option limiting process described later, and a viewer function. In addition to storing a program such as a viewer program 2130 for performing the processing, a benchmark program 2140 for measuring the current surplus processing capability of the client, client stream load data 2150 indicating the processing load of the client for each image attribute, video distribution Stream option information 2160, which is information on the options of attribute candidates of video streams that can be provided, notified from the server 100, and stream-limited options in which option data limited by the execution of the option-limiting program 2120 is described. Various data such as distribution 2170 is stored.

図16は、本実施形態におけるクライアント109によるマルチストリーム受信処理を示すフローチャートである。このフローチャートに対応するプログラムはストリーム受信プログラム2100に含まれ、CPU2002によって実行される。このストリーム受信プログラム2100は例えばビューワプログラム2130の実行においてコールされる。また、後述するように、ベンチマークプログラム2140および選択肢限定プログラム2120はストリーム受信プログラム2130の実行においてコールされるという関係である。   FIG. 16 is a flowchart showing multi-stream reception processing by the client 109 in this embodiment. A program corresponding to this flowchart is included in the stream reception program 2100 and executed by the CPU 2002. This stream reception program 2100 is called, for example, when the viewer program 2130 is executed. As will be described later, the benchmark program 2140 and the option limiting program 2120 are called in the execution of the stream reception program 2130.

まずステップS2201において、メモリ2003内の各種設定パラメータの初期設定を行う。この際、図18に示すような構造のクライアントストリーム負荷データ2150のロードも行われる。クライアントストリーム負荷データ2150は、例えば、各画像サイズについてカメラ制御の有無別に、CPU2002の性能に基づく処理負荷を有する。図18に示した例では、画像サイズが160x120でカメラ制御なしの場合の処理負荷を基準(=1)として、各画像サイズについてカメラ制御の有無ごとに処理負荷が記述されている。   First, in step S2201, various setting parameters in the memory 2003 are initialized. At this time, the client stream load data 2150 having a structure as shown in FIG. 18 is also loaded. The client stream load data 2150 has, for example, a processing load based on the performance of the CPU 2002 for each image size depending on whether or not camera control is performed. In the example illustrated in FIG. 18, the processing load is described for each image size for each presence / absence of camera control, with the processing load when the image size is 160 × 120 and no camera control is used as a reference (= 1).

次に、ステップS2202で、接続要求イベントを発行し、これを映像配信サーバ100に送信する。上述したとおり、映像配信サーバ100は、この接続要求イベントの受信に応答して配信制御処理を実行し(図3、ステップS361)、状況に応じて、提供可能な映像ストリームの属性の候補の選択肢の情報を接続要求イベントの発行元のクライアントに送信する(図11、ステップS1010)。   In step S2202, a connection request event is issued and transmitted to the video distribution server 100. As described above, the video distribution server 100 executes the distribution control process in response to the reception of the connection request event (FIG. 3, step S361), and the video stream attribute candidate options that can be provided according to the situation. Is transmitted to the client that issued the connection request event (FIG. 11, step S1010).

なお、ステップS2202で接続要求イベントを送信する際、初期のストリーム種別の要求も送信する場合もある。ただし、映像受信サーバ100から接続拒否されたり、要求ストリーム以下の選択肢しか送付されなかったりする場合もありえる。   When a connection request event is transmitted in step S2202, an initial stream type request may also be transmitted. However, there may be a case where the connection is rejected from the video receiving server 100 or only options below the request stream are sent.

次のステップS2206で、イベントを待つ。   In the next step S2206, an event is waited for.

ステップS2203において、映像配信サーバ100より、提供可能な映像ストリームの属性の候補の選択肢の情報を受信したときは、メモリ2003内にその選択肢の情報をストリーム選択肢情報2160として保存し、その後、選択肢限定プログラム2120をコールすることにより、受信した選択肢を絞り込むための選択肢限定処理を実行する(ステップS2204)。このときのストリーム選択肢情報2160の構造例を図19に示す。   In step S 2203, when information on options of candidate video stream attributes that can be provided is received from the video distribution server 100, the information on the options is stored in the memory 2003 as stream option information 2160, and then the options are limited. By calling the program 2120, an option limiting process for narrowing down the received options is executed (step S2204). An example of the structure of the stream option information 2160 at this time is shown in FIG.

以下、このステップS2204における選択肢限定処理を、図17のフローチャートを用いて説明する。   Hereinafter, the option limiting process in step S2204 will be described with reference to the flowchart of FIG.

まずステップS2301で、メモリ2003に保存されているストリーム選択肢情報2160を読み込んだ後、クライアント109がビューワの処理(すなわち、ビューワプログラム2130の実行)に割り当てることのできる現在の余剰処理能力を測定するため、ベンチマークプログラム2140を起動する(ステップS2303)。   First, in step S2301, after the stream option information 2160 stored in the memory 2003 is read, the current surplus processing capability that the client 109 can allocate to the processing of the viewer (that is, the execution of the viewer program 2130) is measured. Then, the benchmark program 2140 is started (step S2303).

このベンチマークプログラム2140は、ビューワプログラム2130の実行時に消費する処理能力を推定しやすくするために作られたもので、比較的処理負荷の軽いプログラムが適当である。ビューワプログラム2130にこのベンチマークプログラム2140を組み込んでおき、ビューワプログラム2130の起動時に余剰負荷を測定するようにしてもよい。ここで、ビューワプログラム2130は圧縮された映像データの伸張処理のプログラムを含み、この伸張処理の負荷がビューワプログラム2130の中で最も重いと仮定する。ベンチマークプログラム2140はビューワプログラム2130に、予め用意した処理量が既知の圧縮映像データの伸張処理を実行させる。   The benchmark program 2140 is created to make it easier to estimate the processing capacity consumed when the viewer program 2130 is executed, and a program with a relatively light processing load is appropriate. The benchmark program 2140 may be incorporated into the viewer program 2130, and the surplus load may be measured when the viewer program 2130 is activated. Here, it is assumed that the viewer program 2130 includes a program for decompressing compressed video data, and that the load of the decompression processing is the heaviest among the viewer programs 2130. The benchmark program 2140 causes the viewer program 2130 to execute decompression processing of compressed video data having a known processing amount prepared in advance.

ステップS2304で、その伸張処理に要した時間Tを計測する。次に、この実行時間Tからクライアントの余剰処理能力である処理能力Pを算出する(ステップS2305)。ここでは、処理能力Pは実行時間Tに逆比例すると考える。例えば、実行時間Tが100msecであった場合の処理能力Pが2と算出されると仮定すると、実行時間Tが50msecであった場合の処理能力Pは4と算出されることになる。   In step S2304, the time T required for the expansion process is measured. Next, from the execution time T, a processing capability P that is a surplus processing capability of the client is calculated (step S2305). Here, the processing capability P is considered to be inversely proportional to the execution time T. For example, assuming that the processing capability P when the execution time T is 100 msec is calculated as 2, the processing capability P when the execution time T is 50 msec is calculated as 4.

次に、ステップS2306において、ストリーム選択肢情報2160の中から、処理能力がP以下の選択肢を抽出し、これをストリーム限定選択肢情報2170としてメモリ2003に格納する。処理能力がP以下であれば、現在のクライアントに余剰処理能力でも、十分な映像の表示速度やフレームレートを確保できる。一例として、ストリーム選択肢情報2160が図19に示されたとおりで、上記のステップS2305で算出された処理能力Pが4であった場合について説明する。図19のストリーム選択肢情報2160を参照すると、映像配信サーバ100より提示された選択肢としては、画像サイズ320x240と160x120のそれぞれについて、カメラ制御ありの場合とカメラ制御なしの場合の、4通りの候補がある。次いで、図18のクライアントストリーム負荷データ2150を参照すると、処理能力(=処理負荷)が4以下の選択肢は、画像サイズが320x240でカメラ制御なしの場合、画像サイズが160x120でカメラ制御ありの場合、および、同サイズでカメラ制御なしの場合、の3通りに絞られる。この3通りの候補がストリーム限定選択肢情報2170としてメモリ2003に格納される。   Next, in step S 2306, options having a processing capability of P or less are extracted from the stream option information 2160 and stored in the memory 2003 as stream limited option information 2170. If the processing capacity is P or less, a sufficient video display speed and frame rate can be secured even with surplus processing capacity for the current client. As an example, a case will be described in which the stream option information 2160 is as illustrated in FIG. 19 and the processing capability P calculated in step S2305 is 4. Referring to the stream option information 2160 in FIG. 19, the options presented by the video distribution server 100 include four candidates for the image sizes 320 × 240 and 160 × 120, with and without camera control. is there. Next, referring to the client stream load data 2150 in FIG. 18, the options with a processing capacity (= processing load) of 4 or less are when the image size is 320 × 240 and there is no camera control, when the image size is 160 × 120 and the camera control is performed, And in the case of the same size and no camera control, it is narrowed down to three ways. These three candidates are stored in the memory 2003 as stream limited option information 2170.

そして、上記の処理により選択肢が限定された場合には、ステップS2310で、その限定された選択肢を表示する。ステップS2311では、選択肢が限定されたか否かを判定し、限定された場合には、ステップS2312においてユーザにいずれか1つを選択させる。一方、たとえばステップS2305で算出された処理能力Pが小さく、選択肢が限定されなかった場合には、ステップS2313に進み終了イベントを発行する。以上によりステップS2204の処理が完了する。   If the options are limited by the above processing, the limited options are displayed in step S2310. In step S2311, it is determined whether the options are limited. If the options are limited, the user is allowed to select any one in step S2312. On the other hand, for example, when the processing capacity P calculated in step S2305 is small and the options are not limited, the process proceeds to step S2313 and issues an end event. Thus, the process of step S2204 is completed.

なお、ステップS2312の処理については、ユーザに最終的な候補を選択させるかわりに、表示可能な最高画質のストリームを自動選択するようにしてもよい。   As for the processing in step S2312, instead of allowing the user to select a final candidate, a stream with the highest image quality that can be displayed may be automatically selected.

説明を図16のフローチャートに戻す。上記したステップS2204の選択肢限定処理を終えると、ステップS2205に進み、映像要求イベントを発行し、これを映像配信サーバ100に送信して、ステップS2206のイベントループに戻る。   The description returns to the flowchart of FIG. When the option limiting process in step S2204 is completed, the process advances to step S2205 to issue a video request event, which is transmitted to the video distribution server 100, and returns to the event loop in step S2206.

映像配信サーバ100からの映像ストリーム(図3のステップS332を参照)の受信が完了し、受信完了イベントを発行すると(ステップS2207)、受信した映像ストリームを順次メモリ2003から取り込み(ステップS2208)、その映像ストリームを表示装置2004に表示する(ステップS2209)。その後、ステップS2211で継続映像要求イベントを発行し、ステップS2206のイベントループに戻る。   When reception of the video stream (see step S332 in FIG. 3) from the video distribution server 100 is completed and a reception completion event is issued (step S2207), the received video stream is sequentially fetched from the memory 2003 (step S2208). The video stream is displayed on the display device 2004 (step S2209). Thereafter, a continuous video request event is issued in step S2211, and the process returns to the event loop in step S2206.

ステップS2214において、映像配信サーバ100から接続の拒否応答(図6のステップS609を参照)を受信した場合は、接続終了イベントを発行し(ステップS2212)、本マルチストリーム受信処理を終了する。   In step S2214, if a connection rejection response (see step S609 in FIG. 6) is received from the video distribution server 100, a connection end event is issued (step S2212), and the multi-stream reception process ends.

以上説明した実施形態6によれば、クライアント109は、映像配信サーバ100より、提供可能な映像ストリームの属性の候補の選択肢が通知されると、そのときのクライアント109の処理能力を推定する。そして、推定された処理能力に基づいて、上記選択肢の候補をさらに限定し、その限定された候補の選択肢を表示する。これにより、ユーザはクライアント側の処理能力に見合った属性の映像ストリームを、容易に指定することができる。   According to the sixth embodiment described above, when the video distribution server 100 notifies the video stream server 100 of options of candidate video stream attributes that can be provided, the client 109 estimates the processing capability of the client 109 at that time. Then, based on the estimated processing capability, the option candidates are further limited, and the limited candidate options are displayed. As a result, the user can easily specify a video stream having an attribute commensurate with the processing capability on the client side.

(実施形態7)
本実施形態では、映像配信サーバ100の余力の範囲内で提供可能な映像ストリームの属性の候補を、各属性に設定される優先度の情報を考慮して選択する。
(Embodiment 7)
In the present embodiment, video stream attribute candidates that can be provided within the capacity of the video distribution server 100 are selected in consideration of priority information set for each attribute.

以下では、基本的に実施形態3を基に、相違する点を中心に説明するが、本実施形態は実施形態4、5に対しても適用が可能である。   In the following description, the differences will be mainly described based on the third embodiment. However, the present embodiment can also be applied to the fourth and fifth embodiments.

本実施形態に係る映像配信システムの構成は図1に示した構成と同様である。ただし、メモリ104には、図20に示すように、実施形態2と同様のマルチストリーム作成プログラム210、配信制御プログラム220、カメラ制御プログラム710、ストリーム負荷データ250、接続情報260、ストリーム選択肢情報270の他に、優先度テーブル280、優先度別ストリーム負荷データ290が格納されている。本実施形態でも、ストリーム負荷データ250および接続情報260はそれぞれ、実施形態3と同様の構造(図8、図9を参照)を有するものとする。ただし、本実施形態では、現在の接続情報260の内容が図22のようになっているとする。すなわち、図22を参照すると分かるように、映像配信サーバ100には現在、ビューワ(クライアント)109−1〜109−4の4台が接続されている。   The configuration of the video distribution system according to the present embodiment is the same as the configuration shown in FIG. However, in the memory 104, as shown in FIG. 20, the same multi-stream creation program 210, distribution control program 220, camera control program 710, stream load data 250, connection information 260, and stream option information 270 as in the second embodiment are stored. In addition, a priority table 280 and priority-specific stream load data 290 are stored. Also in this embodiment, the stream load data 250 and the connection information 260 are assumed to have the same structure as that of the third embodiment (see FIGS. 8 and 9). However, in the present embodiment, it is assumed that the content of the current connection information 260 is as shown in FIG. That is, as can be seen with reference to FIG. 22, four viewers (clients) 109-1 to 109-4 are currently connected to the video distribution server 100.

本実施形態における映像配信サーバ100によるマルチストリーム作成処理は基本的に実施形態3で説明した図3のフローチャート、あるいは、実施形態4で説明した図13のフローチャートに従って行われる。ただし本実施形態では、ステップS361における配信制御処理が、図21のフローチャートに従って行われる。   The multi-stream creation process by the video distribution server 100 in this embodiment is basically performed according to the flowchart of FIG. 3 described in the third embodiment or the flowchart of FIG. 13 described in the fourth embodiment. However, in the present embodiment, the distribution control process in step S361 is performed according to the flowchart of FIG.

まずステップS5101で、接続情報260を読み込む。また、実施形態3におけるステップS1001と同様に、接続要求イベントに含まれる要求画像属性も読み込む。   First, in step S5101, connection information 260 is read. Also, the request image attribute included in the connection request event is read as in step S1001 in the third embodiment.

次に、ステップS5102で、接続情報260およびストリーム負荷データ250を参照して、接続されているクライアントごとの処理負荷を求め、その総和を全体負荷F(現在の処理負荷)として計算する。図22の接続情報260に基づき具体例を説明する。図22の接続情報260を参照すると、ビューワ109−1から109−4の接続があり、それぞれ、800x600でカメラ制御なし、160x120でカメラ制御有り、640x480でカメラ制御なし、800x600でカメラ制御なし、という属性の映像ストリームを要求していることが分かる。ここで、ストリーム負荷データ250を参照すると、各接続の処理負荷は、25、2、16、25である。よって、全体負荷Fは、これらの総和68と求められる(この値の例は後ほど使用する。)。   Next, in step S5102, the connection information 260 and the stream load data 250 are referred to determine the processing load for each connected client, and the sum is calculated as the total load F (current processing load). A specific example will be described based on the connection information 260 in FIG. Referring to the connection information 260 in FIG. 22, there are connections from the viewers 109-1 to 109-4, which are 800x600 without camera control, 160x120 with camera control, 640x480 with no camera control, and 800x600 with no camera control. It can be seen that an attribute video stream is requested. Here, referring to the stream load data 250, the processing load of each connection is 25, 2, 16, 25. Therefore, the total load F is obtained as a sum 68 of these (an example of this value will be used later).

次に、ステップS5103で、サーバ処理の上限値Xを読み出す。上限値Xは上述したように、典型的には、システムの動作状況を把握している管理者によって、管理者の許可する処理能力の上限値として設定される値である。次に、ステップS5104で、映像配信サーバ100の余力Yを求める。余力Yは、上限値Xと全体負荷Fとの差分として求められる。その後、ステップS5105で、優先度別選択肢作成プログラム230を呼び出す。   In step S5103, the upper limit value X of the server process is read out. As described above, the upper limit value X is typically a value that is set as the upper limit value of the processing capability permitted by the administrator by the administrator who knows the operation status of the system. Next, in step S5104, the remaining power Y of the video distribution server 100 is obtained. The remaining power Y is obtained as a difference between the upper limit value X and the overall load F. Thereafter, in step S5105, the priority-specific option creation program 230 is called.

優先度別選択肢作成プログラム230による動作例を図23に示す。   An example of the operation by the priority-specific option creation program 230 is shown in FIG.

まずステップS5301で、図24に示すような構造の優先度テーブル280を読み込む。図24の優先度テーブルには、図8のストリーム負荷データ250と同様に分類されたそれぞれのケースについて優先度を示す情報が記述されている。具体的には、図24に示した例では、画像サイズ800x600でカメラ制御ありの場合およびカメラ制御なしの場合ともに優先度を示す情報が0、画像サイズ640x480でカメラ制御ありの場合およびカメラ制御なしの場合ともに優先度を示す情報が10に設定されている。また、画像サイズ320x240でカメラ制御ありの場合の優先度を示す情報が2、同サイズでカメラ制御なしの場合の優先度を示す情報が0、画像サイズ160x120でカメラ制御ありの場合およびカメラ制御なしの場合ともに優先度を示す情報が2に設定されている。ここでは、優先度を示す情報が0のときが最も優先度が高いと考える。   First, in step S5301, a priority table 280 having a structure as shown in FIG. 24 is read. In the priority table of FIG. 24, information indicating the priority is described for each case classified in the same manner as the stream load data 250 of FIG. Specifically, in the example shown in FIG. 24, the information indicating the priority is 0 when the image size is 800 × 600 and the camera control is performed and when the camera control is not performed, the image size is 640 × 480 and the camera control is performed and the camera is not controlled. In both cases, information indicating the priority is set to 10. Also, the information indicating the priority when the image size is 320 × 240 and the camera is controlled is 2, the information indicating the priority when the image size is the same size and the camera is not controlled is 0, the image size is 160 × 120 and the camera is controlled, and the camera is not controlled. In both cases, the information indicating the priority is set to 2. Here, it is considered that the priority is highest when the information indicating the priority is 0.

そして、ステップS5302で、ストリーム負荷データ250(図8)に記述された各ケースの負荷に、優先度テーブル280(図24)に記述された対応する優先度を示す情報の値を加算することにより、優先度別ストリーム負荷想定データ290を作成する。図25は、得られた優先度別ストリーム負荷想定データ290の例を示す図である。図8と図24とを重ね合わせてみれば、図25の結果が得られることが容易に理解できよう。   In step S5302, the value of the information indicating the corresponding priority described in the priority table 280 (FIG. 24) is added to the load of each case described in the stream load data 250 (FIG. 8). Then, the priority-specific stream load assumption data 290 is created. FIG. 25 is a diagram illustrating an example of the obtained priority-specific stream load assumption data 290. If FIG. 8 and FIG. 24 are overlapped, it can be easily understood that the result of FIG. 25 is obtained.

次に、ステップS5303で、ステップS5104で求めた余力Yに基づいて、提供可能な映像ストリームの属性の候補を優先度別ストリーム負荷想定データ290から読み出し、図26に示すようなストリーム選択肢情報270をメモリ104に書き込む。ここで、上記した例の通り全体負荷Fが68とし、また、上限値Xが93に設定されていると仮定して具体例を示す。この場合の余力Yは93−68=25となる。その後、優先度別ストリーム負荷想定データ290から、負荷の値が25(=余力)以下である属性のセットを抽出し、各セットを候補とするストリーム選択肢情報270を構成する。図25の優先度別ストリーム負荷想定データ290の例では、「jpeg800x600、カメラ制御なし」、「jpeg320x240、カメラ制御あり」、「jpeg320x240、カメラ制御なし」、「jpeg160x120、カメラ制御あり」、「jpeg160x120、カメラ制御なし」、が抽出され、これにより図26に示されるようなストリーム選択肢情報270が構成される。   Next, in step S5303, based on the available capacity Y obtained in step S5104, candidate video stream attributes that can be provided are read from the priority-specific stream load assumption data 290, and stream option information 270 as shown in FIG. 26 is obtained. Write to memory 104. Here, a specific example will be given on the assumption that the total load F is set to 68 and the upper limit value X is set to 93 as described above. In this case, the remaining force Y is 93−68 = 25. Thereafter, a set of attributes having a load value of 25 (= reserved power) or less is extracted from the stream load assumption data 290 by priority, and stream option information 270 with each set as a candidate is configured. In the example of the stream load assumption data 290 by priority in FIG. 25, “jpeg 800 × 600, no camera control”, “jpeg 320x240, with camera control”, “jpeg 320x240, no camera control”, “jpeg 160x120, with camera control”, “jpeg 160x120, “No camera control” is extracted, and stream option information 270 as shown in FIG. 26 is configured.

この例の場合、「jpeg640x480、カメラ制御なし」および「jpeg640x480、カメラ制御あり」のケースはそれぞれ、負荷が16および17で、余力(=25)の範囲内に収まるにもかかわらず(図8を参照)、優先度を示す情報10が加算されたことにより選択肢から外される一方、これらより負荷の大きい「jpeg800x600、カメラ制御なし」には優先度を示す情報による加算がされなかった(優先度を示す情報=0)ので、選択肢として抽出される結果となった。   In this example, the cases of “jpeg 640x480, without camera control” and “jpeg 640x480, with camera control” are 16 and 17, respectively, even though the load is within the remaining power (= 25) range (see FIG. 8). Reference), while information 10 indicating priority is added, it is removed from the options, while “jpeg 800 × 600, no camera control”, which has a higher load than these, was not added with information indicating priority (priority) Therefore, the result is extracted as an option.

このように優先度を設定することにより、処理負荷の大きい属性の映像ストリームを、処理負荷の小さい属性の映像ストリームより優先的に選択肢の候補に挙げることが可能になる。つまり、優先度の設定によって、余力内に収まる負荷の特定の属性のストリームについては選択肢に現れないように操作する。その一方で、上記特定の属性のストリームより負荷の高い属性のストリームを選択肢に入れるよう操作する。これにより、余力を、より負荷の高い属性のストリームにまわすことができる。   By setting the priority in this way, it is possible to prioritize a video stream having a high processing load attribute as a choice candidate over a video stream having a low processing load attribute. In other words, the operation is performed so that the stream having the specific attribute of the load that falls within the remaining capacity does not appear in the choices by setting the priority. On the other hand, an operation is performed so that an attribute stream having a higher load than that of the specific attribute stream is selected. Thereby, the remaining power can be turned to a stream having a higher load attribute.

また、優先度を設定することで、サーバ管理者が意図するストリーム種別での接続を増やす傾向を作ることができる。たとえば、ストリーム負荷は大きいが、なるべく大きなサイズでの映像を優先的に配信しようとする場合には、ストリーム負荷は小さくても小サイズのストリームに対しては優先度を下げるよう設定すればよい。   In addition, by setting the priority, it is possible to create a tendency to increase connections in the stream type intended by the server administrator. For example, when a video with a large stream size is preferentially distributed but a video stream with as large a size as possible is to be distributed preferentially, the priority level may be set to be lowered for a small size stream even if the stream load is small.

なお、上記の例では、優先度を規定する値として、優先度を示す情報が0のときが最も優先度が高く、その値が大きくなるほど優先度が小さくなる値を考えた。これは、各属性の負荷に加算されることを前提に規定されたものである。一方このかわりに、優先度を、各属性の負荷に乗じられる重み付け係数として定義することも可能である。この場合には優先度の高低はその数値に応じたものとなる。   In the above example, as the value that defines the priority, the priority is the highest when the information indicating the priority is 0, and the value becomes smaller as the value increases. This is defined on the assumption that it is added to the load of each attribute. On the other hand, it is also possible to define the priority as a weighting factor by which the load of each attribute is multiplied. In this case, the priority level depends on the numerical value.

説明を図21のフローチャートに戻す。次に、ステップS5106で、ストリーム選択肢情報270をクライアントへ通知し、ステップS5107で、イベントを待つ。   The description returns to the flowchart of FIG. Next, in step S5106, the stream option information 270 is notified to the client, and in step S5107, an event is awaited.

ステップS5110において、ストリーム選択肢情報270を渡したクライアントから選択肢に基づいた属性特定要求イベントを受け取った場合はステップS5111に進み、要求された画像の属性を読み込む。このとき、属性はストリーム選択肢情報270の選択番号などで受け取ることにしても良い。また、実施形態1,2と同様に、ここで上限値Xと全体負荷Fおよび要求された優先度別ストリーム負荷fから接続の可否を制御しても良い。   If it is determined in step S5110 that an attribute specifying request event based on the option is received from the client that has passed the stream option information 270, the process advances to step S5111 to read the attribute of the requested image. At this time, the attribute may be received as a selection number of the stream option information 270 or the like. Similarly to the first and second embodiments, whether or not connection is possible may be controlled based on the upper limit value X, the total load F, and the requested priority stream load f.

次に、ステップS5112で、属性特定要求イベントの発行元のクライアントの情報を接続情報260に登録し、続くステップS5113で、映像要求イベントを発行するとともに、ステップS5114で選択肢変化イベントを発行する。   In step S5112, information on the client that issued the attribute identification request event is registered in the connection information 260. In step S5113, a video request event is issued, and an option change event is issued in step S5114.

また、ステップS5120において、ストリーム選択肢情報270を渡したクライアントから接続終了イベントを受け取った場合、または、ステップS5130において、ストリーム選択肢情報270をクライアントに渡してから一定期間が経過しタイムアウトイベントが発行された場合には、本配信制御処理が終了する。   In step S5120, when a connection end event is received from the client that has passed the stream option information 270, or in step S5130, a time-out event has been issued after a certain period of time has passed since the stream option information 270 was passed to the client. In this case, the distribution control process ends.

(実施形態8)
本実施形態では、接続要求に適合した映像ストリームの配信を行うには処理能力の余力が足りない場合、その優先度に応じて余力を作り出し、これにより、その要求に係る配信を実現させる。
(Embodiment 8)
In the present embodiment, when there is not enough capacity for processing to distribute a video stream that conforms to a connection request, the remaining capacity is generated according to the priority, thereby realizing the distribution related to the request.

本実施形態に係る映像配信システムの構成は実施形態7と同様である。すなわち、本実施形態に係る映像配信システム構成は図1に示されたもので、また、メモリ104に格納される内容は、図20に示されたとおりである。   The configuration of the video distribution system according to this embodiment is the same as that of the seventh embodiment. That is, the video distribution system configuration according to this embodiment is as shown in FIG. 1, and the contents stored in the memory 104 are as shown in FIG.

また、本実施形態におけるマルチストリーム作成処理も実施形態7と同様、基本的には実施形態3で説明した図3のフローチャート、あるいは、実施形態4で説明した図13のフローチャートに従って行われ、ステップS361における配信制御処理は、図21のフローチャートに従って行われる。ただし本実施形態では、ステップS5105における優先度別選択肢作成処理は、図23のフローチャートのかわりに、図27のフローチャートに従って行われる。   Also, the multi-stream creation process in the present embodiment is basically performed according to the flowchart of FIG. 3 described in the third embodiment or the flowchart of FIG. 13 described in the fourth embodiment, as in the seventh embodiment, and step S361. The distribution control process is performed according to the flowchart of FIG. However, in this embodiment, the priority-specific option creation processing in step S5105 is performed according to the flowchart of FIG. 27 instead of the flowchart of FIG.

まずステップS5701で、図24に示したような優先度テーブル280および、ステップS5101で読み込んだ要求画像属性を読み出す。次のステップS5702では、実施形態7におけるステップS5302と同様に、ストリーム負荷データ250(図8)に記述された各ケースの負荷に、優先度テーブル280(図24)に記述された対応する優先度を示す値を加算することにより、優先度別ストリーム負荷想定データ290を作成する。次のステップS5703では、ステップS5104で求めた余力Yに基づいて、提供可能な映像ストリームの属性の候補を優先度別ストリーム負荷想定データ290から読み出し、図26に示すようなストリーム選択肢情報270を作成する。   First, in step S5701, the priority table 280 as shown in FIG. 24 and the requested image attribute read in step S5101 are read. In the next step S5702, as in step S5302 in the seventh embodiment, the corresponding priority described in the priority table 280 (FIG. 24) is assigned to the load of each case described in the stream load data 250 (FIG. 8). Is added, the priority-specific stream load assumption data 290 is created. In the next step S5703, based on the available capacity Y obtained in step S5104, candidate video stream attributes that can be provided are read from the priority-specific stream load assumption data 290, and stream option information 270 as shown in FIG. 26 is created. To do.

次に、ステップS5704において、ステップS5701で読み込んだ要求画像属性が、ステップS5703で作成されたストリーム選択肢情報270に含まれているかどうかを判定する。要求画像属性がストリーム選択肢情報270に含まれている場合には、この優先度別選択肢作成処理を抜ける。一方、要求画像属性がストリーム選択肢情報270に含まれていない場合はステップS5705に進む。   In step S5704, it is determined whether the requested image attribute read in step S5701 is included in the stream option information 270 created in step S5703. If the requested image attribute is included in the stream option information 270, the priority-specific option creation process is exited. On the other hand, if the requested image attribute is not included in the stream option information 270, the process advances to step S5705.

ステップS5705では、優先度テーブル280を参照して要求画像属性の優先度を確認するとともに、接続情報260および優先度テーブル280を参照して要求画像属性の優先度よりも低い優先度のストリーム配信のための接続が確立されているかどうかを調べる。ここで要求画像属性の優先度よりも低い優先度のストリーム配信のための接続は現在のところ確立されていない場合には、そのままこの優先度別選択肢作成処理を抜ける。一方、要求画像属性の優先度よりも低い優先度のストリーム配信のための接続が確立されていた場合には、ステップS5706に進み、当該接続先のクライアントに接続拒否イベントを発行し、その後、ステップS5707において、その接続を拒否したクライアントに係る情報を接続情報260から削除する。   In step S5705, the priority of the requested image attribute is confirmed with reference to the priority table 280, and stream distribution with a priority lower than the priority of the requested image attribute is referred to with reference to the connection information 260 and the priority table 280. To see if a connection has been established. Here, if a connection for stream delivery with a priority lower than the priority of the requested image attribute has not been established at this time, the selection processing for each priority is exited as it is. On the other hand, if a connection for stream delivery with a priority lower than the priority of the requested image attribute has been established, the process proceeds to step S5706, where a connection rejection event is issued to the connection destination client, and then the step In step S5707, information related to the client that refuses the connection is deleted from the connection information 260.

このステップS5705、S5706の具体例を示す。処理対象の接続要求イベントを発行したクライアントが109−5であり、現在、別の4つのクライアント(109−1〜4)が接続されており、そのときの接続情報260が図22に示すとおりであると仮定する。また、ステップS5701で読み込んだ接続要求イベントに含まれる要求画像属性が「jpeg800x600、カメラ制御なし」であったとする。   Specific examples of steps S5705 and S5706 are shown. The client that issued the connection request event to be processed is 109-5, and another four clients (109-1 to 4) are currently connected. The connection information 260 at that time is as shown in FIG. Assume that there is. Also, assume that the requested image attribute included in the connection request event read in step S5701 is “jpeg 800 × 600, no camera control”.

まず、優先度テーブル280を参照して要求画像属性の優先度を確認する。図24の優先度テーブル280を参照すると、要求画像属性「jpeg800x600、カメラ制御なし」の優先度を示す値は「0」に設定されており、最も高い優先度に設定されていることがわかる。   First, the priority of the requested image attribute is confirmed with reference to the priority table 280. Referring to the priority table 280 of FIG. 24, it can be seen that the value indicating the priority of the requested image attribute “jpeg 800 × 600, no camera control” is set to “0”, which is set to the highest priority.

次に、接続情報260および優先度テーブル280を参照して要求画像属性の優先度よりも低い優先度の属性の映像ストリームに係る接続が確立されているかどうかを調べる。ここで、図22の優先度テーブル260を調べてみると、クライアント109−1と109−4への映像ストリームの属性は「jpeg800x600、カメラ制御なし」であり、その優先度を示す値は「0」である。一方、クライアント109−2への映像ストリームの属性は「jpeg160x120、カメラ制御あり」で、図24の優先度テーブル280より、その優先度を示す値は「2」に設定されている。また、クライアント109−3への映像ストリームの属性は「jpeg640x480、カメラ制御なし」で、図24の優先度テーブル280より、その優先度を示す値は「10」に設定されている。そうすると、このクライアント109−2および109−3の接続が、要求画像属性の優先度よりも低い優先度の属性の映像ストリームに係るものであることが判明する。   Next, with reference to the connection information 260 and the priority table 280, it is checked whether or not a connection related to a video stream having a priority attribute lower than the priority of the requested image attribute is established. Here, when examining the priority table 260 of FIG. 22, the attribute of the video stream to the clients 109-1 and 109-4 is “jpeg 800 × 600, no camera control”, and the value indicating the priority is “0”. Is. On the other hand, the attribute of the video stream to the client 109-2 is “jpeg 160 × 120, with camera control”, and the value indicating the priority is set to “2” from the priority table 280 of FIG. The attribute of the video stream to the client 109-3 is “jpeg 640 × 480, no camera control”, and the value indicating the priority is set to “10” from the priority table 280 of FIG. Then, it is found that the connection between the clients 109-2 and 109-3 relates to a video stream having a priority attribute lower than the priority of the requested image attribute.

ステップS5706では、この2つのクライアント109−2および109−3の両方に直ちに接続拒否イベントを発行してもよいが、ここでは、これらのうち優先度別負荷想定の値(図25を参照)が最も高いクライアント(すなわち、109−3)にのみ接続拒否イベントを発行することにする。これによりクライアント109−3の接続が解除された結果、余力が増えることになる。それでもなお要求画像属性の映像ストリームの作成には不足である場合には、続いてクライアント109−2に接続拒否イベントを発行するようにすればよいであろう。   In step S5706, the connection refusal event may be issued immediately to both of these two clients 109-2 and 109-3, but here, the load assumption value by priority (see FIG. 25) is selected. A connection rejection event is issued only to the highest client (ie, 109-3). As a result, the remaining power increases as a result of the disconnection of the client 109-3. If it is still insufficient to create a video stream having the requested image attribute, a connection refusal event may be issued to the client 109-2.

ステップS5705,S5706の具体例は以上のとおりである。   Specific examples of steps S5705 and S5706 are as described above.

次のステップS5708では、ステップS5703と同様にして再度ストリーム選択肢情報270を作成する。この場合には、ステップS5707での削除により、処理対象の接続要求イベントを発行したクライアントの要求画像属性がストリーム選択肢情報270に含まれることになる。   In the next step S5708, the stream option information 270 is created again in the same manner as in step S5703. In this case, the stream option information 270 includes the request image attribute of the client that has issued the connection request event to be processed by the deletion in step S5707.

以上で、優先度別選択肢作成処理が終了する。   Thus, the priority-specific option creation process ends.

以上説明した優先度別選択肢作成処理によれば、優先度の高い属性のストリームへの接続要求を受けた場合、余力が足りないときには、優先度の低い属性の映像ストリームの配信を停止することで余力をつくり、これにより上記の優先度の高いストリームの配信を実行させることができる。   According to the above-described option creation process by priority, when a connection request to a stream with a high priority attribute is received, if there is not enough room, distribution of a video stream with a low priority attribute is stopped. It is possible to generate a surplus power and thereby execute the delivery of the above-mentioned high priority stream.

また、優先度の低いストリームの配信先であるクライアントの接続は解除せず(ステップS5706、S5707を実行しない)、ステップS5708では、その優先度の低いクライアントの接続を解除したと仮定した場合における余力Yを計算し、その余力Yから、優先度の高い要求画像属性のストリームにかかる負荷を減算した上で、再度選択肢を作成し直し、これを上記の優先度の低いストリームに係るクライアントに提示するようにしてもよい。この場合には、優先度の低いストリームの配信に係るクライアントの接続を切断せず、別の属性のストリームに切り換えて配信を続けることが可能になる。   Further, the connection of the client that is the delivery destination of the low-priority stream is not released (steps S5706 and S5707 are not executed). In step S5708, it is assumed that the connection of the low-priority client is released. After calculating Y and subtracting the load applied to the stream of the requested image attribute having a high priority from the remaining capacity Y, the option is created again, and this is presented to the client related to the stream having the low priority. You may do it. In this case, it is possible to continue the distribution by switching to a stream with a different attribute without disconnecting the client connection relating to the distribution of the low priority stream.

(実施形態9)
上述した実施形態7,8では、映像ストリームの各属性に優先度の情報が設定されたが、本実施形態では、クライアントに優先度が設定され、それを考慮して提供可能な属性の映像ストリームの選択肢を作成する。
(Embodiment 9)
In the seventh and eighth embodiments described above, priority information is set for each attribute of a video stream. In this embodiment, a priority is set for a client, and a video stream having an attribute that can be provided in consideration of the priority. Create alternatives.

本実施形態に係る映像配信システムの構成は実施形態8と同様である。すなわち、本実施形態に係る映像配信システム構成は図1に示されたもので、また、メモリ104に格納される内容は、図20に示されたとおりである。   The configuration of the video distribution system according to the present embodiment is the same as that of the eighth embodiment. That is, the video distribution system configuration according to this embodiment is as shown in FIG. 1, and the contents stored in the memory 104 are as shown in FIG.

また、本実施形態におけるマルチストリーム作成処理も、基本的には実施形態3で説明した図3のフローチャート、あるいは、実施形態4で説明した図13のフローチャートに従って行われ、ステップS361における配信制御処理は、図21のフローチャートに従って行われる。また、実施形態8と同様で、ステップS5105における優先度別選択肢作成処理は、図23のフローチャートではなく、図27のフローチャートに従って行われる。   Also, the multi-stream creation process in the present embodiment is basically performed according to the flowchart of FIG. 3 described in the third embodiment or the flowchart of FIG. 13 described in the fourth embodiment, and the distribution control process in step S361 is performed. This is performed according to the flowchart of FIG. Further, as in the eighth embodiment, the priority-specific option creation processing in step S5105 is performed according to the flowchart of FIG. 27 instead of the flowchart of FIG.

ただし、優先度テーブル280のデータ構造は実施形態8におけるそれ(図24)とは異なっている。図28に、本実施形態における優先度テーブル280の構造例を示す。実施形態8における優先度は、図24のとおり、映像ストリームの属性に対して設定されたが、本実施形態における優先度は、図28に示すように、クライアント(ビューワ)に対して設定される。   However, the data structure of the priority table 280 is different from that in the eighth embodiment (FIG. 24). FIG. 28 shows a structural example of the priority table 280 in the present embodiment. The priority in the eighth embodiment is set for the attribute of the video stream as shown in FIG. 24, but the priority in the present embodiment is set for the client (viewer) as shown in FIG. .

この優先度を示す設定値は映像配信サーバ100において、管理者の操作に従って変更が可能であることはもちろんであるが、クライアントからの指示に応じて当該クライアントの優先度を示す設定値を変更することも可能である。   The setting value indicating the priority can be changed in accordance with the operation of the administrator in the video distribution server 100, but the setting value indicating the priority of the client is changed according to an instruction from the client. It is also possible.

例えば、各クライアントは、映像配信サーバ100に発行する接続要求イベントに、要求映像属性の他、そのクライアントの優先度を示す情報を含めることが可能である。映像配信サーバ100はこの接続要求イベントを受け取ると、それに含まれている優先度を示す情報でもって優先度テーブル280の該当部分を更新することになる。   For example, each client can include information indicating the priority of the client in addition to the requested video attribute in the connection request event issued to the video distribution server 100. When receiving the connection request event, the video distribution server 100 updates the corresponding part of the priority table 280 with the information indicating the priority included therein.

これに関連して、本実施形態において実施形態8とは相違する動作について説明する。   In this regard, an operation of the present embodiment that is different from that of the eighth embodiment will be described.

まず、図21の配信制御処理について。ステップS5101では、接続情報260を読み込むほか、接続要求イベントに含まれる要求画像属性を読み込む。さらに、接続要求イベントにそのクライアントの優先度の情報も含まれている場合にはその情報も読み込む。   First, the distribution control process of FIG. In step S5101, in addition to reading the connection information 260, the request image attribute included in the connection request event is read. Further, if the connection request event includes information on the priority of the client, the information is also read.

次に、図27の優先度別選択肢作成処理について。ステップS5701では、図28に示したような優先度テーブル280および、ステップS5101で読み込んだ要求画像属性ならびにそのクライアントの優先度の情報を読み出す。ここでクライアントの優先度の情報が読み出された場合には、その情報でもって優先度テーブル280の該当部分を更新する。   Next, the priority-specific option creation process of FIG. In step S5701, the priority table 280 as shown in FIG. 28, the requested image attribute read in step S5101 and the priority information of the client are read. If the client priority information is read out, the corresponding part of the priority table 280 is updated with the information.

ステップS5702では、ストリーム負荷データ250(図8)に記述された各ケースの負荷に、優先度テーブル280(図28)に記述された当該クライアントの優先度を示す値を加算することにより、優先度別ストリーム負荷想定データ290を作成する。この場合の優先度別ストリーム負荷想定データ290の例を図29に示す。   In step S5702, the priority is added by adding a value indicating the priority of the client described in the priority table 280 (FIG. 28) to the load of each case described in the stream load data 250 (FIG. 8). Separate stream load assumption data 290 is created. An example of priority-specific stream load assumption data 290 in this case is shown in FIG.

なお、クライアント側で優先度の指定がなされなかったために接続要求イベントにそのクライアントの優先度の情報が含まれていなかった場合で、かつ、優先度テーブル280にそのクライアントが登録されていない場合には、映像配信サーバ100で予め設定されたデフォルト値(例えば20)が用いられる。   In addition, when the priority is not specified on the client side and the priority information of the client is not included in the connection request event, and the client is not registered in the priority table 280. The default value (for example, 20) preset in the video distribution server 100 is used.

以上、実施形態8との相違点を説明した。これ以外は実施形態8と同様な処理が行われる。   The differences from the eighth embodiment have been described above. Except for this, the same processing as in the eighth embodiment is performed.

以上説明した実施形態9によれば、映像配信サーバ100に接続が可能な(すなわち、映像配信サーバ100より映像ストリームの配信を受けることが可能な)クライアントに優先度が設定され、この優先度および要求画像属性に基づいて、映像配信サーバ100の余力の範囲内で提供可能な属性の映像ストリームの選択肢が作成される。これにより、接続を要求するクライアントによって提示される選択肢の内容が異なるようになる。このため、優先度が高く設定されたクライアントほど、処理負荷の大きい属性の映像ストリームまでもが選択肢に含まれるようになり、サーバの能力の範囲内で、より多くの能力が分配されるようになる。   According to the ninth embodiment described above, a priority is set for a client that can connect to the video distribution server 100 (that is, can receive a video stream from the video distribution server 100). Based on the requested image attribute, a video stream option having an attribute that can be provided within the range of the remaining capacity of the video distribution server 100 is created. As a result, the contents of the options presented by the client requesting the connection are different. For this reason, the higher the priority set for the client, the higher the processing load of the attributed video stream will be included in the options, and more capabilities will be distributed within the range of server capabilities. Become.

なお、上記の例では、クライアントに優先度が設定されたが、同様の考え方で、ユーザに優先度を設定し、それを考慮して提供可能な属性の映像ストリームの選択肢を作成する、というバリエーションを考えることもできる。たとえば、映像配信サーバ100が、クライアントから接続要求イベントを受け取ったことに応答してそのクライアントに対しユーザ認証処理を実行するように構成しておき、このユーザ認証を経てユーザの優先度が設定されるようにすればよい。   In the above example, the priority is set for the client, but with the same concept, the priority is set for the user and the video stream options with attributes that can be provided are created in consideration of this variation. Can also be considered. For example, the video distribution server 100 is configured to execute user authentication processing for a client in response to receiving a connection request event from the client, and the user priority is set through this user authentication. You can do so.

(実施形態10)
実施形態3では、図11に示したような配信制御処理のうち、とりわけステップS1001〜S1010の処理によって、映像配信サーバ100の余力の範囲内で提供可能な映像ストリームの選択肢がクライアントに提示された。
(Embodiment 10)
In the third embodiment, among the distribution control processes shown in FIG. 11, video stream options that can be provided within the capacity of the video distribution server 100 are presented to the client by the processes of steps S1001 to S1010, among others. .

また、実施形態7では、図21に示した配信制御処理のうち、とりわけステップS5101〜S5106の処理によって、映像配信サーバ100の余力の範囲内で提供可能な映像ストリームの選択肢がクライアントに提示された。   Further, in the seventh embodiment, among the distribution control processes shown in FIG. 21, the video stream options that can be provided within the range of the video distribution server 100 are presented to the client by the processes of steps S5101 to S5106 in particular. .

これらの処理は、映像配信サーバ100において選択肢を作成するための評価工程と考えることができる。   These processes can be considered as an evaluation process for creating options in the video distribution server 100.

また、クライアント側の処理例について説明した実施形態6では、図16に示したマルチストリーム受信処理では、ステップS2204において選択肢限定処理が行われる。この選択肢限定処理においては、とりわけ図17に示すステップS2301〜S2306の処理によって、限定された選択肢が求められた。そして、図16のステップS2205で映像要求イベントが発行された。これらは、受信ストリームを選択的に要求するための選択要求工程と考えることができる。   Further, in the sixth embodiment that describes the processing example on the client side, the option limiting process is performed in step S2204 in the multi-stream reception process illustrated in FIG. In the option limiting process, limited options are obtained particularly by the processes of steps S2301 to S2306 shown in FIG. Then, a video request event is issued in step S2205 of FIG. These can be thought of as a selection request process for selectively requesting a received stream.

本実施形態では、上記したような評価工程や選択要求工程を実現する手段をそれぞれ独立した処理モジュールとして構成することより、選択肢の評価基準や受信ストリームの選択基準に自由度を持たせることを容易にする。   In the present embodiment, the means for realizing the evaluation process and the selection request process as described above are configured as independent processing modules, so that it is easy to give flexibility to the evaluation standard for options and the selection standard for received streams. To.

本実施形態に係る映像配信システムの構成は図1に示した構成と同様である。また、クライアント109の構成は実施形態6で説明した図14の構成と同様である。ただし、クライアント109のメモリ2003に格納される内容は、図30に示すとおりである。これは実施形態6に係る図15とほぼ同様であるが、対照すると分かるように、本実施形態に係る図30にはベンチマークプログラム2140のかわりに、選択要求プログラム2145が含まれている。   The configuration of the video distribution system according to the present embodiment is the same as the configuration shown in FIG. The configuration of the client 109 is the same as the configuration of FIG. 14 described in the sixth embodiment. However, the contents stored in the memory 2003 of the client 109 are as shown in FIG. Although this is almost the same as FIG. 15 according to the sixth embodiment, as can be seen from comparison, FIG. 30 according to the present embodiment includes a selection request program 2145 instead of the benchmark program 2140.

他方、映像配信サーバ100のメモリ104に格納される内容は、図31に示すとおりである。これは実施形態7に係る図20とほぼ同様であるが、対照すると分かるように、本実施形態に係る図31には、選択肢評価プログラム240が追加的に含まれている。   On the other hand, the contents stored in the memory 104 of the video distribution server 100 are as shown in FIG. This is substantially the same as FIG. 20 according to the seventh embodiment, but as can be seen from the comparison, FIG. 31 according to the present embodiment additionally includes an option evaluation program 240.

図32は、本実施形態における映像配信サーバ100による選択肢評価処理を示すフローチャートである。このフローチャートに対応するプログラムが選択肢評価プログラム240である。   FIG. 32 is a flowchart showing option evaluation processing by the video distribution server 100 in the present embodiment. A program corresponding to this flowchart is an option evaluation program 240.

まずステップS6101で、評価に必要な情報(接続情報260、接続要求イベントから抽出される要求画像属性、上限値X等を含む。)を読み込む。次にステップS6102で、読み込んだ情報を基に、評価関数Sにより選択肢が求められる。   First, in step S6101, information necessary for evaluation (including connection information 260, a request image attribute extracted from a connection request event, an upper limit value X, and the like) is read. Next, in step S6102, options are obtained by the evaluation function S based on the read information.

たとえば、映像配信サーバ100の余力の範囲内で提供可能な映像ストリームの候補を選択肢としてクライアントに通知するようにした実施形態3についていえば、評価関数Sは、図11に示したステップS1002(全体負荷Fの計算)、ステップS1008(余力Yの計算)、およびステップS1009(選択肢の生成)の各処理を実現する関数である。   For example, in the third embodiment in which a video stream candidate that can be provided within the range of the available capacity of the video distribution server 100 is notified to the client as an option, the evaluation function S is the step S1002 shown in FIG. This is a function that realizes the respective processes of calculation of load F), step S1008 (calculation of remaining power Y), and step S1009 (generation of options).

また、映像配信サーバ100の余力の範囲内で提供可能な映像ストリームの属性の候補を、各属性に設定される優先度の情報を考慮して求め、それを選択肢としてクライアントに通知するようにした実施形態7についていえば、評価関数Sは、図21に示したステップS5102(全体負荷Fの計算)、ステップS5104(余力Yの計算)、およびステップS5105(優先度別選択肢作成処理)の各処理に実現する関数である。   Also, video stream attribute candidates that can be provided within the capacity of the video distribution server 100 are determined in consideration of the priority information set for each attribute, and this is notified to the client as an option. Speaking of the seventh embodiment, the evaluation function S includes each process of step S5102 (calculation of the total load F), step S5104 (calculation of remaining power Y), and step S5105 (option creation process by priority) shown in FIG. It is a function that realizes.

選択肢評価プログラム240は配信制御プログラム220から独立したモジュールであるから、これが配信制御プログラム220に組み込まれている場合に比べれば、上記のように評価関数Sを任意に変更することが大幅に容易になる。これに伴い、選択肢評価プログラム240がこのような評価関数Sを有する以上、評価関数Sによって実現される処理部分については、もはや配信制御プログラム220自体が有している必要はない。   Since the option evaluation program 240 is a module independent of the distribution control program 220, it is much easier to arbitrarily change the evaluation function S as described above than when the option evaluation program 240 is incorporated in the distribution control program 220. Become. Accordingly, as long as the option evaluation program 240 has such an evaluation function S, the distribution control program 220 itself no longer needs to have a processing part realized by the evaluation function S.

そして、ステップS6103で、その求められた選択肢の情報などを接続要求イベントの発行元のクライアントに通知する。   In step S6103, information about the obtained option is notified to the client that issued the connection request event.

図33は、本実施形態におけるクライアント109による選択要求処理を示すフローチャートである。このフローチャートに対応するプログラムが選択要求プログラム2145であり、CPU2002によって実行される。   FIG. 33 is a flowchart showing selection request processing by the client 109 in this embodiment. The program corresponding to this flowchart is the selection request program 2145 and is executed by the CPU 2002.

まず、ステップS6201で、接続要求イベントが発行されているかどうかを判断する。ここで接続要求イベントが発行されていなければステップS6202に進み、実施形態6のマルチストリーム受信プログラム2100によるステップS2202と同様の処理で、接続要求イベントを発行してこれを映像配信サーバ100に送信し、その後この選択要求処理を終了する。   First, in step S6201, it is determined whether a connection request event has been issued. If a connection request event has not been issued, the process proceeds to step S6202, where a connection request event is issued and transmitted to the video distribution server 100 in the same process as step S2202 by the multi-stream reception program 2100 of the sixth embodiment. Thereafter, the selection request process is terminated.

一方、ステップS6201において接続要求イベントが発行されていない場合にはステップS6203に進み、評価関数Gによって、要求される映像選択が行われる。たとえば、実施形態6についていえば、評価関数Gは、選択肢限定プログラム2120を呼び出す処理に相当する。   On the other hand, if the connection request event has not been issued in step S6201, the process proceeds to step S6203, and the requested video selection is performed by the evaluation function G. For example, in the case of the sixth embodiment, the evaluation function G corresponds to a process of calling the option limiting program 2120.

次に、ステップS6204で、評価関数Gの結果に基づき映像要求が可能かどうかを判断する。映像要求が可能でないと判断した場合にはステップS6205に進み、評価関数Gの結果に応じた接続要求を決定し、続くステップS6202で接続要求イベントを送信発行してこれを映像配信サーバ100に送信し、その後この選択要求処理を終了する。この際、評価関数Gの結果によっては接続要求自体をやめるようにしてもよい。一方、ステップS6204において評価関数Gの結果に基づき映像要求が可能と判断した場合にはステップS6206に進み、実施形態6のマルチストリーム受信プログラム2100によるステップS2205と同様に映像要求イベントを発行してこれを映像配信サーバ100に送信し、その後この選択要求処理を終了する。   Next, in step S6204, it is determined based on the result of the evaluation function G whether a video request is possible. If it is determined that a video request is not possible, the process advances to step S6205 to determine a connection request according to the result of the evaluation function G, and in step S6202, a connection request event is transmitted and issued, and this is transmitted to the video distribution server 100. Then, this selection request process is terminated. At this time, the connection request itself may be stopped depending on the result of the evaluation function G. On the other hand, if it is determined in step S6204 that a video request is possible based on the result of the evaluation function G, the process advances to step S6206 to issue a video request event in the same manner as in step S2205 by the multi-stream reception program 2100 of the sixth embodiment. Is transmitted to the video distribution server 100, and then the selection request process is terminated.

本実施形態は、映像配信サーバ100において、選択肢の生成に係る処理部分を配信制御プログラム220から独立したモジュールで構成したことにその特徴がある。これにより、任意の評価関数Sを容易に記述することができる。   The present embodiment is characterized in that, in the video distribution server 100, a processing portion related to option generation is configured by a module independent of the distribution control program 220. Thereby, an arbitrary evaluation function S can be described easily.

また、クライアント109においても同様に、接続要求イベントおよび映像要求イベントの発行に係る選択要求処理部分をストリーム受信プログラム2100から独立したモジュールで構成した。これにより、任意の評価関数Gを容易に記述することができる。   Similarly, in the client 109, the selection request processing part related to the issuance of the connection request event and the video request event is configured by a module independent of the stream reception program 2100. Thereby, an arbitrary evaluation function G can be described easily.

(実施形態11)
以下では、実施形態10で説明した評価関数SまたはGのバリエーションについて説明する。
(Embodiment 11)
Hereinafter, variations of the evaluation function S or G described in the tenth embodiment will be described.

例えば、マルチストリーム配信を対価の支払いに応じた優先度の更新を実現することができる。   For example, it is possible to realize the update of the priority according to the payment of the price for the multi-stream distribution.

まず、クライアント109は、実施形態10の選択要求プログラム2145によるステップS6201と同様の処理において、最初の接続要求を行う際に、ユーザ認証によるユーザ情報と、今回の接続に対する対価(金額)情報とを接続要求イベントに含めてこれをステップS6202で発行する。   First, in the same process as step S6201 by the selection request program 2145 of the tenth embodiment, the client 109 obtains user information by user authentication and consideration (amount) information for the current connection when making a first connection request. This is included in the connection request event and issued in step S6202.

これに応じて、映像配信サーバ100は、実施形態10の選択肢評価プログラム240のステップS6101と同様の処理において、接続要求に対して支払われる対価の情報が読み込まれる。   In response to this, the video distribution server 100 reads the information of the consideration paid for the connection request in the same process as step S6101 of the option evaluation program 240 of the tenth embodiment.

ステップS6102の評価関数Sは実施形態10とほぼ同等である。ただし本実施形態は、読み込んだ対価に応じて当該接続要求に係る優先度を更新する処理を含む(優先度テーブル280が更新される。)。例えば対価100円につき優先度を1上げることができる。具体例を示すと、例えば優先度10のビューワのユーザが100円支払うことで優先度9とすることができる。このようにユーザは対価を払うことで優先度を上げて接続することができる。   The evaluation function S in step S6102 is almost equivalent to that in the tenth embodiment. However, the present embodiment includes a process of updating the priority related to the connection request according to the read consideration (the priority table 280 is updated). For example, the priority can be increased by 1 for every 100 yen of consideration. As a specific example, for example, a viewer with a priority of 10 can set the priority to 9 by paying 100 yen. In this way, the user can connect with a higher priority by paying a consideration.

また、例えば、接続回数に応じたいわゆるポイント加算による優先度の更新を実現することができる。   In addition, for example, it is possible to implement priority update by so-called point addition according to the number of connections.

まず、クライアント109は、実施形態10の選択要求プログラム2145によるステップS6201と同様の処理において、最初の接続要求を行う際に、ユーザ認証によるユーザ情報を接続要求イベントに含めてこれをステップS6202で発行する。   First, in the same process as step S6201 by the selection request program 2145 of the tenth embodiment, the client 109 includes user information by user authentication in a connection request event and issues it in step S6202 when making a first connection request. To do.

これに応じて、映像配信サーバ100は、実施形態10の選択肢評価プログラム240のステップS6101と同様の処理において、接続要求に対するユーザ認証情報が読み込まれる。   In response to this, the video distribution server 100 reads the user authentication information for the connection request in the same process as step S6101 of the option evaluation program 240 of the tenth embodiment.

ステップS6102の評価関数Sは実施形態10とほぼ同様である。ただし本実施形態は、ユーザ別にその接続回数に応じたポイントを管理し、ポイント数に応じて優先度を更新する(優先度テーブル280が更新される。)。例えば、ユーザAのポイント累計が100ポイントとなった時点でユーザAの優先度を1上げるようにする。具体例を示すと、例えば優先度10のビューワのユーザが100回の接続を行うことで優先度9とすることができる。このようにユーザは接続を重ねることで優先度を上げて接続することができる。   The evaluation function S in step S6102 is substantially the same as in the tenth embodiment. However, according to the present embodiment, points corresponding to the number of connections are managed for each user, and the priority is updated according to the number of points (the priority table 280 is updated). For example, the priority of the user A is increased by 1 when the accumulated point of the user A reaches 100 points. To give a specific example, for example, a user of a viewer with a priority of 10 can set the priority to 9 by making 100 connections. In this way, the user can connect by increasing the priority by overlapping the connections.

また、例えば、マルチストリーム配信を競り落とすことによる優先度の更新を実現することができる。   Further, for example, it is possible to realize priority update by bidding for multi-stream distribution.

まず、クライアント109は、実施形態10の選択要求プログラム2140によるステップS6201と同様の処理において、最初の接続要求を行う際に、ユーザ認証によるユーザ情報と、今回の接続に対する入札金額(オークション)情報を接続要求イベントに含めてこれをステップS6202で発行する。   First, in the same process as step S6201 by the selection request program 2140 of the tenth embodiment, the client 109 receives user information based on user authentication and bid amount (auction) information for the current connection when making a first connection request. This is included in the connection request event and issued in step S6202.

これに応じて、映像配信サーバ100は、実施形態10の選択肢評価プログラム240のステップS6101と同様の処理において、接続要求に係る入札金額の情報が読み込まれる。   In response to this, the video distribution server 100 reads the bid amount information related to the connection request in the same process as step S6101 of the option evaluation program 240 of the tenth embodiment.

ステップS6102の評価関数Sは実施形態10とほぼ同様である。ただし本実施形態は、読み込んだ入札金額に応じて当該接続要求に係る優先度を更新する処理を含む(優先度テーブル280が更新される。)例えば、複数のユーザA、B、Cがそれぞれ、100円、200円、300円で接続要求した場合、Cの優先度を0、A、Bの優先度を100とすることで、実質的にユーザCのみを優先的に接続させるようなことができる。   The evaluation function S in step S6102 is substantially the same as in the tenth embodiment. However, this embodiment includes a process of updating the priority related to the connection request according to the read bid amount (the priority table 280 is updated.) For example, each of a plurality of users A, B, and C When a connection request is made at 100 yen, 200 yen, and 300 yen, the priority of C is set to 0, and the priority of A and B is set to 100, so that only the user C is substantially preferentially connected. it can.

また、例えば、映像配信サーバ100の余力がなく接続をあきらめた場合に、後に使えるポイント、クーポンなどを発行してもらうことに伴う優先度の更新を実現することができる。   Further, for example, when the video distribution server 100 has no remaining capacity and gives up the connection, it is possible to realize the priority update associated with issuing points, coupons, etc. that can be used later.

まず、クライアント109は、実施形態10の選択要求プログラム2140のステップS6201と同様の処理において、最初の接続要求を行う際に、ユーザ認証によるユーザ情報と、特定のストリーム接続の要求とを接続要求イベントに含めてこれをステップS6202で発行する。   First, in the same process as step S6201 of the selection request program 2140 of the tenth embodiment, when the client 109 makes a first connection request, the client 109 sends user information based on user authentication and a specific stream connection request to the connection request event. This is issued in step S6202.

これに応じて、映像配信サーバ100は、実施形態10の選択肢評価プログラム240のステップS6101と同様の処理において、ユーザ情報とストリーム属性が読み込まれる。   In response to this, the video distribution server 100 reads the user information and the stream attribute in the same process as step S6101 of the option evaluation program 240 of the tenth embodiment.

ステップS6102の評価関数Sは実施形態10とほぼ同等である。ただし本実施形態は、受け取った特定のストリームへの接続要求が実現できない際(選択肢に含ませることができない場合)に、ユーザに対して所定数のポイントを発行し、一定期間内に同一のユーザが接続してきた際にこのポイント情報に応じて優先度を更新する処理を含む(優先度テーブル280が更新される。)。例えば、1ポイントにつき優先度を1上げることができる。これにより、当初の接続が拒否されたユーザが報われるかたちで接続を実現することができる。   The evaluation function S in step S6102 is almost equivalent to that in the tenth embodiment. However, in the present embodiment, when a connection request to the received specific stream cannot be realized (when the request cannot be included in the option), a predetermined number of points are issued to the user, and the same user within a certain period of time is issued. Includes a process of updating the priority according to the point information when the connection is made (the priority table 280 is updated). For example, the priority can be increased by 1 per point. As a result, the connection can be realized in such a way that the user whose initial connection is rejected is rewarded.

以上のように、対価、接続数、ポイントなどによって、特定の優先度を上げることについて述べたが、もちろん、逆に、該当クライアント(またはユーザ)以外のクライアント(またはユーザ)の優先度を下げることによっても同様の効果を得ることができる。この場合、図27の優先度別選択肢作成プログラム230によるステップS5705で述べたように、減算されたユーザの方が接続拒否対象となる場合が出てくることとなり、実質的に他のユーザの優先度を上げることが実現できる。なお、このステップS5706で接続拒否する場合には、接続拒否の対象となった優先度を初期値に戻しておくこともできる。初期値に戻さない場合は、ユーザが何らかの対価、ポイントなどを払うことで元に戻していくことが実現されるし、初期値に戻す場合は初期接続において皆平等ということが実現される。   As described above, the specific priority is raised by consideration, the number of connections, points, etc. Of course, of course, the priority of clients (or users) other than the corresponding client (or user) is lowered. The same effect can be obtained also. In this case, as described in step S5705 by the priority-specific option creation program 230 in FIG. 27, the subtracted user may become a connection refusal target. It is possible to increase the degree. Note that when the connection is rejected in step S5706, the priority that is the object of connection rejection can be returned to the initial value. When not returning to the initial value, it is realized that the user returns to the original value by paying some consideration, points, etc., and when returning to the initial value, equality is realized in the initial connection.

(実施形態12)
評価関数SおよびGに関して、更に別のバリエーションを説明する。
Embodiment 12
Still another variation regarding the evaluation functions S and G will be described.

図34は、本実施形態におけるストリーム負荷データの例を示している。このデータ構造は図8に示したストリーム負荷データと同様であるが、画像サイズ640x480のバリエーションとして、320x240の映像を拡大することにより640x480とした映像ストリームが加えられている。同図によれば、通常の640x480の映像ストリームについては、カメラ制御ありのときの負荷が17、カメラ制御なしのときの負荷が16であるのに対し、320x240の映像を拡大して640x480とした映像ストリームについては、カメラ制御ありのときの負荷が9、カメラ制御なしのときの負荷が8となっており、負荷が大きく低減されることがわかる。なお、これは画像サイズ640x480の映像ストリームについての一例であり、他のサイズの映像ストリームについても同様な設定をなしうる。ただしここでは、それらの記述を省略した。   FIG. 34 shows an example of stream load data in the present embodiment. This data structure is the same as the stream load data shown in FIG. 8, but as a variation of the image size 640 × 480, a video stream of 640 × 480 is added by expanding the video of 320 × 240. According to the figure, for a normal 640x480 video stream, the load with camera control is 17 and the load without camera control is 16, whereas the 320x240 video is enlarged to 640x480. As for the video stream, the load when the camera control is performed is 9 and the load when the camera control is not performed is 8. It can be seen that the load is greatly reduced. This is an example of a video stream having an image size of 640 × 480, and similar settings can be made for video streams of other sizes. However, those descriptions are omitted here.

さて、処理対象の接続要求イベントを発行したクライアントが109−5であり、現在、別の4つのクライアント(109−1〜4)が接続されており、そのときの接続情報260が図22に示すとおりであると仮定する。また、上限値Xは70に設定されている。図22の接続情報260を参照すると、クライアント109−1〜4はそれぞれ、
(1)800x600、制御なし
(2)160x120、制御あり
(3)640x480、制御なし
(4)800x600、制御なし
の画像属性を持つ映像を要求していることがわかる。図34のストリーム負荷データ250を参照すると、それぞれの要求にかかる負荷は、25,2,16,25である。そして、全体負荷FはF=25+2+16+25=68である。ここで、クライアント109−5が「640x480、制御あり」の接続要求を発行したとする。このクライアント109−5の要求にかかる負荷fは、図34のストリーム負荷データ250を参照すると、f=17である。そうすると、この場合は、F+f=68+17=85となり、上限値X=70を超えており、このままではクライアント109−5の要求どおりの接続は拒否せざるを得ない。
Now, the client that issued the connection request event to be processed is 109-5, and another four clients (109-1 to 4) are currently connected. The connection information 260 at that time is shown in FIG. Assuming that The upper limit value X is set to 70. Referring to the connection information 260 in FIG.
(1) 800 × 600, no control (2) 160 × 120, with control (3) 640 × 480, no control (4) 800 × 600, it is understood that a video having an image attribute without control is requested. Referring to the stream load data 250 in FIG. 34, the load applied to each request is 25, 2, 16, 25. The total load F is F = 25 + 2 + 16 + 25 = 68. Here, it is assumed that the client 109-5 issues a connection request “640 × 480, with control”. The load f applied to the request of the client 109-5 is f = 17 with reference to the stream load data 250 in FIG. Then, in this case, F + f = 68 + 17 = 85, which exceeds the upper limit value X = 70, and the connection as requested by the client 109-5 must be refused as it is.

そこで、本実施形態では、図34のストリーム負荷データ250に基づいて、図11のステップS1009のような処理いったん作成される選択肢から、通常の「640x480、制御なし」を外し、その代替として、320x240の拡大バージョンである「640x480、制御なし」を加える。さらに、クライアント109−5が要求している「640x480、制御あり」についても、通常の「640x480、制御なし」ではなく320x240の拡大バージョンである「640x480、制御なし」を代用する。これが実現すれば、クライアント109−5の接続を確立した場合の全体負荷F+fはF+f=25+2+8+25+9=69となり、上限値70を越えずに全て接続することが可能となる。このような調整の後、接続要求選択肢変化イベントを発行するようにすればよい。   Therefore, in the present embodiment, the normal “640 × 480, no control” is removed from the options once created in step S1009 in FIG. 11 based on the stream load data 250 in FIG. An extended version of "640x480, no control" is added. Further, for “640 × 480, with control” requested by the client 109-5, “640 × 480, without control”, which is an expanded version of 320 × 240, is used instead of the usual “640 × 480, without control”. If this is realized, the total load F + f when the connection of the client 109-5 is established becomes F + f = 25 + 2 + 8 + 25 + 9 = 69, and all connections can be made without exceeding the upper limit 70. After such adjustment, a connection request option change event may be issued.

そこで、本実施形態では次のような処理を行う。まず、現在の全体負荷F(クライアント109−1〜4にかかる負荷)と処理対象の接続要求に対する負荷(クライアント109−5にかかる負荷)とを推定し、両者の負荷の合計(すなわち、クライアント109−5の接続を確立した場合の全体負荷)が上限値Xを超えるか否かを判定する。ここで上限値Xを超える場合には、ストリーム負荷データに基づいて、いったん抽出した候補の少なくともいずれかを、近似的な属性(要求よりも小さなサイズの画像を拡大させたもの)を有する負荷の小さい別の候補によって代替することを、該当する他のクライアントおよび/またはクライアント109−5に求める。この求めに他のクライアントおよび/またはクライアント109−5が応じ、これにより、クライアント109−5の接続を確立した場合の全体負荷が上限値Xを下回ることになれば、クライアントからの当初の要求に近い接続を実現できることになる。   Therefore, in the present embodiment, the following processing is performed. First, the current overall load F (load applied to the clients 109-1 to 109-4) and the load for the connection request to be processed (load applied to the client 109-5) are estimated, and the total of both loads (that is, the client 109). It is determined whether the total load (when the connection of −5 is established) exceeds the upper limit value X. If the upper limit value X is exceeded, at least one of the candidates extracted once based on the stream load data is a load having an approximate attribute (enlarged image having a size smaller than the request). It asks other applicable clients and / or clients 109-5 to substitute by another small candidate. If another client and / or the client 109-5 responds to this request, and the overall load when the connection of the client 109-5 is established falls below the upper limit value X, the initial request from the client is satisfied. A close connection can be realized.

また、クライアント側でも、図33のステップS6203に示したような評価関数Gによって、例えば「640x480、制御なし」要求時に、それが選択不可の場合には、320x240を拡大したバージョンの「640x480、制御なし」で代用して、ステップS6205で再度選択させるという実施形態も、同様に可能である。   Also, on the client side, if an evaluation function G as shown in step S6203 of FIG. 33, for example, when “640 × 480, no control” is requested, and it cannot be selected, “640 × 480, control of an expanded version of 320 × 240” An embodiment in which “None” is used instead and the selection is performed again in step S6205 is also possible.

(実施形態13)
上述の各実施形態では、映像配信サーバ100の負荷は、各ケースごとの負荷があらかじめ記述されたテーブル(ストリーム負荷データ)に基づいて推定された。この場合、クライアントの接続状態によっては推定と実際とで差が開き、実際にはサーバの処理能力に余裕がある場合であってもクライアントの接続を拒否してしまったり、データ量の少ないストリームの選択肢しか生成されなかったりする場合がある。
(Embodiment 13)
In each of the above-described embodiments, the load on the video distribution server 100 is estimated based on a table (stream load data) in which the load for each case is described in advance. In this case, there is a difference between the estimated and actual depending on the connection status of the client. In fact, even if the server has sufficient processing capacity, the client connection may be refused, or the stream with a small amount of data In some cases, only options are generated.

そこで、本実施形態では映像配信サーバ100のCPUの負荷状態を実際に測定することで、この実測値を用いてサーバの能力をより無駄なく使用するようにする。   Therefore, in the present embodiment, by actually measuring the load state of the CPU of the video distribution server 100, it is possible to use the capacity of the server more efficiently by using this actually measured value.

本実施形態に係る映像配信システムの構成は図1に示した構成と同様である。ただし、メモリ104には、図35に示すように、マルチストリーム作成プログラム210、配信制御プログラム220、カメラ制御プログラム710、接続情報260に加え、CPU負荷測定プログラム1310および、そのCPU負荷測定プログラム1310の実行により生成されるCPU負荷データ1320が格納されている。CPU負荷データ1320は、所定のデータ送信レート(例えば、1kbps)あたりのデータ配信にかかるCPU負荷の指標を表す。   The configuration of the video distribution system according to the present embodiment is the same as the configuration shown in FIG. However, in the memory 104, as shown in FIG. 35, in addition to the multi-stream creation program 210, the distribution control program 220, the camera control program 710, and the connection information 260, the CPU load measurement program 1310 and the CPU load measurement program 1310 are stored. CPU load data 1320 generated by execution is stored. The CPU load data 1320 represents an index of CPU load related to data distribution per predetermined data transmission rate (for example, 1 kbps).

図36はCPU負荷データ1320の構造例を示す図である。3401はシステムの初期状態でのCPUの処理能力をあらわす値(無負荷データ)、3405は800x600のサイズの画像を圧縮する場合のCPUの必要処理能力を示す値、3402は640x480のサイズの画像を圧縮する場合のCPUの必要処理能力を示す値、3403は320x240のサイズの画像を圧縮する場合のCPUの必要処理能力を示す値、3404は160x120のサイズの画像を圧縮する場合のCPUの必要処理能力を示す値である。3406は配信時にかかるCPUの必要処理能力を示す値である。   FIG. 36 is a diagram illustrating a structure example of the CPU load data 1320. 3401 is a value indicating the processing capacity of the CPU in the initial state of the system (no-load data), 3405 is a value indicating the necessary processing capacity of the CPU when compressing an image of 800 × 600 size, and 3402 is an image of a size of 640 × 480. A value indicating the required processing capacity of the CPU when compressing, 3403 is a value indicating the required processing capacity of the CPU when compressing an image having a size of 320 × 240, and 3404 is a required process of the CPU when compressing an image having a size of 160 × 120 It is a value indicating the ability. Reference numeral 3406 denotes a value indicating the necessary processing capacity of the CPU at the time of distribution.

また、本実施形態における接続情報260は、図39に示すようなデータ構造を有する。本実施形態における接続情報260には、同図に示すように、現在接続されているクライアントとそのクライアントから要求されている画像サイズ、ならびにそのクライアントの接続に係る画像送信レートが記述されている。   Further, the connection information 260 in the present embodiment has a data structure as shown in FIG. In the connection information 260 in the present embodiment, as shown in the figure, the currently connected client, the image size requested from the client, and the image transmission rate related to the connection of the client are described.

図37は、本実施形態におけるマルチストリーム作成処理を示すフローチャートである。このフローチャートは図3とほぼ同様であるが、相違する点は、本実施形態では、ステップS301とS302との間で、ステップS1301としてCPU負荷測定プログラム1310が起動され点と、ステップS361における配信制御処理が、図38のフローチャートに従って行われる点である。   FIG. 37 is a flowchart showing multi-stream creation processing in the present embodiment. This flowchart is almost the same as that in FIG. 3 except that in this embodiment, the CPU load measurement program 1310 is started as step S1301 between steps S301 and S302, and the distribution control in step S361 is performed. Processing is performed according to the flowchart of FIG.

ステップS1301において、CPU測定プログラム1310が起動すると、まず、圧縮処理も動いておらずクライアントも接続されない初期状態でのCPU負荷が測定される。ここでは、一定時間内に特定の処理を行った回数を基本としてCPUの処理能力が測定され、得られた値がCPUの処理能力の上限値データ(無負荷データ)3401としてメモリ104上に保存される。   In step S1301, when the CPU measurement program 1310 is activated, first, the CPU load in the initial state in which the compression process is not operating and the client is not connected is measured. Here, the CPU processing capacity is measured based on the number of times specific processing has been performed within a predetermined time, and the obtained value is stored in the memory 104 as upper limit data (no-load data) 3401 of the CPU processing capacity. Is done.

次に圧縮処理にかかるCPU負荷を測定するために、圧縮処理が開始される。このとき、画像サイズ毎のCPU負荷が無負荷状態の場合と同様の方法で測定される。これにより160x120、320x240、640x480、800x600の4種類のサイズについて圧縮処理で必要とされるCPUの負荷がそれぞれ測定されて、圧縮負荷基準値データ3404、3403、3402、3405としてそれぞれメモリ104上に保存される。   Next, in order to measure the CPU load for the compression process, the compression process is started. At this time, the CPU load for each image size is measured by the same method as in the no-load state. As a result, the CPU load required for the compression processing is measured for each of four sizes of 160 × 120, 320 × 240, 640 × 480, and 800 × 600, and is stored in the memory 104 as compressed load reference value data 3404, 3403, 3402, and 3405, respectively. Is done.

次に、ステップS361における配信制御処理を、図38のフローチャートを用いて説明する。   Next, the distribution control processing in step S361 will be described using the flowchart of FIG.

まず、ステップS3301で、接続要求イベントに含まれる要求画像属性を読み込み、ステップS3302で、図39に示したような接続情報260を読み込む。   First, in step S3301, the requested image attribute included in the connection request event is read, and in step S3302, connection information 260 as shown in FIG. 39 is read.

次に、ステップS3303で、接続情報260の各接続ごとに送信を行う画像データサイズとCPU負荷データ250を掛け合わせた負荷データ、さらに要求画像の属性毎の圧縮にかかるCPU負荷データを加算していくことで全体負荷F30が総和として求められる。   Next, in step S3303, the load data obtained by multiplying the image data size transmitted for each connection of the connection information 260 and the CPU load data 250, and the CPU load data for compression for each attribute of the requested image are added. Thus, the total load F30 is obtained as a sum.

例えば、図39に示した接続情報260の場合、クライアント(ビューワ)109−1と109−2の接続があり、それぞれ640x480と160x120の画像で、画像送信レート30の属性を持つ映像を要求していることがわかる。ここで、640x480の画像データサイズをD3001kbyte、160x120の画像データサイズをD3003kbyte、単位送信レートあたりのCPUの配信負荷データ(3406)F3006、640x480のデータ圧縮にかかる負荷データ(3402)をF3402、160x120のデータ圧縮にかかる負荷データ(3404)をF3404、とすると、全体負荷F30は、
F30=D3001×8×F3006×30
+D3003×8×F3006×30
+F3402+F3404
となる。
For example, in the case of the connection information 260 shown in FIG. 39, there is a connection between the clients (viewers) 109-1 and 109-2, requesting a video having an attribute of the image transmission rate 30 with images of 640x480 and 160x120 respectively. I understand that. Here, the image data size of 640 × 480 is D3001 kbyte, the image data size of 160 × 120 is D3003 kbyte, the distribution load data of CPU per unit transmission rate (3406), the load data (3402) for data compression of F3006, 640 × 480 is F3402, 160 × 120 Assuming that the load data (3404) for data compression is F3404, the overall load F30 is:
F30 = D3001 × 8 × F3006 × 30
+ D3003 × 8 × F3006 × 30
+ F3402 + F3404
It becomes.

次に、ステップS3304で、今回要求されている属性に対する負荷f30を同様の方法で求める。例えば、320x240の画像属性を持つ画像が要求されている場合、画像サイズをD3002byte、320x240のデータ圧縮にかかる負荷データ(3403)をF3403、とすると、
f30=D3002×8×F3006×30+F3403
となる。
Next, in step S3304, the load f30 for the attribute currently requested is obtained by the same method. For example, when an image having an image attribute of 320 × 240 is requested, if the image size is D3002 bytes and the load data (3403) required for data compression of 320 × 240 is F3403,
f30 = D3002 × 8 × F3006 × 30 + F3403
It becomes.

ステップS3305で、はじめに実測された無負荷データすなわち上限値(3401)をX30として読み込み、ステップS3306で、このX30とF30+f30と比較する。   In step S3305, the actually measured no-load data, that is, the upper limit value (3401) is read as X30, and in step S3306, this X30 is compared with F30 + f30.

比較の結果、X30がF30+f30より大きい場合には、今回要求されている接続を許可してもサーバの処理の上限を超えることはない。そこでこの場合には、ステップS3307に進み、要求されている接続を接続情報260に追加登録してメモリ104に保存する。その後、ステップS3308で映像要求イベントを発生して、この配信制御処理を終了する。   As a result of the comparison, if X30 is larger than F30 + f30, the upper limit of the server processing is not exceeded even if the currently requested connection is permitted. In this case, the process advances to step S3307, and the requested connection is additionally registered in the connection information 260 and stored in the memory 104. Thereafter, a video request event is generated in step S3308, and this distribution control process is terminated.

一方、ステップS3306の比較の結果、X30がF30+f30以下である場合には、今回要求されている接続を許可するとサーバの処理能力の上限を超えてしまう。そこでこの場合には、ステップS3309で、接続要求に対する拒否応答を返し、その後この配信制御制御処理を終了する。   On the other hand, as a result of the comparison in step S3306, if X30 is F30 + f30 or less, if the currently requested connection is permitted, the upper limit of the processing capacity of the server will be exceeded. Therefore, in this case, a rejection response to the connection request is returned in step S3309, and then this distribution control control process is terminated.

ここで、要求されている接続の画像サイズがすでに配信を行っている接続と同一の画像サイズである場合、画像圧縮にかかるCPU負荷をさらに追加する必要はない。例えば、すでに配信を行っている160x120の画像サイズを持つ画像が要求されている場合、画像サイズをD3003byteとし、画像送信レートを30とすると、
f30=D3002×8×F3006×30
となる。
Here, when the image size of the requested connection is the same as that of the connection that has already been distributed, it is not necessary to add an additional CPU load for image compression. For example, when an image having an image size of 160 × 120 that has already been distributed is requested, if the image size is D3003 bytes and the image transmission rate is 30,
f30 = D3002 × 8 × F3006 × 30
It becomes.

また、複数のネットワークインターフェースを持つシステムの場合、例えば有線LAN接続と無線LAN接続、モデム接続ではそれぞれ、データ配信にかかるCPUの負荷に大きな違いがある。このような場合、それぞれのインターフェース毎に配送負荷情報を持つことでより正確なCPUの負荷状況を知ることが可能となる。   In the case of a system having a plurality of network interfaces, for example, a wired LAN connection, a wireless LAN connection, and a modem connection have large differences in the CPU load for data distribution. In such a case, it is possible to know a more accurate CPU load status by having distribution load information for each interface.

本実施形態では特定のデータ送信レートにかかるCPUの負荷データを一定のものとして扱ったが、実際に送信を行い、CPUの負荷データを測定することでより正確なCPUに対する負荷状況を求めることでより好適なマルチストリーム配送を行うこともできる。   In this embodiment, the load data of the CPU related to a specific data transmission rate is treated as constant, but by actually transmitting and measuring the load data of the CPU, it is possible to obtain a more accurate load status for the CPU. More suitable multi-stream delivery can also be performed.

以上のようにすることで、映像配信システムの処理能力の上限値以下で、マルチストリーム配信が可能となる。   By doing as described above, multi-stream distribution becomes possible with an upper limit value of the processing capability of the video distribution system.

(他の実施形態)
以上、本発明の実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
(Other embodiments)
As mentioned above, although embodiment of this invention was explained in full detail, this invention may be applied to the system comprised from several apparatuses, and may be applied to the apparatus which consists of one apparatus.

なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成される。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。   In the present invention, a software program that realizes the functions of the above-described embodiments is directly or remotely supplied to a system or apparatus, and the computer of the system or apparatus reads and executes the supplied program code. Is also achieved. In that case, as long as it has the function of a program, the form does not need to be a program.

従って、本発明の機能処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体およびそのプログラムを格納した記憶媒体も本発明を構成することになる。つまり、本発明の特許請求の範囲には、本発明の機能処理を実現するためのコンピュータプログラム自体、およびそのプログラムを格納した記憶媒体も含まれる。   Therefore, in order to realize the functional processing of the present invention with a computer, the program code itself installed in the computer and the storage medium storing the program also constitute the present invention. In other words, the claims of the present invention include the computer program itself for realizing the functional processing of the present invention and a storage medium storing the program.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。   In this case, the program may be in any form as long as it has a program function, such as an object code, a program executed by an interpreter, or script data supplied to the OS.

プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などがある。   As a storage medium for supplying the program, for example, flexible disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card, ROM, DVD (DVD-ROM, DVD-R).

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、そのホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。   As another program supply method, a client computer browser is used to connect to an Internet homepage, and the computer program of the present invention itself or a compressed file including an automatic installation function is downloaded from the homepage to a storage medium such as a hard disk. Can also be supplied. It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the claims of the present invention.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. It is also possible to execute the encrypted program by using the key information and install the program on a computer.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。   In addition to the functions of the above-described embodiments being realized by the computer executing the read program, the OS running on the computer based on the instruction of the program is a part of the actual processing. Alternatively, the functions of the above-described embodiment can be realized by performing all of the processes.

さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。   Furthermore, after the program read from the storage medium is written to a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion board or The CPU or the like provided in the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.

図1は、本発明の実施形態に係る映像配信システムの構成図である。FIG. 1 is a configuration diagram of a video distribution system according to an embodiment of the present invention. 図2は、実施形態1における映像配信サーバのメモリに格納されるプログラムおよびデータを示す図である。FIG. 2 is a diagram illustrating programs and data stored in the memory of the video distribution server according to the first embodiment. 図3は、実施形態1における映像配信サーバによるマルチストリーム作成処理を示すフローチャートである。FIG. 3 is a flowchart showing multistream creation processing by the video distribution server in the first embodiment. 図4は、実施形態1におけるストリーム負荷データの構造例を示す図である。FIG. 4 is a diagram illustrating a structure example of stream load data according to the first embodiment. 図5は、実施形態1における接続情報の構造例を示す図である。FIG. 5 is a diagram illustrating a structure example of connection information in the first embodiment. 図6は、実施形態1における配信制御処理を示すフロチャートである。FIG. 6 is a flowchart showing the distribution control process in the first embodiment. 図7は、実施形態2における映像配信サーバのメモリに格納されるプログラムおよびデータを示す図である。FIG. 7 is a diagram illustrating programs and data stored in the memory of the video distribution server according to the second embodiment. 図8は、実施形態2におけるストリーム負荷データの構造例を示す図である。FIG. 8 is a diagram illustrating a structure example of stream load data according to the second embodiment. 図9は、実施形態1における接続情報の構造例を示す図である。FIG. 9 is a diagram illustrating a structure example of connection information in the first embodiment. 図10は、実施形態3における映像配信サーバのメモリに格納されるプログラムおよびデータを示す図である。FIG. 10 is a diagram illustrating programs and data stored in the memory of the video distribution server according to the third embodiment. 図11は、実施形態3における配信制御処理を示すフローチャートである。FIG. 11 is a flowchart illustrating distribution control processing according to the third embodiment. 図12は、実施形態3におけるストリーム選択肢情報の構造例を示す図である。FIG. 12 is a diagram illustrating a structure example of stream option information according to the third embodiment. 図13は、実施形態4におけるマルチストリーム作成処理を示すフローチャートである。FIG. 13 is a flowchart illustrating multistream creation processing according to the fourth embodiment. 図14は、本発明の実施形態におけるビューワ(クライアント)の構成示す図である。FIG. 14 is a diagram showing a configuration of a viewer (client) in the embodiment of the present invention. 図15は、実施形態6におけるクライアントのメモリに格納されるプログラムおよびデータを示す図である。FIG. 15 is a diagram illustrating programs and data stored in the client memory according to the sixth embodiment. 図16は、実施形態6におけるマルチストリーム受信処理を示すフローチャートである。FIG. 16 is a flowchart illustrating multistream reception processing according to the sixth embodiment. 図17は、実施形態6における選択肢限定処理を示すフローチャートである。FIG. 17 is a flowchart illustrating the option limiting process according to the sixth embodiment. 図18は、実施形態6におけるクライアントストリーム負荷データの構造例を示す図である。FIG. 18 is a diagram illustrating a structure example of client stream load data according to the sixth embodiment. 図19は、実施形態6におけるストリーム選択肢情報の構造例を示す図である。FIG. 19 is a diagram illustrating a structure example of stream option information according to the sixth embodiment. 図20は、実施形態7における映像配信サーバのメモリに格納されるプログラムおよびデータを示す図である。FIG. 20 is a diagram illustrating programs and data stored in the memory of the video distribution server according to the seventh embodiment. 図21は、実施形態7における配信制御処理を示すフロチャートである。FIG. 21 is a flowchart showing the distribution control process in the seventh embodiment. 図22は、実施形態7における接続情報の例を示す図である。FIG. 22 is a diagram illustrating an example of connection information in the seventh embodiment. 図23は、実施形態7における優先度別選択肢作成処理を示すフロチャートである。FIG. 23 is a flowchart showing option creation processing by priority according to the seventh embodiment. 図24は、実施形態7における優先度テーブルの構造例を示す図である。FIG. 24 is a diagram illustrating a structure example of a priority table in the seventh embodiment. 図25は、実施形態7における優先度別ストリーム負荷想定データの例を示す図である。FIG. 25 is a diagram illustrating an example of priority-based stream load assumption data according to the seventh embodiment. 図26は、実施形態7におけるストリーム選択肢情報の例を示す図である。FIG. 26 is a diagram illustrating an example of stream option information according to the seventh embodiment. 図27は、実施形態8における優先度別選択肢作成処理を示すフロチャートである。FIG. 27 is a flowchart showing option creation processing by priority according to the eighth embodiment. 図28は、実施形態9における優先度テーブルの構造例を示す図である。FIG. 28 is a diagram illustrating a structure example of a priority table in the ninth embodiment. 図29は、実施形態9における優先度別ストリーム負荷想定データの例を示す図である。FIG. 29 is a diagram illustrating an example of priority-specific stream load assumption data according to the ninth embodiment. 図30は、実施形態10におけるクライアントのメモリに格納されるプログラムおよびデータを示す図である。FIG. 30 is a diagram illustrating programs and data stored in the client memory according to the tenth embodiment. 図31は、実施形態10における映像配信サーバのメモリに格納されるプログラムおよびデータを示す図である。FIG. 31 is a diagram illustrating programs and data stored in the memory of the video distribution server according to the tenth embodiment. 図32は、実施形態10における映像配信サーバによる選択肢評価処理を示すフローチャートである。FIG. 32 is a flowchart illustrating option evaluation processing by the video distribution server according to the tenth embodiment. 図33は、実施形態10におけるクライアントによる選択要求処理を示すフローチャートである。FIG. 33 is a flowchart illustrating selection request processing by a client according to the tenth embodiment. 図34は、実施形態12におけるストリーム負荷データの例を示す図である。FIG. 34 is a diagram illustrating an example of stream load data according to the twelfth embodiment. 図35は、実施形態13における映像配信サーバのメモリに格納されるプログラムおよびデータを示す図である。FIG. 35 is a diagram illustrating programs and data stored in the memory of the video distribution server according to the thirteenth embodiment. 図36は、実施形態13におけるCPU負荷データの構造例を示す図である。FIG. 36 is a diagram illustrating a structure example of CPU load data according to the thirteenth embodiment. 図37は、実施形態13におけるマルチストリーム作成処理を示すフローチャートである。FIG. 37 is a flowchart illustrating multistream creation processing according to the thirteenth embodiment. 図38は、実施形態13における配信制御処理を示すフローチャートである。FIG. 38 is a flowchart illustrating distribution control processing according to the thirteenth embodiment. 図39は、実施形態13における接続情報の構造例を示す図である。FIG. 39 is a diagram illustrating a structure example of connection information in the thirteenth embodiment.

Claims (6)

像ストリームを配信する映像配信装置であって、
撮像装置を制御する制御手段と、
判定手段であって、
撮像装置の制御要求と映像ストリームの配信要求を含む要求を送信した一のクライアントに前記撮像装置の制御と共に映像ストリームの配信を許可するか否かを、他のクライアントに対する映像ストリームの配信にかかる処理負荷の合計値、及び、前記撮像装置を制御する前記制御手段の処理負荷と前記一のクライアントから要求された映像ストリームの配信にかかる処理負荷に基づいて判定すると共に、
前記一のクライアントに前記撮像装置の制御は許可せずに前記映像ストリームの配信を許可することが可能であるか否かを、前記他のクライアントに対する映像ストリームの配信にかかる処理負荷の合計値、及び、前記一のクライアントから要求された映像ストリームの配信にかかる処理負荷に基づいて判定する
ことが可能な判定手段と、
前記判定手段により、前記一のクライアントに対して前記撮像装置の制御と共に映像ストリームの配信を許可しないと判定され、前記撮像装置の制御は許可せずに前記映像ストリームの配信を許可することが可能であると判定された場合、前記一のクライアントに対して前記撮像装置の制御は許可せずに前記映像ストリームの配信を許可することを示す許可情報を通知する通知手段と、
を有することを特徴とする映像配信装置。
A video distribution apparatus for distributing movies image stream,
Control means for controlling the imaging device;
A determination means,
Processing relating to distribution of video streams to other clients, whether or not to permit distribution of video streams together with control of the imaging apparatus to one client that has transmitted a request including a control request of the imaging device and a distribution request of the video stream A determination is made based on the total load, the processing load of the control means for controlling the imaging device, and the processing load related to the delivery of the video stream requested from the one client,
Whether or not it is possible to permit the delivery of the video stream without allowing the one client to control the imaging device, and the total value of the processing load related to the delivery of the video stream to the other client, And determining based on the processing load related to the delivery of the video stream requested by the one client.
Determination means capable of
The determination means determines that distribution of the video stream is not permitted together with the control of the imaging device to the one client, and the distribution of the video stream can be permitted without permitting the control of the imaging device. A notification means for notifying the one client of permission information indicating permission to distribute the video stream without allowing control of the imaging device;
A video distribution apparatus comprising:
前記判定手段は、前記撮像装置の制御と共に前記配信要求に応じた第1の映像ストリームよりも画像サイズが小さい第2の映像ストリームの配信を許可することが可能であるか否かを、前記他のクライアントに対する映像ストリームの配信にかかる処理負荷の合計値、及び、前記撮像装置を制御する前記制御手段の処理負荷と前記第2の映像ストリームの配信にかかる処理負荷に基づいて判定することが可能であり、
前記通知手段は、前記判定手段により、前記一のクライアントに対して前記撮像装置の制御と共に前記第1の映像ストリームの配信を許可しないと判定され、前記撮像装置の制御と共に前記第1の映像ストリームの画像サイズよりも小さい前記第2の映像ストリームの配信を許可することが可能であると判定された場合、前記一のクライアントに対して前記撮像装置の制御と共に前記第2の映像ストリームの配信を許可することを示す許可情報を通知する
ことを特徴とする請求項1に記載の映像配信装置。
Whether the determination means can permit distribution of a second video stream having an image size smaller than that of the first video stream in response to the distribution request in conjunction with the control of the imaging device. It is possible to make a determination based on the total processing load related to the delivery of the video stream to the client, the processing load of the control means for controlling the imaging device, and the processing load related to the delivery of the second video stream And
The notification means determines that the determination means does not permit the delivery of the first video stream together with the control of the imaging device to the one client, and the first video stream together with the control of the imaging device. When it is determined that the distribution of the second video stream smaller than the image size of the second video stream can be permitted, the second video stream is distributed to the one client together with the control of the imaging device. The video distribution apparatus according to claim 1, wherein permission information indicating permission is notified .
前記通知手段は、
前記他のクライアントに対する映像ストリームの配信にかかる処理負荷と、前記映像配信装置に設定される処理負荷の上限値のうち、少なくともいずれかの変化に応じて、前記一のクライアントからの要求に応じた前記撮像装置の制御と共に前記映像ストリームの配信を許可すると前記判定手段により判定された場合、前記撮像装置の制御と共に映像ストリームの配信を許可することを示す許可情報を通知する
ことを特徴とする請求項に記載の映像配信装置。
The notification means includes
Responding to a request from the one client according to a change in at least one of a processing load relating to the delivery of the video stream to the other client and an upper limit value of the processing load set in the video delivery device When the determination unit determines that distribution of the video stream is permitted together with the control of the imaging apparatus, permission information indicating that distribution of the video stream is permitted is notified together with the control of the imaging apparatus. Item 2. The video distribution device according to Item 1 .
映像ストリームの配信にかかる処理負荷を実測する実測手段を有し、
前記判定手段は、前記一のクライアントに前記撮像装置の制御と共に映像ストリームの配信を許可するか否かを、前記実測手段によって実測された前記他のクライアントに対する映像ストリームの配信負荷の合計値に基づいて判定する
ことを特徴とする請求項1に記載の映像配信装置。
Having an actual measurement means for actually measuring the processing load related to the distribution of the video stream ;
The determination unit determines whether to permit the one client to distribute the video stream together with the control of the imaging device, based on a total value of the distribution load of the video stream to the other client measured by the actual measurement unit. The video distribution apparatus according to claim 1, wherein the determination is performed .
像ストリームを配信するための映像配信方法であって、
撮像装置を制御する制御ステップと、
判定ステップであって、
撮像装置の制御要求と映像ストリームの配信要求を含む要求を送信した一のクライアントに前記撮像装置の制御と共に映像ストリームの配信を許可するか否かを、他のクライアントに対する映像ストリームの配信にかかる処理負荷の合計値、及び、前記撮像装置を制御する前記制御ステップの処理負荷と前記一のクライアントから要求された映像ストリームの配信にかかる処理負荷に基づいて判定すると共に、
前記一のクライアントに前記撮像装置の制御は許可せずに前記映像ストリームの配信を許可することが可能であるか否かを、前記他のクライアントに対する映像ストリームの配信にかかる処理負荷の合計値、及び、前記一のクライアントから要求された映像ストリームの配信にかかる処理負荷に基づいて判定する
ことが可能な判定ステップと、
前記判定ステップにより、前記一のクライアントに対して前記撮像装置の制御と共に映像ストリームの配信を許可しないと判定され、前記撮像装置の制御は許可せずに前記映像ストリームの配信を許可することが可能であると判定された場合、前記一のクライアントに対して前記撮像装置の制御は許可せずに前記映像ストリームの配信を許可することを示す許可情報を通知する通知ステップと、
を有することを特徴とする映像配信方法。
A video distribution method for distributing movies image stream,
Control steps for controlling the imaging device;
A determination step,
Processing relating to distribution of video streams to other clients, whether or not to permit distribution of video streams together with control of the imaging apparatus to one client that has transmitted a request including a control request of the imaging device and a distribution request of the video stream A determination is made based on the total load value, the processing load of the control step for controlling the imaging device, and the processing load related to the delivery of the video stream requested by the one client;
Whether or not it is possible to permit the delivery of the video stream without allowing the one client to control the imaging device, and the total value of the processing load related to the delivery of the video stream to the other client, And determining based on the processing load related to the delivery of the video stream requested by the one client.
A determination step capable of
The determination step determines that distribution of the video stream is not permitted with the control of the imaging device to the one client, and distribution of the video stream can be permitted without permitting the control of the imaging device. A notification step for notifying the one client of permission information indicating that the distribution of the video stream is permitted without permitting the control of the imaging device;
A video distribution method comprising:
映像ストリームを配信するコンピュータに、
撮像装置を制御する制御手順と、
判定手順であって、
撮像装置の制御要求と映像ストリームの配信要求を含む要求を送信した一のクライアントに前記撮像装置の制御と共に映像ストリームの配信を許可するか否かを、他のクライアントに対する映像ストリームの配信にかかる処理負荷の合計値、及び、前記撮像装置を制御する前記制御手順の処理負荷と前記一のクライアントから要求された映像ストリームの配信にかかる処理負荷に基づいて判定すると共に、
前記一のクライアントに前記撮像装置の制御は許可せずに前記映像ストリームの配信を許可することが可能であるか否かを、前記他のクライアントに対する映像ストリームの配信にかかる処理負荷の合計値、及び、前記一のクライアントから要求された映像ストリームの配信にかかる処理負荷に基づいて判定する
ことが可能な判定手順と、
前記判定手順により、前記一のクライアントに対して前記撮像装置の制御と共に映像ストリームの配信を許可しないと判定され、前記撮像装置の制御は許可せずに前記映像ストリームの配信を許可することが可能であると判定された場合、前記一のクライアントに対して前記撮像装置の制御は許可せずに前記映像ストリームの配信を許可することを示す許可情報を通知する通知手順と、
を実行させることを特徴とするプログラム。
To the computer that delivers the video stream,
A control procedure for controlling the imaging device;
Judgment procedure,
Processing relating to distribution of video streams to other clients, whether or not to permit distribution of video streams together with control of the imaging apparatus to one client that has transmitted a request including a control request of the imaging device and a distribution request of the video stream And determining based on the total load, the processing load of the control procedure for controlling the imaging device, and the processing load related to the delivery of the video stream requested from the one client,
Whether or not it is possible to permit the delivery of the video stream without allowing the one client to control the imaging device, and the total value of the processing load related to the delivery of the video stream to the other client, And determining based on the processing load related to the delivery of the video stream requested by the one client.
Judgment procedures that can be
According to the determination procedure, it is determined that distribution of the video stream is not permitted with the control of the imaging device for the one client, and distribution of the video stream can be permitted without permitting the control of the imaging device. A notification procedure for notifying the one client of permission information indicating that distribution of the video stream is permitted without permitting control of the imaging device;
A program characterized by having executed .
JP2004136022A 2004-04-30 2004-04-30 Video distribution apparatus and method Expired - Fee Related JP4405845B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004136022A JP4405845B2 (en) 2004-04-30 2004-04-30 Video distribution apparatus and method
US11/119,055 US8219702B2 (en) 2004-04-30 2005-04-29 Video delivery apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004136022A JP4405845B2 (en) 2004-04-30 2004-04-30 Video distribution apparatus and method

Publications (3)

Publication Number Publication Date
JP2005318414A JP2005318414A (en) 2005-11-10
JP2005318414A5 JP2005318414A5 (en) 2007-06-14
JP4405845B2 true JP4405845B2 (en) 2010-01-27

Family

ID=35445362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004136022A Expired - Fee Related JP4405845B2 (en) 2004-04-30 2004-04-30 Video distribution apparatus and method

Country Status (1)

Country Link
JP (1) JP4405845B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5979886B2 (en) 2012-01-17 2016-08-31 キヤノン株式会社 Transmitting apparatus and transmitting method
JP6701826B2 (en) * 2016-03-10 2020-05-27 富士通株式会社 Information processing apparatus, system, method and program
CN112995579B (en) * 2019-12-12 2023-03-07 杭州海康威视系统技术有限公司 Video stream distribution method and device, management server and video monitoring system

Also Published As

Publication number Publication date
JP2005318414A (en) 2005-11-10

Similar Documents

Publication Publication Date Title
US7912893B2 (en) System, method, and computer program product for media publishing request processing
RU2388075C2 (en) Updating portable communication device using multimedia data files
US9633693B2 (en) Interface for media publishing
US8219702B2 (en) Video delivery apparatus and method
US9521176B2 (en) System, method, and computer program product for media publishing request processing
US20080271095A1 (en) Method and system for previewing media over a network
KR100584323B1 (en) Method for streaming multimedia content
CN102197386A (en) File type association in a remote computing session
WO2014200440A1 (en) System and method for uploading, showcasing and selling news footage
JP4347131B2 (en) Video distribution apparatus and method
CN1973485A (en) System and method for distributing content via a shared network
US9479804B2 (en) Digital video recorder program to mobile device
US20090222890A1 (en) Method and apparatus for providing streaming service based on p2p and streaming service system using the same
JP4405845B2 (en) Video distribution apparatus and method
KR20050016216A (en) Data distribution system and method, terminal device, data serving apparatus and program for terminal device
JP2024014683A (en) SYSTEMS, METHODS AND COMPUTER-READABLE MEDIA FOR DATA ACCESS
JP2006202149A (en) File transfer system, method and program
JP2001034558A (en) Content use condition changing method and content distribution system
JP2003108409A (en) Server device and method of controlling the device
JP5664313B2 (en) Memory card and digital content system
JP6353417B2 (en) Quality control apparatus and quality control method
JP2003108408A (en) Server device and method of controlling the device
JP2003348521A (en) Imaging system and control method therefor and storage medium
JP2006140545A (en) Data transfer apparatus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070426

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090416

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091102

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091105

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4405845

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131113

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees