JP4498011B2 - Distribution apparatus, processing method thereof, program, and storage medium - Google Patents

Distribution apparatus, processing method thereof, program, and storage medium Download PDF

Info

Publication number
JP4498011B2
JP4498011B2 JP2004158027A JP2004158027A JP4498011B2 JP 4498011 B2 JP4498011 B2 JP 4498011B2 JP 2004158027 A JP2004158027 A JP 2004158027A JP 2004158027 A JP2004158027 A JP 2004158027A JP 4498011 B2 JP4498011 B2 JP 4498011B2
Authority
JP
Japan
Prior art keywords
group
clients
audio data
client
transmitted
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
JP2004158027A
Other languages
Japanese (ja)
Other versions
JP2005341291A (en
JP2005341291A5 (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 JP2004158027A priority Critical patent/JP4498011B2/en
Priority to US11/139,347 priority patent/US8095228B2/en
Priority to CNB2005100713688A priority patent/CN100461850C/en
Publication of JP2005341291A publication Critical patent/JP2005341291A/en
Publication of JP2005341291A5 publication Critical patent/JP2005341291A5/ja
Application granted granted Critical
Publication of JP4498011B2 publication Critical patent/JP4498011B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、例えば、インターネット等のネットワークを介して、多人数に音声や動画等の連続データを伝送する技術に関する。   The present invention relates to a technique for transmitting continuous data such as voice and video to a large number of people via a network such as the Internet.

近年、IP(Internet Protocol)ネットワークを利用したライブ画像配信システムやビデオ会議システム等、リアルタイム性が要求されるデータの配信システムが提案されている。   In recent years, data distribution systems that require real-time performance, such as live image distribution systems and video conference systems using an IP (Internet Protocol) network, have been proposed.

一般に、上記ライブ配信システムやビデオ会議システムを多人数で使用すると、映像がコマ落ちとして見えたり、音声が途切れる場合がある。また、映像と音声の同期をとっている製品は少なく、長時間使用すると映像と音声の同期がずれてくるシステムもある。これらは、映像と音声のデータの性質が異なることが原因である。   In general, when the above-mentioned live distribution system or video conference system is used by a large number of people, the video may be seen as dropped frames or the audio may be interrupted. In addition, there are few products that synchronize video and audio, and there are systems where video and audio are out of sync when used for a long time. These are caused by the difference in the properties of video and audio data.

MotionJPEGなどに代表される映像配信は、多量のデータを短時間に送信しなければならない。このため、多人数にリアルタイム性を重視してライブ配信する場合、必ずしも全員に全データを送信することはできず、再生側では多少のコマ落ちで再生することになってしまう。動画は多少コマ落ちしても人間の目にはわかりづらいため、このようなベストエフォート型の送信方法が採用されている。   In video distribution represented by MotionJPEG, a large amount of data must be transmitted in a short time. For this reason, when live distribution is performed with emphasis on real-time performance for a large number of people, it is not always possible to transmit all the data to everyone, and the playback side plays back with a few dropped frames. The best-effort transmission method is used because it is difficult for human eyes to understand even if the video is dropped a little.

VoIP(Voice over IP)などに代表される音声配信は、映像と比べ少量のデータを時間を掛けて一定間隔で送信しなければならない。また、多人数に配信する場合でも、全員に全データを一定間隔で送信することができないと、再生側では音途切れ、エコーなど不快な音として再生されてしまう。再生側ではネットワーク上での遅延などを考慮して、音声データをある程度バッファリングしてから音声の再生を行う。しかし、リアルタイム性を重視したライブ配信では数百ミリ秒〜数秒程度しかバッファリングしないこともあり、配信サーバ側は最低限一定間隔で送信処理を行う必要がある。   In voice distribution represented by VoIP (Voice over IP), a small amount of data must be transmitted at regular intervals over time. Even when distributed to a large number of people, if all data cannot be transmitted to everybody at regular intervals, the reproduction side will reproduce the sound as an unpleasant sound such as sound interruption or echo. On the playback side, the audio data is buffered to some extent in consideration of the delay on the network and the audio is played back. However, live distribution with an emphasis on real-time performance may only buffer several hundred milliseconds to several seconds, and it is necessary for the distribution server to perform transmission processing at a fixed interval.

ここで、映像と音声を多人数に配信する場合の、従来技術の動作概要について以下に説明する。   Here, an outline of the operation of the prior art when video and audio are distributed to a large number of people will be described below.

まず、映像・音声配信サーバは、一般的に図1のようなシステムに構成されており、配信サーバ102は複数の機能ブロックを持っている。   First, the video / audio distribution server is generally configured in a system as shown in FIG. 1, and the distribution server 102 has a plurality of functional blocks.

複数のクライアント109はネットワーク108を介して、配信サーバ102に映像と音声の配信要求を送信する。配信サーバ102では、ネットワーク部107を通してセッション管理部105がクライアントからの送信要求を受信し、クライアント情報106を作成し、保存する。音声データ処理部103と映像データ処理部104はそれぞれ送信するデータを作成し、先程のクライアント情報106を参照し、セッション管理部105を通してネットワーク部107へデータ送信を要求する。そして、ネットワーク部107は送信要求に従って宛先のクライアントへデータを送り届ける。   The plurality of clients 109 transmit video and audio distribution requests to the distribution server 102 via the network 108. In the distribution server 102, the session management unit 105 receives a transmission request from the client through the network unit 107, and creates and stores client information 106. The audio data processing unit 103 and the video data processing unit 104 respectively create data to be transmitted, refer to the previous client information 106, and request data transmission to the network unit 107 through the session management unit 105. Then, the network unit 107 sends the data to the destination client according to the transmission request.

多人数へ配信する場合は、音声データ処理部103と映像データ処理部104は、入力されたデータを、クライアント情報106に従って、全クライアントに送信する処理を行なう。
特開2002−223425
In the case of distribution to a large number of people, the audio data processing unit 103 and the video data processing unit 104 perform processing for transmitting the input data to all clients according to the client information 106.
JP 2002-223425 A

従来技術において、多人数に音声配信だけを行う場合の、音声データの生成タイミングと送信処理との時間関係を図2に示す。この例では、仮に一度に送信するデータの個数NをN=4とする。   FIG. 2 shows the time relationship between the generation timing of the audio data and the transmission processing when only audio distribution is performed for a large number of people in the prior art. In this example, it is assumed that the number N of data transmitted at a time is N = 4.

音声データが200,201,…の順に生成され、4つ目の音声データ203が生成された時点で、200〜203のデータをまとめてクライアントに送信し始め、全クライアントに送信完了するタイミングは音声データ205が生成されたタイミングとする。この場合、最終クライアントへ配信処理される周期である送信周期210と送信周期211はほぼ等しい。   When the audio data is generated in the order of 200, 201,... And the fourth audio data 203 is generated, the data of 200 to 203 is started to be transmitted to the clients collectively, and the transmission completion timing to all the clients is the audio. The timing when the data 205 is generated is assumed. In this case, the transmission cycle 210 and the transmission cycle 211, which are the cycles for distribution processing to the final client, are substantially equal.

図2のような音声配信処理に加えて映像配信処理も同時に行った場合の全送信処理タイミングを図3に示す。   FIG. 3 shows the entire transmission processing timing when the video distribution processing is simultaneously performed in addition to the audio distribution processing as shown in FIG.

映像配信処理と音声配信処理は、マルチタスク動作のため並列に送信処理をすることができるが、図1にも示した通りネットワーク部107は1つしか存在しないため、送信処理タイミングが重なってしまうと送信時間が今まで以上にかかってしまう。このため、送信周期310は図2の音声配信処理だけの場合の送信周期210より長くかかってしまう。また、送信周期311では映像配信処理とあまり重なっていないため影響をほとんど受けずに今までと同じ時間で送信を完了する。   The video distribution process and the audio distribution process can be transmitted in parallel because of the multitasking operation. However, since only one network unit 107 exists as shown in FIG. 1, the transmission process timing overlaps. And sending time will take longer than ever. For this reason, the transmission cycle 310 takes longer than the transmission cycle 210 in the case of only the voice distribution processing of FIG. Further, in the transmission cycle 311, the transmission is completed in the same time as before without much influence because it does not overlap with the video distribution process.

このように、従来技術では、多人数に映像配信と音声配信を行った場合、音声の送信周期を一定に保つことは困難である。特に、送信装置の処理能力が低い場合により困難になる。   As described above, in the related art, when video distribution and audio distribution are performed for a large number of people, it is difficult to keep the audio transmission cycle constant. In particular, it becomes more difficult when the processing capability of the transmission apparatus is low.

そこで、本発明は上述した事情に鑑みてなされたものであり、その目的は、多人数へ音声データと映像データを配信する場合でも、音声データの送信周期を一定に保つことができるようにすることである。   Accordingly, the present invention has been made in view of the above-described circumstances, and an object of the present invention is to maintain a constant transmission cycle of audio data even when audio data and video data are distributed to a large number of people. That is.

上述した課題を解決し、目的を達成するために、本発明に係わる配信装置は、映像データと音声データを複数のクライアントに送信する配信装置であって、前記複数のクライアントを、複数のグループに割り振る割り振り手段と、第1のグループのクライアントに送信すべき音声データを記憶する第1のバッファと、第2のグループのクライアントに送信すべき音声データを記憶する第2のバッファと、前記第1のグループのクライアントに第1の期間の音声データを前記第1のバッファから送信した後に、前記第2のグループのクライアントに前記第1の期間の開始から所定時間後の音声データの生成タイミングから開始される第2の期間の音声データを前記第2のバッファから送信する送信手段とを具備し、前記割り振り手段は、グループ数を減らしたことに応じて、前記第1のグループの第1のクライアントを前記第2のグループのクライアントに変更し、前記送信手段は、前記第1の期間の音声データを前記第1のグループのクライアントに送信してから前記第2の期間の音声データを前記第2のグループのクライアントに送信するまでの間に、前記第1のクライアントが前記第1のグループから前記第2のグループに変更された場合、前記第2の期間の音声データを前記第2のグループのクライアントに送信するときに、すでに前記第1のクライアントに対して送信済みの音声データを前記第1のクライアントに送信しないことを特徴とする。 To solve the above problems and achieve the object, the distribution device according to the present invention, there is provided a delivery apparatus for transmitting video data and audio data to a plurality of clients, said plurality of clients, a plurality of groups Allocating means for allocating; a first buffer for storing audio data to be transmitted to a first group of clients; a second buffer for storing audio data to be transmitted to a second group of clients; After transmitting voice data of the first period from the first buffer to the clients of the first group, starting from the generation timing of the voice data after a predetermined time from the start of the first period to the clients of the second group and transmitting means for transmitting the voice data of the second period is from the second buffer, said allocation means, glue In response to the reduction in the number, the first group of first clients is changed to the second group of clients, and the transmission means converts the first group of audio data to the first group. The first client changes from the first group to the second group between the transmission of the first period and the second period of audio data to the second group of clients. When the voice data of the second period is transmitted to the second group of clients, the voice data already transmitted to the first client is not transmitted to the first client. It is characterized by.

また、この発明に係わる配信装置において、前記割り振り手段は、前記クライアントの数の増減に応じて、前記グループ数を変更することを特徴とする。   In the distribution apparatus according to the present invention, the allocating unit changes the number of groups according to an increase or decrease in the number of clients.

また、本発明に係わる配信装置の処理方法は、映像データと音声データを複数のクライアントに送信する配信装置の処理方法であって、前記複数のクライアントを、複数のグループに割り振る割り振り工程と、第1のグループのクライアントに送信すべき音声データを第1のバッファに記憶させ、第2のグループのクライアントに送信すべき音声データを第2のバッファに記憶させる管理工程と、前記第1のグループのクライアントに第1の期間の音声データを前記第1のバッファから送信した後に、前記第2のグループのクライアントに前記第1の期間の開始から所定時間後の音声データの生成タイミングから開始される第2の期間の音声データを前記第2のバッファから送信する送信工程とを具備し、前記割り振り工程は、グループ数を減らしたことに応じて、前記第1のグループの第1のクライアントを前記第2のグループのクライアントに変更し、前記送信工程は、前記第1の期間の音声データを前記第1のグループのクライアントに送信してから前記第2の期間の音声データを前記第2のグループのクライアントに送信するまでの間に、前記第1のクライアントが前記第1のグループから前記第2のグループに変更された場合、前記第2の期間の音声データを前記第2のグループのクライアントに送信するときに、すでに前記第1のクライアントに対して送信済みの音声データを前記第1のクライアントに送信しないことを特徴とする。 The processing method of distributing device according to the present invention, the allocation process to allocate a processing method of a delivery apparatus for transmitting video data and audio data to a plurality of clients, said plurality of clients, a plurality of groups, the A management step of storing audio data to be transmitted to a group of clients in a first buffer and storing audio data to be transmitted to a second group of clients in a second buffer; After the audio data of the first period is transmitted from the first buffer to the client, the second group of clients is started from the generation timing of the audio data after a predetermined time from the start of the first period. the second period of audio data and a transmission step of transmitting from said second buffer, the allocation process, the number of groups In response, the first group of first clients is changed to the second group of clients, and the transmitting step converts the first period of audio data into the first group of clients. The first client is changed from the first group to the second group between the transmission of the voice data of the second period and the transmission of the voice data of the second period to the second group of clients. In this case, when the audio data of the second period is transmitted to the second group of clients, the audio data that has already been transmitted to the first client is not transmitted to the first client. And

また、この発明に係わる配信装置の処理方法において、前記割り振り工程は、前記クライアント数の増減に応じて、前記グループ数を変更することを特徴とする。   Further, in the processing method of the distribution apparatus according to the present invention, the allocating step changes the number of groups according to increase / decrease of the number of clients.

また、本発明に係わるプログラムは、上記の処理方法をコンピュータに実行させることを特徴とする。 A program according to the present invention causes a computer to execute the above processing method.

また、本発明に係わる記憶媒体は、上記のプログラムをコンピュータが読み取り可能に記憶したことを特徴とする。 A storage medium according to the present invention is characterized in that the above-described program is stored in a computer-readable manner.

本発明によれば、多人数へ音声データと映像データを配信する場合でも、音声データの送信周期を一定に保つことが可能となる。   According to the present invention, even when audio data and video data are distributed to a large number of people, the transmission cycle of audio data can be kept constant.

以下、本発明の好適な実施形態について、図面を参照して説明する。   Preferred embodiments of the present invention will be described below with reference to the drawings.

図4は、本発明のいくつかの実施形態に共通するシステム構成を示すブロック図である。   FIG. 4 is a block diagram illustrating a system configuration common to some embodiments of the present invention.

図4において、400は撮像装置、401は音声入力装置、402は配信サーバ、403は音声データ処理部、404は映像データ処理部、405はセッション管理部、407はネットワーク部であり、これらは、それぞれ図1に示した撮像装置100、音声入力装置101、配信サーバ102、音声データ処理部103、映像データ処理部104、セッション管理部105、ネットワーク部107と類似する機能を果たす。   In FIG. 4, 400 is an imaging device, 401 is an audio input device, 402 is a distribution server, 403 is an audio data processing unit, 404 is a video data processing unit, 405 is a session management unit, and 407 is a network unit. Functions similar to those of the imaging device 100, the audio input device 101, the distribution server 102, the audio data processing unit 103, the video data processing unit 104, the session management unit 105, and the network unit 107 shown in FIG.

本発明の実施形態では、これらのブロックに加え、音声データ処理部403、映像データ処理部404が参照するクライアント情報406を記憶する記憶部にグループ番号を保存する領域を準備する。また、グループ毎にどこまでバッファ蓄積が完了しているか、また、次の音声データが入力されたらどのグループの送信処理を実行するか、を管理するグループ番号管理部408を備える。   In the embodiment of the present invention, in addition to these blocks, an area for storing a group number is prepared in a storage unit that stores client information 406 referred to by the audio data processing unit 403 and the video data processing unit 404. In addition, a group number management unit 408 is provided to manage how much buffer accumulation is completed for each group and which group transmission processing is executed when the next audio data is input.

(第1の実施形態)
図4において、セッション管理部405は、クライアントからの送信要求により、クライアントにグループ番号を付与し、クライアント情報406を作成し、保存する。
(First embodiment)
In FIG. 4, the session management unit 405 assigns a group number to the client in response to a transmission request from the client, creates client information 406, and stores it.

本実施形態では、グループ番号の範囲を1〜4の4グループに分割する。グループ番号の付与方法は、接続時にグループ番号毎に所属するクライアント数が同じになるように付与する。   In this embodiment, the group number range is divided into four groups of 1 to 4. The group number is assigned so that the number of clients belonging to each group number is the same at the time of connection.

音声データ処理部403では、音声入力装置401から入力された音声データを適当な大きさに分割し、通し番号(識別子)を付与し、グループ番号管理部408に送る。グループ番号管理部408では、グループ毎に管理しているバッファから識別子を参照し、既に送信済みの分割された音声データの次の音声データから所定数の音声データをまとめてネットワーク部407を介して送信対象のグループに送信する。   The voice data processing unit 403 divides the voice data input from the voice input device 401 into an appropriate size, assigns a serial number (identifier), and sends it to the group number management unit 408. The group number management unit 408 refers to the identifier from the buffer managed for each group, and collects a predetermined number of audio data from the audio data next to the divided audio data that has already been transmitted via the network unit 407. Send to the target group.

グループ番号管理部408で実施する処理の流れについて図5のフローチャートを参照して説明する。   The flow of processing performed by the group number management unit 408 will be described with reference to the flowchart of FIG.

セッション管理部405は、クライアント情報を作成し、保存すると、グループ番号管理部408をスタートさせる。   When the session management unit 405 creates and stores the client information, the session management unit 405 starts the group number management unit 408.

グループ番号管理部408は、まず、作業中のグループ番号を0とする(ステップS501)。   The group number management unit 408 first sets the working group number to 0 (step S501).

次に、クライアント情報を参照して、接続クライアントが存在するか判定(ステップS502)し、もし存在しなければここで処理を終了する。   Next, referring to the client information, it is determined whether or not there is a connected client (step S502). If there is no connected client, the process ends here.

ステップS502で接続クライアントが存在する場合には、作業中のグループ番号をインクリメントし、作業中グループ番号が1〜N(本実施形態ではN=4)の範囲で順番に増えていくように設定する(ステップS503)。   If there is a connected client in step S502, the working group number is incremented, and the working group number is set so as to increase sequentially in the range of 1 to N (N = 4 in this embodiment). (Step S503).

そして、入力された音声データを一定サイズごとに分割して読込み(ステップS504)、グループ番号毎に管理しているそれぞれのバッファに保存する(ステップS505)。   Then, the input voice data is divided and read for each fixed size (step S504), and stored in each buffer managed for each group number (step S505).

次にクライアント情報を検索(ステップS506)し、次のクライアント情報があるか判定する(ステップS507)。接続中の全クライアントの検索が終了した場合、接続しているクライアントがいるか判定する処理(ステップS502)に戻る。一方、ステップS507で、接続中の全クライアントの検索が終了していない場合、今検索したクライアント情報中のグループ番号が現在作業中のグループ番号と一致するか判定し(ステップS508)、一致すれば、現在作業中のグループ番号に対応するバッファが蓄積している音声データの送信処理を行い(ステップS509)、一致していなければ、何もしない。そして、クライアント情報の検索(ステップS506)に戻る。   Next, the client information is searched (step S506), and it is determined whether there is next client information (step S507). When the search for all connected clients is completed, the process returns to the process of determining whether there is a connected client (step S502). On the other hand, if it is determined in step S507 that all connected clients have not been searched, it is determined whether the group number in the currently searched client information matches the group number currently being worked on (step S508). Then, the audio data stored in the buffer corresponding to the currently working group number is transmitted (step S509). If they do not match, nothing is done. Then, the process returns to the client information search (step S506).

本実施形態において多人数に音声配信だけを行う場合の、音声データの生成タイミングと送信処理との時間関係を図6に示す。   FIG. 6 shows the time relationship between the generation timing of audio data and the transmission processing when only audio distribution is performed for a large number of people in the present embodiment.

グループ1の最終クライアントの送信周期に注目すると、音声配信だけの場合なので、当然送信周期610と送信周期611は等しい(送信周期は図2の場合と同じである)。   When attention is paid to the transmission cycle of the last client of group 1, since it is a case of only audio distribution, the transmission cycle 610 and the transmission cycle 611 are naturally equal (the transmission cycle is the same as in FIG. 2).

図6の音声配信処理に加えて映像配信処理も同時に行った場合の全送信処理タイミングを図7に示す。   FIG. 7 shows the timing of all transmission processing when the video distribution processing is simultaneously performed in addition to the audio distribution processing of FIG.

映像配信処理と音声配信処理が同時に実行された場合、処理タイミングが重なったグループに対する音声の送信周期は少し遅れるが、他のグループに対する影響は抑制され、全体としては送信周期710と711に大きな差は発生しないことがわかる。   When the video distribution process and the audio distribution process are executed simultaneously, the audio transmission cycle for the group having the same processing timing is slightly delayed, but the influence on other groups is suppressed, and the transmission cycle 710 and 711 as a whole are greatly different. It turns out that does not occur.

このように、音声配信処理において、分割されたある同一の音声データをグループ毎に送信タイミングをずらしているため、送信処理の負荷をグループ数分に分散することができる。そのため、映像配信など他の処理タイミングと重なった場合でも、音声データの送信周期の誤差およびクライアントに対する影響を最小限に抑えることができる。   Thus, in the audio distribution process, the transmission timing of the same divided audio data is shifted for each group, so that the load of the transmission process can be distributed to the number of groups. For this reason, even when overlapped with other processing timings such as video distribution, it is possible to minimize the error in the transmission cycle of the audio data and the influence on the client.

また、クライアントから見ても、そのクライアントが属するグループに対応するバッファが蓄積された時点でサーバから送出されるので、リアルタイム性も損なわれることがない。   Further, even when viewed from the client, since the buffer corresponding to the group to which the client belongs is transmitted from the server, the real-time property is not impaired.

(第2の実施形態)
多人数が映像配信・音声配信機能を利用する場合、グループ番号毎に均等な人数になるように割り振っても、切断タイミングによって各グループ番号に所属する人数に差が生じてくる。より送信間隔の誤差を小さくするためには、各グループ番号に所属する人数は少なくし、送信処理を分散する方がよい。
(Second Embodiment)
When a large number of people use the video distribution / audio distribution function, even if allocation is performed so that the number of people is equal for each group number, the number of people belonging to each group number varies depending on the cutting timing. In order to further reduce the error in the transmission interval, it is better to reduce the number of people belonging to each group number and to distribute the transmission process.

このため、本実施形態では、接続時だけでなくクライアントの切断されたタイミングでも所属グループの再配置を行う。これを図8を用いて説明する。   For this reason, in this embodiment, rearrangement of the belonging group is performed not only at the time of connection but also at the timing when the client is disconnected. This will be described with reference to FIG.

例えば、現在、グループ1に3人、グループ2〜4に2人のクライアントが所属しており、グループ4のクライアントが切断すると、各グループの所属人数は、3,2,2,1となる。送信処理分散の観点から考えると、各グループの所属人数は全て2人とするのが望ましい。このため、グループ1のクライアントをグループ4に移動することを考える。   For example, there are currently three clients belonging to group 1 and two clients belonging to groups 2 to 4, and if the clients of group 4 are disconnected, the number of members belonging to each group becomes 3, 2, 2, 1. From the viewpoint of distribution of transmission processing, it is preferable that the number of members in each group is two. For this reason, consider moving a client of group 1 to group 4.

グループ1の動作として、音声データ803まで蓄積した時点で送信処理が行われる。この後、グループ1の1人のクライアントの所属をグループ4に変更すると共に、音声データ803まで送信完了したことをクライアント情報に保存する。   As the operation of group 1, transmission processing is performed at the time when the audio data 803 is accumulated. Thereafter, the affiliation of one client in group 1 is changed to group 4, and the fact that transmission to audio data 803 has been completed is stored in the client information.

グループ4の動作では、図8に示す様に、音声データ806が生成された時に再度送信処理が行われ、803〜806の音声データが送信される。この場合、グループ1からグループ4に所属が変更されたクライアントには、既に音声データ803までが送信されており、クライアント情報中に音声データ803まで送信完了したことが保存されているので、音声データ804〜806までの合計3つ分の音声データの送信が行なわれる。   In the operation of the group 4, as shown in FIG. 8, when the audio data 806 is generated, the transmission process is performed again, and the audio data 803 to 806 are transmitted. In this case, since the audio data 803 has already been transmitted to the clients whose affiliation has been changed from the group 1 to the group 4, the fact that the transmission to the audio data 803 has been completed is stored in the client information. A total of three pieces of audio data 804 to 806 are transmitted.

このように、多人数に配信している際、クライアントの切断タイミングで所属グループの再配置を行うことにより、各グループ番号に所属するクライアント数を均等に保つことができ、常に送信周期のずれを最低限に保つことができる。   In this way, when distributing to a large number of people, the number of clients belonging to each group number can be kept even by rearranging the group at the disconnection timing of the client, and the transmission cycle is always shifted. Can be kept to a minimum.

(第3の実施形態)
第1の実施形態ではグループ数=4、バッファ蓄積数=4として説明したが、接続クライアント数が少ない場合は、グループ数を4つも準備する必要はなく、4未満のグループ数でも一定の送信周期を保つことができる可能性が高い。また、グループ数を減らすことは、装置のメモリなど資源の効率化にも非常に有効である。
(Third embodiment)
In the first embodiment, the number of groups = 4 and the number of buffer accumulations = 4. However, when the number of connected clients is small, it is not necessary to prepare as many as four groups. Is likely to be able to keep. Also, reducing the number of groups is very effective for improving the efficiency of resources such as memory of the apparatus.

具体的には、接続するクライアント数がある一定の人数Aになるまでは、グループ数は1つ、クライアント数がA〜2xAまではグループ数は2、…、クライアント数が(M−1)xA〜MxAまではグループ数はMに分割する。Mの最大値は、バッファ蓄積数である。   Specifically, until the number of connected clients reaches a certain number A, the number of groups is one, the number of clients is A to 2xA, the number of groups is 2, ..., and the number of clients is (M-1) xA. Up to MxA, the number of groups is divided into M. The maximum value of M is the buffer accumulation number.

バッファ蓄積数以上にグループ数Mを多くしようとしても送信タイミングが、他のどれかのグループと重複してしまうため、バッファ蓄積数M以上に分割することは無意味である。   Even if an attempt is made to increase the number of groups M beyond the buffer accumulation number, the transmission timing overlaps with any other group, so it is meaningless to divide the buffer accumulation number M or more.

グループ数の増減により、クライアントの所属するグループ番号に変更が生じるが、グループ番号間のクライアントの移動方法については第2の実施形態の方法を用いることで解決することができる。   Although the group number to which the client belongs changes due to increase / decrease in the number of groups, the method of moving the client between the group numbers can be solved by using the method of the second embodiment.

このように、接続するクライアント数の増減に応じて、グループ数を変更することにより装置自体の資源を効率的に活用することができる。   As described above, by changing the number of groups in accordance with the increase or decrease of the number of connected clients, it is possible to efficiently use the resources of the device itself.

以上説明したように、上記の実施形態によれば、クライアントから音声の配信要求を受信したときに、各クライアントにグループ番号を付与し、データを生成する度に開始位置が異なる各グループ用のバッファに蓄積して、一定個数蓄積できた時にクライアントへの送信処理を行うことにより、送信処理の負荷をグループ数分に分散することができ、音声データの送信周期のずれを最小限に抑えることができる。実際に映像と音声配信サーバによりグループ数4、蓄積バッファ数4x10msとして実験した結果、送信周期のずれは±5msから±1msとなり高い効果を得ることができた。   As described above, according to the above embodiment, when an audio distribution request is received from a client, a group number is assigned to each client, and a buffer for each group having a different start position each time data is generated. When a certain number of data is stored in the client, the transmission processing to the client is performed, so that the load of the transmission processing can be distributed over the number of groups, and the deviation of the transmission cycle of the audio data can be minimized. it can. As a result of actually experimenting with the number of groups of 4 and the number of storage buffers of 4 × 10 ms by the video and audio distribution server, the deviation of the transmission cycle was changed from ± 5 ms to ± 1 ms, and a high effect could be obtained.

また、グループ毎に開始位置の異なるバッファを使用するので、指定個数蓄積完了するタイミングが異なり、常に最新のデータが生成されたタイミングでクライアントにデータを送信することができ、リアルタイム性も損なわれない。   Also, since buffers with different start positions are used for each group, the timing for completing the specified number of accumulations is different, and the data can always be sent to the client at the timing when the latest data is generated, and real-time performance is not impaired. .

(他の実施形態)
また、各実施形態の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
(Other embodiments)
In addition, an object of each embodiment is to supply a storage medium (or recording medium) on which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and a computer (or CPU) of the system or apparatus Needless to say, this can also be achieved by reading and executing the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.

さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Furthermore, after the program code read from the storage medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is determined based on the instruction of the program code. It goes without saying that the CPU or the like provided in the expansion card or 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.

本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。   When the present invention is applied to the storage medium, the storage medium stores program codes corresponding to the flowcharts described above.

従来の映像・音声配信システムの構成と配信サーバの機能ブロック構造を示す図である。It is a figure which shows the structure of the conventional video / audio delivery system, and the functional block structure of a delivery server. 多人数に音声配信を行った場合の従来の動作タイミング図である。It is the conventional operation | movement timing diagram at the time of performing audio | voice delivery to many people. 多人数に音声配信と映像配信を行った場合の従来の動作タイミング図である。It is the conventional operation | movement timing diagram at the time of performing audio | voice delivery and video delivery to many people. 本発明の実施形態に係わる映像・音声配信サーバの機能ブロック構造を示す図である。It is a figure which shows the functional block structure of the video / audio delivery server concerning embodiment of this invention. グループ番号管理部で実施する処理を示すフローチャートである。It is a flowchart which shows the process implemented in a group number management part. 本発明の第1の実施形態における、多人数に音声配信を行った場合の動作タイミング図である。It is an operation | movement timing diagram at the time of performing audio | voice delivery to many people in the 1st Embodiment of this invention. 本発明の第1の実施形態における、多人数に音声配信と映像配信を行った場合の動作タイミング図である。It is an operation | movement timing diagram at the time of performing audio | voice delivery and video delivery to many people in the 1st Embodiment of this invention. クライアントのグループ間移動による送信データ遷移図である。It is a transmission data transition diagram by movement of a client between groups.

符号の説明Explanation of symbols

400 撮像装置
401 音声入力装置
402 配信サーバ
403 音声データ処理部
404 映像データ処理部
405 セッション管理部
406 クライアント情報
407 ネットワーク部
408 グループ番号管理部
400 Imaging Device 401 Audio Input Device 402 Distribution Server 403 Audio Data Processing Unit 404 Video Data Processing Unit 405 Session Management Unit 406 Client Information 407 Network Unit 408 Group Number Management Unit

Claims (6)

映像データと音声データを複数のクライアントに送信する配信装置であって、
前記複数のクライアントを、複数のグループに割り振る割り振り手段と、
第1のグループのクライアントに送信すべき音声データを記憶する第1のバッファと、
第2のグループのクライアントに送信すべき音声データを記憶する第2のバッファと、
前記第1のグループのクライアントに第1の期間の音声データを前記第1のバッファから送信した後に、前記第2のグループのクライアントに前記第1の期間の開始から所定時間後の音声データの生成タイミングから開始される第2の期間の音声データを前記第2のバッファから送信する送信手段とを具備し、
前記割り振り手段は、グループ数を減らしたことに応じて、前記第1のグループの第1のクライアントを前記第2のグループのクライアントに変更し、
前記送信手段は、前記第1の期間の音声データを前記第1のグループのクライアントに送信してから前記第2の期間の音声データを前記第2のグループのクライアントに送信するまでの間に、前記第1のクライアントが前記第1のグループから前記第2のグループに変更された場合、前記第2の期間の音声データを前記第2のグループのクライアントに送信するときに、すでに前記第1のクライアントに対して送信済みの音声データを前記第1のクライアントに送信しないことを特徴とする配信装置。
A distribution device that transmits video data and audio data to a plurality of clients,
Allocating means for allocating the plurality of clients to a plurality of groups;
A first buffer for storing audio data to be transmitted to a first group of clients;
A second buffer for storing audio data to be transmitted to a second group of clients;
After transmitting audio data of a first period from the first buffer to the first group of clients, generation of audio data after a predetermined time from the start of the first period to the second group of clients Transmission means for transmitting audio data of the second period starting from the timing from the second buffer ,
The allocating means changes the first client of the first group to the client of the second group in response to reducing the number of groups,
The transmission means transmits the audio data of the first period to the first group of clients until the audio data of the second period is transmitted to the second group of clients. When the first client is changed from the first group to the second group, when the second period of voice data is transmitted to the second group of clients, the first client A delivery apparatus , wherein audio data that has already been sent to a client is not sent to the first client .
前記割り振り手段は、前記クライアントの数の増減に応じて、前記グループ数を変更することを特徴とする請求項1に記載の配信装置。   The distribution apparatus according to claim 1, wherein the allocating unit changes the number of groups according to an increase or decrease in the number of the clients. 映像データと音声データを複数のクライアントに送信する配信装置の処理方法であって、
前記複数のクライアントを、複数のグループに割り振る割り振り工程と、
第1のグループのクライアントに送信すべき音声データを第1のバッファに記憶させ、第2のグループのクライアントに送信すべき音声データを第2のバッファに記憶させる管理工程と、
前記第1のグループのクライアントに第1の期間の音声データを前記第1のバッファから送信した後に、前記第2のグループのクライアントに前記第1の期間の開始から所定時間後の音声データの生成タイミングから開始される第2の期間の音声データを前記第2のバッファから送信する送信工程とを具備し、
前記割り振り工程は、グループ数を減らしたことに応じて、前記第1のグループの第1のクライアントを前記第2のグループのクライアントに変更し、
前記送信工程は、前記第1の期間の音声データを前記第1のグループのクライアントに送信してから前記第2の期間の音声データを前記第2のグループのクライアントに送信するまでの間に、前記第1のクライアントが前記第1のグループから前記第2のグループに変更された場合、前記第2の期間の音声データを前記第2のグループのクライアントに送信するときに、すでに前記第1のクライアントに対して送信済みの音声データを前記第1のクライアントに送信しないことを特徴とする配信装置の処理方法。
A processing method of a distribution apparatus for transmitting video data and audio data to a plurality of clients,
An allocating step of allocating the plurality of clients to a plurality of groups;
A management step of storing audio data to be transmitted to a first group of clients in a first buffer and storing audio data to be transmitted to a second group of clients in a second buffer;
After transmitting audio data of a first period from the first buffer to the first group of clients, generation of audio data after a predetermined time from the start of the first period to the second group of clients A transmission step of transmitting audio data of the second period starting from the timing from the second buffer ,
The allocating step changes the first client of the first group to the client of the second group in response to reducing the number of groups;
In the transmission step, the audio data of the first period is transmitted to the first group of clients until the audio data of the second period is transmitted to the second group of clients. When the first client is changed from the first group to the second group, when the second period of voice data is transmitted to the second group of clients, the first client A processing method of a distribution apparatus, wherein audio data that has already been transmitted to a client is not transmitted to the first client .
前記割り振り工程は、前記クライアント数の増減に応じて、前記グループ数を変更することを特徴とする請求項に記載の配信装置の処理方法。 4. The processing method of the distribution apparatus according to claim 3 , wherein in the allocation step, the number of groups is changed in accordance with an increase or decrease in the number of clients. 請求項3又は4に記載の処理方法をコンピュータに実行させることを特徴とするプログラム。 A program for causing a computer to execute the processing method according to claim 3 or 4 . 請求項に記載のプログラムをコンピュータが読み取り可能に記憶したことを特徴とする記憶媒体。 A storage medium storing the program according to claim 5 in a computer-readable manner.
JP2004158027A 2004-05-27 2004-05-27 Distribution apparatus, processing method thereof, program, and storage medium Expired - Fee Related JP4498011B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004158027A JP4498011B2 (en) 2004-05-27 2004-05-27 Distribution apparatus, processing method thereof, program, and storage medium
US11/139,347 US8095228B2 (en) 2004-05-27 2005-05-26 Data distribution apparatus, its control method, program, and storage medium
CNB2005100713688A CN100461850C (en) 2004-05-27 2005-05-27 Data distribution apparatus and its control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004158027A JP4498011B2 (en) 2004-05-27 2004-05-27 Distribution apparatus, processing method thereof, program, and storage medium

Publications (3)

Publication Number Publication Date
JP2005341291A JP2005341291A (en) 2005-12-08
JP2005341291A5 JP2005341291A5 (en) 2007-07-12
JP4498011B2 true JP4498011B2 (en) 2010-07-07

Family

ID=35494332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004158027A Expired - Fee Related JP4498011B2 (en) 2004-05-27 2004-05-27 Distribution apparatus, processing method thereof, program, and storage medium

Country Status (2)

Country Link
JP (1) JP4498011B2 (en)
CN (1) CN100461850C (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6369043B2 (en) 2013-03-15 2018-08-08 株式会社リコー Delivery control system, delivery system, delivery control method, and program
JP6398215B2 (en) * 2013-03-15 2018-10-03 株式会社リコー Delivery control system, delivery system, delivery control method, and program
KR102035740B1 (en) * 2019-06-03 2019-10-23 오픈스택 주식회사 Apparatus for transmitting packets using timer interrupt service routine
CN112929114B (en) * 2021-01-26 2022-12-13 广州市保伦电子有限公司 Low-delay audio distribution method, module and device based on network card

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1141257A (en) * 1997-07-22 1999-02-12 Nec Corp Cell assembly processing method and device therefor
JP2001045458A (en) * 1999-07-29 2001-02-16 Matsushita Electric Ind Co Ltd Video server and method for controlling data transfer for the same
JP2002508639A (en) * 1998-03-26 2002-03-19 シーメンス アクチエンゲゼルシヤフト Method of transferring digital information formed in a TDMA system via an ATM transmission section
JP2002261933A (en) * 2001-03-01 2002-09-13 J-Phone East Co Ltd Communication method, method for controlling distribution of traffic in communication network, information distribution system, and information communication terminal
JP2003281014A (en) * 2002-03-20 2003-10-03 Megafusion Corp Multipoint communication system and repeater

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0917367B1 (en) * 1997-10-17 2006-06-07 Sony Corporation Data distribution system, distribution equipment, terminal equipment, and data distribution method
FR2787963B1 (en) * 1998-12-28 2001-02-09 Thomson Multimedia Sa METHOD FOR STORING A DIGITAL AUDIO AND VIDEO DATA STREAM, STORAGE DEVICE AND RECEIVER FOR IMPLEMENTING THE METHOD
US6885987B2 (en) * 2001-02-09 2005-04-26 Fastmobile, Inc. Method and apparatus for encoding and decoding pause information

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1141257A (en) * 1997-07-22 1999-02-12 Nec Corp Cell assembly processing method and device therefor
JP2002508639A (en) * 1998-03-26 2002-03-19 シーメンス アクチエンゲゼルシヤフト Method of transferring digital information formed in a TDMA system via an ATM transmission section
JP2001045458A (en) * 1999-07-29 2001-02-16 Matsushita Electric Ind Co Ltd Video server and method for controlling data transfer for the same
JP2002261933A (en) * 2001-03-01 2002-09-13 J-Phone East Co Ltd Communication method, method for controlling distribution of traffic in communication network, information distribution system, and information communication terminal
JP2003281014A (en) * 2002-03-20 2003-10-03 Megafusion Corp Multipoint communication system and repeater

Also Published As

Publication number Publication date
CN1703086A (en) 2005-11-30
JP2005341291A (en) 2005-12-08
CN100461850C (en) 2009-02-11

Similar Documents

Publication Publication Date Title
US8880650B2 (en) System and method for storing streaming media file
US8667158B2 (en) Video splitting and distributed placement scheme for clustered video servers
US8726327B2 (en) System and method for peer-to-peer live streaming
US7856501B2 (en) Network traffic prioritization
JP2009506627A (en) On-demand system and method using dynamic broadcast scheduling
KR20180031547A (en) Method and apparatus for adaptively providing multiple bit rate stream media in server
CN105612753A (en) Switching between adaptation sets during media streaming
JP5529177B2 (en) System and method for buffering with P2P-based streaming service, and system for distributing an application that processes buffering on a client
US20180192090A1 (en) Method of implementing audio and video live broadcast and server
EP2413564A1 (en) Method and apparatus for transmitting and receiving streaming data based on RTSP sessions
JP2006203910A (en) Method for transmitting data with no jitter in synchronizing ethernet (r) system
JP2004080145A (en) Image server system and its image reproducing method
JP4498011B2 (en) Distribution apparatus, processing method thereof, program, and storage medium
US20020147827A1 (en) Method, system and computer program product for streaming of data
CN109151492A (en) A kind of quick start method and device of live video
CN108024125A (en) A kind of audio, video data playback method and server and client side
CN106331847B (en) Audio and video playing method and apparatus
CN109194678B (en) Distributed streaming media service system based on redis message queue
JP2004104704A (en) Video reproducing apparatus, video reproducing method, and program
Guan et al. A two-level patching scheme for video-on-demand delivery
JP2004356829A (en) Data receiving reproducing method and data receiving reproducing apparatus
TW571594B (en) Methods for providing video-on-demand services for broadcasting systems
WO2008028835A2 (en) A method and an apparatus for data streaming
JP7292901B2 (en) Transmission device, transmission method, and program
Helbig et al. Protocol for browsing in continuous data for cooperative multi-server and multi-client applications

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070517

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070517

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091016

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: 20100412

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: 20100413

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4498011

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: 20130423

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees