JP2005223682A - Transmission/reception system, transmitter and transmitting method, receiver and receiving method, transmitter/receiver and transmitting/receiving method, and program - Google Patents
Transmission/reception system, transmitter and transmitting method, receiver and receiving method, transmitter/receiver and transmitting/receiving method, and program Download PDFInfo
- Publication number
- JP2005223682A JP2005223682A JP2004030400A JP2004030400A JP2005223682A JP 2005223682 A JP2005223682 A JP 2005223682A JP 2004030400 A JP2004030400 A JP 2004030400A JP 2004030400 A JP2004030400 A JP 2004030400A JP 2005223682 A JP2005223682 A JP 2005223682A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transmission
- unit
- reception
- receiving
- 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.)
- Withdrawn
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
本発明は、送受信システム、送信装置および方法、受信装置および方法、送受信装置および方法、並びにプログラムに関し、特に、データの送受信をより正確、かつ、より容易に行うことができるようにした送受信システム、送信装置および方法、受信装置および方法、送受信装置および方法、並びにプログラムに関する。 The present invention relates to a transmission / reception system, a transmission apparatus and method, a reception apparatus and method, a transmission / reception apparatus and method, and a program, and in particular, a transmission / reception system capable of performing transmission / reception of data more accurately and easily, The present invention relates to a transmission device and method, a reception device and method, a transmission and reception device and method, and a program.
従来、データ通信において、データを正確に送受信するために、送信側の装置はデータにパリティビット等の検査のための情報を付加し、受信側の装置は、受信したデータが正しい情報となるように、誤り検出訂正処理を行う方法がある。 Conventionally, in data communication, in order to transmit and receive data accurately, a transmission-side apparatus adds information for checking parity bits and the like to data, and a reception-side apparatus ensures that the received data is correct information. There is a method of performing error detection and correction processing.
この誤り検出訂正処理の方法としては、様々な方法があり、例えば、シンドロームレジスタS0,S1〜S(n-1) によってシンドロームを計算し、その計算終了後、1重誤りのときシンドロームレジスタS0の値をシンドロームレジスタS1〜S(n-1) に、シンドロームレジスタS1〜S(n-1) の各値をデータレジスタR1〜R(n-1) にそれぞれロードし、シンドロームレジスタS1〜S(n-1) を用いてα,…,α(n-1)のべき乗演算を、シンドロームレジスタS1〜S(n-1) の各値とデータレジスタR1〜R(n-1) の各値が一致するまで繰り返すとともに、そのべき乗演算に同期してカウント動作を行い、その一致検出時のカウント値を誤りが含まれているデータ位置とし、シンドロームレジスタS0の値をその誤りの大きさとしてエラー訂正を行う方法や、データのフォーマット上で上記内符号系列毎に設けられた識別データには0が存在しないようにし、被復号データを外符号によりエラー訂正を行う際にデータ内に0が一定数以上連続して存在する場合には、上記識別データを用いて本来のデータであるのか、もしくはエラーの状態であるのかを判別し、上記0の値を持つデータがエラーの状態であると判別されるときには内符号系列にエラーフラグを立て、外符号によりエラー訂正する際に、上記エラーフラグが立たなかった外符号系列のデータ数が外符号の通常のエラー訂正能力Q以下のときには、外符号系列のデータ内のQ+1以上のデータを強制的に別の値に変換し、上記外符号系列のデータのエラー訂正を行わないようにする方法がある(例えば、特許文献1および特許文献2参照)。
There are various methods of error detection and correction processing. For example, the syndrome is calculated by the syndrome registers S0, S1 to S (n-1), and after the calculation is completed, the syndrome register S0 has a single error. The values are loaded into the syndrome registers S1 to S (n-1) and the values of the syndrome registers S1 to S (n-1) are loaded into the data registers R1 to R (n-1), respectively, and the syndrome registers S1 to S (n -1) is used to calculate the power of α,..., Α (n-1), the values of the syndrome registers S1 to S (n-1) match the values of the data registers R1 to R (n-1) The count operation is performed in synchronization with the power operation, the count value at the time of coincidence detection is set as the data position containing the error, and the value of the syndrome register S0 is set as the magnitude of the error to correct the error. How to do it, In the data format, the identification data provided for each inner code sequence does not have 0, and when the decoded data is error-corrected by the outer code, 0 is continuously included in the data for a certain number or more. If it exists, it is determined whether it is the original data or an error state using the identification data, and if it is determined that the data having the value of 0 is in an error state, an inner code When an error flag is set in a sequence and error correction is performed using an outer code, if the number of data in the outer code sequence in which the error flag is not set is equal to or less than the normal error correction capability Q of the outer code, There is a method of forcibly converting data of Q + 1 or more into another value so that error correction of the data of the outer code sequence is not performed (see, for example,
以上の方法は、受信側の装置が受信したデータに誤りが含まれる場合に、その誤りを訂正し、正しいデータを復元するための方法であるので、例えば、受信側の装置が受信できなかった(ロスした)データを復元することはできない。 The above method is a method for correcting the error and restoring the correct data when the data received by the receiving device includes an error. For example, the receiving device cannot receive the data. (Lost) data cannot be recovered.
データ通信においては、様々な理由により、送信側の装置が送信したパケット群(データ)の一部(または全部)を受信側の装置が受信できずに、ロスしてしまう場合もある。 In data communication, for some reason, a part (or all) of a packet group (data) transmitted by a transmission side device may not be received by the reception side device and may be lost.
このようなパケットロスに対する処理として、例えば、パケットをロスした受信側の装置が、送信側の装置に対して、そのロスしたパケットの再送要求を行う方法がある。すなわち、受信側の装置は、ロスしたパケットを再度送信側の装置に送信してもらい、改めて受信するという方法がある。また、送信側の装置が、例えば衛星回線等のように、一方向の通信しかできない通信媒体を用いてデータを送信する場合、その再送要求に、最初のパケットの送受信に使われた回線と異なる回線を用いる方法もある。 As a process for such a packet loss, for example, there is a method in which a receiving device that has lost a packet makes a retransmission request for the lost packet to a transmitting device. In other words, there is a method in which the receiving device has the lost packet transmitted again to the transmitting device and receives it again. Also, when the transmission side device transmits data using a communication medium that can only communicate in one direction, such as a satellite line, the retransmission request is different from the line used for transmission / reception of the first packet. There is also a method using a line.
さらに、送信側の装置が、例えば、図1に示されるように、同じデータを繰り返し送信し、受信側の装置は、パケットをロスした場合、次回に送信されるデータ(パケット群)の中から、ロスしたパケットを受信し、データを復元するカルーセル方式を用いた方法もある。 Further, for example, as shown in FIG. 1, when the transmission side apparatus repeatedly transmits the same data, and the reception side apparatus loses a packet, the data is transmitted from the next transmission (packet group). There is also a method using a carousel system that receives lost packets and restores data.
図1は、受信側の装置がデータを受信する様子の例を示す図である。送信側の装置が同じデータ1を繰り返し送信するので、受信側の装置は、データ1A、データ1B、データ1C、データ1Dのように、同じデータを繰り返し受信する。従って、例えば、データ1Aを受信した際に、パケットロス2Aが発生した場合であっても、受信側の装置は、次に受信するデータ1Bの、そのロスしたパケット(パケットロス2A)に対応するパケット2Bを受信すれば、そのパケット2Bを用いて、データ1を復元することができる。また、データ1Bを受信した際に、パケット2Bもロスしてしまったとしても、受信側の装置は、さらに次に受信するデータ1Cの、パケットロス2Aに対応するパケット2Cを受信することができれば、そのパケット2Cを用いて、データ1を復元することができる。さらに、このパケット2Cをロスした場合も、受信側の装置は、パケット2Dを受信すればよい。このように、受信側の装置は、繰り返される送信の内、少なくともいずれか1回の送信において各パケットを受信することができ、結果的に全パケットを受信することができれば、データ1を復元することができる。
FIG. 1 is a diagram illustrating an example of how a receiving device receives data. Since the transmission side device repeatedly transmits the
しかしながら、上述したような再送要求を行う方法の場合、例えば、マルチキャスト等のように、複数の装置に対してデータを送信するような通信の場合、送信側の装置には、受信側の各装置からの再送要求が集中してしまうため、送信側の装置の処理の負荷が増大し、送信処理を正常に行うことができない恐れがあるという課題があった。 However, in the case of the method for making a retransmission request as described above, for example, in the case of communication for transmitting data to a plurality of devices such as multicast, each device on the receiving side includes each device on the receiving side. Since the retransmission requests from the receivers are concentrated, there is a problem that the processing load on the transmission side apparatus increases, and there is a possibility that the transmission processing cannot be performed normally.
また、上述したようなカルーセル方式の通信の場合、図1に示されるように、データ1Aを受信する際に、パケットロス2Aが発生すると、受信側の装置は、次回の送信であるデータ1Bの、パケットロス2Aに対応するパケット2Bを受信するまで、待機する必要がある。すなわち、この場合、受信側の装置における受信処理の時間は、データ1を受信するのに必要な時間分、長くなってしまい、受信側の装置における受信処理の負荷が増大してしまうという課題があった。すなわち、図1に示されるように、受信側の装置は、パケットロス2Aが発生すると、次に送信されるパケット2Bを受信するまで(受信側の装置がデータ1を受信するのに必要な時間)待機しなければならず、受信処理時間が増大してしまう。さらに、パケット2Bをロスした場合、受信側の装置は、さらに待機時間を延長し、次のパケット2Cを受信するまで待機する必要がある。
Also, in the case of the carousel communication as described above, as shown in FIG. 1, when a
本発明は、このような状況に鑑みてなされたものであり、データの送受信を正確、かつ、より容易に行うことができるようにするものである。 The present invention has been made in view of such a situation, and makes it possible to transmit and receive data accurately and more easily.
本発明の送受信システムは、送信用データを送信する送信装置と、送信装置により送信される送信用データを受信する受信装置を備える送受信システムであって、送信装置は、送信用データを分割することにより複数の第1のデータを生成し、生成された複数の第1のデータを、所定のガロア体上の演算によって合成することにより、互いに独立した複数の第2のデータに変換し、得られた複数の第2のデータを、それぞれパケット化して受信装置に送信し、受信装置は、複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信し、受信された第2のデータが対応する第1のデータの数以上の第2のデータを保持し、保持された、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算を行い、第2のデータに対応する第1のデータを復元することを特徴とする。 The transmission / reception system of the present invention is a transmission / reception system including a transmission device that transmits transmission data and a reception device that receives transmission data transmitted by the transmission device, and the transmission device divides the transmission data. To generate a plurality of first data, and synthesize the plurality of generated first data by an operation on a predetermined Galois field to obtain a plurality of second data independent of each other. Each of the plurality of second data is packetized and transmitted to the receiving device, and the receiving device receives and receives the plurality of second data more than the number of the first data corresponding to the second data. Second data equal to or greater than the number of first data corresponding to the second data is retained, and the second data equal to or greater than the number of first data corresponding to the second data is retained. , Operations on Galois fields Performed, characterized in that to restore the first data corresponding to the second data.
本発明の送信装置は、送信用データを分割することにより複数の第1のデータを生成するデータ生成手段と、データ生成手段により生成された複数の第1のデータを、所定のガロア体上の演算によって合成することにより、第1のデータを復元するためのデータであり、互いに独立した複数の第2のデータに変換する変換手段と、変換手段により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化して受信装置に送信する送信手段とを備えることを特徴とする。 The transmission apparatus according to the present invention includes a data generation unit that generates a plurality of first data by dividing transmission data, and a plurality of first data generated by the data generation unit on a predetermined Galois field. It is data for restoring the first data by combining by calculation, and is obtained by converting the plurality of first data by the conversion means for converting into a plurality of second data independent from each other. Transmitting means for packetizing each of the plurality of pieces of second data and transmitting the packeted data to a receiving device is provided.
前記変換手段は、予め定められた所定の係数行列を用いて、第1のデータを第2のデータに変換する行列式を生成する行列式生成手段と、行列式生成手段により生成された行列式を、ガロア体上において演算し、第2のデータを求める演算手段とを備えるようにすることができる。 The converting means includes a determinant generating means for generating a determinant for converting the first data into the second data using a predetermined coefficient matrix, and a determinant generated by the determinant generating means. Is calculated on the Galois field, and a calculation means for obtaining the second data can be provided.
前記係数行列の各成分は、各行において共通の自然数である底にべき乗のガロア体での演算を適用して得られた値であり、行方向に並ぶ各成分を得るためのべき乗の指数は連続する整数であり、かつ、底の値が行毎に互いに異なるようにすることができる。 Each component of the coefficient matrix is a value obtained by applying an arithmetic operation in a power-of-base Galois field that is a common natural number in each row, and the exponent of the power to obtain each component arranged in the row direction is continuous. And the base value can be different for each row.
前記係数行列を保持し、行列式生成手段の要求に応じて供給する係数行列供給手段をさらに備え、行列式生成手段は、係数行列供給手段により供給された係数行列を用いて、行列式を生成するようにすることができる。 A coefficient matrix supply unit that holds the coefficient matrix and supplies the coefficient matrix according to the request of the determinant generation unit is further provided. The determinant generation unit generates the determinant using the coefficient matrix supplied by the coefficient matrix supply unit. To be able to.
前記変換手段により第1のデータが変換されて得られた第2のデータに、受信装置における第1のデータの復元に用いられる情報である、第2のデータが対応する係数行列の行番号を含む情報を付加する情報付加手段をさらに備え、送信手段は、情報付加手段により情報が付加された複数の第2のデータを、それぞれパケット化し、受信装置に送信するようにすることができる。 The row number of the coefficient matrix corresponding to the second data, which is information used to restore the first data in the receiving device, is the second data obtained by converting the first data by the converting means. The information adding means for adding the information to be included is further provided, and the transmitting means can packet each of the plurality of second data to which the information is added by the information adding means and transmit it to the receiving apparatus.
前記変換手段は、複数の第1のデータを、第1のデータの数より多くの第2のデータに変換するようにすることができる。 The converting means may convert a plurality of first data into second data larger than the number of first data.
前記変換手段により複数の第1のデータが変換されて得られた複数の第2のデータの、送信順を制御する送信順制御手段をさらに備え、送信手段は、送信順制御手段により、任意に決定された送信順で、複数の第2のデータを受信装置に送信するようにすることができる。 The transmission means further includes a transmission order control means for controlling the transmission order of the plurality of second data obtained by converting the plurality of first data by the conversion means, and the transmission means is arbitrarily controlled by the transmission order control means. A plurality of second data can be transmitted to the receiving device in the determined transmission order.
前記データ生成手段は、送信用データをブロックに分割し、さらに、ブロックを分割することにより複数の第1のデータを生成し、変換手段は、ブロック毎に、データ生成手段により生成された複数の第1のデータを複数の第2のデータに変換するようにすることができる。 The data generation unit divides the transmission data into blocks, and further generates a plurality of first data by dividing the block. The conversion unit generates a plurality of blocks generated by the data generation unit for each block. The first data can be converted into a plurality of second data.
本発明の送信方法は、送信用データを分割することにより複数の第1のデータを生成するデータ生成ステップと、データ生成ステップの処理により生成された複数の第1のデータを、所定のガロア体上の演算によって合成することにより、第1のデータを復元するためのデータであり、互いに独立した複数の第2のデータに変換する変換ステップと、変換ステップの処理により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化して受信装置に送信するように制御する送信制御ステップとを含むことを特徴とする。 The transmission method of the present invention includes a data generation step for generating a plurality of first data by dividing transmission data, and a plurality of first data generated by the processing of the data generation step by a predetermined Galois field. It is data for restoring the first data by combining by the above calculation, and a conversion step for converting into a plurality of second data independent from each other, and a plurality of the first data by the processing of the conversion step A transmission control step of controlling the plurality of second data obtained by the conversion so as to be packetized and transmitted to the receiving device.
本発明の第1のプログラムは、送信用データを分割することにより複数の第1のデータを生成するデータ生成ステップと、データ生成ステップの処理により生成された複数の第1のデータを、所定のガロア体上の演算によって合成することにより、第1のデータを復元するためのデータであり、互いに独立した複数の第2のデータに変換する変換ステップと、変換ステップの処理により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化して受信装置に送信するように制御する送信制御ステップとをコンピュータに実行させる。 The first program of the present invention includes a data generation step for generating a plurality of first data by dividing the transmission data, and a plurality of first data generated by the processing of the data generation step. This is data for restoring the first data by combining by calculation on the Galois field. The conversion step converts the first data into a plurality of second data independent from each other. The computer is caused to execute a transmission control step for controlling each of the plurality of second data obtained by converting the data to be packetized and transmitted to the receiving device.
本発明の受信装置は、送信装置が送信したデータであり、送信用データを分割した複数の第1のデータが所定のガロア体上の演算によって合成されることにより変換された互いに独立した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信する受信手段と、受信手段により受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持手段と、保持手段により保持される、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算を行い、第2のデータに対応する第1のデータを復元する復元手段とを備えることを特徴とする。 The receiving device of the present invention is data transmitted by a transmitting device, and a plurality of independent data converted by combining a plurality of first data obtained by dividing transmission data by a calculation on a predetermined Galois field. Receiving means for receiving second data equal to or more than the number of first data corresponding to the second data, and second data equal to or greater than the number of first data corresponding to the second data received by the receiving means. Using the second data that is equal to or greater than the number of the first data corresponding to the second data, the second data held by the holding means, And a restoring means for restoring the first data corresponding to the data.
前記復元手段は、予め定められた所定の係数行列を用いて、第2のデータを第1のデータに変換する行列式を生成する行列式生成手段と、行列式生成手段により生成された行列式を、ガロア体上において演算し、第1のデータを求める演算手段とを備えるようにすることができる。 The restoring means includes a determinant generating means for generating a determinant for converting the second data into the first data using a predetermined coefficient matrix, and a determinant generated by the determinant generating means. Can be calculated on the Galois field and provided with calculation means for obtaining the first data.
前記係数行列の各行において、各成分は共通の自然数を底とするべき乗であり、行方向に連続する各成分はべき乗の指数が連続するように構成されており、かつ、べき乗の底である共通の自然数の値が行毎に互いに異なるようにすることができる。 In each row of the coefficient matrix, each component is a power that has a common natural number as a base, and each component that is continuous in the row direction is configured so that a power exponent is continuous, and is a common power that is a base of the power The natural number values of can be different for each row.
前記係数行列を保持し、行列式生成手段の要求に応じて供給する係数行列供給手段をさらに備え、行列式生成手段は、係数行列供給手段により供給された係数行列を用いて、行列式を生成するようにすることができる。 A coefficient matrix supply unit that holds the coefficient matrix and supplies the coefficient matrix according to the request of the determinant generation unit is further provided. The determinant generation unit generates the determinant using the coefficient matrix supplied by the coefficient matrix supply unit. To be able to.
前記行列式生成手段は、係数行列供給手段が保持する係数行列の内、受信手段により受信された第2のデータに対応する行成分のみを要求し、要求に基づいて供給された行成分のみを用いて行列式を生成するようにすることができる。 The determinant generating unit requests only the row component corresponding to the second data received by the receiving unit from the coefficient matrix held by the coefficient matrix supplying unit, and only the row component supplied based on the request. Can be used to generate the determinant.
前記行列式生成手段は、受信手段により受信された第2のデータに付加されている、第2のデータが対応する係数行列の行番号を含む情報に基づいて、係数行列供給手段に行成分を要求し、要求に基づいて供給された行成分のみを用いて行列式を生成するようにすることができる。 The determinant generating means adds a row component to the coefficient matrix supplying means based on the information added to the second data received by the receiving means and including the row number of the coefficient matrix corresponding to the second data. The determinant may be generated using only the row components requested and supplied based on the request.
複数の第1のデータおよび第2のデータは、送信用データのブロック毎に生成されたデータであり、受信手段は、ブロック毎に、第2のデータが対応する第1のデータの数以上の第2のデータを受信し、保持手段は、受信手段により受信された第2のデータを、第2のデータが対応するブロック毎に保持し、復元手段は、互いに同じブロックに対応する複数の第2のデータを用いて、第1のデータを復元するようにすることができる。 The plurality of first data and second data are data generated for each block of data for transmission, and the receiving means is equal to or greater than the number of first data corresponding to the second data for each block. The second data is received, the holding means holds the second data received by the receiving means for each block corresponding to the second data, and the restoring means has a plurality of second data corresponding to the same block. The first data can be restored using the second data.
本発明の受信方法は、送信装置が送信したデータであり、送信用データを分割した複数の第1のデータが所定のガロア体上の演算によって合成されることにより変換された互いに独立した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信するように制御する受信制御ステップと、受信制御ステップの処理により受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持ステップと、保持ステップの処理により保持される、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算を行い、第2のデータに対応する第1のデータを復元する復元ステップとを含むことを特徴とする。 The reception method of the present invention is data transmitted by a transmission apparatus, and a plurality of independent data converted by combining a plurality of first data obtained by dividing transmission data by an operation on a predetermined Galois field. A reception control step for controlling the second data so as to receive more than the number of the first data corresponding to the second data, and a first data corresponding to the second data received by the processing of the reception control step. A second step of holding second data equal to or greater than the number of data, and second data equal to or greater than the number of first data corresponding to the second data and retained by the process of the retention step. And a restoration step of restoring the first data corresponding to the second data by performing a computation on the body.
本発明の第2のプログラムは、送信装置が送信したデータであり、送信用データを分割した複数の第1のデータが所定のガロア体上の演算によって合成されることにより変換された互いに独立した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信するように制御する受信制御ステップと、受信制御ステップの処理により受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持ステップと、保持ステップの処理により保持される、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算を行い、第2のデータに対応する第1のデータを復元する復元ステップとをコンピュータに実行させる。 The second program of the present invention is data transmitted by the transmission device, and is converted from each other by combining a plurality of first data obtained by dividing the transmission data by calculation on a predetermined Galois field. The reception control step for controlling the plurality of second data so as to receive more than the number of the first data to which the second data corresponds corresponds to the second data received by the processing of the reception control step. A holding step for holding second data equal to or greater than the number of first data, and second data equal to or greater than the number of first data corresponding to the second data held by the process of the holding step. The computer performs an operation on the Galois field and causes the computer to execute a restoration step of restoring the first data corresponding to the second data.
本発明の送受信装置は、送信用データを分割することにより複数の第1のデータを生成するデータ生成手段と、データ生成手段により生成された複数の第1のデータを、所定のガロア体上の演算によって合成することにより、互いに独立した複数の第2のデータに変換する変換手段と、変換手段により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化して他の送受信装置に送信する送信手段と、他の送受信装置が送信した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信する受信手段と、受信手段により受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持手段と、保持手段により保持される、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算を行い、第2のデータに対応する第1のデータを復元する復元手段とを備えることを特徴とする。 The transmission / reception apparatus of the present invention includes a data generation unit that generates a plurality of first data by dividing transmission data, and a plurality of first data generated by the data generation unit on a predetermined Galois field. By combining by calculation, conversion means for converting into a plurality of second data independent from each other, and a plurality of second data obtained by converting the plurality of first data by the conversion means are respectively packetized. Transmitting means for transmitting to another transmitting / receiving apparatus; receiving means for receiving a plurality of second data transmitted by the other transmitting / receiving apparatus by a number equal to or more than the number of first data corresponding to the second data; Receiving means for holding second data that is equal to or more than the number of first data to which the second data corresponds, and the number of first data to which the second data corresponds, held by the holding means Less than Using the second data, performs an operation over a Galois field, characterized in that it comprises a restoring means for restoring the first data corresponding to the second data.
本発明の送受信方法は、送信用データを分割することにより複数の第1のデータを生成するデータ生成ステップと、データ生成ステップの処理により生成された複数の第1のデータを、所定のガロア体上の演算によって合成することにより、互いに独立した複数の第2のデータに変換する変換ステップと、変換ステップの処理により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化して他の送受信装置に送信するように制御する送信制御ステップと、他の送受信装置が送信した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信するように制御する受信制御ステップと、受信制御ステップの処理により制御されて受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持するように制御する保持制御ステップと、保持制御ステップの処理により制御されて保持される、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算を行い、第2のデータに対応する第1のデータを復元する復元ステップとを含むことを特徴とする。 According to the transmission / reception method of the present invention, a data generation step for generating a plurality of first data by dividing transmission data, and a plurality of first data generated by the processing of the data generation step, a predetermined Galois field By combining the above operations, a conversion step for converting into a plurality of second data independent of each other, and a plurality of second data obtained by converting the plurality of first data by the processing of the conversion step A transmission control step for controlling each packet to be transmitted to another transmission / reception device, and a plurality of second data transmitted by the other transmission / reception devices equal to or more than the number of first data corresponding to the second data A reception control step for controlling to receive, and a second number greater than the number of first data corresponding to the second data received by being controlled by the processing of the reception control step Using a holding control step for controlling to hold data, and second data that is controlled and held by the processing of the holding control step and is equal to or more than the number of first data corresponding to the second data, And a restoration step of restoring the first data corresponding to the second data by performing a computation on the body.
本発明の第3のプログラムは、送信用データを分割することにより複数の第1のデータを生成するデータ生成ステップと、データ生成ステップの処理により生成された複数の第1のデータを、所定のガロア体上の演算によって合成することにより、互いに独立した複数の第2のデータに変換する変換ステップと、変換ステップの処理により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化して他の送受信装置に送信するように制御する送信制御ステップと、他の送受信装置が送信した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信するように制御する受信制御ステップと、受信制御ステップの処理により制御されて受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持するように制御する保持制御ステップと、保持制御ステップの処理により制御されて保持される、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算を行い、第2のデータに対応する第1のデータを復元する復元ステップとをコンピュータに実行させる。 A third program of the present invention includes a data generation step for generating a plurality of first data by dividing transmission data, and a plurality of first data generated by the processing of the data generation step, A synthesis step for converting into a plurality of second data independent from each other by synthesizing by computation on a Galois field, and a plurality of second data obtained by converting the plurality of first data by the processing of the conversion step A transmission control step for controlling each of the data to be packetized and transmitted to another transmission / reception device, and a plurality of second data transmitted by the other transmission / reception devices are converted into the first data corresponding to the second data. A reception control step for controlling to receive more than the number, and the number of the first data corresponding to the second data received by being controlled by the processing of the reception control step Using a holding control step for controlling to hold the second data, and second data that is controlled and held by the processing of the holding control step and is equal to or more than the number of first data corresponding to the second data Then, the computer performs a computation on the Galois field and performs a restoration step of restoring the first data corresponding to the second data.
本発明の送受信システムにおいては、送信用データを送信する送信装置と、送信装置により送信される送信用データを受信する受信装置とが備えられ、送信装置においては、送信用データを分割することにより複数の第1のデータが生成され、生成された複数の第1のデータが、所定のガロア体上の演算によって合成されることにより、互いに独立した複数の第2のデータに変換され、得られた複数の第2のデータが、それぞれパケット化されて受信装置に送信され、受信装置においては、複数の第2のデータが、第2のデータが対応する第1のデータの数以上受信され、受信された第2のデータが対応する第1のデータの数以上の第2のデータが保持され、保持された、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算が行われ、第2のデータに対応する第1のデータが復元される。 The transmission / reception system of the present invention includes a transmission device that transmits transmission data and a reception device that receives transmission data transmitted by the transmission device. In the transmission device, the transmission data is divided. A plurality of first data is generated, and the plurality of generated first data is converted into a plurality of second data independent from each other by being synthesized by an operation on a predetermined Galois field. The plurality of second data is packetized and transmitted to the receiving device. In the receiving device, the plurality of second data is received more than the number of the first data corresponding to the second data, Second data equal to or greater than the number of first data corresponding to the received second data is retained, and second data equal to or greater than the number of first data corresponding to the second data retained is retained. Use , Operation over a Galois field is performed, the first data corresponding to the second data is restored.
本発明の送信装置および方法、並びに第1のプログラムにおいては、送信用データを分割することにより複数の第1のデータが生成され、生成された複数の第1のデータが、所定のガロア体上の演算によって合成されることにより、第1のデータを復元するためのデータであり、互いに独立した複数の第2のデータに変換され、複数の第1のデータが変換されて得られた複数の第2のデータが、それぞれパケット化されて受信装置に送信される。 In the transmission apparatus and method and the first program of the present invention, a plurality of first data is generated by dividing the transmission data, and the generated first data is stored on a predetermined Galois body. Is a data for restoring the first data by being synthesized by the above operation, converted into a plurality of second data independent of each other, and a plurality of the plurality of first data obtained by converting the plurality of first data The second data is packetized and transmitted to the receiving device.
本発明の受信装置および方法、並びに第2のプログラムにおいては、送信装置が送信したデータであり、送信用データを分割した複数の第1のデータが所定のガロア体上の演算によって合成されることにより変換された互いに独立した複数の第2のデータが、第2のデータが対応する第1のデータの数以上受信され、受信された、第2のデータが対応する第1のデータの数以上の第2のデータが保持され、保持された、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算が行われ、第2のデータに対応する第1のデータが復元される。 In the receiving apparatus and method and the second program of the present invention, a plurality of first data, which is data transmitted by the transmitting apparatus and is obtained by dividing the transmission data, is synthesized by calculation on a predetermined Galois field. The plurality of second data independent of each other converted by step (b) is received more than the number of first data corresponding to the second data, and the received second data is more than the number of first data corresponding to the second data. The second data is held, and the Galois field operation is performed using the second data that is equal to or more than the number of the first data corresponding to the held second data. Corresponding first data is restored.
本発明の送受信装置および方法、並びに第3のプログラムにおいては、送信用データを分割することにより複数の第1のデータが生成され、生成された複数の第1のデータが、所定のガロア体上の演算によって合成されることにより、互いに独立した複数の第2のデータに変換され、複数の第1のデータが変換されて得られた複数の第2のデータが、それぞれパケット化されて他の送受信装置に送信され、他の送受信装置が送信した複数の第2のデータが、第2のデータが対応する第1のデータの数以上受信され、受信される、第2のデータが対応する第1のデータの数以上の第2のデータが保持され、保持された、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算が行われ、第2のデータに対応する第1のデータが復元される。 In the transmission / reception apparatus and method and the third program of the present invention, a plurality of first data is generated by dividing the transmission data, and the generated first data is stored on a predetermined Galois body. Are converted into a plurality of second data independent from each other, and a plurality of second data obtained by converting the plurality of first data are packetized to obtain other data. A plurality of second data transmitted to the transmission / reception device and transmitted by other transmission / reception devices are received and received by the second data corresponding to the second data, and the second data corresponding to the second data is received. Second data that is equal to or greater than the number of data of 1 is held, and computation on the Galois field is performed using the retained second data that is equal to or greater than the number of first data corresponding to the second data. Corresponding to the second data First data is restored.
本発明によれば、データを送受信することができる。特に、データの送受信をより正確、かつ、より容易に行うことができる。 According to the present invention, data can be transmitted and received. In particular, data can be transmitted and received more accurately and easily.
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。 Embodiments of the present invention will be described below. Correspondences between constituent elements described in the claims and specific examples in the embodiments of the present invention are exemplified as follows. This description is to confirm that specific examples supporting the invention described in the claims are described in the embodiments of the invention. Therefore, even if there are specific examples that are described in the embodiment of the invention but are not described here as corresponding to the configuration requirements, the specific examples are not included in the configuration. It does not mean that it does not correspond to a requirement. On the contrary, even if a specific example is described here as corresponding to a configuration requirement, this means that the specific example does not correspond to a configuration requirement other than the configuration requirement. not.
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定したりするものではない。 Further, this description does not mean that all the inventions corresponding to the specific examples described in the embodiments of the invention are described in the claims. In other words, this description is an invention corresponding to the specific example described in the embodiment of the invention, and the existence of an invention not described in the claims of this application, that is, in the future, a divisional application will be made. Nor does it deny the existence of an invention added by amendment.
本発明においては、送信用データ(例えば、図4の送信データ41)を送信する送信装置(例えば、図2の送信装置11)と、送信装置により送信される送信用データを受信する受信装置(例えば、図2の受信装置13)を備える送受信システム(例えば、図2の通信システム10)が提供される。送信装置は、送信装置は、送信用データを分割することにより複数の第1のデータ(例えば、図4の元データ43)を生成し(例えば、図13のステップS2)、生成された複数の第1のデータを、所定のガロア体上の演算によって合成することにより、互いに独立した複数の第2のデータ(例えば、図4の変換データ44)に変換し(例えば、図13のステップS3)、得られた複数の第2のデータを、それぞれパケット化して(例えば、図13のステップS5)受信装置に送信し(例えば、図13のステップS7)、受信装置は、複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信し(例えば、図16のステップS61)、受信された第2のデータが対応する第1のデータの数以上の第2のデータを保持し(例えば、図16のステップS63)、保持された、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算を行い、第2のデータに対応する第1のデータを復元する(例えば、図16のステップS65)。
In the present invention, a transmission device (for example, the
本発明においては、送信用データ(例えば、図4の送信データ41)を受信装置(例えば、図2の受信装置13)に送信する送信装置(例えば、図2の送信装置11)が提供される。この送信装置は、送信用データを分割することにより複数の第1のデータ(例えば、図4の元データ43)を生成するデータ生成手段(例えば、図3のブロック分割部22)と、データ生成手段により生成された複数の第1のデータを、所定のガロア体上の演算によって合成することにより、第1のデータを復元するためのデータであり、互いに独立した複数の第2のデータ(例えば、図4の変換データ44)に変換する変換手段(例えば、図3の変換データ生成部23)と、変換手段により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化して(例えば、図13のステップS5)受信装置に送信する送信手段(例えば、図3のUDPパケット化部25乃至イーサネット(R)処理部29)とを備える。
In the present invention, a transmission device (for example, the
前記変換手段は、予め定められた所定の係数行列(例えば、式(1)の右辺第1項の行列)を用いて、第1のデータを第2のデータに変換する行列式(例えば、式(1))を生成する行列式生成手段(例えば、図6の行列式生成部62)と、行列式生成手段により生成された行列式を、ガロア体上において演算し、第2のデータを求める演算手段(例えば、図6の行列式演算部64およびガロア体演算部66)とを備えるようにすることができる。
The conversion means uses a predetermined coefficient matrix (for example, a matrix in the first term on the right side of Expression (1)) to convert a first data into second data (for example, an expression). The determinant generating means (for example, the
前記係数行列を保持し、行列式生成手段の要求に応じて供給する係数行列供給手段(例えば、図6の係数行列供給部63)をさらに備え、行列式生成手段は、係数行列供給手段により供給された係数行列を用いて、行列式を生成する(例えば、図14のステップS23)ようにすることができる。 The apparatus further includes coefficient matrix supply means (for example, coefficient matrix supply unit 63 in FIG. 6) that holds the coefficient matrix and supplies the coefficient matrix according to the request of the determinant generation means. The determinant generation means is supplied by the coefficient matrix supply means. A determinant can be generated using the obtained coefficient matrix (for example, step S23 in FIG. 14).
前記変換手段により第1のデータが変換されて得られた第2のデータに、受信装置における第1のデータの復元に用いられる情報である、第2のデータが対応する係数行列の行番号を含む情報(例えば、図9の行番号93)を付加する情報付加手段(例えば、図8のヘッダ付加部84)をさらに備え、送信手段は、情報付加手段により情報が付加された複数の第2のデータを、それぞれパケット化し(例えば、図13のステップS5)、受信装置に送信する(例えば、図13のステップS7)ようにすることができる。
The row number of the coefficient matrix corresponding to the second data, which is information used to restore the first data in the receiving device, is the second data obtained by converting the first data by the converting means. The information adding means (for example, the header adding section 84 in FIG. 8) for adding information (for example, the
前記変換手段により複数の第1のデータが変換されて得られた複数の第2のデータの、送信順を制御する送信順制御手段(例えば、図3のバッファ26および出力制御部27)をさらに備え、送信手段は、送信順制御手段により、任意に決定された送信順で、複数の第2のデータを受信装置に送信するようにすることができる。
A transmission order control means (for example, the
前記データ生成手段は、送信用データをブロックに分割し、さらに、ブロックを分割することにより複数の第1のデータを生成し(例えば、図13のステップS2)、変換手段は、ブロック毎に、データ生成手段により生成された複数の第1のデータを複数の第2のデータに変換する(例えば、図13のステップS3)ようにすることができる。 The data generation means divides transmission data into blocks, and further generates a plurality of first data by dividing the blocks (for example, step S2 in FIG. 13). The plurality of first data generated by the data generation means can be converted into a plurality of second data (for example, step S3 in FIG. 13).
本発明においては、送信用データ(例えば、図4の送信データ41)を受信装置(例えば、図2の受信装置13)に送信する送信装置(例えば、図2の送信装置11)の送信方法が提供される。この送信方法は、送信用データを分割することにより(例えば、図13のステップS1)複数の第1のデータ(例えば、図4の元データ43)を生成するデータ生成ステップ(例えば、図13のステップS2)と、データ生成ステップの処理により生成された複数の第1のデータを、所定のガロア体上の演算によって合成することにより、第1のデータを復元するためのデータであり、互いに独立した複数の第2のデータ(例えば、図4の変換データ44)に変換する変換ステップ(例えば、図13のステップS3)と、変換ステップの処理により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化して(例えば、図13のステップS5)受信装置に送信するように制御する送信制御ステップ(例えば、図13のステップS7)とを含む。
In the present invention, there is a transmission method of a transmission apparatus (for example, the
本発明においては、送信用データ(例えば、図4の送信データ41)を受信装置(例えば、図2の受信装置13)に送信する送信処理をコンピュータ(例えば、図2の送信装置11)に実行させる第1のプログラムが提供される。この第1のプログラムは、送信用データを分割することにより(例えば、図13のステップS1)複数の第1のデータ(例えば、図4の元データ43)を生成するデータ生成ステップ(例えば、図13のステップS2)と、データ生成ステップの処理により生成された複数の第1のデータを、所定のガロア体上の演算によって合成することにより、第1のデータを復元するためのデータであり、互いに独立した複数の第2のデータ(例えば、図4の変換データ44)に変換する変換ステップ(例えば、図13のステップS3)と、変換ステップの処理により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化して(例えば、図13のステップS5)受信装置に送信するように制御する送信制御ステップ(例えば、図13のステップS7)とを含む。
In the present invention, transmission processing for transmitting transmission data (for example, transmission data 41 in FIG. 4) to a reception device (for example,
本発明においては、送信装置(例えば、図2の送信装置11)が送信したデータを受信する受信装置(例えば、図2の受信装置13)が提供される。この受信装置は、送信装置が送信したデータであり、送信用データ(例えば、図4の送信データ41)を分割した複数の第1のデータ(例えば、図4の元データ43)が所定のガロア体上の演算によって合成されることにより変換された互いに独立した複数の第2のデータ(例えば、図4の変換データ44)を、第2のデータが対応する第1のデータの数以上受信する受信手段(例えば、図10のイーサネット(R)処理部101乃至アプリケーションデータ抽出部103)と、受信手段により受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持手段(例えば、図10のバッファ部104)と、保持手段により保持される、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算を行い、第2のデータに対応する第1のデータを復元する復元手段(例えば、図10のパケットデータ復元部105)とを備える。
In the present invention, a receiving device (for example, the receiving
前記復元手段は、予め定められた所定の係数行列(例えば、式(1)の右辺第1項の行列)を用いて、第2のデータを第1のデータに変換する行列式(例えば、式(1))を生成する行列式生成手段(例えば、図12の行列式作成部122)と、行列式生成手段により生成された行列式を、ガロア体上において演算し、第1のデータを求める演算手段(例えば、図12の行列式演算部124およびガロア体演算部125)とを備えるようにすることができる。
The restoration means uses a predetermined coefficient matrix (for example, the matrix of the first term on the right side of Expression (1)) to convert the second data into the first data (for example, Expression The determinant generating means (for example, the
前記係数行列を保持し、行列式生成手段の要求に応じて供給する係数行列供給手段(例えば、図12の係数行列供給部123)をさらに備え、行列式生成手段は、係数行列供給手段により供給された係数行列を用いて、行列式を生成する(例えば、図17のステップS84)ようにすることができる。 The apparatus further includes coefficient matrix supply means (for example, coefficient matrix supply unit 123 in FIG. 12) that holds the coefficient matrix and supplies the coefficient matrix according to the request of the determinant generation means. The determinant generation means is supplied by the coefficient matrix supply means. A determinant can be generated using the obtained coefficient matrix (for example, step S84 in FIG. 17).
前記行列式生成手段は、係数行列供給手段が保持する係数行列の内、受信手段により受信された第2のデータに対応する行成分のみを要求し(例えば、図17のステップS83)、要求に基づいて供給された行成分のみを用いて行列式を生成するようにすることができる。 The determinant generating unit requests only the row component corresponding to the second data received by the receiving unit from the coefficient matrix held by the coefficient matrix supplying unit (for example, step S83 in FIG. 17). A determinant can be generated using only the row components supplied based on the row component.
前記行列式生成手段は、受信手段により受信された第2のデータに付加されている、第2のデータが対応する係数行列の行番号を含む情報(例えば、図9の行番号93)に基づいて、係数行列供給手段に行成分を要求し、要求に基づいて供給された行成分のみを用いて行列式を生成するようにすることができる。
The determinant generating means is based on information (for example,
複数の第1のデータおよび第2のデータは、送信用データのブロック(例えば、図4のブロック42)毎に生成されたデータであり、受信手段は、ブロック毎に、第2のデータが対応する第1のデータの数以上の第2のデータを受信し、保持手段は、受信手段により受信された第2のデータを、第2のデータが対応するブロック毎に保持し、復元手段は、互いに同じブロックに対応する複数の第2のデータを用いて、第1のデータを復元するようにすることができる。
The plurality of first data and second data are data generated for each block of transmission data (for example, the
本発明においては、送信装置(例えば、図2の送信装置11)が送信したデータを受信する受信装置(例えば、図2の受信装置13)の受信方法が提供される。この受信方法は、送信装置が送信したデータであり、送信用データ(例えば、図4の送信データ41)を分割した複数の第1のデータ(例えば、図4の元データ43)が所定のガロア体上の演算によって合成されることにより変換された互いに独立した複数の第2のデータ(例えば、図4の変換データ44)を、第2のデータが対応する第1のデータの数以上受信するように制御する受信制御ステップ(例えば、図16のステップS61)と、受信制御ステップの処理により受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持ステップ(例えば、図16のステップS63)と、保持ステップの処理により保持される、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算を行い、第2のデータに対応する第1のデータを復元する復元ステップ(例えば、図16のステップS65)とを含む。
In the present invention, a receiving method of a receiving device (for example, the receiving
本発明においては、送信装置(例えば、図2の送信装置11)が送信したデータを受信する受信処理をコンピュータ(例えば、図2の受信装置13)に実行させる第2のプログラムが提供される。この第2のプログラムは、送信装置が送信したデータであり、送信用データ(例えば、図4の送信データ41)を分割した複数の第1のデータ(例えば、図4の元データ43)が所定のガロア体上の演算によって合成されることにより変換された互いに独立した複数の第2のデータ(例えば、図4の変換データ44)を、第2のデータが対応する第1のデータの数以上受信するように制御する受信制御ステップ(例えば、図16のステップS61)と、受信制御ステップの処理により受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持ステップ(例えば、図16のステップS63)と、保持ステップの処理により保持される、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算を行い、第2のデータに対応する第1のデータを復元する復元ステップ(例えば、図16のステップS65)とを含む。
In the present invention, there is provided a second program for causing a computer (for example, the receiving
本発明においては、送信用データ(例えば、図4の送信データ41)を送受信する送受信装置(例えば、図18の送受信装置211または送受信装置213)が提供される。この送受信装置は、送信用データを分割することにより複数の第1のデータ(例えば、図4の元データ43)を生成するデータ生成手段(例えば、図3のブロック分割部22)と、データ生成手段により生成された複数の第1のデータを、所定のガロア体上の演算によって合成することにより、互いに独立した複数の第2のデータ(例えば、図4の変換データ44)に変換する変換手段(例えば、図3の変換データ生成部23)と、変換手段により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化して(例えば、図13のステップS5)他の送受信装置に送信する送信手段(例えば、図3のUDPパケット化部25乃至イーサネット(R)処理部29)と、他の送受信装置が送信した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信する受信手段(例えば、図10のイーサネット(R)処理部101乃至アプリケーションデータ抽出部103)と、受信手段により受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持手段(例えば、図10のバッファ部104)と、保持手段により保持される、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算を行い、第2のデータに対応する第1のデータを復元する復元手段(例えば、図10のパケットデータ復元部105)とを備える。
In the present invention, a transmission / reception device (for example, the transmission /
本発明においては、送信用データ(例えば、図4の送信データ41)を送受信する送受信装置(例えば、図18の送受信装置211または送受信装置213)の送受信方法が提供される。この送受信方法は、送信用データを分割することにより複数の第1のデータ(例えば、図4の元データ43)を生成するデータ生成ステップ(例えば、図13のステップS2)と、データ生成ステップの処理により生成された複数の第1のデータを、所定のガロア体上の演算によって合成することにより、互いに独立した複数の第2のデータ(例えば、図4の変換データ44)に変換する変換ステップ(例えば、図13のステップS3)と、変換ステップの処理により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化して(例えば、図13のステップS5)他の送受信装置(例えば、図18の送受信装置211または送受信装置213)に送信するように制御する送信制御ステップ(例えば、図13のステップS7)と、他の送受信装置が送信した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信するように制御する受信制御ステップ(例えば、図16のステップS61)と、受信制御ステップの処理により制御されて受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持するように制御する保持制御ステップ(例えば、図16のステップS63)と、保持制御ステップの処理により制御されて保持される、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算を行い、第2のデータに対応する第1のデータを復元する復元ステップ(例えば、図16のステップS65)とを含む。
In the present invention, a transmission / reception method of a transmission / reception apparatus (for example, transmission /
本発明においては、送信用データ(例えば、図4の送信データ41)を送受信する送受信処理をコンピュータ(例えば、図18の送受信装置211または送受信装置213)に実行させる第3のプログラムが提供される。この第3のプログラムは、送信用データを分割することにより複数の第1のデータ(例えば、図4の元データ43)を生成するデータ生成ステップ(例えば、図13のステップS2)と、データ生成ステップの処理により生成された複数の第1のデータを、所定のガロア体上の演算によって合成することにより、互いに独立した複数の第2のデータ(例えば、図4の変換データ44)に変換する変換ステップ(例えば、図13のステップS3)と、変換ステップの処理により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化して(例えば、図13のステップS5)他の送受信装置(例えば、図18の送受信装置211または送受信装置213)に送信するように制御する送信制御ステップ(例えば、図13のステップS7)と、他の送受信装置が送信した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信するように制御する受信制御ステップ(例えば、図16のステップS61)と、受信制御ステップの処理により制御されて受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持するように制御する保持制御ステップ(例えば、図16のステップS63)と、保持制御ステップの処理により制御されて保持される、第2のデータが対応する第1のデータの数以上の第2のデータを用いて、ガロア体上の演算を行い、第2のデータに対応する第1のデータを復元する復元ステップ(例えば、図16のステップS65)とを含む。
In the present invention, a third program for causing a computer (for example, the transmission /
以下に、本発明の実施の形態について図面を参照して説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図2は、本発明を適用した通信システムの構成例を表している。 FIG. 2 shows a configuration example of a communication system to which the present invention is applied.
図2の通信システム10は、データを送信する送信装置11、LAN(Local Area Network)やインターネット等に代表されるネットワークであり、送信装置11が接続されるネットワーク12、および、ネットワーク12に接続され、送信装置11より送信されるデータを受信する受信装置13により構成される。
The
送信装置11は、外部より供給されたダウンロードデータ等の、送信用のコンテンツデータ(送信用データ)を取得すると、その送信用データを分割して送信する際のパケットサイズのデータ(パケットデータ)を生成し、そのパケットデータを用いて、桁あふれを防止するためにガロア体上で四則演算を行い、実際に送信する変換データに変換してから、それをUDP(User Datagram Protocol)等の所定のプロトコルを用いてパケット化して送信する。
When the
なお、ガロア体(ガロア拡大体)とは、整数を素数(例えば5等)で除算した余りの集合{0,1,2,3,4}のように、要素の数が有限で、四則演算が閉じている集合のことを示しており、2w(2のw乗)の要素(元)を持つ体(2wのガロア拡大体)は、GF(2w)と表す。送信装置11(受信装置13)は、このガロア体上の演算を用いることにより、演算結果の桁あふれの発生を防止することができる。 Note that a Galois field (a Galois extension field) is a finite number of elements, such as a set {0, 1, 2, 3, 4} of a remainder obtained by dividing an integer by a prime number (for example, 5 etc.), and four arithmetic operations Indicates a closed set, and a field having 2 w (2 to the power of w) element (element) (2 w Galois extension field) is represented as GF (2 w ). The transmission device 11 (reception device 13) can prevent occurrence of overflow of the calculation result by using the calculation on the Galois field.
受信装置13は、送信装置11より供給されるパケット(変換データ)を受信すると、受信したパケットから変換データを抽出し、その受信した変換データを用いて、元の送信用データを復元する。このとき、送信装置11は、受信装置13が元の送信用データを復元するのに必要な数以上の変換データを受信装置13に送信し、受信装置13は、その送信された変換データの中から、少なくとも、元の送信用データを復元するのに必要な数の変換データを受信する。送信装置11における変換データの生成方法、および、受信装置13における元の送信用データの復元方法については後述する。
When receiving the packet (conversion data) supplied from the
このようにすることにより、受信装置13は、送信装置11が送信するパケットを全て受信しなくても、送信装置11に再送要求を行うことなく、送信装置11が送信した送信用データを復元することができる。
By doing so, the
図3は、送信装置11の詳細な構成例を示すブロック図である。なお、送信装置11により処理される送信用データの変化を、図4を用いて説明する。
FIG. 3 is a block diagram illustrating a detailed configuration example of the
図3において、送信装置11のデータ分割部21は、送信装置11の外部より供給されたコンテンツデータ等の送信データを所定のデータサイズのブロックに分割し、それをブロック分割部22に供給する。すなわち、データ分割部21は、供給される送信データを内蔵するバッファ(図示せず)に蓄積していき、所定のデータサイズのデータが蓄積される度に、それをブロックとしてブロック分割部22に供給する。
In FIG. 3, the
例えば、図4の場合、送信装置11に供給される送信データ41は、データ分割部21により、番号1乃至3で示される3つのブロック42に分割される。
For example, in the case of FIG. 4, the transmission data 41 supplied to the
図3に戻り、ブロック分割部22は、データ分割部21と同様にして、データ分割部21より供給されるブロック単位の送信データを、さらに所定のデータサイズに分割する。すなわち、ブロック分割部22は、ブロック単位の送信データを、後段において、パケット化する際のデータサイズ(パケットサイズ)に分割し、パケット用のデータ(パケットデータ)を生成する。パケットデータを生成したブロック分割部22は、それを、変換データ生成部23に供給する。
Returning to FIG. 3, similarly to the
例えば、図4の場合、ブロック42は、それぞれ、ブロック分割部22により、パケット化する際のデータサイズのパケットデータである元データ43に分割される。図4の場合、各ブロックはそれぞれ3個の元データ43に分割される。例えば、番号1で示されるブロックは、番号11乃至13で示される元データに分割され、番号2で示されるブロックは、番号21乃至23で示される元データに分割され、番号3で示されるブロックは、番号31乃至33で示される元データに分割される。
For example, in the case of FIG. 4, each
変換データ生成部23は、元の送信用データを分割したパケットデータ(元データ)を1ブロック分取得すると、ガロア体上の四則演算を行い、その元データを変換して変換データを生成する。具体的には、変換データ生成部23は、1ブロック内の各元データを、桁あふれを防止するためにガロア体上の演算を行って合成し、変換データとする。より具体的な生成方法については後述する。
When the conversion
なお、この変換データは、ガロア体上の四則演算を用いて、ブロック内の各元データを合成したものである。また、この変換データは、後述するように、元データと同じデータサイズであり、各変換データが互いに独立となるように複数生成される。従って、後述するように、受信装置13は、任意の変換データを所定の数(例えば、元データの数以上)取得することができれば、全ての元データを復元することができる。
This converted data is obtained by combining the original data in the block using four arithmetic operations on the Galois field. Further, as will be described later, a plurality of pieces of the converted data have the same data size as the original data, and a plurality of pieces of converted data are generated so that the converted data are independent from each other. Therefore, as will be described later, if the receiving
例えば、図4に示されるように、元データ43は、ブロック単位で変換データ44に変換される。その際、変換データ生成部23は、元データ43以上の数の変換データ44を生成する。図4の場合、各ブロックにおいて、3つの元データ43より6つの変換データ44が生成される。例えば、番号1で示されるブロック42においては、番号11乃至13で示される元データ43は、番号11乃至16で示される6つの変換データ44に変換され、番号2で示されるブロック42においては、番号21乃至23で示される元データ43は、番号21乃至26で示される6つの変換データ44に変換され、番号3で示されるブロック42においては、番号31乃至33で示される元データ43は、番号31乃至36で示される6つの変換データ44に変換される。
For example, as shown in FIG. 4, the original data 43 is converted into converted
変換データ生成部23は、元データを変換して得られた変換データをアプリケーションデータ生成部24に供給する。
The conversion
アプリケーションデータ生成部24は、変換データ生成部23より供給された変換データに、それぞれ、ヘッダを付加し、アプリケーションデータを生成する。ヘッダの内容については、後述する。アプリケーションデータ生成部24は、生成したアプリケーションデータをUDPパケット化部25に供給する。
The application
なお、ここまでの処理は、ISO(International Organization for Standardization)が制定した7階層のネットワークプロトコルの構造のモデルであるOSI階層モデル(Open Systems Interconnection layer model)における、アプリケーション層、プレゼンテーション層、およびセション層の処理である。 The processes so far are the application layer, presentation layer, and session layer in the OSI layer model (Open Systems Interconnection layer model), which is a model of the seven-layer network protocol structure established by ISO (International Organization for Standardization). It is processing of.
アプリケーションデータを供給されたUDPパケット化部25は、そのアプリケーションデータをUDPプロトコルに基づいてパケット化し、その生成したUDPパケットをバッファ26に供給する。
The
図5に示されるように、UDPパケット51は、64ビットのUDPヘッダ52およびアプリケーションデータ53により構成される。UDPヘッダ52には、送信元のポート番号、送信先のポート番号、アプリケーションデータ53のデータ長、およびチェックサム等の情報が含まれる。アプリケーションデータのデータサイズは、任意に定められた所定の値であるが、通常1Kバイト程度である。
As shown in FIG. 5, the
図3に戻り、バッファ26は、RAM(Random Access Memory)等の半導体メモリ等により構成され、UDPパケット化部25より供給されるUDPパケットを蓄積し、出力制御部27の制御に基づいて、その蓄積しているUDPパケットを出力する。
Returning to FIG. 3, the
出力制御部27は、バッファ26にUDPパケットが蓄積されると、それらのUDPパケットを任意の(ランダムな)順番で取得し、それらをIP(Internet Protocol)処理部28に供給する。すなわち、バッファ26および出力制御部27は、UDPパケット化部25において生成されたUDPパケットの出力順を変更(シャッフル)し、変換データを含むUDPパケットを任意の順番で出力させる。このとき、バッファ26は、ブロック毎に変換された全ての変換データ、すなわち、送信用データに対応する全ての変換データを保持し、出力制御部27は、それらの全ての変換データ(各変換データを含むUDPパケット)の出力順をシャッフルする。
When the UDP packets are accumulated in the
一般に、パケットの送信時にネットワーク等において、受信側が連続する複数のパケットをバースト的にロスする(受信できない)場合がある。従って、送信装置11が変換データを順番に出力した場合、そのようなバースト的パケットロスにより、パケットのロスが1つのブロックに偏って集中してしまう場合がある。後述するように、元データを復元するためには、ある程度のパケット数(の変換データ)を受信する必要があるため、このように、パケットロスに偏りが生じると、特定のブロックを復元できない恐れがある。
In general, when a packet is transmitted in a network or the like, a receiving side sometimes loses a plurality of consecutive packets in a burst manner (cannot be received). Therefore, when the
そこで、送信装置11のバッファ26および出力制御部27が、以上のようにUDPパケットの出力順をシャッフルして、各ブロックの変換データを混在させた順番で送信するようにすることにより、パケットの送信時にバースト的パケットロスが発生しても、そのロスが特定のブロックに集中することを抑制することができ、バースト的パケットロスに対する耐性を強くすることができる。すなわち、送信装置11は、より正確にデータを受信装置13に送信することができる。従って、通信システム10は、より正確なデータの送受信を実現することができる。
Therefore, the
例えば、図4に示されるように、変換データ44はUDPパケット化された後、その出力順がシャッフルされて、送信パケット45として任意の順番で送信される。図4の場合、番号1乃至3で示される3つのブロック42にそれぞれ対応する、番号11乃至16で示される変換データ44、番号21乃至26で示される変換データ44、並びに、番号31乃至36で示される変換データ44がシャッフルされて送信される。
For example, as shown in FIG. 4, after the converted
なお、バッファ26および出力制御部27は、各ブロックに対応する変換データの送信順をシャッフルして、各変換データを任意の順序で送信するようにすればよいので、バッファ26が変換データを蓄積する処理と、出力制御部27がバッファ26に蓄積されている変換データを出力させる処理とを(それらの処理の一部または全部において)並行して行うようにしてももちろんよい。
The
これらのUDPパケット化部25乃至出力制御部27による処理は、OSI階層モデルにおける、トランスポート層の処理である。
The processing by the
IP処理部28は、OSI階層モデルにおける、ネットワーク層の処理を行い、IPプロトコルに基づいて、出力制御部27より供給されるUDPパケットをそれぞれIPパケット化し、イーサネット(R)(Ethernet(R))処理部29に供給する。イーサネット(R)処理部29は、イーサネット(R)の規格に基づいて、データリンク層および物理層の処理を行い、IP処理部28より供給されたIPパケットをさらにパケット化し、受信装置13に送信するように、それを、ケーブル30を介してネットワーク12に出力する。
The
イーサネット(R)処理部29より出力されたパケットは、ネットワーク12を介して受信装置13に供給される。
The packet output from the Ethernet (R)
このように、送信用データを分割した元データをそのまま送信せずに、それぞれが全ての元データ(ブロック内の全ての元データ)の内容を含む変換データに変換してから送信するので、送信装置11は、受信装置13が、送信装置11より送信したパケットの内、任意のパケットを所定の数以上取得すれば、元データ(送信用データ)を復元することができるようにすることができる。すなわち、送信装置11は、受信装置13のパケットロスに対する耐性を高め、データの送受信をより正確、かつ、より容易に行うようにデータを送信することができる。
Thus, since the original data obtained by dividing the transmission data is not transmitted as it is, each is converted to conversion data including the contents of all the original data (all the original data in the block) and transmitted. The
なお、図4において示される、1つの送信データ41に対するブロック42、元データ43、または変換データ44等の数は、一例であり、生成される各データの数が、図4に示される数以外であってももちろんよい。また、送信パケット45の送信順も一例であり、図4に示される以外の順番で送信されるようにしてももちろんよい。
Note that the number of
次に、図3の変換データ生成部23の詳細について説明する。なお、以下においては、送信装置11は、1ブロックの送信データより、N個の元データD(D1乃至DN)を生成し、そのN個の元データDを変換して、M個の変換データS(S1乃至SM)を生成する場合について説明する。図6は、変換データ生成部23の詳細な構成例を示すブロック図である。
Next, details of the conversion
図6において、図3のブロック分割部22より供給された元データは、元データ保持部61に供給され、保持される。元データ保持部61は、1ブロック分の元データを保持すると、その元データを行列式生成部62に供給する。
In FIG. 6, the original data supplied from the
1ブロック分の元データを取得すると、行列式生成部62は、係数行列供給部63に対して、変換データを生成するための行列式の生成に用いられる係数行列を要求する。係数行列は、予め用意され、係数行列供給部63に保持されているM行N列の行列であり、元データを変換して変換データを生成するための行列である。係数行列の各成分の値は、求められる変換データが互いに独立となるように決められる。後述するように、全変換データは、この係数行列と、各元データを成分とする行列との積算により求められる。従って、係数行列の各行は、互いに異なる変換データに対応し、その各行の各成分は、それぞれ互いに異なる元データと積算される。
When the original data for one block is acquired, the
このような係数行列を要求された係数行列供給部63は、その要求に対して予め保持している係数行列を行列式生成部62に供給する。行列式生成部62は、係数行列を取得すると、その係数行列と1ブロック分の元データを用いて、そのブロックに対応する変換データを生成するための行列式を生成する。具体的には、行列生成部62は、以下の式(1)に示されるような行列式を生成する。
The coefficient matrix supply unit 63 that has requested such a coefficient matrix supplies the
式(1)において、右辺第1項は、M行N列の係数行列であり、係数行列供給部63より供給された係数行列である。この係数行列の行列式は、行方向の係数は連続していないが、列方向の係数のべき乗数は連続している(指数が連続する自然数である)ファンデルモンドの行列式であり、ガロア体上での演算でも正則である。すなわち、式(1)に示されるように、この係数行列のj行i列目の成分Aijは、行毎の自然数rjを底とし、列番号iから値「1」を引いた値「i−1」を乗数とする値rj (i-1)となる。なお、各行において、共通の底である自然数rjの値は、各行で互いに異なる値となるように予め定められた任意の自然数である。従って、各行で、底の値は、連続する自然数であってもよいし、連続しなくてもよく、規則性が無くてもよい。 In Expression (1), the first term on the right side is a coefficient matrix of M rows and N columns, which is a coefficient matrix supplied from the coefficient matrix supply unit 63. The determinant of this coefficient matrix is a van dermond determinant in which the coefficients in the row direction are not continuous, but the powers of the coefficients in the column direction are continuous (the exponent is a natural number with continuous exponents), and the Galois field The above calculation is also regular. That is, as shown in Equation (1), the component A ij in the j-th row and i-th column of this coefficient matrix has a value “1” obtained by subtracting the value “1” from the column number i with the natural number r j for each row as the base. This is a value r j (i−1) with “i−1” as a multiplier. Note that the value of the natural number r j that is a common base in each row is an arbitrary natural number that is predetermined so as to be different from each other in each row. Therefore, in each row, the base value may be a continuous natural number, may not be continuous, or may not have regularity.
また、各列の乗数の値は、行番号iと対応して「i−1」となるように説明したが、これに限らず、例えば、「i」や「i+1」等のように第1列目の乗数が「0」以外の値となるようにしてもよい。さらに、この各列の乗数の値は、行番号iと対応していなくてもよく、例えば、1列目から順に、3,7,9,2,・・・等となるように、連続する自然数が行番号に対してランダムに並べられたものであってもよい。ただし、各行において、その順番は共通とする。 Further, the multiplier value of each column has been described as “i−1” corresponding to the row number i. However, the present invention is not limited to this. For example, the first value such as “i” or “i + 1” is used. The multiplier in the column may be a value other than “0”. Further, the multiplier value of each column does not have to correspond to the row number i, and is continuous, for example, 3, 7, 9, 2,... Natural numbers may be arranged at random with respect to line numbers. However, the order is common in each row.
右辺第2項は、元データD(D1乃至DN)の行列であり、左辺の行列は、この行列式により算出される変換データS(S1乃至SM)である。なお、式(1)において、乗算は、ガロア体(ガロア拡大体)上の演算であり、加算はEOR演算により行われる。 The second term on the right side is a matrix of the original data D (D 1 to D N ), and the matrix on the left side is the converted data S (S 1 to S M ) calculated by this determinant. In equation (1), multiplication is an operation on a Galois field (Gaaloa expansion field), and addition is performed by an EOR operation.
なお、変数MおよびNの値の関係は、M>>Nとする。生成される変換データSは、互いに独立しているので、受信装置13は、変換データSを、元データDの数以上受信すれば、全ての元データDを復元することができる。しかしながら、パケットロスにより、受信装置13がいくつかの変換データSを受信できない場合があるので、送信装置11は、元データの数より多く、送信処理を実現可能な程度で、なるべく多くの変換データSを生成する。従って、ここでは、変換データSの数を示す変数Mの値と、元データDの数を示す変数Nの値との関係を、上述したような関係とし、送信装置11が十分な数の変換データを生成するものとする。
Note that the relationship between the values of the variables M and N is M >> N. Since the generated conversion data S are independent of each other, the receiving
例えば、送信装置11の各部が16ビットで演算を行うとすると、その場合の演算が行なわれるガロア体(ガロア拡大体)はGF(216)となり、元は65000種となり、送信装置11は、互いに独立した変換データを65000個生成することができる。従って、例えば、各ブロックの元データの数を2000個とすると、送信装置11は、各ブロックの変換データのパケットを30倍以上(65000/2000)の期間送信することができる。受信装置13は、元データを復元するためには、このように送信されるパケットの内、任意の2000個を受信すればよいので、再送要求を必要とせずに元データを復元することが容易である。もちろん、変数Mの値は、変数N以上であれば、いくつであってもよいので、生成される変換データの数は65000個以外であってもよい。
For example, if each part of the
このような行列式を生成すると、行列式生成部62は、この行列式を行列式演算部64に供給する。
When such a determinant is generated, the
なお、行列式は、所謂、連立方程式と同じものを示すものとする。以下においても同様である。 The determinant is the same as a so-called simultaneous equation. The same applies to the following.
行列式演算部64は、式(1)に示されるような行列式を解き、変換データS(S1乃至SM)を求め、その解を解出力部65に供給する。このとき、行列式演算部64は、ガロア体上の演算については、ガロア体演算部66において行わせる。すなわち、行列式演算部64は、ガロア体上の演算については、その式をガロア体演算部66に供給して実行させる。ガロア体演算部66は、式を取得すると、予め定められたガロア体上において、その式を演算し、その演算結果を行列式演算部64に供給する。
The determinant calculation unit 64 solves the determinant as shown in the equation (1), obtains conversion data S (S 1 to S M ), and supplies the solution to the
ここで、通常の10進数の場合の、2つの行列の積算における演算手順を説明すると、まず、第1項の行列の各行が第2項の行列の各列と積算される。具体的には、第1項の行列の各行と第2項の行列の各列が互いに対応する成分毎に積算される。例えば、第1項の第1行目について説明すると、その行の第i列目の成分は、第2項の各列の第i行目の成分と積算される。このように積算が行われると、次に、この積算毎に各成分の積算結果が全て加算される。例えば、第1項の行列がN列の行列であり、第2項の行列がN行の行列であるとすると、第1項の行列の各行と第2項の行列の各列の各積算において、それぞれ、N個の成分同士の積算結果が得られるので、それらのN個の積算結果が加算され、この加算結果が、第1項の行列の行と第2項の行列の列の積算結果とされる。 Here, the calculation procedure in the integration of two matrices in the case of a normal decimal number will be described. First, each row of the first term matrix is integrated with each column of the second term matrix. Specifically, each row of the first term matrix and each column of the second term matrix are integrated for each corresponding component. For example, describing the first row of the first term, the component in the i-th column of that row is integrated with the component in the i-th row of each column in the second term. When integration is performed in this way, all integration results of each component are then added for each integration. For example, if the matrix of the first term is an N-column matrix and the matrix of the second term is an N-row matrix, in each multiplication of each row of the matrix of the first term and each column of the matrix of the second term Since the integration results of N components are respectively obtained, the N integration results are added, and the addition result is the integration result of the matrix row of the first term and the matrix column of the second term. It is said.
上述した式(1)の行列式においても、基本的にはこのような演算手順と同様の演算手順により演算が行われる。しかしながら、元データDやEOR変換データSは、2進数のビット列であるので、上述した10進数の場合の演算手順における、成分同士の積算結果の加算処理の代わりに、ビット毎のEOR演算が用いられる。また、各データの桁数(ビット数)は固定であるので、桁あふれを防止するために、上述したように、積算は、所定のガロア体上の演算により行われる。すなわち、式(1)における四則演算は、全て所定のガロア体上の演算により行われる。 In the determinant of Equation (1) described above, the calculation is basically performed by the same calculation procedure as that of the calculation procedure. However, since the original data D and the EOR conversion data S are binary bit strings, the bitwise EOR calculation is used instead of the addition processing of the integration results of the components in the calculation procedure in the case of the decimal number described above. It is done. Further, since the number of digits (number of bits) of each data is fixed, as described above, the integration is performed by a calculation on a predetermined Galois field to prevent overflow. That is, all four arithmetic operations in the equation (1) are performed by a calculation on a predetermined Galois field.
演算手順の順序で演算方法を具体的に説明すると、行列式演算部64は、上述した10進数の場合と同様に、式(3)の右辺第1項の係数行列の各行を、右辺第2項の行列(元データD1乃至DNを成分とする行列)の列と積算する。具体的には、右辺第1項の係数行列の各行の各列成分を、右辺第2項の行列の各成分(元データD1乃至DN)と、それぞれ所定のガロア体上の演算により積算する。 The calculation method will be specifically described in the order of the calculation procedure. The determinant calculation unit 64 converts each row of the coefficient matrix of the first term on the right side of the equation (3) to the second value on the right side as in the case of the decimal number described above. It integrates with a column of a matrix of terms (a matrix having the original data D 1 to D N as components). Specifically, each column component of each row of the coefficient matrix of the first term on the right side is integrated with each component (original data D 1 to D N ) of the matrix of the second term on the right side by calculation on a predetermined Galois field. To do.
次に、行列式演算部64は、これらの各成分の積算結果を、上述したように互いに対応するビット毎のEOR演算により合成する。なお、EOR演算について具体的に説明すると、値「0」と値「0」とのEOR演算結果の値は「0」であり、値「0」と値「1」とのEOR演算結果の値は「1」であり、値「1」と値「0」とのEOR演算結果の値は「1」であり、値「1」と値「1」とのEOR演算結果の値は「0」である。従って、例えば、「11110000」のビット列と、「10101010」のビット列とのEOR演算結果は、「01011010」となる。行列式演算部64は、このようなEOR演算を繰り返し、各成分の積算結果を全て合成する。そして、このEOR演算結果が、1つの変換データSとされる。 Next, the determinant operation unit 64 combines the integration results of these components by EOR operation for each bit corresponding to each other as described above. Specifically, the EOR operation will be described. The value of the EOR operation result of the value “0” and the value “0” is “0”, and the value of the EOR operation result of the value “0” and the value “1”. Is “1”, the value of the EOR operation result of the value “1” and the value “0” is “1”, and the value of the EOR operation result of the value “1” and the value “1” is “0”. It is. Therefore, for example, the EOR operation result of the bit string “11110000” and the bit string “10101010” is “01011010”. The determinant operation unit 64 repeats such EOR operation and synthesizes all the integration results of the components. The EOR calculation result is used as one conversion data S.
以上のような演算を、式(3)の右辺第1項の係数行列の各行に対して繰り返し、全ての左辺第1項の行列の成分として示される変換データS1乃至SMが求められる。 The above calculation is repeated for each row of the coefficient matrix of the first term on the right side of Equation (3), and converted data S 1 to S M shown as the components of the matrix of the first term on all the left sides are obtained.
以上のように、変換データ生成部23においては、図7に示されるように、元データが変換されて変換データが生成される。
As described above, in the conversion
図7において、1つのブロックの元データ43(元データD1乃至DN)は、パケットデータ71−1乃至71−Nのようにパケットサイズのデータであり、上述したように、変換データ生成部23において、変換データ44に変換される。変換データ44は、パケットデータ72−1乃至72−Mにより構成される。パケットデータ72−1乃至72−Mは、それぞれ、元データD1乃至DN(パケットデータ71−1乃至71−N)と上述した係数行列を用いて生成されたデータであり、式(1)の演算結果である。例えば、1つ目の変換データ44であるパケットデータ72−1は、元データD1乃至DN(パケットデータ71−1乃至71−N)と上述した係数行列の第1行目の演算結果であり、2つ目の変換データ44であるパケットデータ72−2は、元データD1乃至DN(パケットデータ71−1乃至71−N)と上述した係数行列の第2行目の演算結果であり、M個目の変換データ44であるパケットデータ72−Mは、元データD1乃至DN(パケットデータ71−1乃至71−N)と上述した係数行列の第M行目の演算結果である。なお、図7において、乗算はガロア体上の演算であり、値の最大桁数(ビット数)は変化しない。また、加算はビット毎のEOR演算により行われる。
In FIG. 7, the original data 43 (original data D 1 to D N ) of one block is packet size data like the packet data 71-1 to 71-N, and as described above, the converted
解出力部65は、以上のように算出された解を、変換データSとして、所定のタイミングで図3のアプリケーションデータ生成部24に供給する。
The
次に、アプリケーションデータについて説明する。 Next, application data will be described.
図8は、図3のアプリケーションデータ生成部24の詳細な構成例を示すブロック図である。
FIG. 8 is a block diagram illustrating a detailed configuration example of the application
最初に、パケットデータが供給される前に、変換データカウンタ82およびブロックカウンタ83は、初期化される。
First, before the packet data is supplied, the conversion data counter 82 and the
変換データ受付部81は、変換データ生成部23より変換データが供給されると、その変換データがブロックの最初のパケットデータである場合、変換データカウンタ82とブロックカウンタ83をカウントアップさせる。また、変換データ生成部23より供給された変換データがブロックの最初のパケットデータでない(既に、そのブロックの変換データが供給されている)場合、変換データ受付部81は、変換データカウンタ82のみをカウントアップさせる。変換データカウンタ82およびブロックカウンタ83は、所定のタイミングで、そのカウント値をヘッダ付加部84に供給する。
When the conversion data is supplied from the conversion
また、変換データ受付部81は、ブロックの最後の変換データを処理した後に、変換データカウンタ82のカウント値を初期化する。
Moreover, the conversion
さらに、変換データ受付部81は、各カウンタを調整すると、変換データをヘッダ付加部84に供給する。ヘッダ付加部84は、変換データ受付部81より供給された変換データに対して、変換データカウンタ82およびブロックカウンタ83より供給されたカウント値を、図9に示されるように、ヘッダとして変換データに付加し、アプリケーションデータを生成する。
Furthermore, the conversion
図9において、アプリケーションデータ91は、ヘッダとして付加されたブロック番号92および変換データの生成時に用いられた係数行列の行番号93、並びに、変換データ94により構成される。ブロック番号92は、各ブロックを識別するための番号であり、各ブロックに対して互いに異なる値が割り当てられる。その値は、ブロックカウンタ83より供給されるカウント値である。変換データ生成部23は、ブロック単位で元データを変換データに変換し、その変換データをアプリケーションデータ生成部24に供給するので、ブロックカウンタ83は、供給される変換データに対応するブロックをカウントしていくことにより、ブロック番号92を供給することができる。
In FIG. 9, application data 91 includes a
行番号93は、各変換データが対応する、各変換データを生成する際に演算に利用された係数行列の行番号である。その値は、変換データカウンタ82より供給されるカウント値である。変換データ生成部23は、元データを変換データに変換すると、その変換データを、変換した順番に、アプリケーションデータ生成部24に供給する。すなわち、変換データ生成部23は、上述した式(1)における1つ目の変換データS1からM個目の変換データSMまで、各変換データを順に求めていき、その求めた順に、変換データをアプリケーションデータ生成部24に供給する。従って、変換データ生成部23は、S1,S2,S3,…,SMの順番で変換データをアプリケーションデータ生成部24に供給するので、変換データカウンタ82は、供給される変換データをカウントすることにより、カウント値を、各変換データに対応する係数行列の行番号として供給することができる。なお、このカウント値は、ブロック毎にリセットされる。
The
このようなヘッダが変換データ94に付加されて、アプリケーションデータ91が生成される。なお、これらのヘッダに含まれる情報は、受信装置13において、元データを復元する際に利用される。
Such a header is added to the
図8に戻り、以上のように、アプリケーションデータを生成したヘッダ付加部84は、生成したアプリケーションデータをUDPパケット化部25に供給する。
Returning to FIG. 8, as described above, the header adding unit 84 that generated the application data supplies the generated application data to the
このように、アプリケーションデータ生成部24がブロック番号を変換データに付加することにより、受信装置13は、後述するように、受信した変換データが対応するブロックを識別することができ、ブロック単位で処理することができる。
In this way, the application
また、アプリケーションデータ生成部24が行番号を変換データに付加することにより、受信装置13は、後述するように、元データを復元する際に、受信した変換データを係数行列に対応させることができ、元データを復元するための行列式を容易かつ正確に生成することができる。
Further, the application
次に、データの受信側について説明する。 Next, the data receiving side will be described.
図10は、図2の受信装置13の詳細な構成例を示すブロック図である。
FIG. 10 is a block diagram illustrating a detailed configuration example of the
ネットワーク12を介して受信装置13に送信されたパケットは、ケーブル100を介してイーサネット(R)(Ethernet(R))処理部101に供給される。イーサネット(R)処理部101は、イーサネット(R)の規格に基づいて、データリンク層および物理層の処理を行い、供給されたパケットからIPパケットを抽出し、IP処理部102に供給する。
A packet transmitted to the receiving
IP処理部102は、IPプロトコルに基づいて、ネットワーク層の処理を行い、供給されたIPパケットよりUDPパケットを抽出し、アプリケーションデータ抽出部103に供給する。アプリケーションデータ抽出部103は、UDPプロトコルに基づいてトランスポート層の処理を行い、UDPパケットより、アプリケーションデータを抽出し、それをバッファ104に供給する。
The
バッファ104は、アプリケーションデータを保持し、アプリケーションデータに付加されたブロック番号に基づいて、アプリケーションデータをブロック単位で管理し、例えば、元データを復元するのに必要な数のアプリケーションデータを取得すると、それらをブロック毎にパケットデータ復元部105に供給する。
The
パケットデータ復元部105は、供給されたアプリケーションデータに含まれる変換データに基づいて、ブロック単位で元データを復元し、それをブロックデータ復元部106に供給する。ブロックデータ復元部106は、パケットデータ復元部105より供給される元データ(パケットデータ)を用いて、ブロックデータを復元し、そのブロックデータを再生出力部107に供給する。再生出力部107は、そのブロックデータを、順次、所定のタイミングで再生し、1つの受信データ(元の送信用データ)として受信装置13の外部に出力する。
The packet
送信装置11より送信されたパケットは、受信装置13に向けて送信されるが、様々な原因により、受信装置13に受信されない場合がある。例えば、図11に示されるように、送信装置11が送信した送信パケット111の内、9つの送信パケットを受信すれば、受信装置13は、元データを復元し、1つのブロックデータを復元することができる場合に、受信装置13が、送信パケット111の番号3、7、および8のパケットをロスしたとする。すなわち、受信パケット112においては、パケット番号3、7、および8のパケットがロスされている。このように送信パケット111より任意のパケットを3つロスした場合、受信装置13は、そのロスしたパケットと同じブロックに対応するパケットを、上述したパケット番号1乃至9のパケット以外に3つ(図11の場合、パケット番号10乃至12を)受信すれば、元データを復元することができる。すなわち、受信装置13は、送信装置11が送信するパケットの中から、必要な数のパケットを受信することができれば、そのパケットが同じブロックに対応するパケットであればどのパケットであっても、元データを復元することができるようになされている。その復元処理の詳細については後述する。
A packet transmitted from the
なお、上述したバッファ104以降のモジュールが実行する処理は、OSI階層モデルにおける、アプリケーション層、プレゼンテーション層、およびセション層の処理である。
Note that the processing executed by the modules after the
このように、受信装置13は、送信装置11より送信したパケットの内、任意のパケットを所定の数以上取得すれば、元データ(送信用データ)を復元することができる。すなわち、受信装置13は、送信装置11が送信する変換データを用いて、元データを復元するようにすることにより、パケットロスに対する耐性を向上させることができ、データの送受信をより正確、かつ、より容易に行うようにデータを受信することができる。
As described above, the receiving
次に、ロスパケットの復元について説明する。 Next, restoration of lost packets will be described.
図12は、パケットデータ復元部105の詳細な構成例を示すブロック図である。
FIG. 12 is a block diagram illustrating a detailed configuration example of the packet
図12において、図10のバッファ部104より供給されるアプリケーションデータである受信パケットデータは、受信パケットデータ保持部121に供給される。そして、受信パケットデータ保持部121が1ブロック分の元データを復元するために十分な数のアプリケーションデータを取得すると、行列式作成部122は、受信パケットデータ保持部121にアプリケーションデータ(変換データ)を要求して取得し、さらに、係数行列供給部123に係数行列を要求して取得する。このとき、行列式作成部122は、取得したアプリケーションデータのヘッダに含まれる行番号93に基づいて、係数行列の、各変換データに対応する行のみを要求する。係数行列供給部123は、送信装置11において使用された(式(1)に示される)係数行列と同じ係数行列を予め保持しており、行列式作成部122の要求に基づいて、その係数行列の要求された行成分のみを供給する。
In FIG. 12, received packet data that is application data supplied from the
行列式作成部253は、以上のように各情報を取得すると、元データを復元するための行列式である式(2)を作成する。 When the determinant creating unit 253 acquires each piece of information as described above, the determinant creating unit 253 creates Formula (2) that is a determinant for restoring the original data.
なお、式(2)において、式(1)の場合と同様に、乗算はガロア体上の演算であり、加算はEOR演算を示す。式(2)の左辺第1項の行列は、予め係数行列供給部123において保持されているM行N列の係数行列、すなわち、式(1)の右辺第1項に示される係数行列と各成分の値が同じ係数行列(送信装置11が変換データを生成する際に利用する係数行列と同じ係数行列)より切り出された係数行列である。従って、この式(2)の左辺第1項の係数行列も、式(1)の係数行列の場合と同様に、j行i列目の成分Aijが、行毎の自然数rjを底とし、列番号iから値「1」を引いた値「i−1」を乗数とする値rj (i-1)となる。ただし、式(2)に示される係数行列の行成分は、受信装置13が受信したパケットが対応する行成分(すなわち、アプリケーションデータの行番号93において指定された行成分)のみで構成される。従って、例えば、受信装置13が、送信装置11が送信したM個のパケットの内、任意のN個のパケットを受信し、そのN個のパケットから元データを復元する場合、この式(2)の係数行列は、N行N列の行列となる。
In Expression (2), as in Expression (1), multiplication is an operation on a Galois field, and addition indicates an EOR operation. The matrix of the first term on the left side of Equation (2) is the coefficient matrix of M rows and N columns held in advance in the coefficient matrix supply unit 123, that is, the coefficient matrix shown in the first term on the right side of Equation (1) and each matrix It is a coefficient matrix cut out from a coefficient matrix having the same component value (the same coefficient matrix as the coefficient matrix used when the
式(2)の左辺第2項の行列は、復元される元データD1乃至DNを成分とする行列であり、右辺の行列は、受信した変換データS(S1乃至SMのいずれか)を成分とする行列である。すなわち、式(2)は、元データD1乃至DNを変数とする連立方程式であり、パケットデータ復元部105は、この連立方程式を解くことにより、元データD1乃至DNを復元する。
The matrix of the second term on the left side of Equation (2) is a matrix having the original data D 1 to D N to be restored as components, and the matrix on the right side is one of the received converted data S (S 1 to S M ) As a component. That is, Equation (2) is a system of equations to the original data D 1 to D N variables, packet
行列式作成部122は、受信した変換データSをアプリケーションデータのヘッダに含まれる行番号93に基づいて整列し、係数行列供給部123より、係数行列の、行番号93の行成分を切り出して取得することにより、式(2)を作成する。
The
行列式作成部122は、以上のような行列式を作成すると、それを行列式演算部124に供給する。行列式演算部124は、この行列式をガロア体(ガロア拡大体)上で演算し、例えば、ガウスの消去法を用いて、元データD1乃至DNの解を求める。求解方法は、ロスした元データを算出することができるものであれば、どのようなものであってもよい。
When the
元データD1乃至DNの解を求めると、行列式演算部124は、その解を解出力部126に供給する。解出力部126は、その解を元データとして、図10のブロックデータ復元部106に供給する。
When the solutions of the original data D 1 to D N are obtained, the
以上のようにパケットデータ復元部105が復元処理を行うことにより、受信装置13は、送信装置11に再送要求をすることなしに、元データを容易に復元することができる。また、図11を参照して説明したように、受信装置13は、送信装置11が送信する変換データの内、所定の数の任意の変換データを取得すれば、元データを復元することができるので、例えば、パケットをロスした場合であっても、ロスした数と同数のパケットを任意に追加的に受信すればよく、カルーセル方式によりパケットを送信する場合と比較して、高速に復元処理を開始することができ、受信処理をより高速に実行することができる。
As described above, when the packet
次に、送信装置11における、上述した各部の処理の流れについて説明する。
Next, the process flow of each unit described above in the
外部からの送信データの供給が開始されると、送信装置11は、データ送信処理を開始する。図3の送信装置11によるデータ送信処理を図13のフローチャートを参照して説明する。
When the supply of transmission data from the outside is started, the
最初に、送信データが外部より供給されると、送信装置11のデータ分割部21は、ステップS1において、送信データをブロックに分割し、分割したブロックデータをブロック分割部22に供給する。ブロック分割部22は、ステップS2において、供給されたブロックデータをさらにパケットデータに分割し、それを元データとして、変換データ生成部23に供給する。なお、以下の処理は、ブロック単位で行われる。
First, when transmission data is supplied from the outside, the
パケットデータを供給された変換データ生成部23は、ステップS3において、変換データ生成処理を実行して、ガロア体上における四則演算を行い、元データを変換して変換データを生成し、それをアプリケーションデータ生成部24に供給する。変換データ生成処理の詳細については、図14のフローチャートを参照して説明する。
In step S3, the conversion
変換データを供給されたアプリケーションデータ生成部24は、ステップS4において、アプリケーションデータ生成処理を実行し、アプリケーションデータを生成し、生成したアプリケーションデータをUDPパケット化部25に供給する。なお、アプリケーションデータ生成処理の詳細については、図15のフローチャートを参照して後述する。
The application
アプリケーションデータを供給されたUDPパケット化部25は、ステップS5において、アプリケーションデータをUDPパケット化し、それをバッファ26に供給する。バッファ26は、供給されたUDPパケットを一時保持し、出力制御部27がステップS6において、そのバッファ26に保持されているUDPパケットを任意の順序で取り出すことで、UDPパケットの送信順を変更する。出力制御部27は、取り出したUDPパケットをIP処理部28に供給する。ステップS7において、IP処理部28は、供給されたUDPパケットをIPパケット化してイーサネット(R)処理部29に供給し、イーサネット(R)処理部29は、供給されたIPパケットをさらにパケット化するなどして、出力制御部27が変更した順番で、そのパケット(それぞれUDPパケットを含む)を、ケーブル30を介してネットワーク12(受信装置13)に送信する。
The
そして、ブロック分割部22は、ステップS8において、外部より送信装置11に供給された送信データを構成する全ブロックに対して処理が終了したか否かを判定し、終了していないと判定した場合は、ステップS2に処理を戻し、それ以降の処理を繰り返す。また、全ブロックに対して送信処理が終了したと判定した場合、ブロック分割部22は、ステップS9に処理を進め、終了処理を行った後、データ送信処理を終了する。
Then, in step S8, the
以上のようにしてデータ送信処理が実行される。これにより、送信装置11は、ガロア体上の四則演算を用いて元データを変換データに変換してから受信装置13に送信するので、受信装置13が、任意のパケット(変換データ)を所定の数以上受信すれば、元データを復元することができるように、データを容易かつ正確に送信することができる。また、送信装置11は、パケットデータの送信順をシャッフルし、パケット番号と独立した順序で送信するので、受信装置13のバースト的パケットロスへの耐性も高めることができる。すなわち、図2の通信システム10は、より容易に、より正確な通信を行うことができる。
The data transmission process is executed as described above. As a result, the
次に、図14のフローチャートを参照して、図13のステップS3において実行される変換データ生成処理について説明する。 Next, the conversion data generation process executed in step S3 of FIG. 13 will be described with reference to the flowchart of FIG.
ブロック分割部22より元データを供給された変換データ生成部23の元データ保持部61は、ステップS21において、供給された元データを一時的に保持していき、1ブロック分保持する。
The original
元データ保持部61が1ブロック分の元データを保持すると、行列式生成部62は、ステップS22において、係数行列供給部73に対して係数行列を要求する。係数行列供給部63は、その要求に基づいて、予め用意した係数行列(式(1)の右辺第1項の行列)を行列式生成部62に供給する。
When the original
係数行列を取得した行列式生成部62は、ステップS23において、元データ保持部61に保持されている1ブロック分の元データを取得して、式(1)のような、変換データを生成するための行列式を生成する。行列式を生成した行列式生成部62は、それを行列式演算部64に供給する。
In step S23, the
行列式を供給された行列式演算部64は、ステップS24において、ガロア体上の四則演算(EOR演算を含む)を行い、その行列式を演算して、その解(変換データS)を解出力部65に供給する。
In step S24, the determinant operation unit 64 supplied with the determinant performs four arithmetic operations (including EOR operation) on the Galois field, calculates the determinant, and outputs the solution (transformed data S) as a solution. Supply to
解出力部65は、ステップS25において、供給された解を、送信用の変換データとして、アプリケーションデータ生成部24に出力し、処理を図13のステップS4に戻してそれ以降の処理を実行させる。
In step S25, the
以上のように、変換データ生成部23は、元データや予め用意された係数行列を用いてガロア体上の四則演算(EOR演算を含む)を行い、変換データを生成する。これにより送信装置11は、受信装置13が、送信装置11より送信したパケットの内、任意のパケットを所定の数以上取得すれば、元データ(送信用データ)を復元することができるようにすることができる。すなわち、送信装置11は、受信装置13のパケットロスに対する耐性を高め、データの送受信をより正確、かつ、より容易に行うようにデータを送信することができる。また、送信装置11は、変換データのパケットの送信順をシャッフルしてから送信するので、受信装置13のバースト的パケットロスに対する耐性を高めることもできる。
As described above, the conversion
次に、図13のステップS4において実行されるアプリケーションデータ生成処理の詳細を図15のフローチャートを参照して説明する。 Next, details of the application data generation processing executed in step S4 of FIG. 13 will be described with reference to the flowchart of FIG.
例えば、電源投入時等、パケットデータが供給される前に、ステップS41において、アプリケーションデータ生成部24の変換データ受付部81は、変換データカウンタ82およびブロックカウンタ83のカウント値をそれぞれ初期化し、例えば値「0」に設定する。
For example, before the packet data is supplied, such as when the power is turned on, in step S41, the conversion
ステップS42において、変換データ受付部81は、変換データを受け付けたか否かを判定し、変換データを受け付けたと判定した場合、ステップS43に処理を進め、受け付けた変換データがブロック内の最初のパケットデータであるか否かを判定する。ブロック内の最初のパケットデータであると判定した場合、変換データ受付部81は、ステップS44に処理を進め、ブロックカウンタ83をカウントアップさせてカウント値を「1」増加させ、処理をステップS45に進める。なお、ステップS43において、既に、そのブロックの変換データを受け付けており、受け付けた変換データがブロック内の最初のパケットデータでないと判定した場合、変換データ受付部81は、ステップS44の処理を省略し、ステップS45に処理を進める。
In step S42, the conversion
ステップS45において、変換データ受付部81は、変換データカウンタ82をカウントアップさせてカウント値を「1」増加させるとともに、受け付けた変換データをヘッダ付加部84に供給する。変換データを供給されたヘッダ付加部84は、ステップS46において、変換データカウンタ82およびブロックカウンタ83よりそれぞれカウント値を取得し、変換データにブロックカウンタ83のカウント値をブロック番号として、変換データカウンタ82のカウント値を行番号(変換データが対応する係数行列の行番号)として、それぞれ付加し、ステップS47において、カウント値を付加した変換データをアプリケーションデータとしてUDPパケット化部25に供給する。
In step S <b> 45, the conversion
ステップS47の処理を終了したヘッダ付加部84は、ステップS48に処理を進める。また、ステップS42において、変換データを受け付けていないと判定した場合、変換データ受付部81は、ステップS43乃至ステップS47の処理を省略し、ステップS48に処理を進める。
After completing the process in step S47, the header adding unit 84 advances the process to step S48. If it is determined in step S42 that conversion data has not been received, the conversion
ステップS48において、ヘッダ付加部84は、ブロックの変換データを全て処理したか否かを判定し、まだ未処理のパケットデータが存在すると判定した場合、ステップS42に処理を戻し、それ以降の処理を繰り返す。ステップS48において、全てのパケットデータを処理したと判定した場合、ヘッダ付加部84は、アプリケーションデータ生成処理を終了し、図13のステップS5に処理を戻す。 In step S48, the header adding unit 84 determines whether or not all the conversion data of the block has been processed. If it is determined that there is still unprocessed packet data, the process returns to step S42, and the subsequent processing is performed. repeat. If it is determined in step S48 that all packet data has been processed, the header adding unit 84 ends the application data generation process and returns the process to step S5 in FIG.
以上のように、アプリケーションデータ生成部24のヘッダ付加部84がブロック番号を変換データに付加することにより、受信装置13は、後述するように、受信したデータのブロックを識別することができ、ブロック単位で処理することができる。また、ヘッダ付加部84が行番号を変換データに付加することにより、受信装置13は、後述するように、その行番号に基づいて、受信した変換データを係数行列に対応させ、元データを復元するための行列式を生成することができる。
As described above, the header adding unit 84 of the application
次に、受信装置13が実行する処理の流れについて説明する。
Next, the flow of processing executed by the receiving
最初に、図10の受信装置13によるデータ受信処理を図16のフローチャートを参照して説明する。
First, data reception processing by the receiving
受信装置13に対して、送信装置11よりパケットが送信され、そのパケットがケーブル100を介してイーサネット(R)処理部101に供給されると、イーサネット(R)処理部101は、ステップS61において、そのパケットを受信する。パケットを受信したイーサネット(R)処理部101は、そのパケットからIPパケットを抽出し、それをIP処理部102に供給する。IP処理部102は、そのIPパケットからUDPパケットを抽出し、それをアプリケーションデータ抽出部103に供給する。
When a packet is transmitted from the
UDPパケットを供給されたアプリケーションデータ抽出部103は、ステップS62において、そのUDPパケットからアプリケーションデータを抽出し、それをバッファ部104に供給する。バッファ部104は、ステップS63において、その供給されたアプリケーションデータを、ブロック毎に分類して保持し、ステップS64において、1ブロック分の元データの数だけアプリケーションデータを保持したか否かを判定する。すなわち、バッファ部104は、各ブロックのアプリケーションデータを、所定の時間蓄積していき、アプリケーションデータを所定の数以上保持すると、ステップS64のそれまでに蓄積した対象ブロックのアプリケーションデータをパケットデータ復元部105に供給する。
The application data extraction unit 103 supplied with the UDP packet extracts application data from the UDP packet and supplies it to the
ステップS64において、まだ1ブロック分のアプリケーションデータを保持していないと判定した場合、バッファ部104は、ステップS61に処理を戻し、それ以降の処理を繰り返す。すなわち、受信装置13は、ステップS61乃至ステップS64の処理を繰り返しながら、バッファ部104に所定の時間が経過するまで待機する。
If it is determined in step S64 that the application data for one block has not been held yet, the
ステップS65において、パケットデータ復元部105は、供給されたアプリケーションデータを用いて、元データ復元処理を実行し、変換データから元データを復元する。なお、元データ復元処理の詳細については、図17のフローチャートを参照して後述する。元データを復元したパケットデータ復元部105は、その復元された元データをブロックデータ復元部106に供給する。
In step S65, the packet
ステップS66においてブロックデータ復元部106は、供給された元データを組み合わせてブロックデータを復元し、復元したブロックデータを再生出力部107に供給する。再生出力部107は、供給されたブロックデータを、一時的に保持し、所定のタイミングで再生して出力することにより、ブロックデータ復元部106より順次供給されるブロックデータを連続して出力するようにしてブロックデータを連結し、送信前の送信用データと同等の受信データとして受信装置13の外部に出力する。
In step S <b> 66, the block
再生出力部107は、ステップS67において、データ受信処理を終了するか否かを判定し、1つの受信データとしての全てのブロックデータを処理しておらず、データ受信処理を終了しないと判定した場合、処理をステップS61に戻し、それ以降の処理を各部に繰り返させる。
In step S67, the
また、ステップS67において、データ受信処理を終了すると判定した場合、再生出力部107は、ステップS68において各部に終了処理を実行させ、データ受信処理を終了する。
If it is determined in step S67 that the data reception process is to be terminated, the
以上のようにしてデータ受信処理を実行することにより、受信装置13は、高速であり、かつ、復元性能の高い復元処理を、製造コストを増大せずに実現し、より容易に、かつ、より正確にデータを受信することができる。
By executing the data reception process as described above, the
次に、図16のステップS65において実行される元データ復元処理の詳細を、図17のフローチャートを参照して説明する。 Next, details of the original data restoration process executed in step S65 of FIG. 16 will be described with reference to the flowchart of FIG.
受信装置13において、受信されたパケットデータ(アプリケーションデータ)が、パケットデータ復元部105の受信パケットデータ保持部121に供給されると、受信パケットデータ保持部121は、その情報を行列式作成部122に供給する。
In the receiving
行列式作成部253は、その情報に基づいて、元データ復元処理を開始し、ステップS81において、受信パケットデータ保持部121よりアプリケーションデータ(変換データ)を取得し、ステップS82において、取得したアプリケーションデータの行番号を参照して、受信した変換データを整列させる。
The determinant creation unit 253 starts the original data restoration process based on the information, acquires application data (conversion data) from the received packet
また、行列式作成部122は、ステップS83において、アプリケーションデータの行番号に基づいて、係数行列供給部123に保持されている係数行列(M行N列)より必要な部分(行成分)を取得する。
In step S83, the
なお、この処理は、係数行列供給部123が、係数行列から、行列式作成部122に要求された部分(行成分)を切り出して、それを行列式作成部122に供給するようにしてもよいし、行列式作成部122が、係数行列供給部123より供給されたM行N列の係数行列から、必要な部分(行成分)を切り出すようにしてもよい。
In this process, the coefficient matrix supply unit 123 may extract a portion (row component) requested by the
すなわち、行列式作成部122は、係数行列の、変換データに対応する行成分を抽出し、それらを成分とする新たな係数行列を取得する。
That is, the
そして、ステップS84において、行列式作成部122は、取得した係数行列および変換データを用いて、元データを復元するための行列式(例えば、式(2))を作成し、作成した行列式を行列式演算部124に供給する。
In step S84, the
行列式演算部124は、ステップS85において、ガロア体演算部125を用いて、供給された行列式をガロア体上において演算し、例えば、ガウスの消去法等の演算方法により、解を求め、その解を解出力部126に供給する。解出力部125は、ステップS86において、供給された解を元データとしてブロックデータ復元部106に供給し、元データ復元処理を終了して、図16のステップS66に処理を戻す。
In step S85, the
以上のように復元処理を行うことにより、パケットデータ復元部105は、復元性能の高い復元処理を実現することができる。すなわち、受信装置13は、より容易、かつ、より正確にデータを受信することができる。
By performing the restoration process as described above, the packet
以上のように、図2に示される通信システム10においては、送信装置11が、送信用データを分割して生成した複数の元データを、ガロア体(ガロア拡大体)上の演算を用いてブロック毎に合成して変換し、各ブロックに対して複数の(元データの数より多くの)変換データを生成し、それらを受信装置13に送信する。受信装置13は、そのように送信された複数の変換データを、ブロック毎に、少なくとも、元データの数以上受信し、受信した元データの数以上の変換データを用いて、元データを復元する。このようにすることにより、送信装置11および受信装置13は、より容易、かつ、より正確にデータを送受信することができる。
As described above, in the
なお、このような変換データを元データの冗長データとし(各変換データが元データの内容を含んでいるため)、送信装置11がその冗長データ元データとともに送信し、受信装置13がそれらを受信して、元データをロスした場合のみ、受信した冗長データを用いて、そのロスした元データを復元するようにしてもよい。この方法の場合、受信装置13がロスした元データのみを復元することができれば良いので、送信装置11は、送信する冗長データ(変換データ)の数を削減することができるとともに、受信装置13は、元データをロスしていない場合、元データの復元処理を省略することもできる。
Note that such converted data is made redundant data of the original data (since each converted data includes the contents of the original data), the transmitting
しかしながら、実際の通信において、パケットロス(元データのロス)が発生しないことは稀であり、さらに、この方法の場合、例えば、送信装置11は、元データの場合と冗長データの場合とで互いに異なる内容を含むヘッダを付加し、2種類のアプリケーションデータを生成して送信しなければならず、また、受信装置13は、受信したパケットが元データのパケットであるか冗長データのパケットであるかを判別してそれぞれを別のデータとして処理したり、元データをロスしたか否かを判定したり、元データをロスした場合のみ、受信した冗長データを用いてそのロスした元データを復元するための行列式を作成して演算を行い、元データを復元したりしなければならない等、複雑な処理を必要とし、かえって送信装置11や受信装置13の製造コストが増大してしまう恐れもある。
However, it is rare that packet loss (original data loss) does not occur in actual communication. Further, in the case of this method, for example, the
以上に説明した図2に示される通信システム10における通信方法の場合、このような複雑な処理を必要とせずに、容易に、データの送受信を行うことができ、かつ、上述したように元データを任意の変換データより復元することができるので、より正確にデータの送受信を行うことができる。
In the case of the communication method in the
さらに、図2に示される通信システム10における通信方法の場合、受信装置13は、元データを任意の変換データより復元することができるので、例えば、送信装置11が変換データを含むパケット群を送信中に、その送信の途中から、パケットの受信を開始しても、全ブロックについて元データの数より多くの変換データを受信することができれば、元データを復元することができる。これは、例えば、マルチキャストやブロードキャスト等のように、1対多の通信においてより効果的である。
Furthermore, in the case of the communication method in the
以上においては、通信システム10が、データを送信する送信装置11およびデータを受信する受信装置13により構成されるように説明したが、通信システムの構成は、これに限らず、通信システムは、例えば、図18に示されるように、図1の送信装置11および受信装置13を、それぞれモジュールとし、送信部および受信部とし、それらの両方を含む2台の送受信装置により構成されるようにしてもよい。
In the above description, the
図18において、通信システム201は、図2のネットワーク12と同様の、ネットワーク212に接続された送受信装置211および送受信装置213により構成される。送受信装置211は、送信部221および受信部222を含み、送受信装置213は、送信部231および受信部232を含む。送信部221および送信部231は、図2の送信装置11と基本的に同様の構成であり、同様に動作するのでその詳細な説明は省略する。
18, the communication system 201 includes a transmission /
また、図18において、受信部222および受信部232は、図2の受信装置13と基本的に同様の構成であり、同様に動作するのでその詳細な説明は省略する。
In FIG. 18, the receiving
すなわち、図18の通信システム201は、内蔵する送信部および受信部をそれぞれ有する送受信装置211および送受信装置213により構成され、それらが互いに上述したような演算を用いて元データを変換した変換データを利用して、再送制御なしに、通信処理を行う。
That is, the communication system 201 in FIG. 18 includes a transmission /
このようにすることにより、双方向の通信においても、受信部は、高速であり、かつ、復元性能の高い復元処理を、製造コストを増大せずに実現することができる。従って、送受信装置211および送受信装置213は、より容易、かつ、より正確にデータを送受信することができる。
In this way, even in bidirectional communication, the receiving unit can realize a restoration process that is high speed and has high restoration performance without increasing the manufacturing cost. Therefore, the transmission /
なお、図2においては、通信システム10は、1台の送信装置11および1台の受信装置13により構成されるように説明したが、これに限らず、複数台の送信装置または複数台の受信装置を含むようにしてもよい。
In FIG. 2, the
図19は、本発明を適用したコンテンツ配信システムの構成例を示す図である。コンテンツ配信システム301のサーバ311は、図2のネットワークと同等のネットワーク312に接続され、同様にネットワーク312に接続された複数の端末装置313および314により構成される。
FIG. 19 is a diagram showing a configuration example of a content distribution system to which the present invention is applied. The server 311 of the content distribution system 301 is connected to a
図19において、サーバ311は、送信装置11と同様の機能を有しており、ネットワーク312を介して、端末装置313および端末装置314のそれぞれに対して、画像データや音声データ等のコンテンツデータを分割し、その元データに対して上述したような演算を行い、元データを変換して得られた変換データをパケット化してマルチキャストに送信する。
In FIG. 19, the server 311 has the same function as the
端末装置313および端末装置314は、それぞれ、受信装置13と同様の機能を有しており、サーバ311より供給されるパケットをそれぞれ受信し、上述したように元データを復元する等して、コンテンツデータを復元し、再生する。
Each of the terminal device 313 and the terminal device 314 has the same function as that of the receiving
なお、サーバ311は、コンテンツデータをダウンロード配信するようにしてもよいし、ストリーミング配信するようにしてもよい。 Note that the server 311 may download and distribute the content data, or may perform streaming distribution.
以上のように、サーバ311が複数台の端末装置313および314に対してパケットを配信する場合、端末装置313および端末装置314がパケットをロスしたときに、そのパケットの再送要求をサーバ311にするようにすると、サーバ311に再生要求が集中し、サーバ311の負荷が大きくなり、ダウンしてしまう恐れがある。従って、サーバ311が、上述したように、変換データを生成し、それを配信することにより、端末装置313および端末装置314は、パケットをロスしても、再生要求をせずに、コンテンツデータを復元することができる。従って、サーバ311における負荷の増大を抑制することができ、安定したコンテンツデータの配信サービスを提供することができる。 As described above, when the server 311 distributes a packet to a plurality of terminal devices 313 and 314, when the terminal device 313 and the terminal device 314 lose a packet, the retransmission request for the packet is set to the server 311. As a result, reproduction requests are concentrated on the server 311, and the load on the server 311 increases and there is a possibility that the server 311 will be down. Therefore, as described above, the server 311 generates the conversion data and distributes it, so that even if the terminal device 313 and the terminal device 314 lose the packet, the content data is not requested even if the packet is lost. Can be restored. Therefore, an increase in load on the server 311 can be suppressed, and a stable content data distribution service can be provided.
以上においては、送信用データを分割したブロックのデータサイズ(ブロックサイズ)は、互いに共通であるように説明したが、これに限らず、各ブロックで互いに異なるブロックサイズとなるようにしてももちろんよい。その場合、例えば、送信装置11が、アプリケーションデータのヘッダに、ブロック番号とともに、そのブロックのブロックサイズの情報を付加し、受信装置13がそのブロックサイズの情報に基づいて、そのブロックの、受信するパケット数を決定するようにしてもよい。
In the above description, the data sizes (block sizes) of the blocks obtained by dividing the transmission data have been described as being common to each other. However, the present invention is not limited to this, and the blocks may of course have different block sizes. . In this case, for example, the
また、以上においては、コンテンツデータである送信用データを、データの先頭から終了に向かって、順番に切り出すように説明したが、ブロックの切り出し方はどのようなものであってもよい。ただし、そのブロックの生成方法は、通信システム10の各装置において予め決められているか、送信装置11が受信装置13にその方法に関する情報を供給する等して、送信装置11と受信装置13とで共有しておく必要がある。受信装置13は、その情報に基づいて、送信装置11によるブロックの生成方法に対応する方法で、ブロックより送信用データを復元する。
In the above description, the transmission data, which is content data, has been described as being cut out in order from the beginning to the end of the data. However, any block cutting method may be used. However, the block generation method is determined in advance in each device of the
なお、ブロックは処理の単位であるので、実際には、送信装置11は、その処理の流れに応じてコンテンツデータを分割し、ブロックを生成するようにするのが望ましい。従って、送信装置11が、その処理の順番によって、例えば、コンテンツデータより一定の規則で離散的に抜き出して1つのブロックとするようにしてもよい。
Since a block is a unit of processing, it is actually preferable that the
また、上述した変換データを送信する方法と、再送要求を用いる方法とを組み合わせて利用するようにしてももちろんよい。その場合、受信側の装置は、パケットロスが発生した場合、まず、受信した変換データにより元データの復元を試み、復元不能であった場合に、送信元に対してロスしたパケットの再送要求を行うようにする。このようにすることにより、再送要求の回数を削減することができるので、送信側と受信側の両方の装置において、再送要求による処理の負荷を軽減させることができる。すなわち、システム全体の負荷を削減することができる。 Of course, the above-described method of transmitting converted data and the method of using a retransmission request may be used in combination. In that case, if a packet loss occurs, the receiving device first tries to restore the original data using the received converted data, and if it cannot restore, it sends a retransmission request for the lost packet to the transmission source. To do. In this way, since the number of retransmission requests can be reduced, it is possible to reduce the processing load due to the retransmission request in both the transmission side and reception side devices. That is, the load on the entire system can be reduced.
以上においては、送信装置11が、変換データの生成処理とデータ送信処理とを同時に行うように説明したが、これに限らず、例えば、送信装置11が予め送信用データを取得し、それを上述したように変換データに変換して蓄積しておき、受信装置13の要求に基づいて、その蓄積してある変換データを供給するようにしてももちろんよい。
In the above description, it has been described that the
また、式(1)および式(2)において、係数行列として、上述した係数行列のの行と列とで各成分を入れ替えたものを使用するようにしてももちろんよい。ただし、その場合、各行が互いに独立するとは限らず、受信装置13は、必ずしも全ての解を求める(N個の変換データからN個の元データを復元できる)とは限らないので、N個より多く(マージン分として)パケットを受信する必要がある。そして、受信装置13が、受信したN個+α個のパケットから、互いに独立したN個の連立方程式をたて、それを解くことによりN個の元データを復元するようにする。例えば、受信装置13が、受信したN個+α個の変換データを用いて上述したように行列式を作成し、それを、ピボット選択を行いながら求解するようにする。
In the equations (1) and (2), as a coefficient matrix, it is of course possible to use a matrix in which the respective components are exchanged between the above-described coefficient matrix rows and columns. However, in this case, the rows are not necessarily independent from each other, and the receiving
図2の通信システム10において、送信装置11と受信装置13が接続されるネットワーク12は、その一部または全部が有線により構成されるようにしてもよいし,無線により構成されるようにしてもよい。またネットワーク12が複数のネットワークにより構成されるようにしてもよい。すなわち、送信装置11と受信装置13とが複数のルータ等を介して接続されるようにしても良い。
In the
さらに、送信装置11および受信装置13は、上述した構成以外の構成を含むようにしてもよい。例えば、モニタ等の表示部を設けるようにしても良いし、キーボードやボタン等の入力部を設けるようにしてもよい。
Furthermore, the
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図2の送信装置11や受信装置13には、図20に示されるようなパーソナルコンピュータが含まれる。
The series of processes described above can be executed by hardware or can be executed by software. In this case, for example, the
図20において、パーソナルコンピュータ401のCPU411は、ROM(Read Only Memory)412に記憶されているプログラム、または記憶部423からRAM413にロードされたプログラムに従って各種の処理を実行する。RAM413にはまた、CPU411が各種の処理を実行する上において必要なデータなども適宜記憶される。
In FIG. 20, the
CPU411、ROM412、およびRAM413は、バス414を介して相互に接続されている。このバス414にはまた、入出力インタフェース420も接続されている。
The
入出力インタフェース420には、キーボード、マウスなどよりなる入力部421、CRT、LCDなどよりなるディスプレイ、並びにスピーカなどよりなる出力部422、ハードディスクなどより構成される記憶部423、モデムなどより構成される通信部424が接続されている。通信部424は、インターネットを含むネットワーク12を介しての通信処理を行う。
The input /
入出力インタフェース420にはまた、必要に応じてドライブ425が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア426が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部423にインストールされる。
A
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。 When the above-described series of processing is executed by software, a program constituting the software is installed from a network or a recording medium.
この記録媒体は、例えば、図20に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア426により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM412や、記憶部423に含まれるハードディスクなどで構成される。
For example, as shown in FIG. 20, the recording medium is distributed to distribute the program to the user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which the program is recorded, an optical disk (
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 In the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. It also includes processes that are executed individually.
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。 Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
10 通信システム, 11 送信装置 12 ネットワーク, 13 受信装置, 21 データ分割部, 22 ブロック分割部, 23 変換データ生成部, 24 アプリケーションデータ生成部, 25 UDPパケット化部, 26 バッファ, 27 出力制御部, 28 IP処理部, 29 イーサネット(R)処理部, 30 ケーブル, 41 送信データ, 42 ブロック, 43 元データ, 44 変換データ, 45 送信パケット, 61 元データ保持部, 62 行列式生成部, 63 係数行列供給部, 64 行列式演算部, 65 解出力部, 66 ガロア体演算部, 81 変換データ受付部, 82 変換データカウンタ, 83 ブロックカウンタ, 84 ヘッダ付加部, 91 アプリケーションデータ, 92 ブロック番号, 93 行番号, 94 変換データ, 100 ケーブル, 101 イーサネット(R)処理部, 102 IP処理部, 103 アプリケーションデータ抽出部, 104 バッファ部, 105 パケットデータ復元部, 106 ブロックデータ復元部, 107 再生出力部, 121 受信パケットデータ保持部, 122 行列式作成部, 123 係数行列供給部, 124 行列式演算部, 125 ガロア体演算部, 126 解出力部, 201 通信システム, 211 送受信装置, 212 ネットワーク, 213 送受信装置, 221 送信部, 222 受信部, 231 送信部, 232 受信部, 301 コンテンツ配信システム, 311 サーバ, 312 ネットワーク, 313 端末装置, 314 端末装置, 401 パーソナルコンピュータ, 411 CPU, 412 ROM, 413 RAM, 414 バス, 420 入出力インタフェース, 421 入力部, 422 出力部, 423 記憶部, 424 通信部, 425 ドライブ, 426 リムーバブルメディア DESCRIPTION OF SYMBOLS 10 Communication system 11 Transmission apparatus 12 Network 13 Reception apparatus 21 Data division part 22 Block division part 23 Conversion data generation part 24 Application data generation part 25 UDP packetization part 26 Buffer 27 Output control part 28 IP processing unit, 29 Ethernet (R) processing unit, 30 cable, 41 transmission data, 42 blocks, 43 original data, 44 conversion data, 45 transmission packet, 61 original data holding unit, 62 determinant generation unit, 63 coefficient matrix Supply unit, 64 determinant operation unit, 65 solution output unit, 66 Galois field operation unit, 81 conversion data reception unit, 82 conversion data counter, 83 block counter, 84 header addition unit, 91 application data, 92 block number, 93 Line number, 94 conversion data, 100 cable, 101 Ethernet (R) processing unit, 102 IP processing unit, 103 application data extraction unit, 104 buffer unit, 105 packet data restoration unit, 106 block data restoration unit, 107 reproduction output unit, 121 reception packet data holding unit, 122 determinant creation unit, 123 coefficient matrix supply unit, 124 determinant calculation unit, 125 Galois field calculation unit, 126 solution output unit, 201 communication system, 211 transmission / reception device, 212 network, 213 transmission / reception device , 221 transmitting unit, 222 receiving unit, 231 transmitting unit, 232 receiving unit, 301 content distribution system, 311 server, 312 network, 313 terminal device, 314 terminal device, 401 personal Computer, 411 CPU, 412 ROM, 413 RAM, 414 bus, 420 input-output interface, 421 input unit, 422 output unit, 423 storage unit, 424 communication unit, 425 drive, 426 a removable media
Claims (23)
前記送信装置は、前記送信用データを分割することにより複数の第1のデータを生成し、生成された複数の前記第1のデータを、所定のガロア体上の演算によって合成することにより、互いに独立した複数の第2のデータに変換し、得られた複数の前記第2のデータを、それぞれパケット化して前記受信装置に送信し、
前記受信装置は、複数の前記第2のデータを、前記第2のデータが対応する前記第1のデータの数以上受信し、受信された前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを保持し、保持された、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを用いて、前記ガロア体上の演算を行い、前記第2のデータに対応する前記第1のデータを復元する
ことを特徴とする送受信システム。 A transmission / reception system comprising: a transmission device that transmits data for transmission; and a reception device that receives the transmission data transmitted by the transmission device,
The transmission device generates a plurality of first data by dividing the transmission data, and combines the plurality of generated first data by an operation on a predetermined Galois field, thereby Converting into a plurality of independent second data, the plurality of obtained second data, respectively packetized and transmitted to the receiving device,
The receiving device receives a plurality of the second data more than the number of the first data corresponding to the second data, and the received second data corresponds to the first data. The second data that is greater than or equal to the number of the second data is retained, and the second data that is greater than or equal to the number of the first data corresponding to the retained second data is used to perform an operation on the Galois field. The transmission / reception system characterized by restoring the first data corresponding to the second data.
前記送信用データを分割することにより複数の第1のデータを生成するデータ生成手段と、
前記データ生成手段により生成された複数の前記第1のデータを、所定のガロア体上の演算によって合成することにより、前記第1のデータを復元するためのデータであり、互いに独立した複数の第2のデータに変換する変換手段と、
前記変換手段により複数の前記第1のデータが変換されて得られた複数の前記第2のデータを、それぞれパケット化して前記受信装置に送信する送信手段と
を備えることを特徴とする送信装置。 A transmission device that transmits data for transmission to a reception device,
Data generating means for generating a plurality of first data by dividing the transmission data;
A plurality of the first data generated by the data generating means is data for restoring the first data by combining the first data by an operation on a predetermined Galois field. A conversion means for converting the data into two data;
A transmission device comprising: a transmission unit configured to packetize and transmit a plurality of the second data obtained by converting the plurality of first data by the conversion unit to the reception device.
予め定められた所定の係数行列を用いて、前記第1のデータを前記第2のデータに変換する行列式を生成する行列式生成手段と、
前記行列式生成手段により生成された前記行列式を、前記ガロア体上において演算し、前記第2のデータを求める演算手段と
を備えることを特徴とする請求項2に記載の送信装置。 The converting means includes
Determinant generating means for generating a determinant for converting the first data into the second data using a predetermined coefficient matrix;
The transmission apparatus according to claim 2, further comprising: a calculation unit that calculates the determinant generated by the determinant generation unit on the Galois field and obtains the second data.
ことを特徴とする請求項3に記載の送信装置。 Each component of the coefficient matrix is a value obtained by applying an arithmetic operation to a base that is a common natural number in each row, and the exponent of the power to obtain each component arranged in the row direction is The transmitting apparatus according to claim 3, wherein the transmitting apparatus is a continuous integer and the base values are different from each other for each row.
前記行列式生成手段は、前記係数行列供給手段により供給された前記係数行列を用いて、前記行列式を生成する
ことを特徴とする請求項3に記載の送信装置。 A coefficient matrix supply unit that holds the coefficient matrix and supplies the coefficient matrix according to a request of the determinant generation unit;
The transmission apparatus according to claim 3, wherein the determinant generation unit generates the determinant using the coefficient matrix supplied from the coefficient matrix supply unit.
前記送信手段は、前記情報付加手段により前記情報が付加された複数の前記第2のデータを、それぞれパケット化し、前記受信装置に送信する
ことを特徴とする請求項3に記載の送信装置。 The second data corresponding to the second data obtained by converting the first data by the conversion means corresponds to the second data, which is information used to restore the first data in the receiving device. Further comprising information adding means for adding information including the row number of the coefficient matrix;
The transmission apparatus according to claim 3, wherein the transmission means packetizes each of the plurality of second data to which the information is added by the information addition means, and transmits the packetized data to the reception apparatus.
ことを特徴とする請求項2に記載の送信装置。 The transmission device according to claim 2, wherein the conversion unit converts a plurality of the first data into the second data larger than the number of the first data.
前記送信手段は、前記送信順制御手段により、任意に決定された前記送信順で、複数の前記第2のデータを前記受信装置に送信する
ことを特徴とする請求項2に記載の送信装置。 A transmission order control means for controlling the transmission order of the plurality of second data obtained by converting the plurality of first data by the conversion means;
The transmission apparatus according to claim 2, wherein the transmission means transmits a plurality of the second data to the reception apparatus in the transmission order arbitrarily determined by the transmission order control means.
前記変換手段は、ブロック毎に、前記データ生成手段により生成された複数の前記第1のデータを複数の前記第2のデータに変換する
ことを特徴とする請求項2に記載の送信装置。 The data generation means divides the transmission data into blocks, and further generates a plurality of the first data by dividing the block.
The transmission device according to claim 2, wherein the conversion unit converts the plurality of first data generated by the data generation unit into a plurality of the second data for each block.
前記送信用データを分割することにより複数の第1のデータを生成するデータ生成ステップと、
前記データ生成ステップの処理により生成された複数の前記第1のデータを、所定のガロア体上の演算によって合成することにより、前記第1のデータを復元するためのデータであり、互いに独立した複数の第2のデータに変換する変換ステップと、
前記変換ステップの処理により複数の前記第1のデータが変換されて得られた複数の前記第2のデータを、それぞれパケット化して前記受信装置に送信するように制御する送信制御ステップと
を含むことを特徴とする送信方法。 A transmission method of a transmission device for transmitting data for transmission to a reception device,
A data generation step of generating a plurality of first data by dividing the transmission data;
Data for restoring the first data by combining a plurality of the first data generated by the processing of the data generation step by an operation on a predetermined Galois field, and a plurality of independent data A conversion step for converting to the second data of
A transmission control step of controlling the plurality of second data obtained by converting a plurality of the first data by the processing of the conversion step so as to be packetized and transmitted to the receiving device, respectively. A transmission method characterized by the above.
前記送信用データを分割することにより複数の第1のデータを生成するデータ生成ステップと、
前記データ生成ステップの処理により生成された複数の前記第1のデータを、所定のガロア体上の演算によって合成することにより、前記第1のデータを復元するためのデータであり、互いに独立した複数の第2のデータに変換する変換ステップと、
前記変換ステップの処理により複数の前記第1のデータが変換されて得られた複数の前記第2のデータを、それぞれパケット化して前記受信装置に送信するように制御する送信制御ステップと
を含むことを特徴とするプログラム。 In a program for causing a computer to perform transmission processing for transmitting data for transmission to a receiving device,
A data generation step of generating a plurality of first data by dividing the transmission data;
Data for restoring the first data by combining a plurality of the first data generated by the processing of the data generation step by an operation on a predetermined Galois field, and a plurality of independent data A conversion step for converting to the second data of
A transmission control step of controlling the plurality of second data obtained by converting a plurality of the first data by the processing of the conversion step so as to be packetized and transmitted to the receiving device, respectively. A program characterized by
前記送信装置が送信したデータであり、送信用データを分割した複数の第1のデータが所定のガロア体上の演算によって合成されることにより変換された互いに独立した複数の第2のデータを、前記第2のデータが対応する前記第1のデータの数以上受信する受信手段と、
前記受信手段により受信される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを保持する保持手段と、
前記保持手段により保持される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを用いて、前記ガロア体上の演算を行い、前記第2のデータに対応する前記第1のデータを復元する復元手段と
を備えることを特徴とする受信装置。 A receiving device for receiving data transmitted by a transmitting device,
A plurality of independent second data converted by combining a plurality of first data obtained by dividing the transmission data by calculation on a predetermined Galois field, which is data transmitted by the transmission device, Receiving means for receiving more than the number of the first data corresponding to the second data;
Holding means for holding the second data equal to or more than the number of the first data corresponding to the second data received by the receiving means;
Using the second data that is greater than or equal to the number of the first data corresponding to the second data, which is held by the holding means, performs an operation on the Galois field and corresponds to the second data And a restoring means for restoring the first data.
予め定められた所定の係数行列を用いて、前記第2のデータを前記第1のデータに変換する行列式を生成する行列式生成手段と、
前記行列式生成手段により生成された前記行列式を、前記ガロア体上において演算し、前記第1のデータを求める演算手段と
を備えることを特徴とする請求項12に記載の受信装置。 The restoration means includes
Determinant generating means for generating a determinant for converting the second data into the first data using a predetermined coefficient matrix;
The receiving apparatus according to claim 12, further comprising: an arithmetic unit that calculates the determinant generated by the determinant generating unit on the Galois field to obtain the first data.
ことを特徴とする請求項13に記載の受信装置。 In each row of the coefficient matrix, each component is a power based on a common natural number, each component that is continuous in the row direction is configured such that an exponent of the power is continuous, and at the base of the power The receiving apparatus according to claim 13, wherein the common natural number value is different for each row.
前記行列式生成手段は、前記係数行列供給手段により供給された前記係数行列を用いて、前記行列式を生成する
ことを特徴とする請求項13に記載の受信装置。 A coefficient matrix supply unit that holds the coefficient matrix and supplies the coefficient matrix according to a request of the determinant generation unit;
The receiving apparatus according to claim 13, wherein the determinant generating unit generates the determinant using the coefficient matrix supplied from the coefficient matrix supplying unit.
ことを特徴とする請求項15に記載の受信装置。 The determinant generating unit requests only a row component corresponding to the second data received by the receiving unit from the coefficient matrix held by the coefficient matrix supplying unit, and is supplied based on the request. The receiving apparatus according to claim 15, wherein the determinant is generated using only the row component.
ことを特徴とする請求項16に記載の受信装置。 The determinant generating unit is configured to supply the coefficient matrix based on information including a row number of the coefficient matrix corresponding to the second data, which is added to the second data received by the receiving unit. The receiving apparatus according to claim 16, wherein the row component is requested from a means, and the determinant is generated using only the row component supplied based on the request.
前記受信手段は、前記ブロック毎に、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを受信し、
前記保持手段は、前記受信手段により受信された前記第2のデータを、前記第2のデータが対応するブロック毎に保持し、
前記復元手段は、互いに同じブロックに対応する複数の前記第2のデータを用いて、前記第1のデータを復元する
ことを特徴とする請求項12に記載の受信装置。 The plurality of the first data and the second data are data generated for each block of the transmission data,
The receiving means receives, for each block, the second data that is equal to or more than the number of the first data to which the second data corresponds,
The holding means holds the second data received by the receiving means for each block corresponding to the second data,
The receiving device according to claim 12, wherein the restoration unit restores the first data by using a plurality of the second data corresponding to the same block.
前記送信装置が送信したデータであり、送信用データを分割した複数の第1のデータが所定のガロア体上の演算によって合成されることにより変換された互いに独立した複数の第2のデータを、前記第2のデータが対応する前記第1のデータの数以上受信するように制御する受信制御ステップと、
前記受信制御ステップの処理により受信される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを保持する保持ステップと、
前記保持ステップの処理により保持される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを用いて、前記ガロア体上の演算を行い、前記第2のデータに対応する前記第1のデータを復元する復元ステップと
を含むことを特徴とする受信方法。 A receiving method of a receiving device for receiving data transmitted by a transmitting device,
A plurality of independent second data converted by combining a plurality of first data obtained by dividing the transmission data by calculation on a predetermined Galois field, which is data transmitted by the transmission device, A reception control step of controlling the second data to receive more than the number of the first data corresponding to the second data;
A holding step for holding the second data equal to or more than the number of the first data corresponding to the second data, which is received by the processing of the reception control step;
Using the second data that is equal to or more than the number of the first data corresponding to the second data, which is held by the processing in the holding step, performs an operation on the Galois field, and the second data And a restoration step of restoring the first data corresponding to the receiving method.
前記送信装置が送信したデータであり、送信用データを分割した複数の第1のデータが所定のガロア体上の演算によって合成されることにより変換された互いに独立した複数の第2のデータを、前記第2のデータが対応する前記第1のデータの数以上受信するように制御する受信制御ステップと、
前記受信制御ステップの処理により受信される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを保持する保持ステップと、
前記保持ステップの処理により保持される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを用いて、前記ガロア体上の演算を行い、前記第2のデータに対応する前記第1のデータを復元する復元ステップと
を含むことを特徴とするプログラム。 In a program for causing a computer to perform reception processing for receiving data transmitted by a transmission device,
A plurality of independent second data converted by combining a plurality of first data obtained by dividing the transmission data by calculation on a predetermined Galois field, which is data transmitted by the transmission device, A reception control step of controlling the second data to receive more than the number of the first data corresponding to the second data;
A holding step for holding the second data equal to or more than the number of the first data corresponding to the second data, which is received by the processing of the reception control step;
Using the second data that is equal to or more than the number of the first data corresponding to the second data, which is held by the processing in the holding step, performs an operation on the Galois field, and the second data A restoration step of restoring the first data corresponding to the program.
前記送信用データを分割することにより複数の第1のデータを生成するデータ生成手段と、
前記データ生成手段により生成された複数の前記第1のデータを、所定のガロア体上の演算によって合成することにより、互いに独立した複数の第2のデータに変換する変換手段と、
前記変換手段により複数の前記第1のデータが変換されて得られた複数の前記第2のデータを、それぞれパケット化して他の送受信装置に送信する送信手段と、
前記他の送受信装置が送信した複数の前記第2のデータを、前記第2のデータが対応する前記第1のデータの数以上受信する受信手段と、
前記受信手段により受信される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを保持する保持手段と、
前記保持手段により保持される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを用いて、前記ガロア体上の演算を行い、前記第2のデータに対応する前記第1のデータを復元する復元手段と
を備えることを特徴とする送受信装置。 A transmission / reception device for transmitting / receiving data for transmission,
Data generating means for generating a plurality of first data by dividing the transmission data;
Conversion means for converting the plurality of first data generated by the data generation means into a plurality of second data independent from each other by synthesizing by a calculation on a predetermined Galois field;
A plurality of the second data obtained by converting a plurality of the first data by the conversion means, respectively, and transmitting the packetized data to other transmission / reception devices;
Receiving means for receiving a plurality of the second data transmitted by the other transmission / reception device by the number of the first data corresponding to the second data;
Holding means for holding the second data equal to or more than the number of the first data corresponding to the second data received by the receiving means;
Using the second data that is greater than or equal to the number of the first data corresponding to the second data, which is held by the holding means, performs an operation on the Galois field and corresponds to the second data And a restoring means for restoring the first data to be transmitted and received.
前記送信用データを分割することにより複数の第1のデータを生成するデータ生成ステップと、
前記データ生成ステップの処理により生成された複数の前記第1のデータを、所定のガロア体上の演算によって合成することにより、互いに独立した複数の第2のデータに変換する変換ステップと、
前記変換ステップの処理により複数の前記第1のデータが変換されて得られた複数の前記第2のデータを、それぞれパケット化して前記他の送受信装置に送信するように制御する送信制御ステップと、
前記他の送受信装置が送信した複数の前記第2のデータを、前記第2のデータが対応する前記第1のデータの数以上受信するように制御する受信制御ステップと、
前記受信制御ステップの処理により制御されて受信される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを保持するように制御する保持制御ステップと、
前記保持制御ステップの処理により制御されて保持される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを用いて、前記ガロア体上の演算を行い、前記第2のデータに対応する前記第1のデータを復元する復元ステップと
を含むことを特徴とする送受信方法。 A transmission / reception method of a transmission / reception apparatus for transmitting / receiving data for transmission,
A data generation step of generating a plurality of first data by dividing the transmission data;
A conversion step of converting the plurality of first data generated by the processing of the data generation step into a plurality of second data independent from each other by synthesizing by a calculation on a predetermined Galois field;
A transmission control step for controlling the plurality of second data obtained by converting a plurality of the first data by the processing of the conversion step to be packetized and transmitted to the other transmission / reception devices;
A reception control step of controlling a plurality of the second data transmitted by the other transmission / reception apparatus so as to receive more than the number of the first data corresponding to the second data;
A holding control step for controlling the second data to be held in excess of the number of the first data corresponding to the second data, which is controlled and received by the processing of the receiving control step;
Performing computation on the Galois field using the second data which is controlled and held by the process of the holding control step and is equal to or more than the number of the first data corresponding to the second data, And a restoration step of restoring the first data corresponding to the second data.
前記送信用データを分割することにより複数の第1のデータを生成するデータ生成ステップと、
前記データ生成ステップの処理により生成された複数の前記第1のデータを、所定のガロア体上の演算によって合成することにより、互いに独立した複数の第2のデータに変換する変換ステップと、
前記変換ステップの処理により複数の前記第1のデータが変換されて得られた複数の前記第2のデータを、それぞれパケット化して前記他の送受信装置に送信するように制御する送信制御ステップと、
前記他の送受信装置が送信した複数の前記第2のデータを、前記第2のデータが対応する前記第1のデータの数以上受信するように制御する受信制御ステップと、
前記受信制御ステップの処理により制御されて受信される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを保持するように制御する保持制御ステップと、
前記保持制御ステップの処理により制御されて保持される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを用いて、前記ガロア体上の演算を行い、前記第2のデータに対応する前記第1のデータを復元する復元ステップと
を含むことを特徴とするプログラム。 In a program for causing a computer to perform transmission / reception processing for transmitting / receiving data for transmission,
A data generation step of generating a plurality of first data by dividing the transmission data;
A conversion step of converting the plurality of first data generated by the processing of the data generation step into a plurality of second data independent from each other by synthesizing by a calculation on a predetermined Galois field;
A transmission control step of controlling the plurality of second data obtained by converting a plurality of the first data by the processing of the conversion step to be packetized and transmitted to the other transmission / reception devices;
A reception control step of controlling a plurality of the second data transmitted by the other transmission / reception apparatus so as to receive more than the number of the first data corresponding to the second data;
A holding control step for controlling the second data to be held in excess of the number of the first data corresponding to the second data, which is controlled and received by the processing of the receiving control step;
Performing computation on the Galois field using the second data equal to or more than the number of the first data corresponding to the second data, controlled and held by the processing of the holding control step, And a restoration step of restoring the first data corresponding to the second data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004030400A JP2005223682A (en) | 2004-02-06 | 2004-02-06 | Transmission/reception system, transmitter and transmitting method, receiver and receiving method, transmitter/receiver and transmitting/receiving method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004030400A JP2005223682A (en) | 2004-02-06 | 2004-02-06 | Transmission/reception system, transmitter and transmitting method, receiver and receiving method, transmitter/receiver and transmitting/receiving method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005223682A true JP2005223682A (en) | 2005-08-18 |
Family
ID=34998978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004030400A Withdrawn JP2005223682A (en) | 2004-02-06 | 2004-02-06 | Transmission/reception system, transmitter and transmitting method, receiver and receiving method, transmitter/receiver and transmitting/receiving method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005223682A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010033575A (en) * | 2008-07-29 | 2010-02-12 | Sony Corp | System and method for effectively transmitting content burst to electronic device |
KR101571728B1 (en) * | 2009-01-07 | 2015-11-25 | 엘지전자 주식회사 | Method for transmitting and receiving Data using Random Linear Coding |
-
2004
- 2004-02-06 JP JP2004030400A patent/JP2005223682A/en not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010033575A (en) * | 2008-07-29 | 2010-02-12 | Sony Corp | System and method for effectively transmitting content burst to electronic device |
KR101571728B1 (en) * | 2009-01-07 | 2015-11-25 | 엘지전자 주식회사 | Method for transmitting and receiving Data using Random Linear Coding |
KR101605323B1 (en) | 2009-01-07 | 2016-03-22 | 엘지전자 주식회사 | Method for transmitting and receiving Data using Random Linear Coding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7734946B2 (en) | Transmission/reception system, transmission apparatus and method, reception apparatus and method, transmission/reception apparatus and method, and computer-readable storage medium | |
EP2630766B1 (en) | Universal file delivery methods for providing unequal error protection and bundled file delivery services | |
US9100180B2 (en) | Method, device and communication system for retransmission based on forward error correction | |
US9048997B2 (en) | Apparatus and method using matrix network coding | |
US9832745B2 (en) | Transport stream packets with time stamp generation by medium access control | |
KR20050059238A (en) | Systematic encoding and decoding of chain reaction codes | |
CN110943800A (en) | Method, device and system for sending data packet, storage medium and electronic device | |
CN112751644B (en) | Data transmission method, device and system and electronic equipment | |
US20130294447A1 (en) | Apparatus and method of transmitting and receiving packet in a broadcasting and communication system | |
US20110302473A1 (en) | Error correction coding | |
JP2006262288A (en) | Video data delivery server and video data delivery method | |
US20050125549A1 (en) | Information processing device and method, and computer program | |
US6871312B2 (en) | Method and apparatus for time stamping data | |
CN101662339B (en) | Method and device for verifying data recovered by forward error correction | |
EP2873183B1 (en) | Apparatus and method for transmitting/receiving packet in broadcasting and communication system | |
CN112804028A (en) | Data packet transmission method, equipment and storage medium | |
JP2007324876A (en) | Data transmitter, data receiver, data transmitting method, data receiving method, and program | |
JP2005223682A (en) | Transmission/reception system, transmitter and transmitting method, receiver and receiving method, transmitter/receiver and transmitting/receiving method, and program | |
US20130339824A1 (en) | Correction Data | |
JP2005223683A (en) | Transmission/reception system, transmitter and transmitting method, receiver and receiving method, transmitter/receiver and transmitting/receiving method, and program | |
CN111030985A (en) | Data packet sending method and device | |
CN114900716B (en) | Cloud video data transmission method, cloud platform, cloud terminal and medium | |
CN109245850A (en) | Adaptable System code FEC coding and decoding method based on media content | |
CN117294390A (en) | Data transmission method, device, electronic equipment and medium based on forward error correction | |
JPH05235978A (en) | Asynchronizing transfer mode communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070501 |