JP4321284B2 - Streaming data transmission apparatus and information distribution system - Google Patents
Streaming data transmission apparatus and information distribution system Download PDFInfo
- Publication number
- JP4321284B2 JP4321284B2 JP2004026975A JP2004026975A JP4321284B2 JP 4321284 B2 JP4321284 B2 JP 4321284B2 JP 2004026975 A JP2004026975 A JP 2004026975A JP 2004026975 A JP2004026975 A JP 2004026975A JP 4321284 B2 JP4321284 B2 JP 4321284B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- buffering
- fec
- streaming
- transmission
- 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
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
本発明は、ストリーミングデータ送信装置、および情報配信システムに関する。 The present invention is, streaming data transmission apparatus, and an information distribution system.
従来、データ送信において、受信側の確認応答(ACK)の手順を経ずにデータ送信を実行する方式がある。IP(Inteernet Protocol)上で用いられるUDP(User Datagram Protocol)が、このような方式の典型例である。このような確認応答のないデータ送信においては、送信されるデータの欠落の有無を送信側も受信側も検出できないので、データ通信の信頼性に欠けるという問題がある。 Conventionally, in data transmission, there is a method of executing data transmission without going through the procedure of an acknowledgment (ACK) on the receiving side. UDP (User Datagram Protocol) used on IP (Internet Protocol) is a typical example of such a system. In data transmission without such an acknowledgment, there is a problem in that the reliability of data communication is lacking because neither the transmitting side nor the receiving side can detect the absence of transmitted data.
そこで、送信するデータそのものに配信の信頼性を高めるための加工を施す方法が考えられている。例えば特許文献1では、送信するデータにFEC(Forward Error Correction)処理を施すことで送信データの冗長性を高め、受信側が一部の送信データを受信できなくとも、残りの受信データから元のデータを復元する技術が開示されている。
しかし、上記の技術では、あらかじめ決められた長さのデータをFEC処理するようになっているため、送信できるデータの長さがそのあらかじめ決められた長さを越えることができない。したがって、ストリーミングデータのような、送信するデータの長さがあらかじめわからないデータを送信することができず、上記特許文献1にもそれを解決する方法についての記載がない。
However, in the above-described technique, since data having a predetermined length is subjected to FEC processing, the length of data that can be transmitted cannot exceed the predetermined length. Therefore, data such as streaming data whose length of data to be transmitted cannot be known in advance cannot be transmitted, and
本発明は上記点に鑑み、FEC処理が施されたデータが送信されるデータ配信システムにおいて、ストリーミングデータを送信できるようにすることを目的とする。 The present invention has been made in view of the above points, and it is an object of the present invention to enable streaming data to be transmitted in a data distribution system to which data subjected to FEC processing is transmitted.
上記のような課題を解決するための本発明の第1の特徴は、ストリーミングデータ送信装置が、ストリーミングデータを複数送信単位分バッファリングし、そのバッファリングデータに対してFEC処理を施し、その結果のFEC化データを送信することである。
また、送信を行う送信手段は複数あり、それら複数の送信手段のそれぞれは、FEC化データの送信を、次に自らが送信するFEC化データの元となるバッファリングデータのバッファリングが完了するまで続け、それら複数の送信手段は順番に、同じストリーミングデータの異なる部分についてのFEC化データを送信するようになっている。
The first feature of the present invention for solving the above-described problem is that the streaming data transmitting apparatus buffers the streaming data for a plurality of transmission units, performs FEC processing on the buffered data, and results thereof. The FEC data is transmitted .
In addition, there are a plurality of transmission means for performing transmission. Each of the plurality of transmission means transmits FEC data until buffering of buffering data that is the source of FEC data to be transmitted next is completed. Subsequently, the plurality of transmission units sequentially transmit FEC data for different portions of the same streaming data.
このようになっているので、FEC処理が施されたデータが送信されるデータ配信システムにおいて、ストリーミングデータが複数送信単位分バッファリングされ、そのバッファリングデータ毎にFEC処理が施されるので、ストリーミングデータをFEC処理して送信できるようになる。 Thus, in a data distribution system in which data subjected to FEC processing is transmitted, streaming data is buffered for a plurality of transmission units, and FEC processing is performed for each buffered data. Data can be transmitted after FEC processing.
なお、「送信単位」とは、例えばフレーム、パケット等のデータ伝送の単位をいう。 The “transmission unit” refers to a unit of data transmission such as a frame and a packet.
また、「複数送信単位分バッファリングする」とは、複数単位分たまるまで記憶することをいう。 Further, “buffering for a plurality of transmission units” means storing until a plurality of units are collected.
また、データの送信を無線により行うことを考慮すると、例えば最終的に受信側にデータを送出する無線基地局の通信可能範囲が離散的に配置されている場合等、受信側が連続的に送信データを受信することができない場合がある。このような場合にも、ストリーミングデータのような時系列的な連続性のあるデータをとぎれなく再生したいという要請がある。 In consideration of performing data transmission wirelessly, for example, when the communicable range of the wireless base station that finally sends data to the receiving side is discretely arranged, the receiving side continuously transmits data. May not be able to receive. Even in such a case, there is a demand for continuous reproduction of time-sequential data such as streaming data.
本発明の第2の特徴は、ストリーミングデータ送信装置が、FEC化データを、このFEC化データの元となるバッファリングデータのデータレートより高い伝送容量で無線送信することであり、これによって、受信側が連続的に送信データを受信できないような環境でもストリーミングデータの途切れがない再生を行える場合がある。 The second feature of the present invention is that the streaming data transmitting apparatus wirelessly transmits the FEC data with a transmission capacity higher than the data rate of the buffering data that is the source of the FEC data. Even in an environment where the transmission side cannot receive transmission data continuously, there is a case where streaming data can be reproduced without interruption.
なお、「FEC化データの元となるバッファリングデータ」とは、当該FEC化データがFEC処理される前のバッファリングデータをいう。 Note that “buffering data that is the basis of FEC data” refers to buffering data before the FEC data is subjected to FEC processing.
また、データレートとは、バッファリングデータの単位時間の再生のために用いるデータのビット数をいう。 The data rate refers to the number of bits of data used for reproducing unit time of buffering data.
また、本発明の第3の特徴は、送信手段は、それぞれ異なるバッファリングデータを元とする複数のFEC化データを同時に送信することである。ここで、「バッファリングデータを元とするFEC化データ」とは、「そのバッファリングデータを前記処理手段がFEC処理を施した結果であるFEC化データ」という意味である。 A third feature of the present invention is that the transmission means transmits a plurality of FEC data based on different buffering data at the same time. Here, “FEC data based on buffering data” means “FEC data obtained as a result of the processing means performing FEC processing on the buffering data”.
このようになっていることで、一度に1つのバッファリングデータを元とするFEC化データのみを送信するような場合に比べ、1つのバッファリングデータを元とするFEC化データを送信できる期間を長くすることができる。 In this way, compared to a case where only FEC data based on one buffering data is transmitted at a time, a period during which FEC data based on one buffering data can be transmitted is reduced. Can be long.
また、本発明の第4の特徴は、送信手段は、ストリーミングデータ受信装置を搭載した車両の走行路に沿った複数の無線セルを構成し、この複数の無線セルから同じFEC化データを同時に送信し、車両が複数の無線セルのうち1つの無線セルを出てから隣の無線セルに入るまでの期間が、1つのバッファリングデータを元とするFEC化データを送信し続ける期間から、ストリーミングデータ受信装置が当該バッファリングデータを復元するためのFEC化データの受信にかかる期間を減算した期間より短いことである。 In addition, a fourth feature of the present invention is that the transmission means configures a plurality of radio cells along the traveling path of the vehicle equipped with the streaming data receiving device, and simultaneously transmits the same FEC data from the plurality of radio cells. The period from when the vehicle exits one of the plurality of wireless cells to the next wireless cell continues to transmit the FEC data based on one buffering data from the streaming data. This is shorter than the period obtained by subtracting the period for receiving the FEC data for restoring the buffering data.
このようになっているので、車両が無線セルと無線セルの間を走行しているうちにバッファリングデータを復元するのに必要なFEC化データの受信機会を逃すことを防ぐことができる。なお、「車両が複数の無線セルのうち1つの無線セルを出てから隣の無線セルに入るまでの期間」については、例えば車両の特定の道路における平均速度、あるいは予想最低速度を用いて算出することができる。 Thus, it is possible to prevent missed reception of the FEC data required for restoring the buffering data while the vehicle is traveling between the radio cells. Note that the “period from when one vehicle out of a plurality of wireless cells to the next wireless cell” is calculated using, for example, the average speed of the vehicle on the specific road or the predicted minimum speed can do.
また、ストリーミングデータは、動画または音楽のストリーミングデータであってもよいし、繰り返し撮影された静止画が連続するストリーミングデータであってもよい。繰り返し撮影された静止画が連続するストリーミングデータの場合、記憶媒体は、ストリーミングデータを静止画の所定枚数分バッファリングするようになっていると区切りがよい。 Further, the streaming data may be streaming data of moving images or music, or may be streaming data in which still images taken repeatedly are continuous. In the case of streaming data in which repeatedly shot still images are continuous, it is preferable that the storage medium be partitioned if the streaming data is buffered by a predetermined number of still images.
また、本発明の第5の特徴は、FEC化データに、バッファリングされる順に循環的にバッファリングデータに割り当てられる循環識別符号のうち、当該FEC化データの元となるバッファリングデータに割り当てられた循環識別符号が付与されて送信されることである。 The fifth feature of the present invention is that, among the cyclic identification codes that are cyclically assigned to the buffering data in the order of buffering, the FEC data is assigned to the buffering data that is the source of the FEC data. The cyclic identification code is added and transmitted.
このように循環識別符号を用いることで、識別符号は循環的に繰り返し用いられるので、識別符号の枯渇やの識別符号のデータ量の増大によるデータ伝送効率の低下を防ぐことができる。 By using the cyclic identification code in this way, the identification code is repeatedly used in a cyclic manner, so that it is possible to prevent a decrease in data transmission efficiency due to the exhaustion of the identification code or an increase in the data amount of the identification code.
また、循環識別符号は、複数回進むと元の符号に戻るような循環識別符号において、この複数回は、送信手段が同時送信するFEC化データの元となるバッファリングデータの数の2倍よりも多くてもよい。 In addition, the cyclic identification code is a cyclic identification code that returns to the original code when it advances a plurality of times. This multiple times is more than twice the number of buffering data that is the source of the FEC data that the transmission means transmits simultaneously. May be more.
また、バッファリングデータに循環的に割り当てられる循環識別符号の組は、当該FEC化データの元となるストリーミングデータの種類毎に異なっていてもよい。 Further, the set of cyclic identification codes that are cyclically assigned to the buffering data may be different for each type of streaming data that is the source of the FEC data.
また、本発明の第6の特徴は、ストリーミングデータ受信装置が、上記したようなストリーミングデータ送信装置から送信されたFEC化データを受信する受信手段と、この受信したFEC化データから当該FEC化データの元となるバッファリングデータを復元する復元手段と、この復元したバッファリングデータのデータレートに基づいて、当該バッファリングデータから成るストリーミングデータを再生するための処理を行う再生制御手段と、を備えることである。 Further, the sixth feature of the present invention is that the streaming data receiving device receives the FEC data transmitted from the streaming data transmitting device as described above, and the FEC data from the received FEC data. Recovery means for recovering the original buffering data, and reproduction control means for performing processing for reproducing streaming data composed of the buffering data based on the data rate of the restored buffering data That is.
このようなストリーミングデータ受信装置が、上記したようなストリーミングデータ送信装置からのFEC化データを受信、復元して再生のための処理を行うので、FEC処理が施されたデータが送信されるデータ配信システムにおいて、トリーミングデータをFEC処理して送信できるようになる。 Since such a streaming data receiving apparatus receives the FEC data from the streaming data transmitting apparatus as described above, restores it, and performs processing for reproduction, data distribution to which data subjected to FEC processing is transmitted In the system, the streaming data can be transmitted after FEC processing.
また、復元手段は、FEC化データに付与された循環識別符号に基づいて、受信したFEC化データからFEC化データの元となるバッファリングデータを復元するようになっていてもよい。 Further, the restoration means may restore the buffering data that is the basis of the FEC data from the received FEC data based on the cyclic identification code given to the FEC data.
また、復元手段は、並列的に複数の異なるバッファリングデータを復元するため、1度に1つのバッファリングデータを復元する個別復元手段を複数有し、受信したFEC化データに付与された循環識別符号に基づいて、当該FEC化データを前記個別復元手段のいずれか1つに復元させるようになっていてもよい。 Further, the restoration means has a plurality of individual restoration means for restoring one buffering data at a time in order to restore a plurality of different buffering data in parallel, and the cyclic identification given to the received FEC data Based on the code, the FEC data may be restored to any one of the individual restoration means.
また、個別復元手段は、復元したバッファリングデータを共通の記憶媒体に記憶させ、 再生制御手段は、共通の記憶媒体に記憶されたバッファリングデータに記述された時間情報に基づいて、バッファリングデータから成るストリーミングデータを再生するための処理を行うようになっていてもよい。 The individual restoration means stores the restored buffering data in a common storage medium, and the reproduction control means uses the buffering data based on the time information described in the buffering data stored in the common storage medium. The process for reproducing the streaming data consisting of may be performed.
また、復元手段は、個別復元手段をM個有しており、前記個別復元手段のそれぞれが復元しているバッファリングデータに割り当てられた循環識別符号が、それぞれ循環識別符号Xないし循環識別符号XからM−1個先の循環識別符号であるとき、前記循環識別符号XからM個以上先であり、かつ前記循環識別符号XからM個前よりも前である識別符号が付与されたFEC化データを受信手段が受信したとき、循環識別符号Xが割り当てられたバッファリングデータの復元を行う個別復元手段の処理をキャンセルさせるようになっていてもよい。 Further, the restoration means has M individual restoration means, and the cyclic identification codes assigned to the buffering data restored by the individual restoration means are respectively the cyclic identification code X or the cyclic identification code X. F-1 is provided with an identification code that is M or more ahead of the cyclic identification code X and M prior to the cyclic identification code X. When the receiving means receives the data, the processing of the individual restoring means for restoring the buffering data to which the cyclic identification code X is assigned may be canceled.
このようにすることで、上記したように先に進んだバッファリングデータを元とするFEC化データを受信することで、現在のバッファリングデータのFEC化データを受信することができないとして、その復元をキャンセルすることで、もはや受信できなくなったFEC化データの復元を個別復元手段が続けてしまうことを防止できる。 In this way, it is assumed that the FEC data of the current buffering data cannot be received by receiving the FEC data based on the previously advanced buffering data as described above. By canceling, it is possible to prevent the individual restoration means from continuing to restore the FEC data that can no longer be received.
また、1度に1つのバッファリングデータを復元するようなストリーミングデータ受信装置においては、受信手段が受信したFEC化データに付与されている循環識別符号のうち、最も先の循環識別符号が割り当てられたバッファリングデータを復元するようになっていてもよい。このようにすることで、ストリーミングデータ受信装置は、その時の最も最新の、すなわちその時以降の送信期間が最も長い可能性の高いバッファリングデータを元とするFEC化データを復元することができる。 Also, in a streaming data receiving apparatus that restores one buffering data at a time, the earliest cyclic identification code among the cyclic identification codes assigned to the FEC data received by the receiving means is assigned. The buffering data may be restored. In this way, the streaming data receiving apparatus can restore the FEC data based on the latest buffering data at that time, that is, the buffering data that is most likely to have the longest transmission period thereafter.
また、復元手段は、個別復元手段のバッファリングデータの復元を開始してから規定時間経過しても当該バッファリングデータの復元を完了しないとき、当該バッファリングデータを有するストリーミングデータの復元をリセットしてもよい。この規定時間は、ストリーミングデータ送信装置において用いられる循環識別符号が一巡する時間から余裕時間を減算した時間であり、余裕時間は、ストリーミングデータ送信装置において1つのIDが用いられてから次のIDが用いられるまでの時間の平均値に、個別復号手段の数の2倍を乗算したものである。 In addition, the restoration unit resets the restoration of the streaming data having the buffering data when the restoration of the buffering data is not completed even after the lapse of a specified time from the start of the restoration of the buffering data by the individual restoration unit. May be. This specified time is a time obtained by subtracting a margin time from a time required for one cycle of the cyclic identification code used in the streaming data transmission apparatus. The margin time is determined by the next ID after one ID is used in the streaming data transmission apparatus. The average value of the time until use is multiplied by twice the number of individual decoding means.
このようにすることで、個別復元手段が、循環識別符号が一巡してしまうことで別個のバッファリングデータを元とする同じ循環符号が付与されたFEC化データを、同じバッファリングデータを元とするFEC化データであるかのように復元しようとすることを防ぐことができる。 In this way, the individual restoration means uses the same buffering data as the source of the FEC data to which the same cyclic code based on the separate buffering data is given as a result of the cyclic identification code making a round. It is possible to prevent the data from being restored as if it were FEC data.
(第1実施形態)
図1に、本発明の第1実施形態に係る情報配信システム100の構成図を示す。情報配信システム100は、ストリーミングサーバ1、符号化サーバ2、無線LANアクセスポイント4〜6、車両10に搭載されるストリーミングデータ受信装置11を有している。
(First embodiment)
FIG. 1 shows a configuration diagram of an
ストリーミングサーバ1によって生成された音楽、画像等のストリーミングデータは、符号化サーバ2によってFEC処理を施された後、インターネット等の広域ネットワーク3を介して無線LANアクセスポイント4〜6からFEC化データとして送信される。そして、無線LANアクセスポイント4〜6の形成する円錐形の無線セル7〜9のいずれかに車両10が進入すると、ストリーミングデータ受信装置11は対応する無線LANアクセスポイントから当該FEC化データを受信し、受信したデータを元にストリーミングデータを復元し、そのストリーミングデータを再生する。
Streaming data such as music and images generated by the streaming
図2に、ストリーミングサーバ1、符号化サーバ2、ストリーミングデータ受信装置11等の構成図を示す。
FIG. 2 shows a configuration diagram of the
ストリーミングサーバ1は、カメラ12、マイク13等から継続的に入力され時間的に変化する映像、音楽等の信号を受け、その信号をストリーミングデータに変換し、イーサネット(登録商標)回線51を介して符号化サーバ2に出力する。ストリーミングデータは、特に送信データのサイズが決められないまま連続的に送出されるデータをいう。ストリーミングデータは、例えばMPEG2、リアルオーディオ(登録商標)等の形式で送信されることが多い。本実施形態においては、ストリーミングサーバ1としては、イーサネット(登録商標)回線を通じてインターネットにストリーミングデータを送信する、既存のワークステーション、パーソナルコンピュータで実行されるストリーミングエンコーダを用いることができる。
The streaming
符号化サーバ2は、ストリーミングサーバ1から受けたストリーミングデータを所定時間分バッファリングし、そのバッファリングしたデータ毎に順次まとめて符号化を行い、その符号化したデータをUDPパケット化し、それを無線LANアクセスポイント4〜6を介して無線セル7〜9内に送出する。
The
このような符号化サーバ2は、受信インターフェース(図2中では受信I/Fと記す)21、CPU22、RAM23(特許請求の範囲の記憶媒体に相当する)、ROM24および送信インターフェース(図2中では送信I/Fと記す)25を有している。
Such an
受信インターフェース21は、ストリーミングサーバ1が符号化サーバ2に対して出力したストリーミングデータを受信し、それをCPU22が認識できる形式に変換してCPU22に出力する。このような機能により、CPU22は、受信インターフェース21を介してストリーミングサーバ1からデータを受けることができる。
The
送信インターフェース25は、CPU22から受けたデータを、広域ネットワーク3の通信プロトコルに適合するように加工し、この加工したデータを無線LANアクセスポイント4〜6に送信する。このような機能により、CPU22は、送信インターフェース25にデータを出力することで、送信インターフェース25を介して無線LANアクセスポイント4〜6にデータを送信することができる。
The transmission interface 25 processes the data received from the CPU 22 so as to conform to the communication protocol of the
CPU22は、ROM24からプログラムを読み出して実行し、そのプログラムに記述された処理内容に基づいて動作し、その動作において、RAM23およびROM24から情報を読み出し、RAM23に情報を書き込む。またCPU22は、その動作中に受信インターフェース21を介してストリーミングサーバ1からのストリーミングデータを受け、またこのストリーミングデータを処理した後のUDPパケットを送信インターフェース25を介して無線LANアクセスポイント4〜6に送信する。
The CPU 22 reads and executes a program from the
無線LANアクセスポイント4〜6は、符号化サーバ2から受けたUDPパケットを無線LANの規格に従って無線送信する公知の送信装置である。アクセスポイント4〜6は、それぞれが形成する無線セル(送信可能範囲)7〜9が離散的になるよう、道路沿いに配置されている。
The wireless
ストリーミングデータ受信装置11は、復号クライアント14およびプレーヤ15を有している。
The streaming
復号クライアント14は、符号化サーバ2から送信されたUDPパケットを無線LANアクセスポイント4〜6を介して受信し、受信したUDPパケットから元のストリーミングデータを復元し、復元したストリーミングデータをイーサネット(登録商標)回線52を介してプレーヤ15に出力する。
The
このような復号クライアント14は、無線LANインターフェース(図2中では無線LANI/Fと記す)41、CPU42、RAM43、ROM44および送信インターフェース(図2中では送信I/Fと記す)45を有している。
Such a
無線LANインターフェース41は、無線LANアクセスポイント4〜6から送信されたUDPパケットを図示しないアンテナを介して受信し、それをCP42が認識できる形式に変換してCPU42に出力する。このような機能により、CPU42は、無線LANインターフェース41を介して無線LANアクセスポイント4〜6からデータを受けることができる。
The
送信インターフェース45は、CPU42から受けたデータを、インターネットのプロトコルに適合するように加工し、この加工したデータをプレーヤ15に送信する。このような機能により、CPU42は、送信インターフェース45にデータを出力することで、送信インターフェース45を介してプレーヤ15にデータを送信することができる。
The
CPU42は、ROM44からプログラムを読み出して実行し、そのプログラムに記述された処理内容に基づいて動作し、その動作において、RAM43およびROM44から情報を読み出し、RAM43に情報を書き込む。またCPU42は、その動作中に無線LANインターフェース41を介して無線LANアクセスポイント4〜6からのUDPパケットを受け、またこのUDPパケットを復元した後のストリーミングデータを送信インターフェース45を介してプレーヤ15に送信する。
The
プレーヤ15は、復号クライアント14の送信インターフェース45からのストリーミングデータを受け、そのストリーミングデータの再生、すなわちストリーミングデータに記述された映像や音のユーザへの表示を行う。プレーヤ15としては、インターネット回線を介して受けたストリーミングデータを再生するパーソナルコンピュータ、ワークステーションで実行されるムービープレーヤ等を用いることができる。
The
図3は、このような構成の情報配信システム100におけるデータの流れを示す図である。この図を用いて符号化サーバ2のCPU22の作動について説明する。
FIG. 3 is a diagram showing a data flow in the
まず、ストリーミングサーバ1は、カメラ12またはマイク13から連続的に受けている映像、音楽のデータをMPEG等のフォーマットにエンコードする(ステップ110)。そしてエンコードされたデータをストリーミングデータとし(ステップ120)、符号化サーバ2に出力する。
First, the streaming
符号化サーバ2のCPU22は、受信インターフェース21を介してストリーミングデータを受けると、RAM23にそのデータをバッファリングする。バッファリングとは、受信したストリーミングデータを、それがあるデータ量に達するまで追記的にRAM23に記憶させることをいう。ここで、あるデータ量とは、複数パケット分である。複数パケット分とは、ストリーミングデータを後にUDPデータとして送信するときに、そのUDPデータが複数となるような、ストリーミングデータの量である。
When receiving the streaming data via the
より詳細には、あるデータ量とは、ストリーミングデータの一定時間分である。一定時間分とは、ストリーミングデータが再生されるときの時間が一定となるようなデータ量をいう。従って、ストリーミングデータのビットレートが可変である場合、一定時間分のストリーミングデータのデータサイズ自体は一定でない。なお、ストリーミングデータには、ストリーミングデータのどの部分をどのタイミングで再生するかを指定するタイムスタンプ(特許請求の範囲の時間情報に相当する)が含まれており、そのタイムスタンプに基づいてストリーミングデータの時間を特定することができる。なお、本明細書では、バッファリングされたデータをバッファリングデータと記す。 More specifically, the certain amount of data is a certain amount of time for streaming data. The certain amount of time means a data amount that makes the time when streaming data is reproduced constant. Therefore, when the bit rate of streaming data is variable, the data size of the streaming data for a certain time is not constant. Note that the streaming data includes a time stamp (corresponding to the time information in the claims) that specifies which part of the streaming data is to be reproduced at which timing, and the streaming data is based on the time stamp. The time can be specified. In the present specification, buffered data is referred to as buffering data.
CPU22は、上記した所定時間分のデータのバッファリングが完了すると、そのバッファリングデータの1まとまりに対して分割・符号化(FEC)・符号化パケット生成の処理を施す(ステップ220)。 When the buffering of the data for the predetermined time described above is completed, the CPU 22 performs division / encoding (FEC) / encoded packet generation processing on the batch of the buffered data (step 220).
そして、CPU22は、上記処理が施されたデータを、複数のUDPパケットにまとめ(ステップ230)、更にそのUDPパケットを送信インターフェース25を介して送信する(ステップ240)。 Then, the CPU 22 collects the data subjected to the above processing into a plurality of UDP packets (step 230), and further transmits the UDP packet via the transmission interface 25 (step 240).
なお、分割・符号化(FEC)・符号化パケット生成の処理の間にも、CPU22は並行して新たに受信データのバッファリングを行うようになっており、そのバッファリングが完了すれば当該バッファリングデータについてステップ220、230、240の処理を行う。 It should be noted that the CPU 22 newly buffers received data in parallel during the processing of fragmentation / encoding (FEC) / encoded packet generation, and when the buffering is completed, the buffer Steps 220, 230, and 240 are performed on the ring data.
図4に、このようなCPU22のステップ220および230の処理を説明する図を示す。図4中の各矩形310〜350は、それぞれCPU22で処理されるデータを表している。ステップ210の処理によりRAM23に記憶された所定時間分のバッファリングデータ310は、ステップ220の処理によって複数の分割データ311〜318に等分割される。1つのバッファリングデータ310を何個に分割するかは、バッファリングデータのデータサイズに関わらず、あらかじめ決められている。
FIG. 4 is a diagram for explaining the processing of
そして、更にステップ220の処理により、この分割データ311〜318に対して符号化処理が施される。具体的には、分割データ311〜318のそれぞれを要素とするデータ列に対してReed−Solomon符号化行列、Tornado符号化行列、LDPC符号化行列等の公知の符号化行列を作用させる。すると、その結果として符号化パケット320〜335が生成される。このようにして生成された符号化パケット320〜335は、元となるバッファリングデータ310よりもデータ量が多くなっている。すなわち、バッファリングデータ310は符号化によって冗長化されている。このように符号化により冗長化された符号化パケット320〜335は、その全てを受信せずとも、そのパケットのうち必要な量だけ任意のパケットを受信できれば、受信した符号化パケット320〜335からそのバッファリングデータ310を復元することができる。このような復元のできる冗長化をメタパケット化ともいう。
Further, the divided
そして、ステップ230の処理により、符号化パケット320〜335のいくつかをまとめて1つのUDPパケットとする。図4においては、例として2つのUDPパケット340、350を示すが、実際にはもっと多数のUDPパケットが生成される。生成される多数のUDPパケットは、符号化パケット320〜335のうち例えばランダムに選んだものを含むようになっていればよい。CPU22はUDPパケット340、UDPパケット350を生成する際、それぞれに、符号化パケットに加え、その先頭部分にID341、351、および通し番号342、352の情報を付加する。通し番号342、352は、元となるバッファリングデータ310が同じUDPパケット間で同じ値とならないように、当該UDPパケットの生成時に付与される番号である。ID341、342は、元となるバッファリングデータ310を識別することができる符号である。したがって、同じバッファリングデータを元とするUDPパケットは同じIDを有している。そして、UDPパケットが生成される元となるバッファリングデータが新しいものとなる度に、その生成されるUDPパケットに付与されるIDも更新される。
Then, by the processing in
このIDの更新の順序の具体例を図5に示す。図5に円状に配置された丸印のそれぞれが1つのIDを表している。各IDに対応する具体的な値は、当該丸印の近傍に記載された番号である。例えば丸印61はその値が10のIDである。バッファリングデータが新しいものとなる度に、ID番号はこの図中の矢印に示されるような時計回りに更新される。すなわち、IDとして10がUDPデータに付与されている場合、次にバッファリングデータが新しくなると、当該バッファリングデータから生成されるUDPパケットにはIDとして11が付与される。このようにIDはバッファリングデータが更新されると共に10→11→12→・・・→19と更新され、19の次にはまた10にもどる。このように、付与されるIDは循環的な性質を有する循環識別符号である。
A specific example of the ID update order is shown in FIG. Each of the circles arranged in a circle in FIG. 5 represents one ID. A specific value corresponding to each ID is a number written in the vicinity of the circle. For example, a
このような循環識別符号をIDに用いると
、ストリーミングデータをストリーミングサーバ1から次々に受信し、バッファリングデータが次々に更新されても、IDは循環的に繰り返し用いられるので、IDの枯渇やIDの桁数の増大によるデータ伝送効率の低下を防ぐことができる。
When such a cyclic identification code is used for an ID, even if streaming data is received from the streaming
また、付与するIDの組は、送信するストリーミングデータの内容のカテゴリ毎に異なるようになっていてもよい。図6にIDの組と、ストリーミングデータの内容のカテゴリとの対応の一例を示す。この図によれば、時事ニュースのカテゴリに対応するストリーミングデータについては、10から19までのIDの組を用い、スポーツには20〜29のIDの組を用い、渋滞情報には30〜39のIDの組を用い、天気予報には40〜49のIDの組を用いるようになっている。このように、IDの組毎にストリーミングデータの内容のカテゴリが異なると、データの受信側は、特定のカテゴリのストリーミングデータを再生したいとき、そのカテゴリに対応したIDのUDPパケットを選択的に受信すればよいということになる。
Moreover, the set of IDs to be assigned may be different for each category of the content of streaming data to be transmitted. FIG. 6 shows an example of correspondence between ID groups and streaming data content categories. According to this figure, for streaming data corresponding to the current news category,
なお、符号化サーバ2のCPUは、UDPパケットとして送信するストリーミングデータの内容がどのカテゴリのものであるかは、ストリーミングデータ内にその情報が埋め込まれており、その埋め込まれた情報を読み出すことで特定するようになっていてもよいし、ストリーミングサーバ1から別途その情報を受けるようになっていてもよい。
Note that the CPU of the
図7に、以上のようなCPU22の作動によりストリーミングサーバ1からストリーミングデータを受信してUDPパケットを送信する符号化サーバ2、の処理のタイミングを示す。図中、下向きが時間の向きに相当する。
FIG. 7 shows the processing timing of the
この図においては、ストリーミングサーバ1が1つのストリーミングデータの一部を成す単位である、再生時間の等しいデータS1〜S7を、順次連続に送信する。符号化サーバ2はそれを受信し、図3のステップ210に相当するCPU22のバッファリングにより、この2単位(例えばS1とS2)を一定時間分としてRAM23に記憶すると、その時点62〜64でステップ220、230に相当する符号化、UDPパケット化等の処理を開始し、その処理が終了した時点65〜67でステップ240の処理によりUDPパケットを送信し始める。
In this figure, the streaming
そして、次のバッファリングが終了する時点63、64、68まで、当該UDPパケットの送信を繰り返し続ける。従って、1つのバッファリングデータを元とするUDPパケットの送信期間は、範囲69に示すように、符号化、あるバッファリングデータについてのUDPパケット化が終了してから、次のバッファリングデータのバッファリングが終了するまでの期間である。
The UDP packet transmission is continuously repeated until the next buffering ends 63, 64, and 68. Therefore, the transmission period of the UDP packet based on one buffering data is as shown in a
次に、ストリーミングデータ受信装置11がこの符号化サーバ2によって送信されたUDPパケットを受信して以後の作動について説明する。図3のデータの流れに示すように、復号クライアント14においては、符号化サーバ2が送信したUDPパケットが受信され(ステップ410)、受信したUDPパケットから符号化パケットが抽出され(ステップ420)、更にその符号化パケットから分割データ、バッファリングデータが復元され(ステップ430)、さらにそのバッファリングデータがストリーミングデータとしてプレーヤ15に出力される。
Next, the operation after the streaming
更にプレーヤ15では、復号クライアント14から出力されたデータの、MPEG等のデコードが行われ(ステップ510)、そのデコードの結果の動画データ、音楽データ等が再生される(ステップ520)。
Further, the
以上のようなデータの流れを実現するために復号クライアント14のCPU42が実行するプログラムの構成を図8に示す。なお、以下に示すプログラム間では、RAM43やCPU42中のレジスタを介してデータの授受が行えるようになっている。
FIG. 8 shows the configuration of a program executed by the
CPU42は、受信プログラム805、2つの個別復元プログラム810、820、バッファリングプログラム830、ストリーム再生プログラム840を並列的に実行する。
The
受信プログラム805は、符号化サーバ2から送信されたUDPパケットを受信し、受信したUDPパケットを適宜個別復元プログラム810、個別復元プログラム820に渡し、さらに個別復元プログラム810、個別復元プログラム820の作動を制御するためのプログラムである。この受信プログラム805の具体的な作動については後述する。
The
個別復元プログラム810は、CPU42によってそれぞれ並列的に実行されるタイマ−プログラム811、符号化パケット抽出プログラム812、復号・データ復元プログラム813を含んでいる。
The
タイマ−プログラム811を実行することにより、CPU42は、その実行開始からの経過時間を計測し、その計測時間が所定の満了時間(特許請求の範囲の規定時間に相当する)に達すると、タイムアウトイベント発生を示すデータを受信プログラム805に渡す。
By executing the
図9に、符号化パケット抽出プログラム812および復号・データ復元プログラム813の処理を説明する図を示す。図9中の各矩形310〜350は、それぞれCPU42で処理されるデータを表しており、各矩形に割り当てられた番号は図4において同じ番号が割り振られた矩形と同じものである。ただし、受信されるUDPパケット340、350および符号化パケット320〜335の数は、図4の処理において生成された符号化パケットよりも少なくてよい。
FIG. 9 is a diagram for explaining the processing of the encoded
符号化パケット抽出プログラム812を実行することにより、CPU42は、受信プログラム805から渡されたUDPパケット(図9のUDPパケット340、350に相当する)からID、通し番号等を除去し、符号化パケット(図9の符号化パケット320〜335に相当する)を抽出し、その抽出した符号化パケットを符号化パケット抽出プログラム812に渡す。
By executing the encoded
復号・データ復元プログラム813を実行することにより、CPU42は、符号化パケット抽出プログラム812から符号化パケットを受け、受けた符号化パケットがあらかじめ定められた必要な量に達すると、それらの符号化パケットを復号する。復号は、具体的には、必要量の符号化パケットのそれぞれを要素とするデータ列に、そのデータ列に対応した逆符号化行列を作用させる。すると、その結果として復号データ(図9の分割データ311〜318に相当する)が生成される。そして、この復号データを結合してバッファリングデータ(図9のバッファリングデータ310に相当する)を生成する。さらに、生成したバッファリングデータをバッファリングプログラム830に渡し、復号完了イベント発生を示すデータを受信プログラム805に渡し、個別復元プログラム810の実行を終了する。
By executing the decoding /
なお、CPU42は、受信プログラム805の実行において、特定のIDを有するUDPパケットの復号予約の処理を行うことに基づいて、個別復元プログラム810の実行を開始し、それと同時にタイマ−プログラム811、符号化パケット抽出プログラム812、復号・データ復元プログラム813の実行を開始する。そして、受信プログラム805が予約キャンセルの旨のデータを個別復元プログラム810に渡すと、CPU42は、個別復元プログラム810がこのデータを受けたことに基づいて、タイマ−プログラム811、符号化パケット抽出プログラム812および復号・データ復元プログラム813の実行を、個別復元プログラム810と共に終了する。
Note that the
個別復元プログラム820、タイマ−プログラム821、符号化パケット抽出プログラム822、復号・データ復元プログラム823の処理の内容は、それぞれ個別復元プログラム810、タイマ−プログラム811、タイマ−プログラム821および符号化パケット抽出プログラム822と同等である。ただし、個別復元プログラム810、個別復元プログラム820は、それぞれ異なるIDを有するUDPパケットの復元を行うようになっている。
The contents of the
なお、図2においては、個別復元プログラムは2つ示されているが、2つ以上の個別復元プログラムがそれぞれ異なるIDのUDPパケットを復号するようになっていてもよい。なお、同時に実行する個別復元プログラムの数は予め決まっている。 In FIG. 2, two individual restoration programs are shown. However, two or more individual restoration programs may decode UDP packets having different IDs. Note that the number of individual restoration programs to be executed simultaneously is determined in advance.
バッファリングプログラム830を実行することで、CPU42は、個別復元プログラム810、個別復元プログラム820等の、複数の個別復元プログラムから渡された複数のバッファリングデータを、RAM43の共通の領域、すなわちバッファに保存する。
By executing the
ストリーム再生プログラム840を実行することで、CPU42は、上記したバッファに保存された複数のバッファリングデータを読み出し、このバッファリングデータに記述された再生のためのタイムスタンプに基づいたタイミングで、当該バッファリングデータを送信インターフェース45を介してプレーヤ15に出力する。
By executing the
ここで、個別復元プログラム810、個別復元プログラム820を制御する受信プログラム805の処理について具体的に説明する。図10に、受信プログラム805のフローチャートを示す。なお、CPU42は、復号クライアント14の起動後すぐにこの受信プログラム805を実行する。
Here, the process of the
CPU42は受信プログラム805の実行を開始すると、まずステップ910で変数Frの値を“false”に設定する。この変数Frは、上述した個別復元プログラムが1つも実行されていない場合は“false”に、1つでも実行されている場合は“true”になるように設けられた変数である。
When the
次にステップ915で、無線LANインターフェース41を介してUDPパケットを1つ受信する。なお、図10においてステップ910以外の処理はループ状になっているが、このループの繰り返しによって、順次UDPパケットを受信することができる。
In
次にステップ920で、変数Frが“true”であるか否か、すなわち個別復元プログラムが少なくとも1つ実行されているか否かを判定する。
Next, in
Frが“false”の場合、続いてステップ925の処理を実行し、予め定められた数だけ個別復元プログラムの予約の処理を行う。この際、予め定められた数をM個とすると、用いるIDの組のうち、受信したパケットのIDから順にM個のIDを、予約するM個の個別復元プログラムのそれぞれに割り当てる。これによって、M個の個別復元プログラムの実行が始まる。
When Fr is “false”, the process of
ステップ925に続いてはステップ930で、変数Frの値を“true”に設定する。
In
ステップ920の判定でFrが“true”の場合、続いてステップ935で、受信したUDPパケットのIDを読み出し、このIDが新規に受信すべきIDであるか否かを判定する。受信したUDPパケットのIDが新規に受信すべきIDであるか否かについては、各個別復元プログラムが復元しているバッファリングデータに割り当てられたIDが、それぞれXないしXからM−1個先のIDであるとすると、受信したUDPパケットのIDが、XからM個以上先であり、かつXからM個前よりも前のIDである場合、新規に受信すべきIDであると判定し、それ以外の場合には新規に受信すべきIDでないと判定する。
If Fr is “true” in the determination in
図11に、この新規に受信すべきIDであるか否かの判定について説明する図を示す。この図11において円状に配置された丸印は、図5に記載した丸印と同様の、循環識別符号としてのIDを示しており、そのIDの更新順は、図11の実線矢印の示す通り時計回りである。 FIG. 11 is a diagram for explaining the determination as to whether or not the ID is to be newly received. The circles arranged in a circle in FIG. 11 indicate IDs as circulation identification codes similar to the circles described in FIG. 5, and the update order of the IDs is indicated by solid arrows in FIG. Street clockwise.
図11においては、M、すなわち、個別復元プログラムの数は2である。この図は、ステップ935の時点で個別復元プログラムがM=2個実行されており、それぞれに図11中の2重丸印71、72で示されるID(値12および値13)が割り当てられている場合を示している。この時点で、既にIDが10、11のバッファリングデータの復元は終了しているものとする。
In FIG. 11, M, that is, the number of individual restoration programs is two. In this figure, M = 2 individual restoration programs are executed at the time of
この時点で、符号化サーバ2からIDが12または13のUDPパケットを受信している限りは、そのまま当該UDPパケットを該当するIDが割り当てられた個別復元プログラムに復元させるようにすればよい。しかし、図11中の点線矢印73で示す範囲の14〜19のID、すなわち12(Xに相当する)のIDからM=2個先のID以上先であり、かつ12のIDからM+1=3個前のID以前であるという条件を満たすIDが届いた場合、現在復元しているバッファリングデータの復元を中止して、それよりも先のバッファリングデータを復元することができる。
At this time, as long as a UDP packet having an ID of 12 or 13 is received from the
なお、同時送信数がMの場合においては、XのIDから上記したような新規に受信すべきIDのUDPパケットが送信された場合には、既にXおよびXのM−1個先のIDのUDPパケットの送信は既に終了していると考えられる。したがって、このような場合に上記の通りXのIDのUDPパケットの復元を中止して新たなIDのUDPパケットを復元すれば、もはや送信されないUDPパケットを待ち続けて事実上個別復元プログラムの処理がハングアップしてしまうことを防げる。 In the case where the number of simultaneous transmissions is M, when a UDP packet of an ID to be newly received as described above is transmitted from the ID of X, the ID of M-1 ahead of X and X is already present. It is considered that the transmission of the UDP packet has already ended. Therefore, in this case, if the restoration of the UDP packet with the ID of X is canceled and the UDP packet with the new ID is restored as described above, the process of the individual restoration program is effectively continued while waiting for the UDP packet that is no longer transmitted. You can prevent it from hanging up.
ステップ935で新規に受信すべきIDであると判定した場合、続いてステップ940で、現在復号している個別復元プログラムの1つ、より具体的には、当該個別復元プログラムのうち、最も古いIDのバッファリングデータを復元しているプログラムにもとづく復元処理を中止させる。具体的には、その1つの個別復元プログラムに、予約キャンセルの旨のデータを渡す。これにより、当該データを受けた個別復元プログラムの実行が終了する。
If it is determined in
ステップ935で新規に受信すべきIDでないと判定した場合、およびステップ930、940に続いては、ステップ945で、イベント発生のデータを個別復元プログラムから渡されているかを確認する。具体的には、前回のループにおけるステップ945の処理の後に個別復元プログラムから受けたタイムアウトイベント、復号完了イベントの有無を確認する。
When it is determined in
復号完了イベントを受けている場合は、続いてステップ950で、次の予約を行う。具体的には、復号完了イベントを渡した個別復元プログラム、および現在実行している個別復元プログラムに割り当てられているIDのうち、最も新しいIDの次のIDのUDPパケットの復号予約の処理を行う。
If a decryption completion event has been received, the next reservation is made in
タイムアウトイベントを受けている場合は、続いてステップ955で、現在実行している全ての個別復元プログラムの実行をリセット(中断)させる。具体的には、予約キャンセルの旨のデータを現在実行している個別復元プログラム全てに渡す。すなわち、当該タイムアウトイベントを渡した個別復元プログラムに割り当てられたIDのバッファリングデータを有するストリーミングデータ全体の復元をリセットする。そして更にステップ960で、変数Frの値を“false”にセットする。
If a time-out event has been received, then in
また、復号完了イベントもタイムアウトイベントも受けていない場合、およびステップ950、960に続いては、ループの最初であるステップ915の処理を実行する。
If neither a decoding completion event nor a time-out event is received, and subsequent to
なお、複数のタイムアウトイベント、復号完了イベントを一度に受けている場合は、それぞれについて、対応するステップ950、955、960の処理を並列的に行ってもよい。
If a plurality of time-out events and decoding completion events are received at a time, the
なお、受信プログラム805の処理として、CPU42は、この図10のフローチャートに記載された処理と並行して、符号化サーバ2から受信したUDPパケットのIDを特定し、そのIDに割り当てられた個別復元プログラムにそのUDPパケットを渡すようになっている。このようになっていることで、個別復元プログラムは、自己に割り当てられたIDのUDPパケットを受けて復元処理に用いることができる。
As processing of the
ここで、個別復元プログラムのタイマープログラムにおける所定の満了時間について説明する。所定の満了時間は、符号化サーバ2において用いられる識別符号が一巡する時間から余裕時間を引いた時間である。
Here, a predetermined expiration time in the timer program of the individual restoration program will be described. The predetermined expiration time is a time obtained by subtracting the margin time from the time for which the identification code used in the
IDが一巡する時間とは、符号化サーバ2において、あるバッファリングデータにXのIDが割り当てられてそのIDを有するUDPパケットが送信され始めた時点から、そのバッファリングデータを元とするUDPパケットの送信が終了し、次以降のバッファリングデータに割り当てられるIDが更新されていき、当該XのIDが再度バッファリングデータに割り当てられ、そのIDを有するUDPパケットが送信され始める時までの時間をいう。
The time for which the ID makes a round is the UDP packet based on the buffering data from the time when the
また、余裕時間とは、符号化サーバ2において1つのIDが用いられてから次のIDが用いられるまでの時間の平均値に、予め定められた個別復元プログラムの同時実行数の2倍を乗算した時間である。1つのIDが用いられてから次のIDが用いられるまでの時間とは、あるバッファリングデータにXのIDが割り当てられてそのIDを有するUDPパケットが送信され始めた時点から、次のバッファリングデータにXの次のIDが割り当てられ、そのIDを有するUDPパケットが送信され始めた時点までの時間をいう。
Further, the margin time is obtained by multiplying the average value of the time from when one ID is used in the
このようになっていることで、ストリーミングデータ受信装置11の搭載車両が無線セル7〜9の範囲を大きく外れる等、復号クライアント14が何らかの原因で符号化サーバ2からのUDPパケットを一切受信できなくなった場合においても、上記した満了時間の経過後に、個別復元プログラムの実行をリセットできる。そして、上記したようにIDが一巡する前に満了時間に到達するので、受信が再度可能となった場合に、同一のIDで異なるバッファリングデータを元とするUDPパケットを受信する恐れがなくなる。
As a result, the
以上のような受信プログラム805の処理により、CPU42は、順次受信したUDPパケットを適宜個別復元プログラム810、個別復元プログラム820に渡すことで同時に複数のバッファリングデータの復元を行わせる(ステップ925)。そして、そのUDPパケットが新規に受信すべきIDを有している場合(ステップ935)、最も古い復号処理を中止し、当該UDPパケットによる復号を開始する(ステップ940)。
Through the processing of the
そして、タイムアウトイベントが発生すると、当該ストリーミングデータの復元をリセットし(ステップ955)、復号完了イベントが発生すると、次のIDのバッファリングデータの復号を予約を行う(ステップ950)。 When the time-out event occurs, the restoration of the streaming data is reset (step 955). When the decoding completion event occurs, the decoding of the buffering data of the next ID is reserved (step 950).
また、タイムアウトイベントが発生するまで、受信したUDPパケットを、そのUDPパケットのIDが割り当てられた個別復元プログラムに渡して復号させ続ける。 Further, until the time-out event occurs, the received UDP packet is passed to the individual restoration program to which the ID of the UDP packet is assigned and is continuously decoded.
上記のようなデータ配信システムの作動により、符号化サーバ2が、ストリーミングデータを複数パケット分バッファリングし、そのバッファリングデータに対して符号化を施し、その結果のUDPパケットを送信することである。このようになっているので、符号化処理が施されたデータが送信されるデータ配信システムにおいて、ストリーミングデータが複数パケット分バッファリングされ、そのバッファリングデータ毎に符号化処理が施されるので、ストリーミングデータを符号化処理して送信できるようになる。
By the operation of the data distribution system as described above, the
なお、符号化サーバ2におけるUDPパケットの送信容量(単位時間あたりの送信データ量)および無線LANアクセスポイント4〜6におけるUDPパケットの送信容量を、このUDPパケットの元となるバッファリングデータのデータレートより高い値となっていてもよい。これによって、ストリーミングデータ受信装置11では、バッファリングデータ自体の再生にかかる時間よりも短い時間で、当該バッファリングデータのUDPパケットを受信することが可能になる。したがって、例えば無線セル7〜9が離散的に廃されている場合等、受信側が連続的に送信データを受信できないような環境でもストリーミングデータの途切れがない再生を行える場合がある。
Note that the UDP packet transmission capacity (transmission data amount per unit time) in the
(第2施形態)
次に、本発明の第2実施形態について説明する。本発明が第1実施形態と異なるのは、符号化サーバ2が複数存在することである。
(Second embodiment)
Next, a second embodiment of the present invention will be described. The present invention is different from the first embodiment in that there are a plurality of
2つの符号化サーバは、それぞれ同じストリーミングサーバ1から同じストリーミングデータを受信し、受信したデータに対して第1実施形態と同等の処理を行う。ただし、各々の符号化サーバ2は、同じストリーミングデータの異なる部分について、バッファリング、符号化、UDPパケット化、送信等を行う。具体的には、同じストリーミングデータの、そのデータサイズで等分した各部分に対して、それぞれの符号化サーバ2が順番にバッファリング、符号化、UDPパケット化、送信等の処理を行う。
The two encoding servers each receive the same streaming data from the
例えば、符号化サーバ2が2つある場合、1つのストリーミングデータを、そのデータサイズで等分し、その等分した各部を交互に処理する。具体的には、このストリーミングデータの各部を時間順にS1、S2、S3、S4、S5、S6・・・とすると、第1の符号化サーバ2はS1、S3、S5に対して処理を行い、第2の符号化サーバ2はS2、S4、S6に対して処理を行う。このようなストリーミングデータの割り振りは予め定められており、各符号化サーバ2はその定めに従って、どの部分を処理するかを判断し、ストリーミングデータの不要な部分は受信しない、または受信しても捨てるようになっている。なお、ストリーミングデータの部分の分割は、上記したようにデータサイズで等分されていてもよいし、ストリーミングデータに記録された再生時間のタイムスタンプに基づいて再生時間で等分されてもよい。
For example, when there are two encoding
図12に、本実施形態において、ストリーミングサーバ1からストリーミングデータを受信してUDPパケットを送信する2つの符号化サーバ2、の処理のタイミングを示すタイミングチャートである。表示の形式は図7と同僚である。以下、第1の符号化サーバ2を符号化サーバ#1、第2の符号化サーバ2を符号化サーバ#2と記す。
FIG. 12 is a timing chart showing processing timings of the two
図12においては、ストリーミングサーバ1から、1つのストリーミングデータの等サイズの単位部分であるデータS1、S2、S3、S4、S5、S6、S7・・・がこの順に送信されている。符号化サーバ#1および符号化サーバ#2は、このストリーミングデータの2単位部分毎に交互に処理するようにあらかじめ定められている。具体的には、符号化サーバ#1はS1およびS2のデータを受信し、これらをまとめてバッファリングして図3のステップ210〜240に示した通りの符号化、UDPパケット化、送信等の処理を行い、次にS5およびS6に対して同じ符号化、UDPパケット化、送信等の処理を行う。また、符号化サーバ#2は、S1およびS2のデータを受信し、これらをまとめてバッファリングして図3のステップ210〜240に示した通りの符号化、UDPパケット化、送信等の処理を行う。
In FIG. 12, data S 1 , S 2 , S 3 , S 4 , S 5 , S 6 , S 7 ..., Which are unit parts of equal size of one streaming data, are transmitted in this order from the streaming
なお、第1実施形態において図7を用いて説明した通り、符号化サーバ2は、バッファリングデータの符号化、UDPパケット化が終了してから、次のバッファリングデータのバッファリングが完了するまで、そのUDPパケットを何度も送信し続ける。本実施形態においては、符号化サーバ#1と符号化サーバ#2とで交互に処理を行うので、1つのバッファリングデータについてのUDPパケットの送信時間が2倍となる。具体的には、符号化サーバ#1においては、タイミング75からタイミング76までの間、S1およびS2のバッファリングデータについてのUDPパケットを送信することになる。また、符号化サーバ#2においては、タイミング77からタイミング78までの間、S3およびS4のバッファリングデータについてのUDPパケットを送信することになる。
Note that, as described with reference to FIG. 7 in the first embodiment, the
仮に1つの符号化サーバ#1でストリーミングデータの全てを処理したなら、符号化サーバ#1においてS3およびS4から成るバッファリングデータのバッファリング、符号化、送信処理も行わなければいけなくなり、1つのバッファリングデータについてのUDPパケットの送信時間は半分となってしまう。
If all the streaming data is processed by one
このように、複数の符号化サーバが順番に異なるバッファリングデータを送信するようになっているので、1つの符号化サーバにおいては、1つのバッファリングデータについてのUDPパケットを送信し始めてから次のバッファリングデータのバッファリングが完了するまでの時間が延びることになる。 As described above, since a plurality of encoding servers transmit different buffering data in order, in one encoding server, after the UDP packet for one buffering data starts to be transmitted, The time until the buffering of the buffering data is completed is extended.
一方、このように複数の符号化サーバの送信データを全て同じ通信路の無線LANアクセスポイント4〜6に送信すると、その無線LANアクセスポイント4〜6における伝送効率が低下する。しかし、使用する通信路の容量が、ストリーミングデータのデータレート(すなわち単位時間のストリーミングデータの再生のために用いるデータのビット数)に比べて充分大きい場合、この低下はあまり問題とならない。
On the other hand, when transmission data of a plurality of encoding servers are all transmitted to the wireless
以下に、簡単な試算により、この効果を説明する。なお、以下の試算では、簡単のために、符号化処理に伴ってバッファリングデータより符号化データの量が増大するという冗長性については考慮しないものとする。 Below, this effect is demonstrated by a simple trial calculation. In the following calculation, for the sake of simplicity, the redundancy that the amount of encoded data increases from the buffering data accompanying the encoding process is not considered.
例えば、ストリーミングデータのデータレートが160kbit/s、バッファリングデータのデータ容量が100kbyteの場合、ひとつのバッファリングデータには、5秒分のデータが保持される。これを、伝送路の容量が8Mbit/sの通信路で送信する場合、符号化サーバを単独で用いた場合、ひとつのバッファリングデータを受信するために0.1秒かかるが、符号化サーバを2台並列で動作させた本実施形態の場合、0.2秒の時間に伸びる。一方、各々のバッファのデータが送信され続ける時間は、前者の場合Tm=5秒であるのに対し、後者の場合はTm’=10秒間となる。 For example, when the data rate of streaming data is 160 kbit / s and the data capacity of buffering data is 100 kbytes, data for 5 seconds is held in one buffering data. When this is transmitted through a communication path with a transmission path capacity of 8 Mbit / s, it takes 0.1 seconds to receive one buffering data when the encoding server is used alone. In the case of the present embodiment in which two units are operated in parallel, the time is extended to 0.2 seconds. On the other hand, the time during which the data of each buffer continues to be transmitted is Tm = 5 seconds in the former case, whereas Tm ′ = 10 seconds in the latter case.
以上の試算をまとめると、符号化サーバを単独で用いる場合、受信者は5秒の間に0.1秒間UDPパケットの受信を行う必要があり、本実施形態では、10秒の間に0.2秒間のUDPパケットの受信を行えばよい。 To summarize the above calculation, when the encoding server is used alone, the receiver needs to receive the UDP packet for 0.1 second in 5 seconds. What is necessary is just to receive the UDP packet for 2 seconds.
このように、1つのバッファリングデータについてのUDPパケットの送信時間が延びると、無線LANアクセスポイント6〜8間を走行する車両10のストリーミングデータ受信装置11において、ストリーミングデータの再生の欠落の可能性が低減される。図13および図14に、UDPパケットの送信時間が延びることがストリーミングデータの再生の途絶の可能性に与える影響を説明する図を示す。
As described above, when the transmission time of the UDP packet for one buffering data is extended, the streaming
図13は、符号化サーバが単独で処理を行う場合における、車両10の走行とUDPパケットの送信時間との関係を示す図である。また図14は、本実施形態のように符号化サーバが複数ある場合の車両10の走行とUDPパケットの送信時間との関係を示す図である。
FIG. 13 is a diagram illustrating the relationship between the travel of the
無線LANアクセスポイント4と無線LANアクセスポイント5とを連続的に通過する、ストリーミングデータ受信装置11を搭載した車両10は、無線セル7、無線セル8に入っている間に、必要な数のUDPパケットを受信する必要がある。一方、1つのバッファリングデータについてのUDPパケットが送信されるのは、図13の場合においてはTm秒であり、図14の場合においてはTm秒より長いTm’秒である。
The
例えば、図13のように、車両10が無線セル7を出たときにあるバッファリングデータのUDPパケットの送信が始まり、Tm秒内に車両10は次の無線セル8に入れない場合、ストリーミングデータ受信装置11は当該バッファリングデータを受信することができず、ストリーミングデータのその部分の再生が欠落してしまう。しかし、そのバッファリングデータの送信時間が図14のTm’のように長い場合、その間に車両10が無線セル7または無線セル8に入っている可能性は高くなり、もし無線セル7を出てから無線セル8に入るまでの時間よりTm’が長い場合、車両10はこのT‘mの時間内に少なくとも1度は無線セルの中に入る。そして、その無線セルの中にいる間、車両10が必要なUDPパケットを受信するのに必要な時間200以上当該バッファリングデータのUDPパケットが送信され続ければ、当該バッファリングデータの復元および再生が可能となり、ストリーミングデータの連続受信が可能となる。
For example, as shown in FIG. 13, when transmission of a UDP packet of buffering data when the
このように、符号化サーバを増やして同時に異なるバッファリングデータを送信させるようにすれば、無線セルが離散的な配置になっていても、車両が複数の無線セルのうち1つの無線セルを出てから隣の無線セルに入るまでの期間、すなわち無線セル間の時間が、1つのバッファリングデータを元とするUDPパケットを送信し続ける期間から、復号クライアント14が当該バッファリングデータを復元するためのUDPパケットの受信にかかる期間を減算した期間より短いようになっていれば、車両10が無線セルと無線セルの間を走行しているうちにバッファリングデータを復元するのに必要なUDPパケットの受信機会を逃すことを防ぐことができる。
In this way, if the number of encoding servers is increased so that different buffering data is transmitted at the same time, even if the radio cells are in a discrete arrangement, the vehicle outputs one radio cell among a plurality of radio cells. In order for the
なお、このように、ストリーミングデータの再生の欠落の可能性を離散的な無線セルの間隔を調整することによって低減する事も可能である。すなわち、1つの無線セルから次の無線セルに入るまでの時間内にあるバッファリングデータについてのUDPパケットの送信開始、送信終了が送信が終わってしまわないような距離に、無線LANアクセスポイントを配置すればよい。 In this way, it is also possible to reduce the possibility of lack of reproduction of streaming data by adjusting the interval between discrete wireless cells. In other words, the wireless LAN access point is placed at such a distance that transmission of UDP packets for transmission of buffering data within the time from one wireless cell to the next wireless cell does not end. do it.
なお、上記した無線セル間の時間を特定するには、無線セル間の受信不能な領域の距離、および車両の走行速度を特定する必要があるが、一般的な走行車両について再生の欠落を防ぐようにするなら、上記車両の走行速度としては、その道路における車両の平均速度を用いればよいし、また、信頼性を上げ、大半の車両に欠落のない再生を保証するのであれば、その道路において想定される最低の走行速度を用いればよい。 In order to specify the time between the wireless cells described above, it is necessary to specify the distance of the unreceivable area between the wireless cells and the traveling speed of the vehicle. If so, the average speed of the vehicle on the road may be used as the travel speed of the vehicle, and if the reliability is improved and reproduction without loss is guaranteed for most vehicles, the road What is necessary is just to use the minimum traveling speed assumed in (1).
なお、本実施形態の効果が発揮されるためには、上記したように符号化サーバ2が複数存在する必要は必ずしも無く、例えば1つの符号化サーバ2のCPU42において、図3のステップ210〜240の処理を複数分並列的に行うことで、本実施形態と同等の効果が発揮される。すなわち、それぞれ異なるバッファリングデータを元とするUDPパケットを同時に送信するようになっていればよい。
In order to exhibit the effect of the present embodiment, it is not always necessary to have a plurality of
また、本実施形態においては、UDPパケットに付与するIDの組としては、少なくとも、符号化サーバ#1、#2が同時送信するバッファリングデータの数の2倍よりも多い回数進むと元に戻るような循環識別符号を用いる。
Further, in the present embodiment, the ID set assigned to the UDP packet returns to the original when the number of times that is more than twice the number of buffering data simultaneously transmitted by the
(第3実施形態)
次に、本発明の第3実施形態について説明する。本実施形態が第2実施形態と異なるのは、符号化サーバ2から送信されるストリーミングデータが動画像や音楽ではなく、連続制止画像であることである。ここで、連続静止画像とは、1つのバッファリングデータには1つまたは複数の静止画像のデータが含まれるようになっているストリーミングデータをいう。本実施形態においては、1つのバッファリングデータには1つの静止画像のデータが含まれている。
(Third embodiment)
Next, a third embodiment of the present invention will be described. The present embodiment is different from the second embodiment in that the streaming data transmitted from the
また、本実施形態においては、符号化サーバは2つではなく3つあり、それぞれが順番にバッファリングデータとしての1つの静止画像に対してバッファリング、符号化、UDPパケット化、送信等の処理を行う。 In the present embodiment, there are three encoding servers instead of two, each of which sequentially processes one still image as buffering data, such as buffering, encoding, UDP packetization, and transmission. I do.
図15に、このような3つの符号化サーバのUDPパケットの送信タイミングを示す。図中下向きが時間の流れの向きであり、各実線81、82、83が、それぞれ第1、第2、第3の符号化サーバのUDPパケットの送信タイミングを示している。また、各実線上の黒丸が、1つのバッファリングデータについてのUDPパケットの送信開始および送信終了のタイミングを示している。
FIG. 15 shows the UDP packet transmission timings of these three encoding servers. The downward direction in the figure is the direction of time flow, and the
例えば黒丸84のタイミングでは、第1の符号化サーバが1のIDのバッファリングデータを元とするUDPパケットの繰り返し送信を開始し、黒丸85のタイミングでは、当該UDPパケットの送信を終了する。また、黒丸86のタイミングでは、第2の符号化サーバが5のIDのバッファリングデータを元とするUDPパケットの繰り返し送信を開始し、黒丸87のタイミングでは、当該UDPパケットの送信を終了する。また、黒丸88のタイミングでは、第3の符号化サーバが3のIDのバッファリングデータを元とするUDPパケットの繰り返し送信を開始し、黒丸89のタイミングでは、当該UDPパケットの送信を終了する。なお、本実施形態では、IDの組として、1、2、・・・、9が循環的に用いられる。
For example, at the timing of the
ここで、1つのバッファリングデータについてのUDPパケットの送信が開始されてから、同じ符号化サーバにおいて別のバッファリングデータについてのUDPパケットの送信が開始されるまでの時間Tlは、データの受信、復号、再生等の処理が低速なストリーミングデータ受信装置11が当該バッファリングデータの受信・復号にかかる最長時間となるように、符号化サーバの処理速度、送信タイミング等を設定する。なお、この最長時間とは、ストリーミングデータ受信装置11が故障している場合等における受信・復号にかかる時間を含めた中での最長時間をいうのではなく、ストリーミングデータ受信装置11の正常動作において受信・復号にかかる時間のゆれ幅の中の最長時間をいう。
Here, a time Tl from when transmission of a UDP packet for one buffering data is started until transmission of a UDP packet for another buffering data is started in the same encoding server is the reception of data, The processing speed, transmission timing, etc. of the encoding server are set so that the streaming
このようにすることで、低速なストリーミングデータ受信装置11でも、少なくとも3枚に1枚の静止画像を再生することができる。なお、低速なクライアントの作動については後述する。
By doing so, even the low-speed streaming
また、1つのバッファリングデータについてのUDPパケットの送信が開始されてから、次のIDのバッファリングデータについてのUDPパケットが他の符号化サーバから送信が開始されるまでの時間Thは、データの受信、復号、再生等の処理が高速なストリーミングデータ受信装置11が当該バッファリングデータの受信・復号にかかる最長時間となるように、符号化サーバの処理速度、送信タイミング等を設定する。このようにすることで、高速なストリーミングデータ受信装置11は、全ての静止画像を再生することができる。なお、高速なストリーミングデータ受信装置11としては、第1実施形態に示したような、複数の個別復元プログラムを並列で実行する復号クライアント14を有するストリーミングデータ受信装置11が考えられる。
In addition, the time Th from when the transmission of the UDP packet for one buffering data to the transmission of the UDP packet for the buffering data of the next ID from another encoding server is started. The processing speed, transmission timing, and the like of the encoding server are set so that the streaming
ただし、このUDPパケットの送信路である無線LANアクセスポイント4〜6は、これら同時期に送信されているUDPパケットを、時分割による細かい送信タイミングの割り振りで無線セル7〜9に送出する。図16に、時分割による実際の無線LANアクセスポイント4〜6におけるUDPパケットの送出タイミングを示す。
However, the wireless
図16においては、図中下向きが時間の向きを示している。中央の縦に繋がった矩形91〜102のぞれぞれは、図15におけるThの期間を示している。そして、それぞれの矩形91〜102に対応づけられた番号付き矩形は、その期間における時分割の時間スロットであり、その矩形に付された番号は、その時間スロットにおいて送信されるUDPパケットに含まれるIDの値である。
In FIG. 16, the downward direction in the figure indicates the direction of time. Each of the
例えば、矩形91の期間は、図15において第1の符号化サーバからIDが1のUDPパケットのみが送信される期間に対応しているので、無線LANアクセスポイント4〜6において全ての時間スロットでIDが1のUDPパケットが送出される。
For example, the period of the
また、矩形92の期間は、図15において第1の符号化サーバからIDが1のUDPパケットが送信され、第2の符号化サーバからIDが2のUDPパケットが送信される期間に対応しているので、時間スロットの半分でIDが1のUDPパケットが送出され、残りの半分でIDが2のUDPパケットが送出される。
The period of the
また、矩形93の期間は、図15において第1の符号化サーバからIDが1のUDPパケットが送信され、第2の符号化サーバからIDが2のUDPパケットが送信され、第3の符号化サーバからIDが3のUDPパケットが送信される期間に対応しているので、時間スロットの1/3でIDが1のUDPパケットが送出され、同じく1/3でIDが2のUDPパケットが送出され、また同じく1/3でIDが3のUDPパケットが送出される。また、送出順は図16のようにIDの順になっていてもよい。
Further, in the period of the
このように、同時期に複数のIDについてのUDPパケットが無線LANアクセスポイント4〜6送出される場合、それぞれを同じ頻度で時分割送出する。
In this way, when UDP packets for a plurality of IDs are sent out at the same time in the wireless
次に、上記した低速なストリーミングデータ受信装置11の例として、復号クライアント14においてCPU42が実行する個別復元プログラムの同時実行数が1であるような復号クライアント14の作動について説明する。この低速の復号クライアント14が第1実施形態の復号クライアント14と異なるのは、上記した通り、CPU42が実行する個別復元プログラムの同時実行数が1であること、そして受信プログラム805が図15のフローチャートに示すようなものであることである。以下、図15のフローチャートを実行するCPU42の作動について説明する。
Next, as an example of the low-speed streaming
なお、図15と図10において同一の符号が付されたステップは、図10の場合には複数の個別復元プログラムに対する処理であり、図15においては1つの個別復元プログラムに対する処理であることを除き、互いに同一の処理を行うものであり、ここではその詳細についての説明は省略する。 15 and 10 are the processes for a plurality of individual restoration programs in the case of FIG. 10, except that they are the processes for one individual restoration program in FIG. The same processing is performed, and detailed description thereof is omitted here.
ステップ920Frが“false”であると判定した場合、すなわち個別復元プログラムの復号の処理が行われていない場合、続いてステップ525の処理を実行する。ステップ525では、UDPパケットを無線LANインターフェース41を介してm個受信する。ここでm個とは、最新のUDPパケットがどのIDのパケットであるかを調べるために受信するサンプル数であり、複数のIDのUDPパケットの同時送信数(本実施形態では3)以上の値である。
If it is determined that step 920Fr is “false”, that is, if the decoding process of the individual restoration program is not performed, the process of
次にステップ530で、受信したUDPパケットの中で最も新しいIDを有するものについて、復号予約の処理を行う。これにより、当該IDが割り当てられた個別復元プログラムの実行が開始され、その実行により、受信プログラム805から渡された当該IDを有するUDPパケットが必要量に達したときに、復号、復元等の処理を行う。
Next, in step 530, a decryption reservation process is performed for the received UDP packet having the newest ID. As a result, the execution of the individual restoration program to which the ID is assigned is started, and when the UDP packet having the ID passed from the
次にステップ535で、変数Frを“true”に設定する。
Next, in
ステップ920で変数Frが“true”の場合、およびステップ535の次に、ステップ545では、イベント発生のデータを個別復元プログラムから渡されているかを確認する。具体的には、前回のステップ920〜960のループにおけるステップ545の処理の後に個別復元プログラムから受けたタイムアウトイベント、復号完了イベントの有無を確認する。
If the variable Fr is “true” in
復号完了イベントを受けている場合は、続いてステップ960で、変数Frの値を“false”とする。
If a decryption completion event has been received, then in
タイムアウトイベントを受けている場合は、図10の場合と同様、復号処理をリセットし、変数Frを“false”にセットする。 If a time-out event has been received, the decoding process is reset and the variable Fr is set to “false” as in the case of FIG.
また、復号完了イベントもタイムアウトイベントも受けていない場合、およびステップ960に続いては、ループの最初であるステップ910の処理を実行する。
If neither a decoding completion event nor a time-out event is received, and after
このような本実施形態の受信プログラム805の処理を実行することで、CPU42は、復号が完了した場合、および復号がタイムアウトとなった場合、ステップ960でFrを“false”とすることで、再度ステップ525〜535で、現在受信できるものから最も新しいUDPパケットについて復号、復元の処理を行うことができる。
By executing the processing of the
なお、受信プログラム805の処理として、CPU42は、この図15のフローチャートに記載された処理と並行して、符号化サーバ2からUDPパケットを受信し、その受信したUDPパケットのIDを特定し、そのIDが現在個別復元プログラムに割り当てられたものなら、個別復元プログラムにそのUDPパケットを渡すようになっている。このようになっていることで、個別復元プログラムは、自己に割り当てられたIDのUDPパケットを受けて復元処理に用いることができる。
As processing of the
図16に、このような、復号が完了またはタイムアウトした場合に次の最も新しいUDPパケットの復号を始める低速なストリーミングデータ受信装置11が、図15、図16に示すような送信を行う符号化サーバからの復元するUDPパケットの順番の一例を示す。図16中の各丸印が1つのIDに対応する。この図の例においては、低速なストリーミングデータ受信装置11は、1、4、7と、2つ飛ばしでバッファリングデータを受信して復号、復元することになる。従って、再生される静止画像は、2画像飛ばしとなる。
FIG. 16 illustrates an encoding server in which the low-speed streaming
なお、上記した各実施形態において、符号化サーバ2(第2実施形態においては符号化サーバ#1および#2)、無線LANアクセスポイント4〜6がストリーミングデータ送信装置を構成する。しかし、無線LANアクセスポイント4〜6は必ずしもストリーミングデータ送信装置の構成要素となる必要はなく、符号化サーバ2のみがストリーミングデータ送信装置を構成しているような実施形態があってもよい。
In each of the above embodiments, the encoding server 2 (
また、符号化サーバ2のCPU22が、図2のステップ220、230の処理を実行することで、処理手段として機能する。
Further, the CPU 22 of the
また、UDPパケットが、FEC化データに相当する。ただし、FEC化データとしては、UDPパケットである必要はなく。FEC処理が実行された後のデータであればどのようなものでもよい。 A UDP packet corresponds to FEC data. However, the FEC data need not be a UDP packet. Any data may be used as long as it is data after the FEC process is executed.
また、符号化サーバ2(第2実施形態においては符号化サーバ#1および#2)の送信インターフェース25および無線LANアクセスポイント4〜6が送信手段に相当する。
Further, the transmission interface 25 and the wireless
また、復号クライアント14の無線LANインターフェース41が受信手段に相当する。
The
また、復号クライアント14のCPU42が、受信プログラム805、個別復元プログラム810、820、およびバッファリングプログラム830を実行することで、復元手段として機能する。
Further, the
また、復号クライアント14のCPU42が、ストリーム再生プログラム840を実行することで、再生制御手段として機能する。
Further, the
また、復号クライアント14のCPU42が、個別復元プログラム810、820のそれぞれを実行することで、それぞれの個別復元手段として機能する。
Further, the
また、上記した実施形態においては、復号クライアント14とプレーヤ15とが別体となっているが、復号クライアント14とプレーヤ15とが一体となっており、復号クライアント14およびプレーヤ15の処理が同一のCPUにおいて実現されるようになっていてもよい。
In the above-described embodiment, the
また、復号クライアント14のRAM43が、特許請求の範囲の「共通の記憶媒体」に相当する。
The
1…ストリーミングサーバ、2…符号化サーバ、3…広域ネットワーク、
4〜6…無線LANアクセスポイント、7〜9…無線セル、10…車両、
11…ストリーミングデータ受信装置、12…カメラ、13…マイク、
14…復号クライアント、15…プレーヤ、21…受信インターフェース、
22…CPU、23…RAM、24…ROM、25…送信インターフェース、
41…無線LANインターフェース、42…CPU、43…RAM、44…ROM、
45…送信インターフェース、51…イーサネット(登録商標)回線、52…イーサネット(登録商標)回線、
100…情報配信システム、310…バッファリングデータ、
311〜318…分割データ、320〜335…符号化パケット、
340、350…UDPパケット、341、351…ID、
342、352…通し番号、805…受信プログラム、810…個別復元プログラム、
811…タイマ−プログラム、812…符号化パケット抽出プログラム、
813…復号・データ復元プログラム、820…個別復元プログラム、
821…タイマ−プログラム。
1 ... streaming server, 2 ... encoding server, 3 ... wide area network,
4-6 ... Wireless LAN access point, 7-9 ... Wireless cell, 10 ... Vehicle,
11 ... Streaming data receiver, 12 ... Camera, 13 ... Microphone,
14 ... Decryption client, 15 ... Player, 21 ... Reception interface,
22 ... CPU, 23 ... RAM, 24 ... ROM, 25 ... transmission interface,
41 ... Wireless LAN interface, 42 ... CPU, 43 ... RAM, 44 ... ROM,
45 ... Transmission interface, 51 ... Ethernet (registered trademark) line, 52 ... Ethernet (registered trademark) line,
100: Information distribution system, 310: Buffering data,
311 to 318 ... divided data, 320 to 335 ... encoded packet,
340, 350 ... UDP packet, 341, 351 ... ID,
342, 352 ... serial number, 805 ... reception program, 810 ... individual restoration program,
811: Timer program, 812: Encoded packet extraction program,
813 ... Decryption / data restoration program, 820 ... Individual restoration program,
821: Timer program.
Claims (8)
前記記憶媒体が前記バッファリングした複数送信単位分のバッファリングデータに対してFEC(Forward Error Correction)処理を施す処理手段と、
前記処理手段が前記FEC処理を施した結果のFEC化データを、受信したFEC化データからバッファリングデータを復元するストリーミングデータ受信装置が受信できるよう、送信する送信手段と、を備え、
前記送信手段は複数あり、
前記複数の送信手段のそれぞれは、FEC化データの送信を、次に自らが送信するFEC化データの元となるバッファリングデータのバッファリングが完了するまで続け、
前記複数の送信手段は順番に、同じストリーミングデータの異なる部分についてのFEC化データを送信することを特徴とするストリーミングデータ送信装置。 A storage medium for buffering streaming data for a plurality of transmission units;
Processing means for performing FEC (Forward Error Correction) processing on buffered data for a plurality of transmission units buffered by the storage medium;
Transmission means for transmitting the FEC data obtained as a result of the FEC processing performed by the processing means so that a streaming data receiving apparatus that restores buffering data from the received FEC data can receive the data.
There are a plurality of transmission means,
Each of the plurality of transmission means continues the transmission of the FEC data until the buffering of the buffering data that is the source of the FEC data to be transmitted next is completed,
The streaming data transmitting apparatus characterized in that the plurality of transmitting means sequentially transmit FEC data for different portions of the same streaming data.
前記記憶媒体は、前記ストリーミングデータを前記静止画の所定枚数分バッファリングすることを特徴とする請求項1ないし3のいずれか1つに記載のストリーミングデータ送信装置。 The streaming data is streaming data in which still images taken repeatedly are continuous,
4. The streaming data transmitting apparatus according to claim 1, wherein the storage medium buffers the streaming data for a predetermined number of the still images.
前記送信手段は、前記循環識別符号が付与されたFEC化データを送信することを特徴とする請求項1ないし4のいずれか1つに記載のストリーミングデータ送信装置。 The processing means includes, among the cyclic identification codes that are cyclically assigned to the buffering data in the order of buffering, the cyclic identification code assigned to the buffering data that is the source of the FEC data. Grant,
5. The streaming data transmission apparatus according to claim 1, wherein the transmission unit transmits the FEC data to which the cyclic identification code is added.
前記ストリーミングデータ送信装置は、
ストリーミングデータを複数送信単位分バッファリングする記憶媒体と、
前記記憶媒体が前記バッファリングした複数送信単位分のバッファリングデータに対してFEC(Forward Error Correction)処理を施す処理手段と、
前記処理手段が前記FEC処理を施した結果のFEC化データを、受信したFEC化データからバッファリングデータを復元するストリーミングデータ受信装置が受信できるよう、送信する送信手段と、を備え、
前記送信手段は複数あり、
前記複数の送信手段のそれぞれは、FEC化データの送信を、次に自らが送信するFEC化データの元となるバッファリングデータのバッファリングが完了するまで続け、
前記複数の送信手段は、同じストリーミングデータの異なる部分についてのFEC化データを順番に送信し、
前記ストリーミングデータ受信装置は、前記ストリーミングデータ送信装置から送信されたFEC化データを受信する受信手段と、
前記受信手段が受信したFEC化データから前記FEC化データの元となるバッファリングデータを復元する復元手段と、
前記復元手段が復元したバッファリングデータのデータレートに基づいて、前記バッファリングデータから成るストリーミングデータを再生するための処理を行う再生制御手段と、を備えたことを特徴とする情報配信システム。 An information distribution system comprising a streaming data transmitting device and a streaming data receiving device,
The streaming data transmitting device is
A storage medium for buffering streaming data for a plurality of transmission units;
Processing means for performing FEC (Forward Error Correction) processing on buffered data for a plurality of transmission units buffered by the storage medium;
Transmission means for transmitting the FEC data obtained as a result of the FEC processing performed by the processing means so that a streaming data receiving apparatus that restores buffering data from the received FEC data can receive the data.
There are a plurality of transmission means,
Each of the plurality of transmission means continues the transmission of the FEC data until the buffering of the buffering data that is the source of the FEC data to be transmitted next is completed,
The plurality of transmission means sequentially transmit FEC data for different parts of the same streaming data,
The streaming data receiving device receives FEC data transmitted from the streaming data transmitting device;
Restoring means for restoring the buffering data that is the source of the FEC data from the FEC data received by the receiving means;
An information distribution system comprising: reproduction control means for performing processing for reproducing streaming data composed of the buffering data based on a data rate of the buffering data restored by the restoration means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004026975A JP4321284B2 (en) | 2004-02-03 | 2004-02-03 | Streaming data transmission apparatus and information distribution system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004026975A JP4321284B2 (en) | 2004-02-03 | 2004-02-03 | Streaming data transmission apparatus and information distribution system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005223433A JP2005223433A (en) | 2005-08-18 |
JP4321284B2 true JP4321284B2 (en) | 2009-08-26 |
Family
ID=34998760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004026975A Expired - Fee Related JP4321284B2 (en) | 2004-02-03 | 2004-02-03 | Streaming data transmission apparatus and information distribution system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4321284B2 (en) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7068729B2 (en) | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US9240810B2 (en) | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
US6909383B2 (en) | 2002-10-05 | 2005-06-21 | Digital Fountain, Inc. | Systematic encoding and decoding of chain reaction codes |
CN1954501B (en) | 2003-10-06 | 2010-06-16 | 数字方敦股份有限公司 | Method for receving data transmitted from a source by communication channel |
JP4971144B2 (en) | 2004-05-07 | 2012-07-11 | デジタル ファウンテン, インコーポレイテッド | File download and streaming system |
WO2007095550A2 (en) | 2006-02-13 | 2007-08-23 | Digital Fountain, Inc. | Streaming and buffering using variable fec overhead and protection periods |
US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
WO2007134196A2 (en) | 2006-05-10 | 2007-11-22 | Digital Fountain, Inc. | Code generator and decoder using hybrid codes |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
US9178535B2 (en) * | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
JP5075536B2 (en) | 2007-09-03 | 2012-11-21 | 株式会社東芝 | FEC transmission processing apparatus, and method and program for FEC transmission processing |
KR101129260B1 (en) | 2007-09-12 | 2012-03-27 | 디지털 파운튼, 인크. | Generating and communicating source identification information to enable reliable communications |
US9281847B2 (en) | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
JP5204006B2 (en) * | 2009-02-27 | 2013-06-05 | 株式会社東芝 | Apparatus, method, and program for transmitting data |
US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
US9917874B2 (en) | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
WO2011039874A1 (en) | 2009-09-30 | 2011-04-07 | 富士通株式会社 | Data transmitting apparatus, data generating program and data transmitting/receiving method |
US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
US9456015B2 (en) | 2010-08-10 | 2016-09-27 | Qualcomm Incorporated | Representation groups for network streaming of coded multimedia data |
US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
-
2004
- 2004-02-03 JP JP2004026975A patent/JP4321284B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005223433A (en) | 2005-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4321284B2 (en) | Streaming data transmission apparatus and information distribution system | |
JP6523249B2 (en) | Method and apparatus for compressing packet header | |
JP5141197B2 (en) | Encoder | |
JP5847577B2 (en) | High quality stream protection over broadcast channels using symbolic identifiers derived from lower level packet structures | |
US9246630B2 (en) | Method, device, and system for forward error correction | |
JP5442816B2 (en) | Streaming and buffering using variable FEC overhead and protection period | |
EP2437421B1 (en) | Method, device and communication system for retransmitting based on forward error correction | |
US20030023915A1 (en) | Forward error correction system and method for packet based communication systems | |
US20060291468A1 (en) | Selective re-transmission of lost multi-media data packets | |
JPH11225161A (en) | Data processing method and its device | |
JP2003008644A (en) | Packet transmitter-receiver and packet transmitting method | |
EP1941661A1 (en) | System and method for controlling transmission of moving image data over network | |
JP4041137B2 (en) | VIDEO ENCODING / TRANSMITTING DEVICE, VIDEO ENCODING / TRANSMITTING METHOD, VIDEO ENCODING / TRANSMITTING PROGRAM, AND RECORDING MEDIUM THEREOF | |
JP6535718B2 (en) | Method and apparatus for providing streaming service | |
US8484540B2 (en) | Data transmitting device, control method therefor, and program | |
JP2009118244A (en) | Technology for transmitting data whose regeneration unit is variable | |
JP2004282538A (en) | Transmission and reception system, transmitter and method, receiver and method, and recording medium, and program | |
CN109862400B (en) | Streaming media transmission method, device and system | |
JP3927443B2 (en) | Moving picture transmission / reception system and moving picture transmission / reception method | |
JP5376855B2 (en) | Data transmission apparatus and data transmission method | |
Nazir et al. | Unequal error protection for data partitioned H. 264/AVC video broadcasting | |
JP2007324876A (en) | Data transmitter, data receiver, data transmitting method, data receiving method, and program | |
CN116320439A (en) | Cloud game video stream weak network transmission optimization method and system based on RS (Reed-Solomon) coding | |
JP3722753B2 (en) | Wireless packet transmitting / receiving apparatus and method | |
CN114500672A (en) | Data transmission method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060316 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080509 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080520 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080714 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081223 |
|
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: 20090512 |
|
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: 20090525 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120612 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120612 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130612 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140612 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |