JP2011234233A - Video distribution device and video distribution method - Google Patents
Video distribution device and video distribution method Download PDFInfo
- Publication number
- JP2011234233A JP2011234233A JP2010104251A JP2010104251A JP2011234233A JP 2011234233 A JP2011234233 A JP 2011234233A JP 2010104251 A JP2010104251 A JP 2010104251A JP 2010104251 A JP2010104251 A JP 2010104251A JP 2011234233 A JP2011234233 A JP 2011234233A
- Authority
- JP
- Japan
- Prior art keywords
- temporary storage
- distribution
- transmission unit
- monitoring
- video frames
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は映像配信装置及び映像配信方法に関し、特に、搭載メモリが少ない組込み機器が多人数に映像を配信する際に、メモリを効率的に使用するために用いて好適な技術に関するものである。 The present invention relates to a video distribution apparatus and a video distribution method, and more particularly to a technique suitable for using a memory efficiently when an embedded device with a small installed memory distributes video to a large number of people.
近年、インターネットなどIP(Internet Protocol)ネットワークを利用した配信システムが増加してきている。例えば、スキー場や動物園の状況を配信するインターネットサイトに採用されており、他にも店舗・ビル監視などにも採用されている。前述の配信システムは、監視用途にも使用されるため、配信画像の遅延を小さく抑える必要があり、高いリアルタイム性が求められている。また、同時に多数のクライアントに配信することが求められている。 In recent years, distribution systems using IP (Internet Protocol) networks such as the Internet have been increasing. For example, it is used for Internet sites that distribute the status of ski resorts and zoos, and is also used for store / building monitoring. Since the above-described distribution system is also used for monitoring purposes, it is necessary to suppress the delay of the distribution image, and high real-time performance is required. In addition, it is required to be distributed to many clients at the same time.
従来、多人数に配信する際は、サーバ上のメモリにその時接続している全クライアントの配信データを一時的に保持しながら、各クライアントの配信速度に合わせて配信処理を行っていた。 Conventionally, when distributing to a large number of people, distribution processing is performed according to the distribution speed of each client while temporarily storing distribution data of all the clients connected at that time in the memory on the server.
例えば、特許文献1ではネットワークの障害等が原因で送信の遅延や中断が発生した場合に、送信できなかった過去の映像フレーム群を破棄して、常に最新の映像フレーム群を送信する方法が開示されている。
また、特許文献2では音声とマルチメディアデータを伝送するネットワークにおいて、マルチメディアデータのフラグメントサイズを動的に変更する方法が開示されている。
For example,
前述の特許文献1に開示された従来技術では、多数のクライアントに映像配信する際に、ネットワーク帯域が狭い等の理由で配信処理が間に合わないクライアントが複数存在した場合、一時的に保持しなければならないデータ量が増えてしまう。このような場合には、配信サーバが使用できるメモリ容量が不足する。このため、生成された画像データを一時的に保存できなくなって画像データを連続で送れなくなったり、配信するクライアント数を制限したりしなければならなくなってしまう。
本発明は前述の問題点に鑑み、メモリを効率的に使用することで、データ落ちの少ない映像配信をより多くのクライアントへ提供できるようにすることを目的とする。
In the prior art disclosed in
The present invention has been made in view of the above-described problems, and an object of the present invention is to provide video distribution with less data loss to more clients by efficiently using a memory.
本発明の映像配信装置は、映像フレームを生成して符号化する撮像処理手段と、前記撮像処理手段により符号化された映像フレームを一時保存する一時記憶部と、前記一時記憶部に保存した単数または複数の映像フレームを一送信単位として配信を行う配信制御手段と、前記一送信単位としてまとめられた映像フレームを実際に相手装置に送る通信処理手段と、前記配信制御手段により行われる配信処理の遅延状況を監視する遅延監視手段とを有し、前記遅延監視手段は、前記配信制御手段により行われている特定の相手装置への配信処理が映像フレームの生成より遅れていることを検出すると、前記配信制御手段が保持している一送信単位の映像フレーム数を減少し、その後、一定期間について前記配信処理の遅延が解消したことを検出すると前記配信制御手段が保持している一送信単位の映像フレーム数を増加することを特徴とする。 The video distribution apparatus of the present invention includes an imaging processing unit that generates and encodes a video frame, a temporary storage unit that temporarily stores the video frame encoded by the imaging processing unit, and a single unit that is stored in the temporary storage unit. Alternatively, a distribution control unit that distributes a plurality of video frames as one transmission unit, a communication processing unit that actually transmits the video frames collected as one transmission unit to a partner device, and a distribution process performed by the distribution control unit Delay monitoring means for monitoring the delay situation, the delay monitoring means, when detecting that the delivery processing to the specific partner device being performed by the delivery control means is delayed from the generation of the video frame, Decrease the number of video frames in one transmission unit held by the delivery control means, and then detect that the delivery processing delay has been resolved for a certain period Characterized by increasing the number of video frames for one transmission unit, wherein the holding distribution control means and.
本発明によれば、配信処理が間に合わなくなったクライアントのフラグメントに含まれる画像フレーム数を減らすようにしたので、クライアントが送信するデータを新しいフレームに集中させることができる。これにより、一時的にメモリ上に保持しなければならないデータ量を減らすことができ、データ落ちの少ない映像配信をより多くのクライアントへ提供することができる。 According to the present invention, since the number of image frames included in a client fragment whose distribution processing is not in time is reduced, data transmitted by the client can be concentrated on a new frame. As a result, the amount of data that must be temporarily stored in the memory can be reduced, and video distribution with less data loss can be provided to more clients.
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
(第1の実施形態)
以下、本発明の実施に好適な配信システムの第1の構成例と動作について、図面を用いながら説明する。なお、音声データの配信は画像データの配信処理とデータの内容が異なるだけで同列に扱えるため、本実施形態では画像データの配信を中心に説明する。
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
(First embodiment)
Hereinafter, a first configuration example and operation of a distribution system suitable for implementing the present invention will be described with reference to the drawings. In addition, since the distribution of audio data can be handled in the same line except for the image data distribution process and the data contents, this embodiment will be described focusing on the distribution of the image data.
図1は、本発明の第1の実施形態を表す配信カメラサーバのハードウェア構成を説明するブロック図である。
図1に示すように、本実施形態の配信カメラサーバはCPU100、1次記憶装置110、2次記憶装置120、画像キャプチャI/F130、音声キャプチャI/F140、ネットワークI/F160が内部バス101を介して相互に接続されている。
FIG. 1 is a block diagram illustrating a hardware configuration of a distribution camera server representing the first embodiment of the present invention.
As shown in FIG. 1, the distribution camera server of this embodiment includes a
ここで、1次記憶装置110はRAMに代表される書き込み可能な高速の記憶装置で、OSや各種プログラム及び各種データがロードされ、またOSや各種プログラムの作業領域としても使用される。2次記憶装置120はFDDやHDD、フラッシュメモリ、CD−ROMドライブ等に代表される不揮発性を持った記憶装置で、OSや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。カメラサーバの1次記憶装置110及び2次記憶装置120に置かれる各種プログラム等の詳細については後述する。
Here, the
画像キャプチャI/F130にはカメラ170が接続され、カメラ170が撮影した画像データを所定のフォーマットに変換・圧縮して1次記憶装置110に転送する。音声キャプチャI/F140にはマイク180が接続され、マイク180が集音した音データを所定のフォーマットに変換・圧縮して1次記憶装置110に転送する。ネットワークI/F160はEthernet(登録商標)等の通信媒体190と接続するためのI/Fであり、通信媒体190を介してクライアント等との通信を担う。カメラサーバとクライアント間のネットワークは通信規格を満足する複数のルータ、スイッチ、ケーブル等から構成される。本実施形態においては各サーバ・クライアント間の通信が支障なく行えるものであればその通信規格、規模、構成を問わない。故に、インターネットからLAN (Local Area Network)にまで適用可能である。
A
図2(A)は、配信カメラサーバのソフトウェア機能構成の概略を示すブロック図である。
図2(A)に示すように、1次記憶装置110には、OS、撮像処理プログラム210、配信制御プログラム211、通信処理プログラム212、一時記憶部213、及び遅延監視プログラム214がロードされる。OSはカメラサーバ全体を制御する基本プログラムであり、本実施形態の映像配信装置200の主要な構成要件がOSによって構成される。
FIG. 2A is a block diagram illustrating an outline of a software function configuration of the distribution camera server.
As shown in FIG. 2A, the
撮像処理プログラム210は、カメラ170で生成された画像フレーム(映像フレーム)を画像キャプチャI/F130を経由して取得し符号化して、一時記憶部213に一時保存する。そして、不要になった画像フレームを一時記憶部213から削除する。配信制御プログラム211は、各種クライアントからのリクエストに応じ、一時記憶部213に保存されている単数または複数の画像フレームを一送信単位とし、通信処理プログラム212を通して配信する。本実施形態では理解しやすくするため、特に説明しない限り5フレームを1GOP(Group Of Pictures)とし、5フレームを一送信単位(以下、1フラグメント)として配信するものとする。
The
通信処理プログラム212は、ネットワークI/F160を制御し、通信媒体190を介して通信の相手装置である各種クライアントへ配信データを送り届ける。遅延監視プログラム214は、画像フレームが一時記憶部213に保存された際に各種クライアントへの配信処理が遅延しているかどうかを判定し、配信処理の遅延状況を監視する。また、本実施形態では配信処理が遅延判定タイミングを画像フレームが一時記憶部213に保存されたタイミングで実施するが、クライアント毎(相手装置毎)にフラグメント分の画像フレームを送信完了したタイミング、または定期的なタイミングで実施してもよい。各プログラム同士の連携は、必要に応じてOSが提供する機能を用いることとする。
The
図3は、配信カメラサーバの撮像処理プログラム210の動作手順を説明するフローチャートである。撮像処理プログラム210は、装置が電源投入された時に起動する。
起動されると、S300において画像キャプチャI/F130を初期化する。次に、S301においてカメラ170から画像フレームが供給されるのを待機する。
FIG. 3 is a flowchart for explaining the operation procedure of the
When activated, the image capture I / F 130 is initialized in S300. Next, it waits for an image frame to be supplied from the
S301の待機状態において、画像フレームが生成されるとS302に進んで符号化を行う。その後、S303に進み、一時記憶部213の空き容量をチェックする。このチェックの結果、一時記憶部213に空きがなければS301に戻る。この場合は、画像フレームは保存されず次の画像フレームの生成待ちとなる。また、S303のチェックの結果、バッファに空きがあれば、S304に進み、画像フレームを保存し、最新フレーム番号を更新する。
When an image frame is generated in the standby state in S301, the process proceeds to S302 to perform encoding. Thereafter, the process proceeds to S303, and the free capacity of the
次に、S305において、現在配信している特定のクライアントが存在するか判断する。この判断の結果、特定のクライアントが存在しない場合には待機状態となる。また、配信クライアントが存在する場合にはS306に進み、一時記憶部213に存在するクライアント情報に画像フレームを登録する。次に、S307において未送信フレーム数が次フラグメントサイズより多いかどうかを判断する。次フラグメントサイズとは、次の送信時に何枚の画像フレームを一送信単位としてクライアントに配信するかを示す値である。
Next, in S305, it is determined whether there is a specific client currently distributed. If the result of this determination is that there is no specific client, it enters a standby state. If there is a distribution client, the process advances to step S306 to register an image frame in the client information existing in the
S307の判断の結果、未送信フレーム数の方が多い場合、S308に進んで未送信フレームの古いデータを次フラグメントサイズ以下になるまで登録解除する。その後、S309に進む。また、S307の判断の結果、未送信フレーム数の方が多くない場合は、S309に直接進む。 If the number of untransmitted frames is larger as a result of the determination in S307, the process proceeds to S308, where the old data of the untransmitted frame is deregistered until it becomes equal to or smaller than the next fragment size. Then, it progresses to S309. If the number of untransmitted frames is not greater as a result of the determination in S307, the process proceeds directly to S309.
S309においては、S306〜S308の処理を全ての配信クライアントに対して行ったか否かを判断する。この判断の結果、行っていない場合にはS306に戻り、前述した処理を実行する。また、行った場合にはS310に進む。S310においては、遅延監視プログラム214に画像生成通知メッセージを送信する。
次に、S311に進み、クライアントへの送信処理が完了し、どのクライアントにも登録されていない登録解除済み画像フレームを一時記憶部213から解放し、その後、S301の画像生成待ち処理に戻る。
In S309, it is determined whether or not the processing in S306 to S308 has been performed for all the distribution clients. As a result of this determination, if it has not been performed, the process returns to S306 and the above-described processing is executed. If so, the process proceeds to S310. In S310, an image generation notification message is transmitted to the
In step S311, the transmission processing to the client is completed, the deregistered image frame that is not registered in any client is released from the
図4は、配信カメラサーバの配信制御プログラム211の動作手順を説明するフローチャートである。配信制御プログラム211は、クライアントから配信リクエストを受信した時に起動される。
起動されると、S400においてクライアント情報を生成し、一時記憶部213に保存する。本実施形態では、この時、何枚の画像フレームを一送信単位としてクライアントに配信するかという次フラグメントサイズを「5」に設定する。
FIG. 4 is a flowchart illustrating the operation procedure of the
When activated, client information is generated and stored in the
次に、S401に進み、遅延監視プログラム214からのメッセージ受信処理を行う。その後、S402において受信メッセージ毎に振り分けを行う。遅延監視プログラム214から配信遅延通知を受信していた場合は次フラグメントサイズを小さくし(S403)、配信復旧通知を受信していた場合は次フラグメントサイズを大きくする(S404)。本実施形態では、配信遅延通知を受信した場合は次フラグメントサイズを所定値(例えば「5」)から所定値(例えば「1」)に減少させ、一送信単位の映像フレーム数が減少する。また、配信復旧通知を受信した場合は次フラグメントサイズを「1」から「5」に増加させ、一送信単位の映像フレーム数を増加させる。また、配信遅延通知または配信復旧通知を遅延時間に応じて段階的に通知し、一送信単位の最大数を複数段階で変更することも可能である。また、S402の処理において、メッセージがない場合にはS403あるいはS404の処理を行わずにS406に進む。
In step S401, a message reception process from the
本実施形態においては、生成した画像フレームの情報は撮像処理プログラム210がクライアント情報に適宜書き込むので、S406においては、未送信フレームが次フラグメントサイズ分存在するかどうかを判断する。未送信フレームが次フラグメントサイズに満たない場合は一定時間の待機を行い(S405)、メッセージ受信処理(S401)に戻る。
In the present embodiment, the
未送信フレームが次フラグメントサイズ以上存在している場合は、先頭フレームの連続性をチェックする(S407)。具体的には、未送信フレームの先頭が前回送信したデータの次フレームである、または先頭がフレーム内符号化された画像フレーム(以下、Iフレームと呼ぶ)であるかどうかをチェックする。 If the untransmitted frame is larger than the next fragment size, the continuity of the top frame is checked (S407). Specifically, it is checked whether the head of the untransmitted frame is the next frame of the previously transmitted data, or whether the head is an intra-frame encoded image frame (hereinafter referred to as I frame).
S407のチェックの結果、連続性がない(どちらも満たさない)場合は、先頭の画像フレームはクライアント側で受信しても表示できないため一定時間の待機を行い(S405)、メッセージ受信処理(S401)に戻る。一定時間の待機を行うことで、撮像処理プログラム210が新たに画像フレームを生成し、未送信フレーム情報を書き換える。
If the result of the check in S407 is that there is no continuity (both are not satisfied), the first image frame cannot be displayed even if it is received on the client side, so a waiting period of time is held (S405), and message reception processing (S401) Return to. By waiting for a predetermined time, the
一方、S407のチェックの結果、連続性がある(どちらかを満たす)場合は、一時記憶部213に保存してあるクライアント情報を更新する(S408)。次に、未送信フレームの先頭から次フラグメントサイズ分の画像フレームとそのヘッダ情報を作成し、通信処理プログラム212を通してクライアントに送信する(S409)。
On the other hand, if the result of the check in S407 is continuity (whichever is satisfied), the client information stored in the
S409の送信処理が完了したら、S410において次データを送信する必要があるかどうかを確認する。この確認の結果、次のデータを送信する場合はメッセージ受信処理(S401)に戻る。クライアントへの送信処理において通信の切断が検出された場合、またはクライアント要求分の画像フレームの配信が完了した場合は、S411に進み、一時記憶部213に保存しているクライアント情報を解放し、処理を終了する。
When the transmission process of S409 is completed, it is confirmed whether or not the next data needs to be transmitted in S410. If the next data is transmitted as a result of the confirmation, the process returns to the message reception process (S401). If communication disconnection is detected in the transmission process to the client, or if the delivery of the image frame for the client request is completed, the process proceeds to S411, where the client information stored in the
図5は、配信カメラサーバの遅延監視プログラム214の動作手順を説明するフローチャートである。
遅延監視プログラム214は、装置が電源投入された時に起動する。
起動されると、S500において他のプログラムからメッセージを受信するまで待機状態になる。そして、メッセージを受信すると、S501に進み、それが遅延チェックするメッセージであるかを確認する。本実施形態では、撮像処理プログラム210からの画像生成通知を遅延チェックするメッセージとする。画像生成のタイミング以外にもクライアントの配信完了のタイミング、または一定時間の経過タイミング、またはこれらの組合せのタイミングで行うことも可能である。
FIG. 5 is a flowchart for explaining the operation procedure of the
The
When activated, the system waits until a message is received from another program in S500. When a message is received, the process proceeds to S501, where it is confirmed whether the message is a delay check message. In the present embodiment, the image generation notification from the
S501の確認の結果、画像生成通知でなかった場合は、S500に戻り、再度メッセージ受信待ちとなる。また、画像生成通知を受信した場合は、配信しているクライアント全員に対して以下の処理を繰り返す。まず、S502に進み、クライアントの状態を判断し、配信クライアントの状態により、処理を振り分ける。 If the result of the confirmation in S501 is not an image generation notification, the process returns to S500 and again waits for message reception. When the image generation notification is received, the following processing is repeated for all the distributing clients. First, in S502, the client state is determined, and the process is distributed according to the state of the distribution client.
すなわち、S502の判断の結果、クライアントに配信遅延が発生していない場合(配信遅延なし)は、S503に進んで送信フレームの最終画像フレームと未送信フレームの先頭フレームが連続かどうかを判断する。この判断の結果、連続の場合は何もしない。非連続の場合、つまり撮像処理プログラム210のS308にて未送信フレームの登録解除が行われた場合は、配信制御プログラム211に配信遅延通知を送り(S504)、クライアントの状態を配信遅延中に変更する(S505)。
That is, as a result of the determination in S502, when there is no distribution delay in the client (no distribution delay), the process proceeds to S503 to determine whether the last frame of the transmission frame and the first frame of the untransmitted frame are continuous. If the result of this determination is continuous, nothing is done. In the case of discontinuity, that is, when unregistered frames are canceled in S308 of the
クライアントに配信遅延が発生している場合(配信遅延中)は、まず一定時間以上データを破棄せずに送信できているかをチェックする(S506)。具体的には、連続送信フレーム数が配信遅延の復旧を示す一定フレーム数以上になったかどうかで判断する。この判断の結果、一定時間に達しない場合は、何もしない。一定時間に達した場合は、配信制御プログラム211に配信復旧通知を送り(S507)、クライアントの状態を配信遅延なしに変更する(S508)。S505またはS508の処理を終了したら、S509に進み、全てのクライアントについて配信状態の判断を行ったか否かを判断する。この判断の結果、行っていない場合にはS502に戻って前述の処理を行う。また、行ったS500に戻る。 If a delivery delay has occurred in the client (during delivery delay), it is first checked whether data can be transmitted without being discarded for a certain period of time (S506). Specifically, the determination is made based on whether or not the number of continuously transmitted frames is equal to or greater than a certain number of frames indicating restoration of delivery delay. If the result of this determination does not reach a certain time, nothing is done. If the predetermined time has been reached, a delivery restoration notice is sent to the delivery control program 211 (S507), and the client state is changed without delivery delay (S508). When the processing of S505 or S508 is completed, the process proceeds to S509, and it is determined whether or not the distribution status has been determined for all clients. If the result of this determination is that it has not been performed, processing returns to S502 and the above-described processing is performed. Moreover, it returns to S500 which performed.
図6は、配信遅延が発生したクライアント情報の例を示す図である。
図6を用いて、クライアント情報に保持される情報がフレーム生成や配信処理の過程で変わっていく様子を説明する。ただし、図6はあくまで一例であり、必ずしも図中の変数を使用し、図通りの順序で処理が実行されるわけではない。
FIG. 6 is a diagram illustrating an example of client information in which a delivery delay has occurred.
The manner in which information held in the client information changes in the course of frame generation and distribution processing will be described with reference to FIG. However, FIG. 6 is merely an example, and the variables in the figure are not necessarily used, and the processing is not executed in the order shown in the figure.
送信フレーム番号は、配信制御プログラム211が変更する送信中の画像フレームの先頭番号であり、未送信状態は−1が設定される。
送信フラグメントサイズは、配信制御プログラム211が変更する送信中の画像フレーム数であり、未送信状態は0が設定される。
未送信フレーム番号は、撮像処理プログラム210が変更する送信待ち画像フレームの先頭番号であり、未送信状態は−1が設定される。
未送信フレーム数は、撮像処理プログラム210が変更する送信待ち画像フレーム数である。
次フラグメントサイズは、次に送信するフラグメントの画像フレーム数であり、配信制御プログラム211が配信遅延通知または配信復旧通知を受信した際に増減する。本実施形態では、配信遅延が発生すると次フラグメントサイズは「1」に変更され、配信復旧が発生すると次フラグメントサイズは「5」に変更される。
連続送信フレーム数は、連続で送信している画像フレーム数であり、一枚でも画像フレームを送信しなければ0に設定される。
The transmission frame number is the leading number of the image frame being transmitted that is changed by the
The transmission fragment size is the number of image frames being transmitted, which is changed by the
The untransmitted frame number is the head number of the transmission-waiting image frame that is changed by the
The number of untransmitted frames is the number of transmission-waiting image frames that the
The next fragment size is the number of image frames of a fragment to be transmitted next, and increases or decreases when the
The number of continuous transmission frames is the number of image frames transmitted continuously, and is set to 0 if no image frame is transmitted.
フレーム番号0(最初はIフレーム)が生成された時、未送信フレームに0が設定され、未送信フレーム数がインクリメントされて1に設定される。フレーム番号1,2,3が生成されると、未送信フレーム数が2,3,4に順番に増えていく。
When frame number 0 (initially an I frame) is generated, 0 is set to the untransmitted frame, and the number of untransmitted frames is incremented and set to 1. When
そして、フレーム番号4が生成された時、ちょうど次フラグメントサイズである5フレームになるので、配信制御プログラム211は送信処理を開始する。そして、送信フレーム番号を0、送信フラグメントサイズを5に変更、連続送信フレーム数に5を加算し、未送信フレーム番号と未送信フレーム数を初期状態に変更する。
Then, when
フレーム番号5が生成された時、未送信フレーム番号に5を登録し、未送信フレーム数をインクリメントし1に変更する。そして、フレーム番号0〜5の送信が完了する前に、フレーム番号6、7、8、9が生成されると、未送信フレーム数が2、3、4、5に順番に増えていく。フレーム番号9が生成された時は、本クライアントが使用するフレームは0〜9までの10フレームである。
When
フレーム番号10が生成されると、撮像処理プログラム210にて未送信フレーム番号を10に変更し、フレーム番号5〜9の登録を解除する。そして、遅延監視プログラム214にて送信フレームの最終フレーム番号4と未送信フレームの先頭フレーム番号10から配信遅延を検出し、配信制御プログラム211にて次フラグメントサイズを「1」に変更する。
When the
フレーム番号11が生成されると、次フラグメントサイズは「1」なので未送信フレーム番号を1に更新し、未送信フレーム数を1に設定する。フレーム番号12が生成された時も同様に未送信フレーム番号を更新する。フレーム番号10、11、12では、クライアントが使用するフレームは、フレーム番号0〜4とフレーム10(または11、または12)の合計6フレームである。
When the
次に、送信処理が完了したとすると、未送信フレーム番号12の送信を試みるが、S407にて連続性がないと判断されるため(先頭がIフレームでないため)、送信処理が実行されない。
次のIフレームであるフレーム番号15が生成されると送信フレーム番号を15、送信フラグメントサイズを「1」、連続送信フレーム数を1に変更し、未送信フレーム番号と未送信フレーム数を初期状態に変更する。
Next, assuming that the transmission process is completed, transmission of the
When the
フレーム番号16が生成されると、未送信フレーム番号に16を保存し、未送信フレーム数をインクリメントして1に変更する。フレーム番号16以降では、クライアントが使用するフレームはフレーム番号15と未送信フレームの1フレームの合計2フレームになる。
When the frame number 16 is generated, 16 is stored in the untransmitted frame number, and the number of untransmitted frames is incremented and changed to 1. After frame number 16, the number of frames used by the client is a total of two frames,
以上のように、フラグメントサイズが「5固定」であった期間は、1クライアントが使用するフレーム数は最小で5フレーム、最大で10フレームであったが、フラグメントサイズが1に変更された後は最小で1フレーム、最大で2フレームになる。 As described above, during the period when the fragment size was “fixed to 5”, the number of frames used by one client was 5 frames at the minimum and 10 frames at the maximum, but after the fragment size was changed to 1, The minimum is 1 frame and the maximum is 2 frames.
図6は、配信処理が遅延した場合のクライアント情報の説明である。フレーム番号5〜9が生成される間に配信処理が完了するような充分な配信能力があるクライアントに対しては配信遅延を検出しない。このため、フラグメントサイズが「5」のままなので今までと変わりなく配信することができる。
FIG. 6 is an explanation of client information when the distribution process is delayed. A delivery delay is not detected for a client having sufficient delivery capability such that delivery processing is completed while
本実施形態では、リアルタイム性を高めるため、一時的に保持する画像フレームは次の1フラグメントのみとして説明しているが、複数フラグメントを一時的に保持しても構わない。また、次フラグメントを越えて次の画像フレームを生成した場合に配信遅延を検出しているが、実際はフレーム内符号化されたIフレームと、フレーム間符号化されたPフレーム/Bフレームとではデータサイズが異なる。このため、1GOP単位でデータサイズを計算し、そこから配信する次フラグメントのデータ量に応じた時間を算出し、その時間を超えた場合に遅延を検出するなどが有効である。 In this embodiment, in order to improve the real-time property, the image frame to be temporarily held is described as only the next one fragment, but a plurality of fragments may be temporarily held. Also, when the next image frame is generated beyond the next fragment, the delivery delay is detected. However, in actuality, the data is calculated with the intra-frame encoded I frame and the inter-frame encoded P frame / B frame. The size is different. For this reason, it is effective to calculate the data size in units of 1 GOP, calculate the time corresponding to the data amount of the next fragment to be distributed from there, and detect the delay when the time is exceeded.
図7は、フラグメントサイズが「5固定」で、複数クライアントに配信した際の一時記憶部213の状態を説明する図である。図7では、配信能力が画像生成の半分程度のクライアント701と配信能力が画像生成より充分高いクライアント702の例である。
FIG. 7 is a diagram for explaining the state of the
図7において、クライアント701は最初のフラグメント(フレーム番号0〜4)を配信している間に、フレーム番号12まで生成され、フレーム番号5〜9は登録解除されていることを示している。
クライアント702は、フレーム番号0〜4は送信済みで登録解除しており、フレーム番号5〜9を送信中で、フレーム番号10〜12は送信待ちになっていることを示している。
In FIG. 7, while the client 701 distributes the first fragment (
The client 702 indicates that
配信カメラサーバの一時記憶部213の画像用メモリ領域は全クライアント共通で使用しており、最大で15フレーム分保持できるとすると、画像用メモリの使用量は86パーセント(13/15フレーム)となる。
The image memory area of the
図8は、本実施形態を適用し、複数クライアントに配信した際の一時記憶部213の状態を説明する図である。本図では、配信能力が画像生成の半分程度のクライアント801と、配信能力が画像生成より充分高いクライアント802の例である。
FIG. 8 is a diagram for explaining a state of the
クライアント801は、遅延を検出してフラグメントサイズは1になっており、5フレーム中2フレームを毎回送信している状態である。この時使用しているフレームは2フレームである。
クライアント802は、図7と同様に充分な配信能力があるので、5フレーム単位で全てのフレームを送っていることを示している。この時使用しているフレームは8フレームである。
The client 801 detects the delay and the fragment size is 1, and is in a state where 2 out of 5 frames are transmitted every time. At this time, two frames are used.
Since the client 802 has sufficient distribution capability as in FIG. 7, it indicates that all frames are sent in units of 5 frames. At this time, 8 frames are used.
配信カメラサーバの一時記憶部213の画像用メモリ領域は全クライアント共通で使用しており、最大で15フレーム分保持できるとすると、画像用メモリの使用量は53パーセント(8/15フレーム)となる。
The image memory area in the
このように本実施形態を適用し、遅延クライアントのフラグメントサイズを減らすことで画像用メモリの参照を最近のデータに集中させることができ、メモリの使用効率を向上させることができる。また、メモリの使用効率を向上させることで、画像フレームを生成時に一時記憶部213に保存できなくなることが減り、画像フレーム落ちの少ない映像配信ができる。同時に、複数クライアントに配信してもメモリの使用量は大きく増えないので、より多くのクライアントへ配信することができる。
In this way, by applying the present embodiment and reducing the fragment size of the delayed client, it is possible to concentrate the reference of the image memory on recent data and improve the memory usage efficiency. Further, by improving the use efficiency of the memory, it is possible to reduce the possibility that the image frame cannot be stored in the
(第2の実施形態)
以下、本発明の実施に好適な配信システム第2の構成と動作について、図面を用いながら説明する。なお、音声データの配信は画像データの配信処理とデータの内容が異なるだけで同列に扱えるため、本実施形態では画像データの配信を中心に説明する。また、本実施形態における配信カメラサーバのハードウェア構成は、図1と同じため省略する。
(Second Embodiment)
The second configuration and operation of the distribution system suitable for implementing the present invention will be described below with reference to the drawings. In addition, since the distribution of audio data can be handled in the same line except for the image data distribution process and the data contents, this embodiment will be described focusing on the distribution of the image data. The hardware configuration of the distribution camera server in this embodiment is the same as that in FIG.
図2(B)は、配信カメラサーバのソフトウェア機能構成を説明するブロック図である。
1次記憶装置110には、OS、撮像処理プログラム910、配信制御プログラム911、通信処理プログラム912、一時記憶部913、及びメモリ監視プログラム914がロードされる。
FIG. 2B is a block diagram illustrating a software functional configuration of the distribution camera server.
The
OSはカメラサーバ全体を制御する基本プログラムであり、本実施形態の映像配信装置900の主要な構成要件がOSによって構成される。
撮像処理プログラム910は、カメラ170で生成された画像フレームを画像キャプチャI/F130を経由して取得し符号化して、一時記憶部913に保存する。そして、不要になった画像フレームを一時記憶部913から削除する。
配信制御プログラム911は、各種クライアントからのリクエストに応じ、一時記憶部913に保存されている単数または複数の画像フレームを一送信単位とし、通信処理プログラム912を通して配信する。
The OS is a basic program for controlling the entire camera server, and the main configuration requirements of the
The
The
本実施形態では理解しやすくするため、特に説明しない限り5フレームを1GOP(Group Of Pictures)とし、5フレームを一送信単位(以下、1フラグメント)として配信するものとする。 In this embodiment, for easy understanding, it is assumed that 5 frames are set as 1 GOP (Group Of Pictures) and 5 frames are distributed as one transmission unit (hereinafter referred to as 1 fragment) unless otherwise specified.
通信処理プログラム912は、ネットワークI/F160を制御し、通信媒体190を介して各種クライアントへ配信データを送り届ける。
メモリ監視プログラム914は、画像フレームが一時記憶部913に保存された際にメモリの使用量を計算し、空き容量が充分かどうかを判定する。
また、本実施形態では配信処理が遅延判定タイミングを画像フレームが一時記憶部913に保存されたタイミングで実施するが、クライアント毎にフラグメント分の画像フレームを送信完了したタイミング、または定期的なタイミングで実施してもよい。
各プログラム同士の連携は、必要に応じてOSが提供する機能を用いることとする。
各プログラムは特に記述がない限り、図2の対応するプログラムと同じ処理を行うものとする。
The
The
Further, in this embodiment, the distribution process performs the delay determination timing at the timing when the image frame is stored in the
The cooperation between the programs uses functions provided by the OS as necessary.
Each program performs the same processing as the corresponding program in FIG. 2 unless otherwise specified.
本実施形態における撮像処理プログラム910のフローチャートの説明は、図3と同じため省略する。
図9は、配信カメラサーバの配信制御プログラム911の動作手順を説明するフローチャートである。この配信制御プログラム911は、クライアントから配信リクエストを受信した時に起動される。なお、図9のフローチャート各ステップの処理において、図4のフローチャートで説明した処理と同様な処理を行うステップについては、図4のステップ番号と同一のステップ番号を付して説明を省略する。
The description of the flowchart of the
FIG. 9 is a flowchart for explaining the operation procedure of the
S402の受信メッセージ毎に振り分け処理の結果、メモリ監視プログラム914からメモリ逼迫通知を受信していた場合は次フラグメントサイズが逼迫時の最大フラグメントサイズを越えているかどうかを判定する(S903)。この判定の結果、越えていた場合は次フラグメントサイズを逼迫時の最大フラグメントサイズに変更する(S904)。メモリ監視プログラム914からメモリ復旧通知を受信していた場合は、次フラグメントサイズが逼迫時の最大フラグメントサイズと同じ、且つ連続で一定期間以上送信できているかどうかを判定する(S905)。この判定の結果、満たしている場合は遅延が解消したとして、次フラグメントサイズを増加させる(S906)。また、S402の振り分け処理において、メッセージがない場合にはS406に進む。
As a result of the sorting process for each received message in S402, if a memory compression notification is received from the
本実施形態では、メモリ逼迫通知を受信した場合は次フラグメントサイズを所定値(例えば「5」)から所定値(例えば「2」)に減少させ(S904)、メモリ復旧通知を受信した場合は次フラグメントサイズを「2」から「5」に増加させる(S906)。しかし、メモリ逼迫通知またはメモリ復旧通知をメモリの使用量に応じて段階的に通知し、次フラグメントサイズを段階的に変更することも可能である。
S904またはS906の処理を終了した後の処理は、前述した図4のS406〜S411の各処理と同様であるので、詳細な説明を省略する。
In this embodiment, when the memory tightness notification is received, the next fragment size is reduced from a predetermined value (for example, “5”) to a predetermined value (for example, “2”) (S904), and when the memory recovery notification is received, the next fragment size is decreased. The fragment size is increased from “2” to “5” (S906). However, it is also possible to notify the memory tightness notification or the memory restoration notification in stages according to the memory usage, and change the next fragment size in stages.
Since the processing after the processing of S904 or S906 is the same as the processing of S406 to S411 of FIG. 4 described above, detailed description thereof is omitted.
図10は、配信カメラサーバのメモリ監視プログラム914の動作手順を説明するフローチャートである。
FIG. 10 is a flowchart for explaining the operation procedure of the
メモリ監視プログラム914は、装置が電源投入された時に起動する。
起動されると、他のプログラムからメッセージを受信するまで待機状態になる(S1000)。そして、メッセージを受信すると、それがメモリチェックするメッセージであるかを確認する(S1001)。本実施形態では、撮像処理プログラム910からの画像生成通知を遅延チェックするメッセージとする。なお、画像生成のタイミング以外にもクライアントの配信完了のタイミング、または一定時間の経過タイミング、またはこれらの組合せのタイミングで行うことも可能である。また、画像生成通知でなかった場合は、再度メッセージ受信待ち(S1000)に戻り、画像生成通知を受信した場合は、S1002に進む。
The
When activated, the system waits until a message is received from another program (S1000). When a message is received, it is confirmed whether the message is a memory check message (S1001). In this embodiment, the image generation notification from the
S1002においては、画像用メモリの状態を判断する。この判断の結果、画像用メモリが通常(初期状態)の場合にはS1003に進む。S1003においては、現在の画像用メモリの使用量を測定し、使用量が上限の閾値以上かどうかを判定する。 In S1002, the state of the image memory is determined. If the result of this determination is that the image memory is normal (initial state), processing proceeds to S1003. In step S1003, the current usage amount of the image memory is measured, and it is determined whether the usage amount is equal to or greater than the upper limit threshold value.
S1003の判定の結果、上限閾値に満たない場合は何もしない。上限閾値を上回った場合は、S1004において配信制御プログラム911にメモリ逼迫通知を送り、その後、S1005において画像用メモリの状態を逼迫中に変更する。本実施形態ではメモリ使用量の上限閾値を一時記憶部913に保持できる最大画像フレーム数の80パーセントとするが、単純に一時記憶部913内の画像用メモリ容量の80パーセントとすることも可能である。
If the result of determination in S1003 is less than the upper threshold, nothing is done. If the upper limit threshold is exceeded, a memory tight notification is sent to the
一方、S1002の判断の結果、画像用メモリの状態が逼迫中の場合は、S1006に進み、画像用メモリの使用量が復旧閾値(下限閾値)を下回ったかをチェックする。このチェックの結果、復旧閾値を下回らない場合は、何もしない。また、復旧閾値を下回った場合はS1007に進み、配信制御プログラム911にメモリ復旧通知を送る。その後、S1008に進み、画像用メモリの状態を通常に変更する。
On the other hand, if the result of determination in S1002 is that the state of the image memory is tight, the process proceeds to S1006 to check whether the usage amount of the image memory has fallen below the restoration threshold (lower limit threshold). If the result of this check does not fall below the recovery threshold, do nothing. If it is below the recovery threshold, the process advances to S1007 to send a memory recovery notification to the
メモリ監視プログラム914は、一時記憶部913のメモリ使用量が上限閾値を上回ったことを検出すると、映像フレームの一送信単位が所定の上限値を超える相手装置への一送信単位(例えば「5」)を所定値(上限値未満、例えば「2」)に減少させる。
また、一時記憶部913のメモリ使用量が復旧閾値を下回ったことを検出すると、映像フレームの一送信単位を増加させる。一送信単位が所定値(例えば「2」)に減少するように設定されていた相手装置への一送信単位は、減少される前の値(例えば「5」)に増加させる。すなわち、本実施形態においては、下限閾値は複数の閾値を持ち、一送信単位に含まれる映像フレーム数の最大値を増減させるようにしている。
When the
Further, when it is detected that the memory usage of the
本実施形態では、メモリ使用量の復旧閾値を一時記憶部913に保持できる最大画像フレーム数の30パーセントとするが、単純に一時記憶部913内の画像用メモリ容量の30パーセントとすることも可能である。また、下限閾値を段階的に複数設定して複数の閾値を保持しておき、次フラグメントサイズを段階的に変更したり、次フラグメントサイズを急激に何度も変更したりするようにすることもできる。そこで、次フラグメントサイズを小さくした場合は一定期間フラグメントサイズをその値にすることも有効である。
In this embodiment, the recovery threshold of the memory usage is set to 30% of the maximum number of image frames that can be held in the
図11は、本実施形態を適用し、複数クライアントに配信した際の一時記憶部913の状態である。
図11では、配信能力が画像生成の半分程度のクライアント1101と、配信能力が画像生成より充分高いクライアント1102の例である。
クライアント1101とクライアント1102に配信を開始した時は、フラグメントサイズが「5」のため、図7に示したようにメモリ使用量が80パーセントを越える。このため、逼迫時のフラグメントサイズが適用され、クライアント1101とクライアント1102のフラグメントは共に2フレームになっている。
FIG. 11 shows a state of the
FIG. 11 shows an example of a client 1101 whose distribution capability is about half that of image generation and a client 1102 whose distribution capability is sufficiently higher than that of image generation.
When distribution is started to the client 1101 and the client 1102, since the fragment size is “5”, the memory usage exceeds 80% as shown in FIG. For this reason, the fragment size at the time of compression is applied, and the fragments of the client 1101 and the client 1102 are both 2 frames.
配信カメラサーバの一時記憶部913の画像用メモリ領域は全クライアント共通で使用しており、最大で15フレーム分保持できるとすると、画像用メモリの使用量は33パーセント(5/15フレーム)となる。このように、本実施形態を適用し、遅延クライアントのフラグメントサイズを減らすことで画像用メモリの参照を最近のデータに集中させることができ、メモリの使用効率を向上させることができる。
The image memory area of the
また、メモリの使用効率を向上させることで、画像フレームを生成時に一時記憶部913に保存できなくなることが減り、画像フレーム落ちの少ない映像配信ができる。同時に、複数クライアントに配信してもメモリの使用量は大きく増えないので、より多くのクライアントへ配信することができる。また、第1の実施形態と一緒に適用することで、より効率よくメモリを使用することができる。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
Further, by improving the use efficiency of the memory, it is possible to reduce the possibility that the image frame cannot be stored in the
As mentioned above, although preferable embodiment of this invention was described, this invention is not limited to these embodiment, A various deformation | transformation and change are possible within the range of the summary.
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other embodiments)
The present invention can also be realized by executing the following processing. That is, software (computer program) that implements the functions of the above-described embodiments is supplied to a system or apparatus via a network or various computer-readable storage media. Then, the computer (or CPU, MPU, etc.) of the system or apparatus reads out and executes the program.
200 映像配信装置、210、撮像処理プログラム、211 配信制御プログラム、212 通信処理プログラム、213 時記憶部、214 遅延監視プログラム、914 メモリ監視プログラム 200 Video Distribution Device, 210, Imaging Processing Program, 211 Distribution Control Program, 212 Communication Processing Program, 213 Time Storage Unit, 214 Delay Monitoring Program, 914 Memory Monitoring Program
Claims (12)
前記撮像処理手段により符号化された映像フレームを一時保存する一時記憶部と、
前記一時記憶部に保存した単数または複数の映像フレームを一送信単位として配信を行う配信制御手段と、
前記一送信単位としてまとめられた映像フレームを実際に相手装置に送る通信処理手段と、
前記配信制御手段により行われる配信処理の遅延状況を監視する遅延監視手段と、
を有し、
前記遅延監視手段は、前記配信制御手段により行われている特定の相手装置への配信処理が映像フレームの生成より遅れていることを検出すると、前記配信制御手段が保持している一送信単位の映像フレーム数を減少し、その後、一定期間について前記配信処理の遅延が解消したことを検出すると前記配信制御手段が保持している一送信単位の映像フレーム数を増加することを特徴とする映像配信装置。 Imaging processing means for generating and encoding a video frame;
A temporary storage unit that temporarily stores the video frame encoded by the imaging processing unit;
Distribution control means for distributing one or more video frames stored in the temporary storage unit as one transmission unit;
Communication processing means for actually sending video frames collected as one transmission unit to a partner device;
Delay monitoring means for monitoring the delay status of the distribution processing performed by the distribution control means;
Have
When the delay monitoring unit detects that the distribution process to the specific partner device being performed by the distribution control unit is delayed from the generation of the video frame, the delay monitoring unit stores one transmission unit held by the distribution control unit. A video distribution characterized in that the number of video frames is decreased, and then the number of video frames in one transmission unit held by the distribution control means is increased when it is detected that the delay in the distribution process has been eliminated for a certain period of time. apparatus.
前記撮像処理手段により符号化された映像フレームを一時保存する一時記憶部と、
前記一時記憶部に保存した単数または複数の映像フレームを一送信単位として配信を行う配信制御手段と、
前記一送信単位としてまとめられた映像フレームを実際に相手装置に送る通信処理手段と、
前記一時記憶部のメモリ使用量を上限閾値と復旧閾値とで監視するメモリ監視手段と、
を有し、
前記メモリ監視手段は、前記一時記憶部のメモリ使用量が前記上限閾値を上回ったことを検出すると、前記配信制御手段が配信を行う映像フレームの送信単位を減少させ、
前記一時記憶部のメモリ使用量が前記復旧閾値を下回ったことを検出すると、前記配信制御手段が配信を行う映像フレームの送信単位を増加させることを特徴とする映像配信装置。 Imaging processing means for generating and encoding a video frame;
A temporary storage unit that temporarily stores the video frame encoded by the imaging processing unit;
Distribution control means for distributing one or more video frames stored in the temporary storage unit as one transmission unit;
Communication processing means for actually sending video frames collected as one transmission unit to a partner device;
Memory monitoring means for monitoring the memory usage of the temporary storage unit with an upper limit threshold and a recovery threshold;
Have
When the memory monitoring unit detects that the memory usage of the temporary storage unit exceeds the upper limit threshold, the distribution control unit decreases the transmission unit of the video frame to be distributed,
The video distribution apparatus, wherein when the memory usage of the temporary storage unit is detected to be less than the restoration threshold, the transmission control unit increases a transmission unit of a video frame to be distributed.
前記撮像処理手段により符号化された映像フレームを一時保存する一時記憶部と、
前記一時記憶部に保存した単数または複数の映像フレームを一送信単位として配信を行う配信制御手段と、
前記一送信単位としてまとめられた映像フレームを実際に相手装置に送る通信処理手段と、
前記配信制御手段により行われる配信処理の遅延状況を監視する遅延監視手段と、
前記一時記憶部のメモリ使用量を上限閾値と復旧閾値とで監視するメモリ監視手段と、
を有し、
前記遅延監視手段により相手装置毎への一送信単位に含まれる映像フレーム数を増減させ、かつ前記メモリ監視手段により一送信単位に含まれる映像フレーム数を増減させることを特徴とする映像配信装置。 Imaging processing means for generating and encoding a video frame;
A temporary storage unit that temporarily stores the video frame encoded by the imaging processing unit;
Distribution control means for distributing one or more video frames stored in the temporary storage unit as one transmission unit;
Communication processing means for actually sending video frames collected as one transmission unit to a partner device;
Delay monitoring means for monitoring the delay status of the distribution processing performed by the distribution control means;
Memory monitoring means for monitoring the memory usage of the temporary storage unit with an upper limit threshold and a recovery threshold;
Have
A video distribution apparatus, wherein the delay monitoring means increases or decreases the number of video frames included in one transmission unit for each partner apparatus, and the memory monitoring means increases or decreases the number of video frames included in one transmission unit.
前記撮像処理工程において符号化された映像フレームを一時記憶部へ一時保存する一時記憶工程と、
前記一時記憶部に保存した単数または複数の映像フレームを一送信単位として配信を行う配信制御工程と、
前記一送信単位としてまとめられた映像フレームを実際に相手装置に送る通信処理工程と、
前記配信制御工程において行われる配信処理の遅延状況を監視する遅延監視工程と、
を有し、
前記遅延監視工程においては、前記配信制御工程において行われている特定の相手装置への配信処理が映像フレームの生成より遅れていることを検出すると、前記配信制御工程において保持している一送信単位の映像フレーム数を減少し、その後、一定期間について前記配信処理の遅延が解消したことを検出すると前記配信制御工程において保持している一送信単位の映像フレーム数を増加することを特徴とする映像配信方法。 An imaging process that generates and encodes video frames; and
A temporary storage step of temporarily storing the video frame encoded in the imaging processing step in a temporary storage unit;
A delivery control step of delivering one or more video frames stored in the temporary storage unit as one transmission unit;
A communication processing step of actually sending video frames collected as one transmission unit to a partner device;
A delay monitoring step of monitoring a delay state of the distribution processing performed in the distribution control step;
Have
In the delay monitoring step, when it is detected that the distribution process to the specific partner apparatus performed in the distribution control step is delayed from the generation of the video frame, one transmission unit held in the distribution control step And then increasing the number of video frames in one transmission unit held in the distribution control step when it is detected that the delay in the distribution process has been eliminated for a certain period of time. Delivery method.
前記撮像処理工程において符号化された映像フレームを一時記憶部へ一時保存する一時記憶工程と、
前記一時記憶部に保存した単数または複数の映像フレームを一送信単位として配信を行う配信制御工程と、
前記一送信単位としてまとめられた映像フレームを実際に相手装置に送る通信処理工程と、
前記一時記憶部のメモリ使用量を上限閾値と復旧閾値とで監視するメモリ監視工程と、
を有し、
前記メモリ監視工程においては、前記一時記憶部のメモリ使用量が前記上限閾値を上回ったことを検出すると、前記配信制御工程において配信を行う映像フレームの送信単位を減少させ、
前記一時記憶部のメモリ使用量が前記復旧閾値を下回ったことを検出すると、前記配信制御工程において配信を行う映像フレームの送信単位を増加させることを特徴とする映像配信方法。 An imaging process that generates and encodes video frames; and
A temporary storage step of temporarily storing the video frame encoded in the imaging processing step in a temporary storage unit;
A delivery control step of delivering one or more video frames stored in the temporary storage unit as one transmission unit;
A communication processing step of actually sending video frames collected as one transmission unit to a partner device;
A memory monitoring step of monitoring the memory usage of the temporary storage unit with an upper limit threshold and a recovery threshold;
Have
In the memory monitoring step, when it is detected that the memory usage of the temporary storage unit exceeds the upper limit threshold, the transmission unit of video frames to be distributed in the distribution control step is decreased,
A video distribution method comprising: increasing a transmission unit of a video frame to be distributed in the distribution control step when detecting that a memory usage amount of the temporary storage unit is less than the restoration threshold.
前記撮像処理工程において符号化された映像フレームを一時記憶部へ一時保存する一時記憶工程と、
前記一時記憶部に保存した単数または複数の映像フレームを一送信単位として配信を行う配信制御工程と、
前記一送信単位としてまとめられた映像フレームを実際に相手装置に送る通信処理工程と、
前記配信制御工程において行われる配信処理の遅延状況を監視する遅延監視工程と、
前記一時記憶部のメモリ使用量を上限閾値と復旧閾値とで監視するメモリ監視工程と、
を有し、
前記遅延監視工程において相手装置毎への一送信単位に含まれる映像フレーム数を増減させ、かつ前記メモリ監視工程において一送信単位に含まれる映像フレーム数を増減させることを特徴とする映像配信方法。 An imaging process that generates and encodes video frames; and
A temporary storage step of temporarily storing the video frame encoded in the imaging processing step in a temporary storage unit;
A delivery control step of delivering one or more video frames stored in the temporary storage unit as one transmission unit;
A communication processing step of actually sending video frames collected as one transmission unit to a partner device;
A delay monitoring step of monitoring a delay state of the distribution processing performed in the distribution control step;
A memory monitoring step of monitoring the memory usage of the temporary storage unit with an upper limit threshold and a recovery threshold;
Have
A video distribution method comprising: increasing or decreasing the number of video frames included in one transmission unit for each partner device in the delay monitoring step; and increasing or decreasing the number of video frames included in one transmission unit in the memory monitoring step.
前記撮像処理工程において符号化された映像フレームを一時記憶部へ一時保存する一時記憶工程と、
前記一時記憶部に保存した単数または複数の映像フレームを一送信単位として配信を行う配信制御工程と、
前記一送信単位としてまとめられた映像フレームを実際に相手装置に送る通信処理工程と、
前記配信制御工程において行われる配信処理の遅延状況を監視する遅延監視工程とをコンピュータに実行させ、
前記遅延監視工程においては、前記配信制御工程において行われている特定の相手装置への配信処理が映像フレームの生成より遅れていることを検出すると、前記配信制御工程において保持している一送信単位の映像フレーム数を減少し、その後、一定期間について前記配信処理の遅延が解消したことを検出すると前記配信制御工程において保持している一送信単位の映像フレーム数を増加するようコンピュータを制御することを特徴とするコンピュータプログラム。 An imaging process that generates and encodes video frames; and
A temporary storage step of temporarily storing the video frame encoded in the imaging processing step in a temporary storage unit;
A delivery control step of delivering one or more video frames stored in the temporary storage unit as one transmission unit;
A communication processing step of actually sending video frames collected as one transmission unit to a partner device;
Causing the computer to execute a delay monitoring step of monitoring a delay state of the distribution processing performed in the distribution control step;
In the delay monitoring step, when it is detected that the distribution process to the specific partner apparatus performed in the distribution control step is delayed from the generation of the video frame, one transmission unit held in the distribution control step And then controlling the computer to increase the number of video frames in one transmission unit held in the distribution control step when it is detected that the delay in the distribution process has been eliminated for a certain period of time. A computer program characterized by the above.
前記撮像処理工程において符号化された映像フレームを一時記憶部へ一時保存する一時記憶工程と、
前記一時記憶部に保存した単数または複数の映像フレームを一送信単位として配信を行う配信制御工程と、
前記一送信単位としてまとめられた映像フレームを実際に相手装置に送る通信処理工程と、
前記一時記憶部のメモリ使用量を上限閾値と復旧閾値とで監視するメモリ監視工程とをコンピュータに実行させ、
前記メモリ監視工程においては、前記一時記憶部のメモリ使用量が前記上限閾値を上回ったことを検出すると、前記配信制御工程において配信を行う映像フレームの送信単位を減少させ、
前記一時記憶部のメモリ使用量が前記復旧閾値を下回ったことを検出すると、前記配信制御工程において配信を行う映像フレームの送信単位を増加させるようコンピュータを制御することを特徴とするコンピュータプログラム。 An imaging process that generates and encodes video frames; and
A temporary storage step of temporarily storing the video frame encoded in the imaging processing step in a temporary storage unit;
A delivery control step of delivering one or more video frames stored in the temporary storage unit as one transmission unit;
A communication processing step of actually sending video frames collected as one transmission unit to a partner device;
Causing the computer to execute a memory monitoring step of monitoring the memory usage of the temporary storage unit with an upper limit threshold and a recovery threshold;
In the memory monitoring step, when it is detected that the memory usage of the temporary storage unit exceeds the upper limit threshold, the transmission unit of video frames to be distributed in the distribution control step is decreased,
A computer program for controlling a computer to increase a transmission unit of a video frame to be distributed in the distribution control step when it is detected that a memory usage amount of the temporary storage unit is less than the recovery threshold.
前記撮像処理工程において符号化された映像フレームを一時記憶部へ一時保存する一時記憶工程と、
前記一時記憶部に保存した単数または複数の映像フレームを一送信単位として配信を行う配信制御工程と、
前記一送信単位としてまとめられた映像フレームを実際に相手装置に送る通信処理工程と、
前記配信制御工程において行われる配信処理の遅延状況を監視する遅延監視工程と、
前記一時記憶部のメモリ使用量を上限閾値と復旧閾値とで監視するメモリ監視工程とをコンピュータに実行させ、
前記遅延監視工程において相手装置毎への一送信単位に含まれる映像フレーム数を増減させ、かつ前記メモリ監視工程において一送信単位に含まれる映像フレーム数を増減させるようコンピュータを制御することを特徴とするコンピュータプログラム。 An imaging process that generates and encodes video frames; and
A temporary storage step of temporarily storing the video frame encoded in the imaging processing step in a temporary storage unit;
A delivery control step of delivering one or more video frames stored in the temporary storage unit as one transmission unit;
A communication processing step of actually sending video frames collected as one transmission unit to a partner device;
A delay monitoring step of monitoring a delay state of the distribution processing performed in the distribution control step;
Causing the computer to execute a memory monitoring step of monitoring the memory usage of the temporary storage unit with an upper limit threshold and a recovery threshold;
The computer is controlled to increase or decrease the number of video frames included in one transmission unit for each counterpart device in the delay monitoring step, and to increase or decrease the number of video frames included in one transmission unit in the memory monitoring step. Computer program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010104251A JP2011234233A (en) | 2010-04-28 | 2010-04-28 | Video distribution device and video distribution method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010104251A JP2011234233A (en) | 2010-04-28 | 2010-04-28 | Video distribution device and video distribution method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011234233A true JP2011234233A (en) | 2011-11-17 |
Family
ID=45323077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010104251A Pending JP2011234233A (en) | 2010-04-28 | 2010-04-28 | Video distribution device and video distribution method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011234233A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013192026A (en) * | 2012-03-14 | 2013-09-26 | Mitsubishi Electric Corp | Image transmitter, image transmission method, and program |
CN113542342A (en) * | 2020-04-21 | 2021-10-22 | 株式会社东芝 | Server device, information processing method, and storage medium |
-
2010
- 2010-04-28 JP JP2010104251A patent/JP2011234233A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013192026A (en) * | 2012-03-14 | 2013-09-26 | Mitsubishi Electric Corp | Image transmitter, image transmission method, and program |
CN113542342A (en) * | 2020-04-21 | 2021-10-22 | 株式会社东芝 | Server device, information processing method, and storage medium |
CN113542342B (en) * | 2020-04-21 | 2023-12-01 | 株式会社东芝 | Server device, information processing method, and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111628847B (en) | Data transmission method and device | |
CN106464601B (en) | Channel bundling | |
CN101909196B (en) | Channel-switching handling method, system and related equipment | |
JP5361924B2 (en) | Data transmission device, data communication device, and communication program | |
US9930097B2 (en) | Transport accelerator systems and methods | |
JP2001094625A (en) | Data communication unit, data communication method and storage medium | |
US7663665B2 (en) | Communication device and method for transferring video-stream data to a display device and a storage device | |
JP2007158552A (en) | Network camera system and network camera control program | |
TW201635762A (en) | Method and devices for negotiating bandwidth in a peer-to-peer network | |
CN111147573A (en) | Data transmission method and device | |
CN108924485B (en) | Client real-time video stream interrupt processing method and system and monitoring system | |
JP2016506206A (en) | Retransmission and frame synchronization for error control | |
JP2011234233A (en) | Video distribution device and video distribution method | |
WO2013042636A1 (en) | Distribution network and server, and distribution method | |
JP2014143496A (en) | Transmitter, control method and program of transmitter | |
WO2015154518A1 (en) | Flow control method, apparatus and system for variable bitrate media stream | |
JP2008278240A (en) | Communication system, communication equipment, communicating method, and program | |
JP2008109698A (en) | Packet communication apparatus, packet communication method, and packet communications program | |
JP6410423B2 (en) | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM | |
CN108737208A (en) | Connection synchronous method, device and computer based on security gateway deep-packet detection | |
JP7233253B2 (en) | Communication system and generator | |
JP2013168814A (en) | Media player parameter estimation device, method, and program | |
WO2016203870A1 (en) | Transmission apparatus, transmission method, and communication system | |
KR101933175B1 (en) | Mediatioin appratus mediating communication betwwen server and client | |
JP2007235753A (en) | Network accumulation type system, transmission apparatus and accumulation server therefor |