JP5532638B2 - Data distribution system - Google Patents

Data distribution system Download PDF

Info

Publication number
JP5532638B2
JP5532638B2 JP2009061311A JP2009061311A JP5532638B2 JP 5532638 B2 JP5532638 B2 JP 5532638B2 JP 2009061311 A JP2009061311 A JP 2009061311A JP 2009061311 A JP2009061311 A JP 2009061311A JP 5532638 B2 JP5532638 B2 JP 5532638B2
Authority
JP
Japan
Prior art keywords
data
source
server
communication
server device
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
JP2009061311A
Other languages
Japanese (ja)
Other versions
JP2010218013A (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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2009061311A priority Critical patent/JP5532638B2/en
Publication of JP2010218013A publication Critical patent/JP2010218013A/en
Application granted granted Critical
Publication of JP5532638B2 publication Critical patent/JP5532638B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

この発明は、音声データなどのリアルタイムデータを、データ供給源であるソース装置からサーバ装置を介してクライアント装置に配信するデータ配信システムに関する。   The present invention relates to a data distribution system for distributing real-time data such as audio data from a source device, which is a data supply source, to a client device via a server device.

従来より、サーバ装置から音声データなどのデータをクライアント装置に配信するシステムが知られている。例えば、特許文献1の録音データ配信システムでは、リアルタイムデータではないが、録音データをサーバ装置にアップし、その後クライアント装置で聴取することができる。また、特許文献2のオーディオ配信システムでは、サーバ装置から複数のクライアント装置にオーディオデータをストリーミング配信する際、オーディオデータバッファ量が目標値を維持できるよう読出速度を制御し、全てのクライアント装置の再生を同期させることができる。さらに、携帯用電話機、「スカイプ」と呼ばれるインターネット電話サービス及びパーソナルコンピュータ(PC)を使い、インターネット上で主として音声データで番組をリアルタイムに配信するネットラジオシステムがある。   2. Description of the Related Art Conventionally, a system that distributes data such as voice data from a server device to a client device is known. For example, in the recorded data distribution system of Patent Document 1, although not real-time data, the recorded data can be uploaded to the server device and then listened to by the client device. Further, in the audio distribution system of Patent Document 2, when streaming audio data from a server apparatus to a plurality of client apparatuses, the reading speed is controlled so that the audio data buffer amount can maintain a target value, and reproduction of all client apparatuses is performed. Can be synchronized. Furthermore, there is a net radio system that uses a portable telephone, an Internet telephone service called “Skype”, and a personal computer (PC) to deliver a program mainly in audio data in real time on the Internet.

特開2005−316891号公報JP 2005-316891 A 特開2005−148565号公報JP 2005-148565 A

ここで、音声データなどのリアルタイムデータを情報発信元のソース装置からサーバ装置を介してクライアント装置に配信することを考えた場合、ソース装置とサーバ装置の通信回線が中断している間は情報を発信すること自体ができない。例えば、ソース装置が携帯用電話機の場合、電車で山間部の電波の届きにくいところにさしかかるとサーバ装置との通信が中断して中継できなくなり、後で通信が再開したときに「いやー先ほどの景色はすごかったですね。生でお伝えできなかったのが残念です。」というしかない。   Here, when it is considered that real-time data such as voice data is distributed from the source device that is the source of information to the client device via the server device, information is transmitted while the communication line between the source device and the server device is interrupted. It is not possible to send itself. For example, if the source device is a mobile phone, communication with the server device will be interrupted if it reaches a place where it is difficult to receive radio waves in mountainous areas on a train, and when communication resumes later, It was amazing. It ’s a shame that I could n’t tell you live. ”

この発明は、このような事情に鑑み、音声データなどのリアルタイムデータをソース装置からサーバ装置を介してクライアント装置に配信する際、ソース装置とサーバ装置の通信回線が中断してもソース装置からクライアント装置に配信されるデータを途切れさせないようにすることができるデータ配信システムを提供することを目的とする。   In view of such circumstances, the present invention provides a method in which real-time data such as audio data is distributed from the source device to the client device via the server device even if the communication line between the source device and the server device is interrupted. It is an object of the present invention to provide a data distribution system that can prevent data distributed to a device from being interrupted.

この発明の主たる特徴に従うと、ソース装置(RC:例えば、RCa)、サーバ装置(SV)及び1以上のクライアント装置(CL:例えば、CLa1,CLa2)から成り、リアルタイムデータをデータ供給源であるソース装置(RC)からサーバ装置(SV)を介してクライアント装置(CL)に配信するデータ配信システムであって、ソース装置(RC)は、リアルタイムデータをバッファリングするソースバッファリング手段(2B;R3)と、サーバ装置(SV)との間の通信状態を検知するソース通信状態検知手段(R6,R7)と、ソース通信状態検知手段(R6,R7)によりサーバ装置(SV)との通信が可能であると検知されている間(R4=YES)、ソースバッファリング手段によりバッファリングされたデータを実時間レートで順次サーバ装置(SV)に転送する第1転送手段(R5)と、ソース通信状態検知手段(R6,R7)によりサーバ装置(SV)との通信が不能となった後に再び可能となったことが検知されたときに(R6→R4=NO→R8=YES)、第1転送手段(R5)によるデータ転送に先立って、通信不能の間にソースバッファリング手段(2B;R3)によりバッファリングされたデータを実時間レートより速いレートでサーバ装置(SV)に転送する第2転送手段(R9)とを具備し、サーバ装置(SV)は、第1転送手段(R5)及び第2転送手段(R9)により転送されるデータ(Drs,Drb)をバッファリングするサーババッファリング手段(SB:S7,S8)と、サーババッファリング手段(SB:S7,S8)によりバッファリングされたデータ(Ds)を実時間レートでクライアント装置(CL)に配信するバッファリングデータ配信手段(S11)と、第2転送手段(R9)により転送されるデータ(Drb)及びこのデータ転送に続く所定時間の間第1転送手段(R5)により転送されるデータ(Drs)の時間軸を実時間より短縮する速度変換手段(SA:S8)とを具備し、サーババッファリング手段(SB:S7,S8)は、速度変換手段(SA:S8)により時間軸が短縮されたデータをバッファリングする(SB:S8)データ配信システム〔請求項1〕が提供される。なお、括弧書きは、理解の便のために付記した実施例の参照記号や用語等であり、以下においても同様である。   According to the main feature of the present invention, a source device (RC: for example, RCa), a server device (SV), and one or more client devices (CL: for example, CLa1, CLa2), a real-time data source that is a data supply source A data distribution system for distributing data from a device (RC) to a client device (CL) via a server device (SV), wherein the source device (RC) buffers source buffering means (2B; R3). Can communicate with the server device (SV) by the source communication state detection means (R6, R7) for detecting the communication state between the server device (SV) and the source communication state detection means (R6, R7). While being detected (R4 = YES), the data buffered by the source buffering means The first transfer means (R5) that sequentially transfers to the server apparatus (SV) at the time rate and the communication with the server apparatus (SV) become impossible again by the source communication state detection means (R6, R7). When it is detected (R6 → R4 = NO → R8 = YES), the data is buffered by the source buffering means (2B; R3) while communication is disabled prior to the data transfer by the first transfer means (R5). Second transfer means (R9) for transferring the ringed data to the server apparatus (SV) at a rate faster than the real time rate. The server apparatus (SV) includes the first transfer means (R5) and the second transfer. Server buffering means (SB: S7, S8) for buffering data (Drs, Drb) transferred by the means (R9), and server buffering means (SB: S7, S8) ) Buffered data distribution means (S11) for delivering the data (Ds) buffered by the client device (CL) at a real time rate, data (Drb) transferred by the second transfer means (R9), and this Speed conversion means (SA: S8) for shortening the time axis of the data (Drs) transferred by the first transfer means (R5) for a predetermined time following the data transfer from the real time, and server buffering means ( SB: S7, S8) provides a data distribution system (claim 1) for buffering data whose time axis is shortened by the speed conversion means (SA: S8) (SB: S8). Note that the parentheses are reference symbols, terms and the like of the examples added for convenience of understanding, and the same applies to the following.

この発明によるデータ配信システムは(請求項1)、ソース装置(RC:例えば、RCa)、サーバ装置(SV)及び1以上のクライアント装置(CL:例えば、CLa1,CLa2)から成り、リアルタイムデータをデータ供給源であるソース装置(RC)からサーバ装置(SV)を介してクライアント装置に配信する。ソース装置(RC)は、音声や音楽、映像などのリアルタイムデータをバッファリングし(2B;R3)、通信可能な通常状態では、バッファリングしたデータ(Drs)を実時間レートでサーバ装置(SV)に転送するが(R5)、サーバ装置(SV)との通信が不能となった後に再び可能となったことが検知されたときには(R6→R4=NO→R8=YES)、通信不能の間にバッファリングされたデータ(Drb)を実時間レートより速いレートでサーバ装置(SV)に転送する(R9)。サーバ装置(SV)は、ソース装置(RC)から実時間レートで転送される通常時(S5=YES→S6=NO)のデータ(Drs)及び実時間より速いレートで転送される通信復旧時(S4=YES)のデータ(Drb)をバッファリングし(S7,S8)、バッファリングされたデータ(Ds)を実時間レートでクライアント装置(CL)に配信する(S11)。   A data distribution system according to the present invention comprises (a) a source device (RC: for example, RCa), a server device (SV), and one or more client devices (CL: for example, CLa1, CLa2). Distribution is performed from the source device (RC), which is a supply source, to the client device via the server device (SV). The source device (RC) buffers real-time data such as voice, music, and video (2B; R3), and in a normal state where communication is possible, the buffered data (Drs) is sent to the server device (SV) at a real-time rate. (R5), when it is detected that communication with the server apparatus (SV) is disabled again (R6 → R4 = NO → R8 = YES), communication is not possible. The buffered data (Drb) is transferred to the server device (SV) at a rate faster than the real time rate (R9). The server device (SV) is the normal time (S5 = YES → S6 = NO) data (Drs) transferred from the source device (RC) at the real-time rate, and the communication is restored at a rate faster than the real time ( The data (Drb) of S4 = YES) is buffered (S7, S8), and the buffered data (Ds) is distributed to the client device (CL) at a real time rate (S11).

従って、この発明によれば、音声データなどのリアルタイムデータをソース装置からサーバ装置を介してクライアント装置に配信する際、ソース装置とサーバ装置の通信回線が中断してもソース装置からクライアント装置に配信されるデータは途切れさせないようにすることができる。   Therefore, according to the present invention, when real-time data such as audio data is distributed from the source device to the client device via the server device, even if the communication line between the source device and the server device is interrupted, it is distributed from the source device to the client device. The data being processed can be kept from being interrupted.

この発明によるデータ配信システムでは、さらに、サーバ装置(SV)において、ソース装置(RC)・サーバ装置(SV)間の通信が再開した際に(S4=YES)ソース装置(RC)から実時間レートより速いレートで転送されるデータ〔通信不能の間、ソース装置(RC)でバッファリングされたデータDrb〕及びこのデータ転送に続く所定時間の間〔バッファリングデータDb(Pr〜Pw)が最小時間分になる(S6=YES)までの間〕実時間レートで転送されるデータ(Drs)の時間軸を実時間より短縮する速度変換を行い(SA:S8)、時間軸が短縮されたデータ(Da)をバッファリングする(SB:S8)ようにしている。   In the data distribution system according to the present invention, when the communication between the source device (RC) and the server device (SV) is resumed in the server device (SV) (S4 = YES), the real time rate is transmitted from the source device (RC). Data transferred at a faster rate (data Drb buffered by the source device (RC) during communication failure) and a predetermined time following this data transfer [buffering data Db (Pr to Pw) is the minimum time Minutes (until S6 = YES)] Speed conversion is performed to shorten the time axis of the data (Drs) transferred at the real time rate (SA: S8), and the data with the time axis shortened (SA: S8). Da) is buffered (SB: S8).

従って、この発明によれば、さらに、データが実時間レートでクライアント装置に配信されているにも拘わらず、ソース装置・サーバ装置間の通信再開時に、クライアント装置では、サーバ装置で時間軸短縮の速度変換がなされたデータに基づいて、音声や音楽、映像などを高速に再生し、通信不能が復旧したときの遅れを回復して行き、やがて、最小の遅れをもつ元のデータ受信状態に復帰することができる。
Therefore, according to the present invention, when the communication between the source device and the server device is resumed even though the data is distributed to the client device at the real time rate, the client device reduces the time axis by the server device. Based on the data that has been speed-converted, voice, music, video, etc. are played back at high speed, the delay when communication is restored is restored, and the original data reception state with the minimum delay is restored. can do.

この発明の一実施例によるデータ配信システムの構成例を示す。1 shows a configuration example of a data distribution system according to an embodiment of the present invention. この発明の一実施例によるソース装置データ転送処理フローの例を示す。4 shows an example of a source device data transfer processing flow according to an embodiment of the present invention. この発明の一実施例によるサーバ装置データ配信処理フローの例を示す。The example of the server apparatus data delivery processing flow by one Example of this invention is shown. この発明の一実施例によるサーバ装置でのバッファリング説明図である。It is buffering explanatory drawing in the server apparatus by one Example of this invention. この発明の一実施例によるクライアント装置の動作説明図である。It is operation | movement explanatory drawing of the client apparatus by one Example of this invention.

〔システム構成例〕
図1は、この発明の一実施例によるシステム構成例を示し、図1(1)は、ソース装置のハードウエア構成例であり、図1(2)はデータ配信システムの全体構成例である。全体のデータ配信システムは、図1(2)に示すように、ソース装置RC:RCa;RCb;…、サーバ装置SV及びクライアント装置CL:CLa1,CLa2,…;CLb1,CLb2,…;…から構成され、参照記号“RC”,“CL”は、夫々ソース装置及びクライアント装置を代表的に示す。ソース装置RCは、携帯電話機や無線通信手段を備えた音声入力機能付きモバイルコンピュータのように携帯型通信端末装置が用いられ、図1(1)の例では、中央処理装置(CPU)1、ランダムアクセスメモリ(RAM)2、読出専用メモリ(ROM)3、外部記憶装置4、設定操作入力装置5、表示装置6、A/D変換回路7、D/A変換回路8、通信インターフェース(通信I/F)9等の要素を備え、これら要素1〜9はバス10を介して互いに接続される。
[System configuration example]
FIG. 1 shows a system configuration example according to an embodiment of the present invention, FIG. 1 (1) is a hardware configuration example of a source device, and FIG. 1 (2) is an overall configuration example of a data distribution system. As shown in FIG. 1 (2), the entire data distribution system includes source devices RC: RCa; RCb;..., Server devices SV and client devices CL: CLa1, CLa2,. The reference symbols “RC” and “CL” represent the source device and the client device, respectively. As the source device RC, a portable communication terminal device is used like a mobile computer with a voice input function equipped with a mobile phone or wireless communication means. In the example of FIG. 1 (1), a central processing unit (CPU) 1, random Access memory (RAM) 2, read-only memory (ROM) 3, external storage device 4, setting operation input device 5, display device 6, A / D conversion circuit 7, D / A conversion circuit 8, communication interface (communication I / O F) Elements 9 and the like are provided, and these elements 1 to 9 are connected to each other via a bus 10.

装置全体を制御するCPU1は、RAM2及びROM3と共に、各種制御プログラムに従って各種処理を実行するデータ処理部を構成し、各種制御プログラムに従い、タイマ11によるクロックを利用してソース装置データ送信処理を含む種々の処理を実行する。RAM2は、これらの処理に際して必要な各種データを一時的に記憶し、このための通常のワークエリアに加えて、サーバ装置SVに送信する音声データを順次保持し順次出力するバッファメモリ2Bを備えている。ROM3は、ソースデータ送信プログラムを含む各種制御プログラムや必要な制御データを記憶しておくことができる。   The CPU 1 that controls the entire apparatus, together with the RAM 2 and the ROM 3, constitutes a data processing unit that executes various processes according to various control programs, and includes various types of source apparatus data transmission processing using a clock by the timer 11 according to the various control programs. Execute the process. The RAM 2 temporarily stores various data necessary for these processes, and includes a buffer memory 2B that sequentially holds and sequentially outputs audio data to be transmitted to the server device SV in addition to a normal work area for this purpose. Yes. The ROM 3 can store various control programs including a source data transmission program and necessary control data.

外部記憶装置4は、ハードディスク(HD)や、コンパクトディスク・リード・オンリィ・メモリ(CD−ROM)、フレキシブルディスク(FD)、光磁気(MO)ディスク、ディジタル多目的ディスク(DVD)、メモリカード等の記憶媒体を用いた記憶手段であり、必要な任意のデータを記録することができる。   The external storage device 4 is a hard disk (HD), a compact disk read only memory (CD-ROM), a flexible disk (FD), a magneto-optical (MO) disk, a digital multipurpose disk (DVD), a memory card, etc. The storage means uses a storage medium, and can record any necessary data.

設定操作入力装置(入力操作部)5は、各種設定操作を行うためのパネル操作部を有し、パネル操作部でのユーザによるパネル操作の内容を設定操作情報としてデータ処理部に導入する。表示装置(表示部)6は、これに接続されるディスプレイ(LCD等の表示器)の表示内容をデータ処理部からの指令に従って制御し、設定操作入力装置5の操作に対する表示援助を行い、また、映像データに基づく映像を表示することもできる。   The setting operation input device (input operation unit) 5 has a panel operation unit for performing various setting operations, and introduces the contents of the panel operation by the user at the panel operation unit to the data processing unit as setting operation information. The display device (display unit) 6 controls display contents of a display (display device such as an LCD) connected to the display device 6 according to a command from the data processing unit, provides display assistance for the operation of the setting operation input device 5, and The video based on the video data can also be displayed.

A/D変換回路7は、ソース装置ユーザにより入力される音声を入力音声信号に変換するマイク装置12に接続され、マイク装置12からの入力音声信号をA/D変換して入力音声データをデータ処理部(バッファメモリ2B)に導入する。D/A変換回路8は、データ処理部(2B)で処理されソース装置外部に送信される送信音声データ、ソース装置外部から送られてくる外部音声データ或いはデータ処理部で生成された案内音声データをD/A変換して出力音声信号をスピーカ装置13に送り、スピーカ装置13から出力音声を放音させる。なお、D/A変換回路8及びスピーカ装置13は、このソース装置RCに必須の構成要素ではなく省略することができる。   The A / D conversion circuit 7 is connected to a microphone device 12 that converts a voice input by a source device user into an input voice signal. The A / D conversion circuit 7 performs A / D conversion on the input voice signal from the microphone device 12 and converts the input voice data into data. Installed in the processing unit (buffer memory 2B). The D / A conversion circuit 8 is processed by the data processing unit (2B) and transmitted to the outside of the source device, external voice data sent from the outside of the source device, or guidance voice data generated by the data processing unit. Is D / A converted, and an output audio signal is sent to the speaker device 13, and the output audio is emitted from the speaker device 13. The D / A conversion circuit 8 and the speaker device 13 are not essential components of the source device RC and can be omitted.

通信I/F9は、インターネット、電話回線などの通信ネットワークCNに無線で接続される各種インターフェースであり、通信ネットワークCNに接続されるサーバ装置SVや他の通信端末と各種情報を授受することができる。データ配信システムが形成される場合には、通信ネットワークCNに、図1(2)のようにサーバ装置SVが接続され、ソース装置RCからサーバ装置SVに音声データが送信される。   The communication I / F 9 is various interfaces that are wirelessly connected to a communication network CN such as the Internet and a telephone line, and can exchange various information with the server device SV and other communication terminals connected to the communication network CN. . When the data distribution system is formed, the server apparatus SV is connected to the communication network CN as shown in FIG. 1 (2), and voice data is transmitted from the source apparatus RC to the server apparatus SV.

サーバ装置SVのハードウエアは、図1(1)のソース装置RCと同様に構成されるが、A/D変換回路7、D/A変換回路8、マイク装置12及びスピーカ装置13は不要であり、典型的なサーバ装置SVでは、通信I/Fは通信ネットワークCNと有線で接続する。また、RAMに設けられるバッファメモリ(SB)には、ソース装置RCから送信される音声データが通信ネットワークCN及び通信I/Fを介して導入され、バッファメモリ(2B)から出力される音声データは、通信ネットワークCN及び通信I/Fを介してクライアント装置CLに送信される。   The hardware of the server device SV is configured in the same manner as the source device RC of FIG. 1A, but the A / D conversion circuit 7, the D / A conversion circuit 8, the microphone device 12, and the speaker device 13 are not necessary. In the typical server device SV, the communication I / F is connected to the communication network CN by wire. In addition, audio data transmitted from the source device RC is introduced into the buffer memory (SB) provided in the RAM via the communication network CN and the communication I / F, and the audio data output from the buffer memory (2B) is And transmitted to the client device CL via the communication network CN and the communication I / F.

クライアント装置CLのハードウエアも、図1(1)のソース装置RCと同様に構成されるが、A/D変換回路7及びマイク装置12は不要であり、バッファメモリを設ける必要はなく、通信I/Fと通信ネットワークCNとの接続は無線でも有線でもよい。データ配信システムが形成される場合には、通信ネットワークCNには、図1(2)のように、ソース装置RCだけでなく、クライアント装置CLが接続され、ソース装置RCからの音声データがサーバ装置SVからクライアント装置CLに送信される。この場合、クライアント装置CLでは、通信I/Fから入力される音声データがD/A変換回路でD/A変換し、対応する音声をスピーカ装置から放音される。   The hardware of the client device CL is also configured in the same manner as the source device RC of FIG. 1 (1), but the A / D conversion circuit 7 and the microphone device 12 are unnecessary, and it is not necessary to provide a buffer memory. The connection between / F and the communication network CN may be wireless or wired. When the data distribution system is formed, the communication network CN is connected not only to the source device RC but also to the client device CL as shown in FIG. 1 (2), and the voice data from the source device RC is transmitted to the server device. It is transmitted from the SV to the client device CL. In this case, in the client device CL, the audio data input from the communication I / F is D / A converted by the D / A conversion circuit, and the corresponding audio is emitted from the speaker device.

〔データ配信システムの基本動作〕
1つのデータを配信する1つのデータ配信システムは、1つのソース装置RC、1つのサーバ装置SV及び1乃至複数のクライアント装置CLで成り立ち、図1(2)の例は、ソース装置A(RCa)・共通のサーバ装置(SV)・2台のクライアント装置A1,A2(CLa1,CLa2)により第1のデータ配信システムが形成され、ソース装置B(RCb)・共通のサーバ装置(SV)・2台のクライアント装置B1,B2(CLb1,CLb2)により第2のデータ配信システムが形成されることを示している。
[Basic operation of data distribution system]
One data distribution system that distributes one data includes one source device RC, one server device SV, and one to a plurality of client devices CL. The example of FIG. 1B is an example of a source device A (RCa). -A common server device (SV)-Two client devices A1, A2 (CLa1, CLa2) form a first data distribution system, and source device B (RCb)-Common server device (SV)-Two It is shown that the second data distribution system is formed by the client apparatuses B1 and B2 (CLb1 and CLb2).

第1のデータ配信システムを例にして、この発明の一実施例によるデータ配信システムの基本的な構成を説明すると、このデータ配信システムは、ソース装置RCa、サーバ装置SV及び1以上のクライアント装置CLa1,CLa2から成り、音声データなどのリアルタイムデータをソース装置からサーバ装置を介してクライアント装置に配信する。ソース装置RCaは、音声入力手段12−7などから入力されるリアルタイムデータをバッファメモリ2Bに実時間レートで順次入力してバッファリングし、サーバ装置SVと通信可能な通常状態では、バッファメモリ2Bによりバッファリングしたデータを先頭から実時間レートで読み出しサーバ装置SVに転送する。ここで、サーバ装置SVと通信不能状態になると、バッファメモリ2Bからの読出しを停止し、バッファメモリ2Bにはリアルタイムデータが蓄積され、サーバ装置SVと通信可能な元の通常状態に回復すると、通信不能状態の間にバッファメモリ2Bに蓄積されバッファリングされたデータを、読出し停止直後の部分(通信不能になる直前に最後にサーバ装置SVに送られたデータ部分の直後のデータ部分)から、実時間レートより速いレートで読み出してサーバ装置SVに転送する。サーバ装置SVは、ソース装置RCaから通常状態時に実時間レートで転送されてくるデータ及び通信回復時に実時間レートより速いレートで転送されてくるデータを順次サーバ装置SVのバッファメモリに入力してバッファリングし、バッファリングされたデータを実時間レートでクライアント装置CLa1,CLa2に配信する。   Taking the first data distribution system as an example, the basic configuration of a data distribution system according to an embodiment of the present invention will be described. The data distribution system includes a source device RCa, a server device SV, and one or more client devices CLa1. , CLa2 and distributes real-time data such as audio data from the source device to the client device via the server device. The source device RCa sequentially inputs and buffers real-time data input from the voice input means 12-7 or the like at the real time rate in the buffer memory 2B. In a normal state in which communication with the server device SV is possible, the source device RCa uses the buffer memory 2B. The buffered data is read from the top at the real time rate and transferred to the server device SV. Here, when communication with the server apparatus SV is disabled, reading from the buffer memory 2B is stopped, real-time data is accumulated in the buffer memory 2B, and communication is restored to the original normal state in which communication with the server apparatus SV is possible. The buffered data stored in the buffer memory 2B during the disabled state is actually read from the portion immediately after the stop of reading (the data portion immediately after the data portion last sent to the server device SV immediately before communication is disabled). Read at a rate faster than the time rate and transfer to the server device SV. The server device SV sequentially inputs data transferred from the source device RCa at a real time rate in a normal state and data transferred at a rate faster than the real time rate when communication is restored to the buffer memory of the server device SV. And deliver the buffered data to the client devices CLa1 and CLa2 at a real time rate.

なお、サーバ装置SVは、ソース装置RCaとの通信が不可である間、予め用意された別のデータをクライアント装置CLa1,CLa2に配信することができる。また、通信不可の間にソース装置RCaでバッファリングされ、ソース装置RCa・サーバ装置SV間の通信が再開した際に高速レートで転送されてくるデータの時間軸を実時間より短縮する変換(速度変換という)を行い、時間軸短縮の速度変換がなされたデータをバッファリングする。つまり、サーバ装置SVからクライアント装置CLに実時間レートでデータが配信されるにも拘わらず、ソース装置RCa・サーバ装置SV間の通信再開時に、クライアント装置CLは、速度変換されたデータに基づいて音声などを高速に再生し、通信不可が復旧したときの遅れを回復して行きやがて最小の遅れになると元のデータ受信状態に復帰するようになる。   Note that the server device SV can distribute other data prepared in advance to the client devices CLa1 and CLa2 while communication with the source device RCa is not possible. Also, conversion (speed) that shortens the time axis of data buffered by the source device RCa while communication is disabled and transferred at a high rate when communication between the source device RCa and the server device SV is resumed. Conversion), and buffer the data that has been speed converted to shorten the time axis. That is, although data is delivered from the server device SV to the client device CL at a real time rate, when the communication between the source device RCa and the server device SV is resumed, the client device CL is based on the speed-converted data. The voice is reproduced at a high speed, the delay when the communication failure is restored is recovered, and when the minimum delay is reached, the original data reception state is restored.

〔各装置の動作〕
以下、図1(1)のように、入力されるリアルタイムデータに音声データを用いた場合の各装置の動作を説明する。図2、図3及び図4、図5は、この発明の一実施例によるデータ配信システムにおけるソース装置、サーバ装置、クライアント装置の動作を説明するための図であり、図2、図3及び図5(1)は、それぞれ、ソース装置データ転送処理、サーバ装置データ配信処理及びクライアント装置データ受信処理の例を表わすフローチャートを示す。ソース装置RCでは、所定の操作によりソース装置データ転送処理が開始し、サーバ装置SVにアクセスし番組の公開(データ配信サービス実行)を指示する操作があると、CPU1は、図2のステップR1で、ソース装置RCをサーバ装置SVに接続し番組の公開を指示する。これにより、ソース装置RCからの音声データを配信するデータ配信システムの動作が開始する。
[Operation of each device]
Hereinafter, as shown in FIG. 1 (1), the operation of each device when audio data is used as input real-time data will be described. 2, 3, 4, and 5 are diagrams for explaining operations of the source device, the server device, and the client device in the data distribution system according to the embodiment of the present invention. 5 (1) shows a flowchart representing an example of source device data transfer processing, server device data distribution processing, and client device data reception processing, respectively. In the source device RC, when the source device data transfer process is started by a predetermined operation and there is an operation for accessing the server device SV and instructing the publication of the program (execution of the data distribution service), the CPU 1 performs step R1 in FIG. Then, the source device RC is connected to the server device SV to instruct the release of the program. Thereby, operation | movement of the data delivery system which delivers the audio | voice data from the source device RC starts.

これに対して、サーバ装置SVでは、図3のステップS1で、CPUがソース装置RCからの接続を受け付け、番組公開の指示に従って、これからソース装置RCから転送される音声データの配信サービスを配信可能な番組に追加し、予めサーバ装置SVに登録されているソース装置RCの番組情報に従って番組表示データを作成すると共に、ソース装置RC用音声バッファ(図4:SB)をクリアし、ソース装置RCからの音声データの受信、バッファリング及びクライアント装置CLへの配信の準備をする。   On the other hand, in the server device SV, the CPU accepts the connection from the source device RC in step S1 of FIG. 3, and can distribute the distribution service of the audio data transferred from the source device RC according to the program release instruction. The program display data is created in accordance with the program information of the source device RC registered in advance in the server device SV, the audio buffer for the source device RC (FIG. 4: SB) is cleared, and the source device RC Audio data is received, buffered, and prepared for distribution to the client device CL.

ソース装置RCでは、ステップR1でサーバ装置SVに接続して番組公開を指示した後、ステップR2で、バッファメモリ2Bをクリアして音声入力手段12−7から入力される音声データのバッファリングの準備をする。そして、音声データが入力されると、ステップR3に進み、入力される音声データを逐次取得し、バッファメモリ2Bに積んでいく。つまり、番組公開を指示するとマイク12から入力された音声がA/D変換回路7でA/D変換され、RAM(主記憶装置)2のバッファメモリ2Bに蓄えられる。バッファメモリ2Bは、音声バッファとも呼ばれ、入力音声データを、順次、録音ポインタ(書込みポインタともいう)が指示する位置に実時間レートで書き込んで行く。録音ポインタは、サーバ装置SVとの通信の可否によらず、時間経過に従ってインクリメントされ、音声データの書込み位置が順次進められていく。   In the source device RC, after connecting to the server device SV in step R1 and instructing program release, in step R2, the buffer memory 2B is cleared and preparation for buffering of audio data input from the audio input means 12-7 is made. do. When the audio data is input, the process proceeds to step R3, where the input audio data is sequentially acquired and loaded in the buffer memory 2B. That is, when the program release is instructed, the audio input from the microphone 12 is A / D converted by the A / D conversion circuit 7 and stored in the buffer memory 2B of the RAM (main storage device) 2. The buffer memory 2B is also called an audio buffer, and sequentially writes input audio data at a position indicated by a recording pointer (also called a write pointer) at a real time rate. The recording pointer is incremented as time elapses regardless of whether communication with the server device SV is possible, and the writing position of the audio data is sequentially advanced.

次のステップR4では、ソース状態フラグは「正常」であるか否かを判定する。ここで、ソース状態フラグは、サーバ装置SVとの通信状態を検出するために設けられた通信状態検出手段の検出出力に応じてソース装置RCとサーバ装置SVとの間の通信が可であるか不可であるかを示すフラグであり、サーバ装置SVと通信可の状態であれば、ソース状態フラグ=「正常」であり、音声バッファ2Bの読出しポインタは、時間経過(録音ポインタのインクリメント)に従ってインクリメントされ音声データ読出し位置が順次進められる。なお、ソース状態フラグ=「正常」の場合、読出しポインタが指示する読出し位置から、録音ポインタが指示する書込み位置の直前までは、例えば、ストリーム転送1回分の音声データが書き込まれる。一方、サーバ装置SVと通信不可の状態になると、ソース状態フラグ=「中断」となり、読出しポインタのインクリメントを停止し音声データ読出しを中断する。これによって、ソース装置RC・サーバ装置SV間の通信が中断している間、音声データが音声バッファ2B内に録音されていく。   In the next step R4, it is determined whether or not the source status flag is “normal”. Here, the source status flag indicates whether communication between the source device RC and the server device SV is possible according to the detection output of the communication status detection means provided for detecting the communication status with the server device SV. This is a flag indicating whether or not communication is possible. If communication with the server SV is possible, the source status flag is “normal”, and the read pointer of the audio buffer 2B is incremented as time elapses (recording pointer is incremented). Then, the voice data reading position is sequentially advanced. When the source status flag = “normal”, for example, audio data for one stream transfer is written from the read position indicated by the read pointer to immediately before the write position indicated by the recording pointer. On the other hand, when communication with the server SV is disabled, the source status flag = “interrupt”, and the increment of the read pointer is stopped, and the audio data reading is interrupted. As a result, while the communication between the source device RC and the server device SV is interrupted, the audio data is recorded in the audio buffer 2B.

さて、ステップR4でソース状態フラグが「正常」であると判定したときは(R4=YES)、ステップR5に進み、読出しポインタの指示に従ってバッファ2B内の音声データDrsを実時間レートで読み出し、通信I/F9から無線で通信ネットワークCNを介してサーバ装置SVにストリーム転送(ストリーミング転送ともいう)する。次のステップR6では、サーバ装置SVとの通信状態をチェックし、不良であればソース状態フラグを「中断」に変更し、良であれば「正常」を維持する。そして、ステップR7で音声バッファ2Bの読出しポインタを更新した上、ステップR3に戻る。   When it is determined in step R4 that the source state flag is “normal” (R4 = YES), the process proceeds to step R5, and the audio data Drs in the buffer 2B is read at the real time rate according to the instruction of the read pointer, and communication is performed. Stream transfer (also referred to as streaming transfer) is performed wirelessly from the I / F 9 to the server device SV via the communication network CN. In the next step R6, the communication state with the server apparatus SV is checked. If it is bad, the source state flag is changed to “interrupted”, and if it is good, “normal” is maintained. In step R7, the read pointer of the audio buffer 2B is updated, and the process returns to step R3.

一方、ソース状態フラグが「正常」ではなく「中断」であると判定したときは(R4=NO)、ステップR8に進み、サーバ装置SVとの通信状態が良好であるか否かを判定し、やはり不良であれば(R8=NO)ステップR3に戻る。ステップR8で、サーバ装置SVとの通信状態が良好であると判定したとき即ちサーバ装置SVとの通信状態が回復したときには(R8=YES)、ステップR9に進み、中断開始時点から音声バッファ2B内に蓄えられた音声データDRbを、バルク転送により実時間レートより速く一気にサーバ装置SVに送り、次のステップR10でソース状態フラグを「正常」にする。そして、ステップR7で音声バッファ2Bの読出しポインタを更新した上、ステップR3に戻る。   On the other hand, when it is determined that the source status flag is not “normal” but “suspended” (R4 = NO), the process proceeds to step R8, where it is determined whether the communication status with the server device SV is good, If it is still defective (R8 = NO), the process returns to step R3. When it is determined in step R8 that the communication state with the server apparatus SV is good, that is, when the communication state with the server apparatus SV is restored (R8 = YES), the process proceeds to step R9, and the voice buffer 2B is started from the point of interruption start. The voice data DRb stored in is sent to the server SV at a stretch faster than the real time rate by bulk transfer, and the source state flag is set to “normal” in the next step R10. In step R7, the read pointer of the audio buffer 2B is updated, and the process returns to step R3.

ステップR3に戻った後は、音声入力の進行及び通信状態に応じて、上述したステップR3〜R10の処理を繰り返し、番組公開の終了を指示する操作がありサーバ装置SVでこの指示が確認されると(図示せず)、このソース装置データ転送処理を終了する。   After returning to step R3, the processing of steps R3 to R10 described above is repeated according to the progress of voice input and the communication state, and there is an operation for instructing the end of the program release, and this instruction is confirmed by the server device SV. (Not shown), the source device data transfer process is terminated.

クライアント装置CLでは、所定の操作によりクライアント装置データ受信処理が開始し、サーバ装置SVにアクセスし配信可能な番組のリストを要求する操作があると、CPUは、図5(1)のステップC1で、クライアント装置CLをサーバ装置SVに接続し配信可能番組リストを要求する。これにより、クライアント装置CLはこのデータ配信システムに参加することができる。   In the client device CL, when the client device data reception process is started by a predetermined operation and there is an operation for accessing the server device SV and requesting a list of programs that can be distributed, the CPU performs step C1 in FIG. The client device CL is connected to the server device SV to request a distributable program list. Thereby, the client device CL can participate in this data distribution system.

サーバ装置SVでは、前述したように、図3のステップS1で、CPUがソース装置RCからの接続を受けてソース装置RCからの音声データ配信を準備をした後、クライアント装置CLからのリスト要求を受信すると、次のステップS2で、クライアント装置CLからの要求に応じて番組リストをクライアント装置CLに返送する。この番組リストは、各ソース装置RCからの番組公開の指示に従って作成された番組表示データに基づいて、現在サーバ装置SVから任意のクライアント装置CLに配信可能な番組(音声データ配信サービス)をリストで表わしたものであり、サーバ装置SVと各ソース装置RCとの間の現在の通信状態を示すサーバ状態情報(Cn)などの所要の参考情報が含まれている。   In the server apparatus SV, as described above, after the CPU receives the connection from the source apparatus RC and prepares the voice data distribution from the source apparatus RC in step S1 of FIG. 3, the list request from the client apparatus CL is issued. When received, in the next step S2, a program list is returned to the client device CL in response to a request from the client device CL. This program list is a list of programs (audio data distribution service) that can be distributed from the server apparatus SV to any client apparatus CL based on the program display data created in accordance with the program release instruction from each source apparatus RC. And includes necessary reference information such as server state information (Cn) indicating the current communication state between the server device SV and each source device RC.

クライアント装置CLでは、これ応じて、図5(1)のステップC1でサーバ装置SVから配信可能番組リストを取得すると、取得した配信可能番組リストを表示装置のディスプレイに番組選択画面として提示し、クライアント装置ユーザに所望の番組を選択させる。図5(2)は、番組選択画面の例を示し、この例では、現在公開中の番組の名称やパーソナリティ(ソース装置ユーザのニックネーム)などの基本情報の外に、各ソース装置RCにより番組公開が指示された時から現在までの時間を例えば“時:分”で表わす「経過時間」、上述したサーバ状態情報Cn、各ソース装置RCから転送されてくる音声データの「音質」、「リスナーの人数」(現在当該番組の配信を受けているクライアント装置CLの数)などのリアルタイムの参考情報が、表示項目に含まれている。なお、サーバ装置SVには、サーバ装置SVとソース装置RCとの通信状態を検出し監視する通信状態監視手段が設けられ、サーバ状態情報は、通信状態監視手段により検出された通信状態に応じて、サーバ装置SV・各ソース装置RC間の通信状態を“Good”(良好、正常)、“disConnected”(中断)などの「状態」で表わされる。そこで、表示された番組選択画面に対して、クライアント装置ユーザにより番組選択操作があると、次のステップC3で、番組選択操作に応じて、選択された番組の配信をサーバ装置SVに要求する。   Accordingly, when the client device CL acquires the distributable program list from the server device SV in step C1 of FIG. 5 (1), the acquired distributable program list is presented as a program selection screen on the display of the display device. Let the device user select a desired program. FIG. 5 (2) shows an example of a program selection screen. In this example, in addition to basic information such as the name of the currently released program and personality (nickname of the source device user), the program is released by each source device RC. For example, “elapsed time” expressed in “hour: minute”, server state information Cn described above, “sound quality” of voice data transferred from each source device RC, “listener's” Real-time reference information such as “number of people” (the number of client devices CL currently receiving the program) is included in the display items. The server device SV is provided with communication state monitoring means for detecting and monitoring the communication state between the server device SV and the source device RC, and the server state information depends on the communication state detected by the communication state monitoring means. The communication state between the server device SV and each source device RC is represented by “state” such as “Good” (good, normal), “disConnected” (interrupted). Therefore, when the client device user performs a program selection operation on the displayed program selection screen, the server device SV is requested to distribute the selected program in accordance with the program selection operation in the next step C3.

これに対して、サーバ装置SVでは、図3のステップS3で、クライアント装置CLからの番組配信要求に応じて、配信が要求された番組の配信先(リスナー)に当該クライアント装置CLを追加し、各番組配信処理段階SPに進み、要求された番組について配信処理を行う。各番組配信処理段階SPは、図3に示すように、ソース装置RCからの音声データをバッファメモリ(SB)に積む前半のバッファリング処理部分SP1=ステップS4〜S8と、バッファメモリ(SB)から音声データをクライアント装置CLにストリーム配信する後半のストリーム配信処理部分SP2=ステップS9〜S12とから成る。   On the other hand, in step S3 in FIG. 3, the server apparatus SV adds the client apparatus CL to the distribution destination (listener) of the program requested for distribution in response to the program distribution request from the client apparatus CL. Proceeding to each program distribution processing stage SP, distribution processing is performed for the requested program. As shown in FIG. 3, each program distribution processing stage SP includes the first half of the buffering processing portion SP1 for loading audio data from the source device RC into the buffer memory (SB) = steps S4 to S8 and the buffer memory (SB). The latter half stream distribution processing part SP2 for streaming the audio data to the client device CL = steps S9 to S12.

番組配信処理段階SPでは、まず、音声データの受信状態を調べ、最初のステップS4に進んでバッファリング処理SP1を開始する。ステップS4では、バルク転送により音声データが届いたか否かを判定し、音声データのバルク転送がないときは(S4=NO)、ステップS5に進み、ストリーム転送により音声データDrsが届いたか否かを判定する。ここで、音声データDrsがストリーム転送されてきたときは(S5=YES)、さらに、ステップS6に進んで、バッファメモリ(SB)に蓄積されている音声データ(Db)を調べ、既に受信した音声データがバッファメモリ(SB)に溜まっているか否かを判定し、溜まっていないときは(S6=NO)、ステップS7で、ストリーム転送で届いた音声データをそのままバッファメモリ(SB)に積む。   In the program distribution processing stage SP, first, the reception state of the audio data is checked, and the process proceeds to the first step S4 to start the buffering process SP1. In step S4, it is determined whether or not audio data has arrived by bulk transfer. If there is no audio data bulk transfer (S4 = NO), the process proceeds to step S5 to determine whether or not audio data Drs has arrived by stream transfer. judge. Here, when the audio data Drs is stream-transferred (S5 = YES), the process further proceeds to step S6, where the audio data (Db) stored in the buffer memory (SB) is examined, and the already received audio data It is determined whether or not the data is accumulated in the buffer memory (SB). If the data is not accumulated (S6 = NO), the audio data received by the stream transfer is loaded in the buffer memory (SB) as it is in step S7.

一方、ステップS4においてバルク転送で音声データDrbが届いたと判定したとき(S4=YES)、或いは、ステップS6において、ストリーム転送で音声データDrsが届いた際にバッファメモリ(SB)に既受信データが溜まっていると判定したときには(S6=YES)、ステップS8で、バルク転送或いはストリーム転送で届いた音声データDrb,Drsを速度変換した上でバッファメモリ(SB)に積む。   On the other hand, when it is determined in step S4 that the audio data Drb has arrived by bulk transfer (S4 = YES), or when the audio data Drs has arrived by stream transfer in step S6, the received data is stored in the buffer memory (SB). When it is determined that it has accumulated (S6 = YES), in step S8, the audio data Drb and Drs arrived by bulk transfer or stream transfer are speed-converted and loaded in the buffer memory (SB).

図4は、この発明の一実施例によるサーバ装置におけるバッファリングを説明するための図であり、ここで、サーバ装置のバッファリング機能を図4に従って説明しておく。サーバ装置SVは、ソース装置RCからの音声データDrs,Drbをバッファリングし、バッファリングされた音声データDsをクライアント装置CLにストリーム配信するために、速度制御部(時間制御部ともいう)SA、バッファメモリSB、バルク転送検出部SC及び溜まり検出部SDの機能をデータ処理部に備えている。   FIG. 4 is a diagram for explaining buffering in the server apparatus according to one embodiment of the present invention. Here, the buffering function of the server apparatus will be described with reference to FIG. The server device SV buffers the audio data Drs and Drb from the source device RC, and in order to stream the buffered audio data Ds to the client device CL, a speed control unit (also referred to as a time control unit) SA, The data processing unit includes the functions of the buffer memory SB, the bulk transfer detection unit SC, and the accumulation detection unit SD.

速度制御部SAは、通常は、ソース装置RCから実時間レートでストリーム転送される音声データDrsをそのままバッファメモリSBに入力するように動作する。しかしながら、サーバ装置SV・ソース装置RC間の通信が中断した後に回復した際は、音声データのバルク転送をバルク転送検出部SCにより検出することにより速度変換機能が起動し、ソース装置RCから回復当初に高速レートでバルク転送されてきた音声データDrb及びその後実時間レートでストリーム転送される音声データDrsの時間軸を実時間より短縮する速度変換、つまり、いわゆる話速変換或いは早回しを行う。そして、速度制御部SAの速度変換機能により時間軸が短縮されて速度変換された音声データDaはバッファメモリSBに入力される。溜まり検出部SDは、バッファメモリSBに蓄積されている音声データDbを調べ、所定の最小時間分(クライアント装置CLへのストリーム配信1回分)を超える音声データDbが蓄積されていると「溜まっている」と判定する。速度制御部SAの速度変換機能は、バッファメモリSBに音声データDbが溜まっている間、実行され、音声データDbが所定の最小時間分になり、溜まり検出部SDで音声データDbの「溜まりがなくなった」と判定されると停止する。つまり、通信が回復してから通常の動作に戻るまでの間(この間の動作状態を追いかけ状態という)、ソース装置RCからの音声データDrb、Drsを速度変換したデータDaをバッファメモリSBに入力する。   The speed control unit SA normally operates so that the audio data Drs stream-transferred from the source device RC at a real time rate is input to the buffer memory SB as it is. However, when the communication is resumed after the communication between the server device SV and the source device RC is interrupted, the speed conversion function is activated by detecting the bulk transfer of the voice data by the bulk transfer detection unit SC, and the recovery from the source device RC is started. Then, speed conversion that shortens the time axis of the audio data Drb that has been bulk transferred at a high rate and the audio data Drs that is subsequently stream transferred at the real time rate, that is, so-called speech speed conversion or fast rotation, is performed. Then, the voice data Da that has been speed-converted with the time axis shortened by the speed conversion function of the speed controller SA is input to the buffer memory SB. The accumulation detection unit SD examines the audio data Db accumulated in the buffer memory SB. If the audio data Db exceeding a predetermined minimum time (one stream delivery to the client device CL) is accumulated, Is determined. The speed conversion function of the speed control unit SA is executed while the audio data Db is accumulated in the buffer memory SB, and the audio data Db reaches a predetermined minimum time. If it is determined that it is gone, it stops. That is, the data Da obtained by converting the speed of the audio data Drb and Drs from the source device RC is input to the buffer memory SB until the normal operation is resumed after the communication is recovered (the operation state during this period is called the chasing state). .

バッファメモリSBは、サーバ装置SVのRAM(主記憶装置)内に設けられ、データバッファとも呼ばれ、速度制御部SAから入力される音声データDrs,Daを書込みポインタPwが指示する位置に書き込む。書き込みを行うと、書込みポインタPwは、書き込まれた時間分だけインクリメントされる。従って、ソース装置RCとの通信が途絶えている(中断している)間は音声データDrs,Drbが送られてこないため書込みポインタは更新されない。一方、クライアント装置CLに対して、ソース装置RCとの通信が正常な間は、時間経過に応じて再生ポインタ(読出しポインタともいう)Prがインクリメントされ、再生ポインタPrが指示する位置から音声データDsを取り出してストリーム配信し、ソース装置RCとの通信が中断している間は、再生ポインタPrのインクリメントはなく、データバッファSBからの音声データDsの読出しもない。   The buffer memory SB is provided in the RAM (main storage device) of the server device SV and is also called a data buffer, and writes the audio data Drs and Da input from the speed control unit SA at a position indicated by the write pointer Pw. When writing is performed, the write pointer Pw is incremented by the written time. Therefore, while the communication with the source device RC is interrupted (interrupted), the audio data Drs and Drb are not sent, so the write pointer is not updated. On the other hand, while the communication with the source device RC is normal with respect to the client device CL, the playback pointer (also referred to as a read pointer) Pr is incremented as time elapses, and the audio data Ds from the position indicated by the playback pointer Pr. While the communication with the source device RC is interrupted, the playback pointer Pr is not incremented and the audio data Ds is not read from the data buffer SB.

さて、ステップS5で、音声データがストリーム転送されてこないと判定したとき(S5=NO)、ステップS7で、ストリーム転送により届けられた音声データDrsをそのままデータバッファSBに積む処理を終えたとき、或いは、ステップS8で、バルク転送乃至ストリーム転送により届けられた音声データDrb,Drsを速度制御部SAの速度変換機能に従って速度変換し,速度変換された音声データDaをデータバッファSBに積む処理を終えたときは、一旦、バッファリング処理SP1を終え、ステップS9に進む。   Now, when it is determined in step S5 that the audio data is not stream-transferred (S5 = NO), in step S7, the process of loading the audio data Drs delivered by the stream transfer as it is in the data buffer SB is finished. Alternatively, in step S8, the audio data Drb and Drs delivered by bulk transfer or stream transfer are converted in speed according to the speed conversion function of the speed control unit SA, and the process of loading the speed-converted audio data Da in the data buffer SB is completed. If this is the case, the buffering process SP1 is once ended, and the process proceeds to step S9.

ステップS9では、ストリーム配信周期のタイミングに達したか否かを判定し、ストリーム配信タイミングに達していないときは(S9=NO)、バッファリング処理SP1の第1ステップS4に戻り、上述したステップS4〜S8のバッファリング処理SP1を繰り返す。一方、ストリーム配信タイミングに達すると(S9=YES)、ステップS10に進み、ストリーム配信処理SP2を開始する。   In step S9, it is determined whether or not the timing of the stream delivery cycle has been reached. If the stream delivery timing has not been reached (S9 = NO), the process returns to the first step S4 of the buffering process SP1, and the above-described step S4 The buffering process SP1 of .about.S8 is repeated. On the other hand, when the stream distribution timing is reached (S9 = YES), the process proceeds to step S10, and the stream distribution process SP2 is started.

ステップS10では、通信状態監視手段によりソース装置RCとの通信状態が良好であるか否かを判定し、良好であれば(S10=YES)、ステップS11に進んで、データバッファSB内の再生ポインタPrが指示する位置にある音声データDsを読み出してクライアント装置CLにストリーム配信し、その後、ステップS4に戻る。また、ソース装置RCとの通信が中断しているときは(S10=NO)、ステップS12に進み、予めサーバ装置SVに用意されたコンテンツに基づく別番組の音声データDeをクライアント装置CLにストリーム配信し、その後、ステップS4に戻る。ここで、別番組の音声データDeとしては、例えば、通信中断時用に予めメッセージコンテンツや音楽コンテンツを録音しておき、ソース装置RCとの通信が中断すると、「ただいま通信回線が悪く中継できません。しばらくお待ち下さい」などのメッセージを繰り返し流すようにしたり、「ただいま通信回線が悪く中継できません。しばらく音楽をお聴き下さい」などメッセージを繰り返し挟みつつ音楽を流すようにする。   In step S10, it is determined whether or not the communication state with the source device RC is good by the communication state monitoring means, and if good (S10 = YES), the process proceeds to step S11 and the reproduction pointer in the data buffer SB is reached. The audio data Ds at the position indicated by Pr is read out and streamed to the client device CL, and then the process returns to step S4. If the communication with the source device RC is interrupted (S10 = NO), the process proceeds to step S12, and the audio data De of another program based on the content prepared in advance in the server device SV is stream-distributed to the client device CL. Then, the process returns to step S4. Here, as the audio data De of another program, for example, when message content or music content is recorded in advance for communication interruption and communication with the source device RC is interrupted, “Now the communication line is bad and cannot be relayed. “Please wait for a while” or try to play a message repeatedly, or “Please listen to music for a while.”

ステップS4に戻った後は、ソース装置RCからのデータ転送状態、データバッファSBのデータ溜まり具合及びソース装置RCとの通信状態に応じて、上述したステップS4〜S12の処理を繰り返し、ソース装置RCから番組公開の終了指示があるとクライアント装置CLに当該番組の終了を通知した上(図示せず)、当該番組に関する番組配信処理SPを終了する。   After returning to step S4, the processing of steps S4 to S12 described above is repeated according to the data transfer state from the source device RC, the data accumulation state of the data buffer SB, and the communication state with the source device RC. If there is an instruction to end the program release, the client device CL is notified of the end of the program (not shown), and the program distribution processing SP related to the program is ended.

これに対して、クライアント装置CLでは、図5のステップC4で、ソース装置RCを発信源としサーバ装置SVを介してストリーム配信されてくる音声データDs或いはサーバ装置SVに用意されたコンテンツに基づいてサーバ装置SV自身からストリーム配信されてくる別番組の音声データDeを受信する。次のステップC5では、受信した音声データDs,DeをD/A変換回路及びスピーカで再生する。これにより、サーバ装置SVから番組終了の通知があるまでステップC4,C5の処理を繰り返し、クライアント装置CLのユーザは、自身が選択した番組を楽しむ。そして、サーバ装置SVから番組終了の通知を受けると、このクライアント装置データ受信処理を終了する。   On the other hand, in the client device CL, based on the audio data Ds stream-distributed via the server device SV using the source device RC as the transmission source in step C4 of FIG. 5 or based on the content prepared in the server device SV. The audio data De of another program that is stream-distributed from the server SV itself is received. In the next step C5, the received audio data Ds and De are reproduced by a D / A conversion circuit and a speaker. Thus, the processing of steps C4 and C5 is repeated until the end of the program is notified from the server device SV, and the user of the client device CL enjoys the program selected by the client device CL. Then, upon receiving a program end notification from the server device SV, the client device data receiving process is terminated.

〔種々の実施態様〕
以上、この発明の好適な一実施例について説明したが、これは単なる一例であって、この発明は、発明の精神を逸脱しない範囲で種々の変更が可能であり、種々の態様で実施することができる。例えば、サーバ装置へのストリーム転送或いはクライアント装置へのストリーム配信については、一般的な手法を用いてなされる。送り手が受け手に対して、短い一定周期(例えば、10msec)毎や、所定サンプル数(4800サンプル)毎に、音声データを送る。その際、送り手側がTCPなどのプロトコルで送り、それが受け手で受信されたか毎回確認するようにしてよい。或いは、RTPプロトコルのように、送り手側がUDPなどの相手の受信が確認できないプロトコルで送るとともに平行してTCPなどで受け手での確認するようにしてよい。
[Various Embodiments]
Although a preferred embodiment of the present invention has been described above, this is merely an example, and the present invention can be variously modified and implemented in various modes without departing from the spirit of the invention. Can do. For example, stream transfer to a server device or stream delivery to a client device is performed using a general method. The sender sends audio data to the receiver every short period (for example, 10 msec) or every predetermined number of samples (4800 samples). At that time, the sender side may send it by a protocol such as TCP, and it may be confirmed every time whether it is received by the receiver. Alternatively, as in the RTP protocol, the sender side may send by a protocol such as UDP that cannot confirm the reception of the other party, and in parallel may be confirmed by the receiver by TCP or the like.

或いは、受け手がTCPなどの手法で小まめに送り手側に要求を出すようにしてもよい。受け手は要求がこなくなったことで通信の障害を知ることができる。   Alternatively, the receiver may make a request to the sender side with a technique such as TCP. The recipient can know the communication failure when the request is not received.

通信状態の検出については、電波の状態から推測してもよい。或いは、送信側では、一旦通信を試みてそれが失敗したことで知るようにしてもよい。或いは、受信側では、所定タイミングで届くはずのデータが届かないことで知るようにしてもよい。   The detection of the communication state may be inferred from the radio wave state. Alternatively, the transmission side may try to communicate once and know that it has failed. Alternatively, the receiving side may know that data that should have arrived at a predetermined timing does not arrive.

サーバ装置からデータバッファ(SB)内のデータをクライアント装置にストリーム配信する条件については、実施例ではソース装置と通信良好(S10=YES)としているが、データバッファ(SB)内に蓄積されたデータ(Db)が無いか所定時間分以下のとき(ポインタPr,Pwが一致又は隣接)としてもよい。   The conditions for streaming data in the data buffer (SB) from the server device to the client device are good communication with the source device (S10 = YES) in the embodiment, but the data stored in the data buffer (SB) It may be set when there is no (Db) or less than a predetermined time (pointers Pr and Pw match or are adjacent).

実施例では、速度変換(時間軸短縮)を行って、通信障害から回復したときの遅れを徐々に回復し、やがて、ソース装置とクライアント装置の遅れを最小になるようにしたものを示したが、速度変換(時間軸短縮)を行わなくてもよい。速度変換をしない場合には、障害から回復したときの遅れはそのまま残るが、サーバ装置に設けられたデータバッファ(SB)の大きさ分だけの遅れは許容される。   In the embodiment, the speed conversion (time axis shortening) is performed to gradually recover the delay when recovering from the communication failure, and eventually the delay between the source device and the client device is minimized. The speed conversion (time axis shortening) may not be performed. When speed conversion is not performed, the delay when recovering from the failure remains as it is, but a delay corresponding to the size of the data buffer (SB) provided in the server device is allowed.

実施例では、サーバ装置で速度変換しているが、ソース装置で、バルク転送する際に速度変換を行うようにしてもよい。   In the embodiment, the speed conversion is performed by the server device. However, the speed conversion may be performed when the source device performs bulk transfer.

音声データの速度変換方法は一般的なものが用いられる。つまり、音声データを時間方向で継ぎ接ぎするものであり、例えば、話速変換のように、音量変化の形状に則した窓をかけて音量クロスフェードしたり、無音部分を考慮して時間軸を短縮する。   A general method for converting the speed of audio data is used. In other words, voice data is spliced in the time direction. For example, the volume is crossfade through a window according to the volume change shape, such as speech speed conversion, and the time axis is shortened by considering the silent part. To do.

配信されるデータは、音声に限らず、映像、演奏データ(MIDI)でもよい。映像の場合、実時間より速度を速めるのにコマ落としをする。また、演奏データ(MIDI)の場合は、イベントをデルタタイムと共に記録してバッファリングすると共に、実時間より速度を速める際には、デルタタイムのもとになるテンポを記録時のものから早める。   The data to be distributed is not limited to sound but may be video and performance data (MIDI). In the case of video, drop frames to increase the speed from real time. In the case of performance data (MIDI), the event is recorded and buffered with the delta time, and when the speed is made faster than the actual time, the tempo that is the basis of the delta time is advanced from that at the time of recording.

RC:RCa,RCb,… ソース装置、
SV サーバ装置、
CL:CLa1,CLa2,…;CLb1,CLb2,… クライアント装置、
Drs,Drb ストリーム転送及びバルク転送される音声データ、
Da,Db 速度変換された音声データ及びバッファリングされている音声データ、
Ds,De ストリーム配信されるバッファからの音声データ及び別番組の音声データ。
RC: RCa, RCb, ... source device,
SV server device,
CL: CLa1, CLa2,...; CLb1, CLb2,... Client device,
Drs, Drb Stream transfer and bulk transfer audio data,
Da, Db Speed-converted audio data and buffered audio data,
Ds, De Audio data from the streamed buffer and audio data of another program.

Claims (1)

ソース装置、サーバ装置及び1以上のクライアント装置から成り、リアルタイムデータをデータ供給源であるソース装置からサーバ装置を介してクライアント装置に配信するデータ配信システムであって、
ソース装置は、
リアルタイムデータをバッファリングするソースバッファリング手段と、
サーバ装置との間の通信状態を検知するソース通信状態検知手段と、
ソース通信状態検知手段によりサーバ装置との通信が可能であると検知されている間、ソースバッファリング手段によりバッファリングされたデータを実時間レートで順次サーバ装置に転送する第1転送手段と、
ソース通信状態検知手段によりサーバ装置との通信が不能となった後に再び可能となったことが検知されたときに、第1転送手段によるデータ転送に先立って、通信不能の間にソースバッファリング手段によりバッファリングされたデータを実時間レートより速いレートでサーバ装置に転送する第2転送手段と
を具備し、
サーバ装置は、
第1転送手段及び第2転送手段により転送されるデータをバッファリングするサーババッファリング手段と、
サーババッファリング手段によりバッファリングされたデータを実時間レートでクライアント装置に配信するバッファリングデータ配信手段と、
第2転送手段により転送されるデータ及びこのデータ転送に続く所定時間の間第1転送手段により転送されるデータの時間軸を実時間より短縮する速度変換手段と
を具備し、
サーババッファリング手段は、速度変換手段により時間軸が短縮されたデータをバッファリングする
ことを特徴とするデータ配信システム。
A data distribution system that includes a source device, a server device, and one or more client devices, and distributes real-time data from the source device, which is a data supply source, to the client device via the server device,
The source device is
Source buffering means for buffering real-time data;
Source communication state detection means for detecting a communication state with the server device;
First transfer means for sequentially transferring the data buffered by the source buffering means to the server apparatus at a real time rate while it is detected by the source communication state detection means that communication with the server apparatus is possible;
When it is detected by the source communication state detection means that communication with the server device is disabled, the source buffering means during the communication disable prior to the data transfer by the first transfer means. Second buffer means for transferring the buffered data to the server device at a rate faster than the real-time rate,
Server device
Server buffering means for buffering data transferred by the first transfer means and the second transfer means;
Buffering data distribution means for distributing data buffered by the server buffering means to the client device at a real time rate;
Speed conversion means for shortening the time axis of the data transferred by the second transfer means and the data transferred by the first transfer means for a predetermined time following the data transfer from the actual time,
The server buffering means buffers data whose time axis has been shortened by the speed converting means.
JP2009061311A 2009-03-13 2009-03-13 Data distribution system Expired - Fee Related JP5532638B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009061311A JP5532638B2 (en) 2009-03-13 2009-03-13 Data distribution system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009061311A JP5532638B2 (en) 2009-03-13 2009-03-13 Data distribution system

Publications (2)

Publication Number Publication Date
JP2010218013A JP2010218013A (en) 2010-09-30
JP5532638B2 true JP5532638B2 (en) 2014-06-25

Family

ID=42976840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009061311A Expired - Fee Related JP5532638B2 (en) 2009-03-13 2009-03-13 Data distribution system

Country Status (1)

Country Link
JP (1) JP5532638B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014059606A (en) * 2012-09-14 2014-04-03 Yamaha Corp Signal processing system, and program
CN104813622B (en) 2012-11-22 2016-10-19 三菱电机株式会社 Data collection-retransmission unit
JP7302806B1 (en) * 2023-03-19 2023-07-04 17Live株式会社 Servers, computer programs and terminals

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001186499A (en) * 1999-12-27 2001-07-06 Sharp Corp System for distributing animation
US7512650B2 (en) * 2002-01-11 2009-03-31 Thomson Licensing Physical layer recovery in a streaming data delivery system
JP2004343445A (en) * 2003-05-15 2004-12-02 Victor Co Of Japan Ltd Viewing system
JP4641791B2 (en) * 2004-12-15 2011-03-02 パイオニア株式会社 Remote playback system, remote playback method, and computer program
JP4829135B2 (en) * 2007-01-19 2011-12-07 富士通株式会社 COMMUNICATION SYSTEM, SERVER DEVICE, AND TERMINAL DEVICE
JP5096027B2 (en) * 2007-03-26 2012-12-12 ソフトバンクBb株式会社 Content distribution system and content distribution method

Also Published As

Publication number Publication date
JP2010218013A (en) 2010-09-30

Similar Documents

Publication Publication Date Title
JP4333655B2 (en) Content receiving apparatus and content receiving method
JP5149012B2 (en) Synchronizing multi-channel speakers on the network
CN104834623B (en) Audio frequency playing method and device
US20080201424A1 (en) Method and apparatus for a virtual concert utilizing audio collaboration via a global computer network
JP2009535988A (en) System and method for processing data signals
US20120317243A1 (en) Audio processing method and device for remote desktop protocol
JPH08274812A (en) Voice communication system
JP2005537738A5 (en)
JP5532638B2 (en) Data distribution system
EP4289129A1 (en) Systems and methods of handling speech audio stream interruptions
JP2008060675A (en) Sound reproduction device and method
JP2014110526A (en) Buffer size determination method and device for network reception buffer, and network session system
JP2007274369A (en) Communication system, transmission device and receiving device
WO2017030015A1 (en) Content delivery device, content delivery system, and content delivery method
US20230276001A1 (en) Systems and methods for improved audio/video conferences
JP2006259133A (en) Digital media device, program, and method for providing digital media
JP2008171194A (en) Communication system, communication method, server, and terminal
JP2014167520A (en) Communication karaoke system allowing continuation of duet singing during communication failure
GB2610801A (en) A system and method for audio recording
JP2008140434A (en) Digital audio device and its sample rate changing method
US8965755B2 (en) Acoustic data communication device
JP4706691B2 (en) Distribution system, audio device, and reception control method
JP2008097096A (en) Server device and communication session establishment method
WO2018163378A1 (en) Operation device, command processing device, and content reproduction system
JP2004007327A (en) Data reproducing device and data repeater

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140119

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

R150 Certificate of patent or registration of utility model

Ref document number: 5532638

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140414

LAPS Cancellation because of no payment of annual fees