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 PDF

Info

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
Application number
JP2004030400A
Other languages
Japanese (ja)
Inventor
Toshiharu Kobayashi
稔治 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004030400A priority Critical patent/JP2005223682A/en
Publication of JP2005223682A publication Critical patent/JP2005223682A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To more easily perform more accurate communication. <P>SOLUTION: A transmitter 11 divides data for transmission to generate packet data, performs four arithmetic operations on a Galois field using the packet data, converts the packet data into conversion data to be actually transmitted, and then packetizes the converted data using a predetermined protocol such as UDP to transmit the data. A receiver 13 receives the packets supplied from the transmitter 11 and extracts the conversion data, and restores the original transmission data using the received converted data. In this case, the transmitter 11 transmits the conversion data whose number is equal to or larger than the number of data required for restoring the original data by the receiver 13 to the receiver 13, and the receiver 13 receives the conversion data whose number is at least the number required for restoring the original transmission data. This is applicable to a communication system, for example. <P>COPYRIGHT: (C)2005,JPO&NCIPI

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, Patent Document 1 and Patent Document 2). .

以上の方法は、受信側の装置が受信したデータに誤りが含まれる場合に、その誤りを訂正し、正しいデータを復元するための方法であるので、例えば、受信側の装置が受信できなかった(ロスした)データを復元することはできない。   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 same data 1, the reception side device repeatedly receives the same data, such as data 1A, data 1B, data 1C, and data 1D. Therefore, for example, even when the packet loss 2A occurs when the data 1A is received, the receiving side apparatus corresponds to the lost packet (packet loss 2A) of the data 1B to be received next. If the packet 2B is received, the data 1 can be restored using the packet 2B. Further, even if the packet 2B is lost when the data 1B is received, the receiving device can receive the packet 2C corresponding to the packet loss 2A of the data 1C to be received next. The data 1 can be restored using the packet 2C. Further, even when the packet 2C is lost, the receiving device only needs to receive the packet 2D. In this way, the receiving-side apparatus can receive each packet in at least one of the repeated transmissions, and if all packets can be received as a result, restores data 1. be able to.

特許3170920号Japanese Patent No. 3170920

特許3271208号Patent 3271208

しかしながら、上述したような再送要求を行う方法の場合、例えば、マルチキャスト等のように、複数の装置に対してデータを送信するような通信の場合、送信側の装置には、受信側の各装置からの再送要求が集中してしまうため、送信側の装置の処理の負荷が増大し、送信処理を正常に行うことができない恐れがあるという課題があった。   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 packet loss 2A occurs when receiving data 1A, the receiving-side apparatus transmits data 1B as the next transmission. It is necessary to wait until the packet 2B corresponding to the packet loss 2A is received. That is, in this case, the reception processing time in the receiving device becomes longer by the time required to receive the data 1, and the load of the receiving processing in the receiving device increases. there were. That is, as shown in FIG. 1, when a packet loss 2A occurs, the receiving device receives the packet 2B to be transmitted next (the time required for the receiving device to receive data 1). ) It is necessary to wait and reception processing time increases. Further, when the packet 2B is lost, the receiving device needs to further extend the standby time and wait until the next packet 2C is received.

本発明は、このような状況に鑑みてなされたものであり、データの送受信を正確、かつ、より容易に行うことができるようにするものである。   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 transmission device 11 in FIG. 2) that transmits data for transmission (for example, transmission data 41 in FIG. 4) and a reception device (for example, the transmission device 11 in FIG. 2) that receives transmission data transmitted by the transmission device. For example, a transmission / reception system (for example, the communication system 10 in FIG. 2) including the receiving device 13 in FIG. 2 is provided. The transmission device generates a plurality of first data (for example, the original data 43 in FIG. 4) by dividing the transmission data (for example, step S2 in FIG. 13), and the generated plurality of data The first data is synthesized by an operation on a predetermined Galois field to be converted into a plurality of second data (for example, converted data 44 in FIG. 4) independent from each other (for example, step S3 in FIG. 13). The obtained second data is packetized (for example, step S5 in FIG. 13) and transmitted to the receiving device (for example, step S7 in FIG. 13), and the receiving device receives the plurality of second data. Are received by the number of the first data corresponding to the second data (for example, step S61 in FIG. 16), and the second data equal to or more than the number of the first data corresponding to the received second data. (E.g. , Step S63 in FIG. 16), using the second data that is equal to or more than the number of the first data corresponding to the second data that is held, performs an operation on the Galois field, and corresponds to the second data The first data is restored (for example, step S65 in FIG. 16).

本発明においては、送信用データ(例えば、図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 transmission device 11 in FIG. 2) for transmitting transmission data (for example, the transmission data 41 in FIG. 4) to a reception device (for example, the reception device 13 in FIG. 2) is provided. . The transmission apparatus includes a data generation unit (for example, the block division unit 22 in FIG. 3) that generates a plurality of first data (for example, the original data 43 in FIG. 4) by dividing the transmission data, and data generation This is data for restoring the first data by combining the plurality of first data generated by the means by computation on a predetermined Galois field, and a plurality of second data independent of each other (for example, 4, conversion means (for example, conversion data generation unit 23 in FIG. 3) for converting into conversion data 44), and a plurality of second data obtained by converting a plurality of first data by the conversion means , Each of which is packetized (for example, step S5 in FIG. 13), and includes transmission means (for example, the UDP packetizing unit 25 to the Ethernet (R) processing unit 29 in FIG. 3) for transmitting to the receiving device.

前記変換手段は、予め定められた所定の係数行列(例えば、式(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 determinant generating unit 62 in FIG. 6) for generating (1)) and the determinant generated by the determinant generating means are calculated on the Galois field to obtain the second data. Calculation means (for example, the determinant calculation unit 64 and the Galois field calculation unit 66 in FIG. 6) can be provided.

前記係数行列を保持し、行列式生成手段の要求に応じて供給する係数行列供給手段(例えば、図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 line number 93 in FIG. 9) is further provided, and the transmitting means has a plurality of second information to which information is added by the information adding means. Can be packetized (for example, step S5 in FIG. 13) and transmitted to the receiving apparatus (for example, step S7 in FIG. 13).

前記変換手段により複数の第1のデータが変換されて得られた複数の第2のデータの、送信順を制御する送信順制御手段(例えば、図3のバッファ26および出力制御部27)をさらに備え、送信手段は、送信順制御手段により、任意に決定された送信順で、複数の第2のデータを受信装置に送信するようにすることができる。   A transmission order control means (for example, the buffer 26 and the output control unit 27 in FIG. 3) 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 means may be configured to transmit the plurality of second data to the reception apparatus in the transmission order arbitrarily determined by the transmission order control means.

前記データ生成手段は、送信用データをブロックに分割し、さらに、ブロックを分割することにより複数の第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 transmission apparatus 11 in FIG. 2) that transmits transmission data (for example, the transmission data 41 in FIG. 4) to a reception apparatus (for example, the reception apparatus 13 in FIG. 2). Provided. This transmission method divides the data for transmission (for example, step S1 in FIG. 13) to generate a plurality of first data (for example, original data 43 in FIG. 4) (for example, in FIG. 13). This is data for restoring the first data by synthesizing the plurality of first data generated by the processing of the step S2) and the data generation step by calculation on a predetermined Galois field, and is independent of each other. A conversion step (for example, step S3 in FIG. 13) for converting into a plurality of second data (for example, conversion data 44 in FIG. 4), and a plurality of first data obtained by the conversion step processing are obtained. Each of the plurality of second data is packetized (for example, step S5 in FIG. 13) and transmitted so as to be transmitted to the receiving device (for example, FIG. 3 in step S7) and a.

本発明においては、送信用データ(例えば、図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, reception device 13 in FIG. 2) is executed in a computer (for example, transmission device 11 in FIG. 2). A first program is provided. This first program divides the data for transmission (for example, step S1 in FIG. 13) and generates a plurality of first data (for example, original data 43 in FIG. 4) (for example, FIG. 4). 13 step S2) and data for restoring the first data by combining the plurality of first data generated by the processing of the data generation step by calculation on a predetermined Galois field, A conversion step (for example, step S3 in FIG. 13) for converting into a plurality of second data independent of each other (for example, conversion data 44 in FIG. 4), and a plurality of first data are converted by the processing of the conversion step. A transmission control step (for example, control is performed so that each of the obtained second data is packetized (for example, step S5 in FIG. 13) and transmitted to the receiving device. If, comprising the step S7) and FIG.

本発明においては、送信装置(例えば、図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 device 13 in FIG. 2) that receives data transmitted by a transmitting device (for example, the transmitting device 11 in FIG. 2) is provided. This receiving device is data transmitted by the transmitting device, and a plurality of first data (for example, original data 43 in FIG. 4) obtained by dividing transmission data (for example, transmitting data 41 in FIG. 4) is a predetermined Galois. A plurality of independent second data (for example, converted data 44 in FIG. 4) converted by being synthesized by computation on the body is received by the number of the first data corresponding to the second data. Receiving means (for example, the Ethernet (R) processing unit 101 to the application data extracting unit 103 in FIG. 10) and second data received by the receiving means that is equal to or more than the number of first data corresponding to the second data. Using the holding means (for example, the buffer unit 104 in FIG. 10) and the second data which is held by the holding means and is equal to or more than the number of the first data corresponding to the second data. Performs the operation of, and a first restoring means for restoring the data corresponding to the second data (e.g., packet data restoring unit 105 of FIG. 10).

前記復元手段は、予め定められた所定の係数行列(例えば、式(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 determinant creating unit 122 in FIG. 12) for generating (1)) and the determinant generated by the determinant generating means are calculated on the Galois field to obtain the first data. An arithmetic means (for example, a determinant arithmetic unit 124 and a Galois field arithmetic unit 125 in FIG. 12) can be provided.

前記係数行列を保持し、行列式生成手段の要求に応じて供給する係数行列供給手段(例えば、図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, line number 93 in FIG. 9) added to the second data received by the receiving means and including the row number of the coefficient matrix to which the second data corresponds. Thus, it is possible to request a row component from the coefficient matrix supply means and generate a determinant using only the row component supplied based on the request.

複数の第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 block 42 in FIG. 4), and the receiving means corresponds to the second data for each block. Second data that is equal to or greater than the number of first data to be 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 includes: The first data can be restored using a plurality of second data corresponding to the same block.

本発明においては、送信装置(例えば、図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 device 13 in FIG. 2) that receives data transmitted by a transmitting device (for example, the transmitting device 11 in FIG. 2) is provided. This reception method is data transmitted by a transmission device, and a plurality of first data (for example, original data 43 in FIG. 4) obtained by dividing transmission data (for example, transmission data 41 in FIG. 4) is a predetermined Galois. A plurality of independent second data (for example, converted data 44 in FIG. 4) converted by being synthesized by computation on the body is received by the number of the first data corresponding to the second data. The reception control step (for example, step S61 in FIG. 16) to be controlled and the second data received by the processing of the reception control step hold second data that is equal to or more than the number of first data corresponding to the second data. Using the second data that is equal to or more than the number of the first data corresponding to the second data held by the holding step (for example, step S63 in FIG. 16) and the processing of the holding step, Performs the operation, including restoration step for restoring the first data corresponding to the second data (e.g., step S65 of FIG. 16) and.

本発明においては、送信装置(例えば、図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 device 13 in FIG. 2) to execute a receiving process for receiving data transmitted by a transmitting device (for example, the transmitting device 11 in FIG. 2). The second program is data transmitted by the transmission device, and a plurality of first data (for example, original data 43 in FIG. 4) obtained by dividing transmission data (for example, transmission data 41 in FIG. 4) is predetermined. The plurality of independent second data (for example, the converted data 44 in FIG. 4) converted by being synthesized by the arithmetic operation on the Galois field is equal to or more than the number of the first data corresponding to the second data. A reception control step (for example, step S61 in FIG. 16) for controlling reception, and second data that is received by the processing of the reception control step is equal to or more than the number of first data corresponding to the second data. Using the holding step (for example, step S63 in FIG. 16) to be held and the second data that is held by the processing of the holding step and that is equal to or more than the number of first data corresponding to the second data, Performs the operation on the A member, including restoration step for restoring the first data corresponding to the second data (e.g., step S65 of FIG. 16) and.

本発明においては、送信用データ(例えば、図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 / reception device 211 or the transmission / reception device 213 in FIG. 18) for transmitting / receiving transmission data (for example, transmission data 41 in FIG. 4) is provided. The transmission / reception apparatus includes a data generation unit (for example, the block division unit 22 in FIG. 3) that generates a plurality of first data (for example, the original data 43 in FIG. 4) by dividing the transmission data, and data generation Conversion means for converting a plurality of first data generated by the means into a plurality of second data independent of each other (for example, conversion data 44 in FIG. 4) by synthesizing by a calculation on a predetermined Galois field (For example, the converted data generating unit 23 in FIG. 3) and the plurality of second data obtained by converting the plurality of first data by the conversion unit are respectively packetized (for example, step S5 in FIG. 13). ) Transmitting means (for example, UDP packetizing unit 25 to Ethernet (R) processing unit 29 in FIG. 3) for transmitting to another transmitting / receiving device and a plurality of second data transmitted by the other transmitting / receiving device, Receiving means (for example, the Ethernet (R) processing unit 101 to application data extracting unit 103 in FIG. 10) that receives data equal to or more than the number of the first data corresponding to the data corresponds to the second data received by the receiving means. Holding means (for example, the buffer unit 104 in FIG. 10) that holds second data that is equal to or greater than the number of first data to be performed, and the number of first data that is held by the holding means and that corresponds to the second data A restoration unit (for example, the packet data restoration unit 105 in FIG. 10) is provided that performs an operation on a Galois field using the second data described above and restores the first data corresponding to the second data.

本発明においては、送信用データ(例えば、図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 / reception apparatus 211 or transmission / reception apparatus 213 in FIG. 18) for transmitting / receiving transmission data (for example, transmission data 41 in FIG. 4) is provided. This transmission / reception method includes a data generation step (for example, step S2 in FIG. 13) for generating a plurality of first data (for example, original data 43 in FIG. 4) by dividing the transmission data, and a data generation step. A conversion step of converting a plurality of first data generated by the processing into a plurality of second data independent of each other (for example, conversion data 44 in FIG. 4) by combining them by a calculation on a predetermined Galois field. (For example, step S3 in FIG. 13) and a plurality of second data obtained by converting the plurality of first data by the process of the conversion step are respectively packetized (for example, step S5 in FIG. 13). A transmission control step (for example, the step of FIG. 13) that controls to transmit to another transmission / reception device (for example, the transmission / reception device 211 or 213 of FIG. 18). S7) and a reception control step (for example, FIG. 16) that controls a plurality of pieces of second data transmitted by other transmission / reception devices so as to receive more than the number of first data corresponding to the second data. Step S61) and a holding control step (for example, control is performed so as to hold the second data equal to or more than the number of the first data corresponding to the second data received by being controlled by the processing of the reception control step (for example, The calculation on the Galois field is performed using the second data which is controlled and held by the processing of the holding control step in step S63) of FIG. 16 and which is equal to or more than the number of the first data corresponding to the second data. Performing a restoration step (for example, step S65 in FIG. 16) for restoring the first data corresponding to the second data.

本発明においては、送信用データ(例えば、図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 / reception apparatus 211 or 213 of FIG. 18) to execute transmission / reception processing for transmitting / receiving transmission data (for example, transmission data 41 of FIG. 4) is provided. . The third program includes a data generation step (for example, step S2 in FIG. 13) for generating a plurality of first data (for example, the original data 43 in FIG. 4) by dividing the transmission data, and data generation The plurality of first data generated by the processing of the step is synthesized by a calculation on a predetermined Galois field, thereby being converted into a plurality of second data independent of each other (for example, the conversion data 44 in FIG. 4). The conversion step (for example, step S3 in FIG. 13) and the plurality of second data obtained by converting the plurality of first data by the processing of the conversion step are each packetized (for example, the step in FIG. 13). S5) A transmission control step (for example, FIG. 1) for controlling transmission to another transmission / reception device (for example, the transmission / reception device 211 or 213 in FIG. 18). Step S7) and a reception control step (for example, FIG. 16) that controls a plurality of second data transmitted by other transmitting / receiving apparatuses so as to receive more than the number of first data corresponding to the second data. Step S61) and a holding control step (for example, control is performed so as to hold the second data equal to or more than the number of the first data corresponding to the second data received by being controlled by the processing of the reception control step (for example, The calculation on the Galois field is performed using the second data which is controlled and held by the processing of the holding control step in step S63) of FIG. 16 and which is equal to or more than the number of the first data corresponding to the second data. Performing a restoration step (for example, step S65 in FIG. 16) for restoring the first data corresponding to the second data.

以下に、本発明の実施の形態について図面を参照して説明する。   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 communication system 10 in FIG. 2 is a network represented by a transmission device 11 that transmits data, a LAN (Local Area Network), the Internet, and the like. The communication system 10 is connected to the network 12 to which the transmission device 11 is connected, and the network 12. The reception device 13 receives data transmitted from the transmission device 11.

送信装置11は、外部より供給されたダウンロードデータ等の、送信用のコンテンツデータ(送信用データ)を取得すると、その送信用データを分割して送信する際のパケットサイズのデータ(パケットデータ)を生成し、そのパケットデータを用いて、桁あふれを防止するためにガロア体上で四則演算を行い、実際に送信する変換データに変換してから、それをUDP(User Datagram Protocol)等の所定のプロトコルを用いてパケット化して送信する。   When the transmission device 11 acquires content data for transmission (transmission data) such as download data supplied from the outside, the transmission device 11 divides the data for packet transmission (packet data) when the transmission data is divided and transmitted. Generate and use the packet data, perform four arithmetic operations on the Galois field to prevent overflow, convert it to conversion data to be actually transmitted, and then convert it to the specified data such as UDP (User Datagram Protocol) Packetize using protocol and send.

なお、ガロア体(ガロア拡大体)とは、整数を素数(例えば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 transmission device 11, the reception device 13 extracts the conversion data from the received packet, and restores the original transmission data using the received conversion data. At this time, the transmission apparatus 11 transmits more conversion data than the number necessary for the reception apparatus 13 to restore the original transmission data, and the reception apparatus 13 includes the converted data in the transmitted conversion data. To at least the number of pieces of converted data necessary to restore the original transmission data. A method for generating conversion data in the transmission device 11 and a method for restoring original transmission data in the reception device 13 will be described later.

このようにすることにより、受信装置13は、送信装置11が送信するパケットを全て受信しなくても、送信装置11に再送要求を行うことなく、送信装置11が送信した送信用データを復元することができる。   By doing so, the reception device 13 restores the transmission data transmitted by the transmission device 11 without making a retransmission request to the transmission device 11 even if the reception device 13 does not receive all the packets transmitted by the transmission device 11. be able to.

図3は、送信装置11の詳細な構成例を示すブロック図である。なお、送信装置11により処理される送信用データの変化を、図4を用いて説明する。   FIG. 3 is a block diagram illustrating a detailed configuration example of the transmission device 11. A change in transmission data processed by the transmission apparatus 11 will be described with reference to FIG.

図3において、送信装置11のデータ分割部21は、送信装置11の外部より供給されたコンテンツデータ等の送信データを所定のデータサイズのブロックに分割し、それをブロック分割部22に供給する。すなわち、データ分割部21は、供給される送信データを内蔵するバッファ(図示せず)に蓄積していき、所定のデータサイズのデータが蓄積される度に、それをブロックとしてブロック分割部22に供給する。   In FIG. 3, the data division unit 21 of the transmission device 11 divides transmission data such as content data supplied from the outside of the transmission device 11 into blocks having a predetermined data size, and supplies the blocks to the block division unit 22. That is, the data dividing unit 21 accumulates the supplied transmission data in a buffer (not shown), and each time data of a predetermined data size is accumulated, it is used as a block in the block dividing unit 22. Supply.

例えば、図4の場合、送信装置11に供給される送信データ41は、データ分割部21により、番号1乃至3で示される3つのブロック42に分割される。   For example, in the case of FIG. 4, the transmission data 41 supplied to the transmission device 11 is divided into three blocks 42 indicated by numbers 1 to 3 by the data dividing unit 21.

図3に戻り、ブロック分割部22は、データ分割部21と同様にして、データ分割部21より供給されるブロック単位の送信データを、さらに所定のデータサイズに分割する。すなわち、ブロック分割部22は、ブロック単位の送信データを、後段において、パケット化する際のデータサイズ(パケットサイズ)に分割し、パケット用のデータ(パケットデータ)を生成する。パケットデータを生成したブロック分割部22は、それを、変換データ生成部23に供給する。   Returning to FIG. 3, similarly to the data dividing unit 21, the block dividing unit 22 further divides the transmission data in block units supplied from the data dividing unit 21 into a predetermined data size. That is, the block division unit 22 divides the transmission data in units of blocks into a data size (packet size) for packetization in the subsequent stage, and generates data for the packet (packet data). The block division unit 22 that has generated the packet data supplies it to the conversion data generation unit 23.

例えば、図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 block 42 is divided by the block dividing unit 22 into original data 43 that is packet data having a data size when packetized. In the case of FIG. 4, each block is divided into three original data 43. For example, the block indicated by number 1 is divided into original data indicated by numbers 11 to 13, and the block indicated by number 2 is divided into original data indicated by numbers 21 to 23 and is indicated by number 3. Are divided into original data indicated by numbers 31 to 33.

変換データ生成部23は、元の送信用データを分割したパケットデータ(元データ)を1ブロック分取得すると、ガロア体上の四則演算を行い、その元データを変換して変換データを生成する。具体的には、変換データ生成部23は、1ブロック内の各元データを、桁あふれを防止するためにガロア体上の演算を行って合成し、変換データとする。より具体的な生成方法については後述する。   When the conversion data generation unit 23 acquires one block of packet data (original data) obtained by dividing the original transmission data, the conversion data generation unit 23 performs four arithmetic operations on the Galois field, converts the original data, and generates conversion data. Specifically, the conversion data generation unit 23 performs synthesis on the Galois field to synthesize the original data in one block by performing arithmetic operations on the Galois field to prevent overflow. A more specific generation method will be described later.

なお、この変換データは、ガロア体上の四則演算を用いて、ブロック内の各元データを合成したものである。また、この変換データは、後述するように、元データと同じデータサイズであり、各変換データが互いに独立となるように複数生成される。従って、後述するように、受信装置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 device 13 can acquire a predetermined number (for example, the number of original data or more) of arbitrary conversion data, it can restore all the original data.

例えば、図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 data 44 in units of blocks. At that time, the conversion data generation unit 23 generates the conversion data 44 as many as the original data 43. In the case of FIG. 4, six converted data 44 are generated from three original data 43 in each block. For example, in the block 42 indicated by the number 1, the original data 43 indicated by the numbers 11 to 13 is converted into six converted data 44 indicated by the numbers 11 to 16, and in the block 42 indicated by the number 2, The original data 43 indicated by numbers 21 to 23 is converted into six converted data 44 indicated by numbers 21 to 26. In the block 42 indicated by number 3, the original data 43 indicated by numbers 31 to 33 is It is converted into six pieces of conversion data 44 indicated by numbers 31 to 36.

変換データ生成部23は、元データを変換して得られた変換データをアプリケーションデータ生成部24に供給する。   The conversion data generation unit 23 supplies the conversion data obtained by converting the original data to the application data generation unit 24.

アプリケーションデータ生成部24は、変換データ生成部23より供給された変換データに、それぞれ、ヘッダを付加し、アプリケーションデータを生成する。ヘッダの内容については、後述する。アプリケーションデータ生成部24は、生成したアプリケーションデータをUDPパケット化部25に供給する。   The application data generation unit 24 adds a header to the conversion data supplied from the conversion data generation unit 23 to generate application data. The contents of the header will be described later. The application data generation unit 24 supplies the generated application data to the UDP packetization unit 25.

なお、ここまでの処理は、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 UDP packetization unit 25 supplied with the application data packetizes the application data based on the UDP protocol, and supplies the generated UDP packet to the buffer 26.

図5に示されるように、UDPパケット51は、64ビットのUDPヘッダ52およびアプリケーションデータ53により構成される。UDPヘッダ52には、送信元のポート番号、送信先のポート番号、アプリケーションデータ53のデータ長、およびチェックサム等の情報が含まれる。アプリケーションデータのデータサイズは、任意に定められた所定の値であるが、通常1Kバイト程度である。   As shown in FIG. 5, the UDP packet 51 includes a 64-bit UDP header 52 and application data 53. The UDP header 52 includes information such as a transmission source port number, a transmission destination port number, a data length of the application data 53, and a checksum. The data size of the application data is a predetermined value that is arbitrarily determined, but is usually about 1 Kbyte.

図3に戻り、バッファ26は、RAM(Random Access Memory)等の半導体メモリ等により構成され、UDPパケット化部25より供給されるUDPパケットを蓄積し、出力制御部27の制御に基づいて、その蓄積しているUDPパケットを出力する。   Returning to FIG. 3, the buffer 26 is configured by a semiconductor memory such as a RAM (Random Access Memory), accumulates the UDP packets supplied from the UDP packetizing unit 25, and based on the control of the output control unit 27, Output accumulated UDP packets.

出力制御部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 buffer 26, the output control unit 27 acquires the UDP packets in an arbitrary (random) order and supplies them to an IP (Internet Protocol) processing unit 28. That is, the buffer 26 and the output control unit 27 change (shuffle) the output order of the UDP packets generated in the UDP packetizing unit 25, and output the UDP packets including the converted data in an arbitrary order. At this time, the buffer 26 holds all the conversion data converted for each block, that is, all the conversion data corresponding to the transmission data, and the output control unit 27 stores all the conversion data (each conversion data). Shuffle output order).

一般に、パケットの送信時にネットワーク等において、受信側が連続する複数のパケットをバースト的にロスする(受信できない)場合がある。従って、送信装置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 transmission apparatus 11 outputs converted data in order, packet loss may be concentrated on one block due to such bursty packet loss. As will be described later, since it is necessary to receive a certain number of packets (conversion data) in order to restore the original data, if there is a bias in packet loss in this way, a specific block may not be restored. There is.

そこで、送信装置11のバッファ26および出力制御部27が、以上のようにUDPパケットの出力順をシャッフルして、各ブロックの変換データを混在させた順番で送信するようにすることにより、パケットの送信時にバースト的パケットロスが発生しても、そのロスが特定のブロックに集中することを抑制することができ、バースト的パケットロスに対する耐性を強くすることができる。すなわち、送信装置11は、より正確にデータを受信装置13に送信することができる。従って、通信システム10は、より正確なデータの送受信を実現することができる。   Therefore, the buffer 26 and the output control unit 27 of the transmission device 11 shuffle the output order of the UDP packets as described above, and transmit the converted data of each block in the mixed order, thereby transmitting the packet. Even if a bursty packet loss occurs during transmission, it is possible to suppress the loss from being concentrated on a specific block, and it is possible to increase resistance to bursty packet loss. That is, the transmission device 11 can transmit data to the reception device 13 more accurately. Therefore, the communication system 10 can realize more accurate data transmission / reception.

例えば、図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 data 44 is converted into a UDP packet, the output order is shuffled and transmitted as a transmission packet 45 in an arbitrary order. In the case of FIG. 4, conversion data 44 indicated by numbers 11 to 16, conversion data 44 indicated by numbers 21 to 26, and numbers 31 to 36 corresponding to the three blocks 42 indicated by numbers 1 to 3, respectively. The conversion data 44 shown is shuffled and transmitted.

なお、バッファ26および出力制御部27は、各ブロックに対応する変換データの送信順をシャッフルして、各変換データを任意の順序で送信するようにすればよいので、バッファ26が変換データを蓄積する処理と、出力制御部27がバッファ26に蓄積されている変換データを出力させる処理とを(それらの処理の一部または全部において)並行して行うようにしてももちろんよい。   The buffer 26 and the output control unit 27 may shuffle the transmission order of the conversion data corresponding to each block and transmit the conversion data in an arbitrary order. Therefore, the buffer 26 stores the conversion data. It goes without saying that the processing to be performed and the processing in which the output control unit 27 outputs the conversion data stored in the buffer 26 may be performed in parallel (in part or all of those processing).

これらのUDPパケット化部25乃至出力制御部27による処理は、OSI階層モデルにおける、トランスポート層の処理である。   The processing by the UDP packetizing unit 25 to the output control unit 27 is processing of the transport layer in the OSI hierarchical model.

IP処理部28は、OSI階層モデルにおける、ネットワーク層の処理を行い、IPプロトコルに基づいて、出力制御部27より供給されるUDPパケットをそれぞれIPパケット化し、イーサネット(R)(Ethernet(R))処理部29に供給する。イーサネット(R)処理部29は、イーサネット(R)の規格に基づいて、データリンク層および物理層の処理を行い、IP処理部28より供給されたIPパケットをさらにパケット化し、受信装置13に送信するように、それを、ケーブル30を介してネットワーク12に出力する。   The IP processing unit 28 performs processing of the network layer in the OSI hierarchical model, and converts each of the UDP packets supplied from the output control unit 27 into IP packets based on the IP protocol, and Ethernet (R) (Ethernet (R)) This is supplied to the processing unit 29. The Ethernet (R) processing unit 29 performs data link layer and physical layer processing based on the Ethernet (R) standard, further packetizes the IP packet supplied from the IP processing unit 28, and transmits the packet to the receiving device 13. As such, it is output to the network 12 via the cable 30.

イーサネット(R)処理部29より出力されたパケットは、ネットワーク12を介して受信装置13に供給される。   The packet output from the Ethernet (R) processing unit 29 is supplied to the receiving device 13 via the network 12.

このように、送信用データを分割した元データをそのまま送信せずに、それぞれが全ての元データ(ブロック内の全ての元データ)の内容を含む変換データに変換してから送信するので、送信装置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 apparatus 11 can restore the original data (transmission data) if the receiving apparatus 13 acquires a predetermined number or more of the packets transmitted from the transmitting apparatus 11. . That is, the transmission device 11 can increase the tolerance of the reception device 13 against packet loss, and can transmit data so that data transmission / reception can be performed more accurately and easily.

なお、図4において示される、1つの送信データ41に対するブロック42、元データ43、または変換データ44等の数は、一例であり、生成される各データの数が、図4に示される数以外であってももちろんよい。また、送信パケット45の送信順も一例であり、図4に示される以外の順番で送信されるようにしてももちろんよい。   Note that the number of blocks 42, original data 43, converted data 44, and the like for one transmission data 41 shown in FIG. 4 is an example, and the number of pieces of data to be generated is other than the number shown in FIG. But of course. Further, the transmission order of the transmission packets 45 is also an example, and the transmission packets 45 may be transmitted in an order other than that shown in FIG.

次に、図3の変換データ生成部23の詳細について説明する。なお、以下においては、送信装置11は、1ブロックの送信データより、N個の元データD(D1乃至DN)を生成し、そのN個の元データDを変換して、M個の変換データS(S1乃至SM)を生成する場合について説明する。図6は、変換データ生成部23の詳細な構成例を示すブロック図である。 Next, details of the conversion data generation unit 23 of FIG. 3 will be described. In the following, the transmission device 11 generates N original data D (D 1 to D N ) from one block of transmission data, converts the N original data D, and generates M pieces of original data D. A case where the conversion data S (S 1 to S M ) is generated will be described. FIG. 6 is a block diagram illustrating a detailed configuration example of the conversion data generation unit 23.

図6において、図3のブロック分割部22より供給された元データは、元データ保持部61に供給され、保持される。元データ保持部61は、1ブロック分の元データを保持すると、その元データを行列式生成部62に供給する。   In FIG. 6, the original data supplied from the block dividing unit 22 in FIG. 3 is supplied to the original data holding unit 61 and held therein. When the original data holding unit 61 holds the original data for one block, the original data holding unit 61 supplies the original data to the determinant generation unit 62.

1ブロック分の元データを取得すると、行列式生成部62は、係数行列供給部63に対して、変換データを生成するための行列式の生成に用いられる係数行列を要求する。係数行列は、予め用意され、係数行列供給部63に保持されているM行N列の行列であり、元データを変換して変換データを生成するための行列である。係数行列の各成分の値は、求められる変換データが互いに独立となるように決められる。後述するように、全変換データは、この係数行列と、各元データを成分とする行列との積算により求められる。従って、係数行列の各行は、互いに異なる変換データに対応し、その各行の各成分は、それぞれ互いに異なる元データと積算される。   When the original data for one block is acquired, the determinant generation unit 62 requests the coefficient matrix used for generation of the determinant for generating conversion data from the coefficient matrix supply unit 63. The coefficient matrix is a matrix of M rows and N columns prepared in advance and held in the coefficient matrix supply unit 63, and is a matrix for converting the original data to generate converted data. The value of each component of the coefficient matrix is determined so that the conversion data to be obtained are independent of each other. As will be described later, the total conversion data is obtained by integration of this coefficient matrix and a matrix having each original data as a component. Accordingly, each row of the coefficient matrix corresponds to different conversion data, and each component of each row is integrated with different original data.

このような係数行列を要求された係数行列供給部63は、その要求に対して予め保持している係数行列を行列式生成部62に供給する。行列式生成部62は、係数行列を取得すると、その係数行列と1ブロック分の元データを用いて、そのブロックに対応する変換データを生成するための行列式を生成する。具体的には、行列生成部62は、以下の式(1)に示されるような行列式を生成する。   The coefficient matrix supply unit 63 that has requested such a coefficient matrix supplies the determinant generation unit 62 with a coefficient matrix that is held in advance in response to the request. When the determinant generation unit 62 acquires the coefficient matrix, the determinant generation unit 62 generates a determinant for generating conversion data corresponding to the block using the coefficient matrix and the original data for one block. Specifically, the matrix generation unit 62 generates a determinant as shown in the following expression (1).

Figure 2005223682
Figure 2005223682

式(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 device 13 can restore all the original data D if it receives the conversion data S more than the number of the original data D. However, since the receiving device 13 may not be able to receive some converted data S due to packet loss, the transmitting device 11 has more conversion data as much as possible, which is more than the number of original data and can realize transmission processing. S is generated. Therefore, here, the relationship between the value of the variable M indicating the number of the converted data S and the value of the variable N indicating the number of the original data D is set as described above, and the transmission device 11 has a sufficient number of conversions. Data shall be generated.

例えば、送信装置11の各部が16ビットで演算を行うとすると、その場合の演算が行なわれるガロア体(ガロア拡大体)はGF(216)となり、元は65000種となり、送信装置11は、互いに独立した変換データを65000個生成することができる。従って、例えば、各ブロックの元データの数を2000個とすると、送信装置11は、各ブロックの変換データのパケットを30倍以上(65000/2000)の期間送信することができる。受信装置13は、元データを復元するためには、このように送信されるパケットの内、任意の2000個を受信すればよいので、再送要求を必要とせずに元データを復元することが容易である。もちろん、変数Mの値は、変数N以上であれば、いくつであってもよいので、生成される変換データの数は65000個以外であってもよい。 For example, if each part of the transmission device 11 performs an operation with 16 bits, the Galois field (Galois expansion field) in which the operation is performed is GF (2 16 ), and the original is 65000 types. 65000 pieces of conversion data independent from each other can be generated. Therefore, for example, if the number of original data of each block is 2000, the transmission device 11 can transmit the conversion data packet of each block for a period of 30 times or more (65000/2000). In order to restore the original data, the receiving device 13 has only to receive any 2000 packets transmitted in this way, so that it is easy to restore the original data without requiring a retransmission request. It is. Of course, the value of the variable M may be any number as long as it is greater than or equal to the variable N, and the number of conversion data to be generated may be other than 65000.

このような行列式を生成すると、行列式生成部62は、この行列式を行列式演算部64に供給する。   When such a determinant is generated, the determinant generator 62 supplies this determinant to the determinant calculator 64.

なお、行列式は、所謂、連立方程式と同じものを示すものとする。以下においても同様である。   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 solution output unit 65. At this time, the determinant operation unit 64 causes the Galois field operation unit 66 to perform operations on the Galois field. That is, the determinant calculation unit 64 supplies the formula to the Galois field calculation unit 66 for the calculation on the Galois field. When the Galois field calculation unit 66 obtains the expression, it calculates the expression on a predetermined Galois field and supplies the calculation result to the determinant calculation unit 64.

ここで、通常の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 data generation unit 23, as shown in FIG. 7, the original data is converted to generate conversion data.

図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 data generation unit 23, the converted data 44 is converted. The conversion data 44 is composed of packet data 72-1 to 72-M. The packet data 72-1 to 72-M are data generated by using the original data D 1 to D N (packet data 71-1 to 71-N) and the coefficient matrix described above, respectively, and the expression (1) Is the result of the operation. For example, the packet data 72-1 which is the first conversion data 44 includes the original data D 1 to D N (packet data 71-1 to 71-N) and the calculation result of the first row of the coefficient matrix described above. Yes, packet data 72-2 which is the second conversion data 44 is the original data D 1 to D N (packet data 71-1 to 71-N) and the calculation result of the second row of the coefficient matrix described above. The packet data 72-M, which is the M-th converted data 44, is the original data D 1 to D N (packet data 71-1 to 71-N) and the calculation result of the M-th row of the coefficient matrix described above. is there. In FIG. 7, multiplication is an operation on a Galois field, and the maximum number of digits (number of bits) of the value does not change. Addition is performed by EOR operation for each bit.

解出力部65は、以上のように算出された解を、変換データSとして、所定のタイミングで図3のアプリケーションデータ生成部24に供給する。   The solution output unit 65 supplies the solution calculated as described above to the application data generation unit 24 of FIG. 3 as conversion data S at a predetermined timing.

次に、アプリケーションデータについて説明する。   Next, application data will be described.

図8は、図3のアプリケーションデータ生成部24の詳細な構成例を示すブロック図である。   FIG. 8 is a block diagram illustrating a detailed configuration example of the application data generation unit 24 of FIG.

最初に、パケットデータが供給される前に、変換データカウンタ82およびブロックカウンタ83は、初期化される。   First, before the packet data is supplied, the conversion data counter 82 and the block counter 83 are initialized.

変換データ受付部81は、変換データ生成部23より変換データが供給されると、その変換データがブロックの最初のパケットデータである場合、変換データカウンタ82とブロックカウンタ83をカウントアップさせる。また、変換データ生成部23より供給された変換データがブロックの最初のパケットデータでない(既に、そのブロックの変換データが供給されている)場合、変換データ受付部81は、変換データカウンタ82のみをカウントアップさせる。変換データカウンタ82およびブロックカウンタ83は、所定のタイミングで、そのカウント値をヘッダ付加部84に供給する。   When the conversion data is supplied from the conversion data generation unit 23, the conversion data reception unit 81 counts up the conversion data counter 82 and the block counter 83 when the conversion data is the first packet data of the block. In addition, when the conversion data supplied from the conversion data generation unit 23 is not the first packet data of the block (the conversion data of the block has already been supplied), the conversion data reception unit 81 sets only the conversion data counter 82. Count up. The conversion data counter 82 and the block counter 83 supply the count value to the header adding unit 84 at a predetermined timing.

また、変換データ受付部81は、ブロックの最後の変換データを処理した後に、変換データカウンタ82のカウント値を初期化する。   Moreover, the conversion data reception part 81 initializes the count value of the conversion data counter 82, after processing the last conversion data of a block.

さらに、変換データ受付部81は、各カウンタを調整すると、変換データをヘッダ付加部84に供給する。ヘッダ付加部84は、変換データ受付部81より供給された変換データに対して、変換データカウンタ82およびブロックカウンタ83より供給されたカウント値を、図9に示されるように、ヘッダとして変換データに付加し、アプリケーションデータを生成する。   Furthermore, the conversion data reception unit 81 supplies the conversion data to the header addition unit 84 when each counter is adjusted. The header adding unit 84 converts the count value supplied from the conversion data counter 82 and the block counter 83 to the conversion data supplied from the conversion data receiving unit 81 as conversion data as a header, as shown in FIG. Append and generate application data.

図9において、アプリケーションデータ91は、ヘッダとして付加されたブロック番号92および変換データの生成時に用いられた係数行列の行番号93、並びに、変換データ94により構成される。ブロック番号92は、各ブロックを識別するための番号であり、各ブロックに対して互いに異なる値が割り当てられる。その値は、ブロックカウンタ83より供給されるカウント値である。変換データ生成部23は、ブロック単位で元データを変換データに変換し、その変換データをアプリケーションデータ生成部24に供給するので、ブロックカウンタ83は、供給される変換データに対応するブロックをカウントしていくことにより、ブロック番号92を供給することができる。   In FIG. 9, application data 91 includes a block number 92 added as a header, a coefficient matrix row number 93 used when generating the conversion data, and conversion data 94. The block number 92 is a number for identifying each block, and a different value is assigned to each block. The value is a count value supplied from the block counter 83. Since the conversion data generation unit 23 converts the original data into conversion data in units of blocks and supplies the conversion data to the application data generation unit 24, the block counter 83 counts blocks corresponding to the supplied conversion data. By doing so, the block number 92 can be supplied.

行番号93は、各変換データが対応する、各変換データを生成する際に演算に利用された係数行列の行番号である。その値は、変換データカウンタ82より供給されるカウント値である。変換データ生成部23は、元データを変換データに変換すると、その変換データを、変換した順番に、アプリケーションデータ生成部24に供給する。すなわち、変換データ生成部23は、上述した式(1)における1つ目の変換データS1からM個目の変換データSMまで、各変換データを順に求めていき、その求めた順に、変換データをアプリケーションデータ生成部24に供給する。従って、変換データ生成部23は、S1,S2,S3,…,SMの順番で変換データをアプリケーションデータ生成部24に供給するので、変換データカウンタ82は、供給される変換データをカウントすることにより、カウント値を、各変換データに対応する係数行列の行番号として供給することができる。なお、このカウント値は、ブロック毎にリセットされる。 The row number 93 is a row number of a coefficient matrix used for calculation when generating each conversion data corresponding to each conversion data. The value is a count value supplied from the conversion data counter 82. When the conversion data generation unit 23 converts the original data into conversion data, the conversion data generation unit 23 supplies the conversion data to the application data generation unit 24 in the converted order. That is, the conversion data generation unit 23 obtains each conversion data in order from the first conversion data S 1 to the M-th conversion data S M in the above-described equation (1), and in the order obtained, the conversion data Data is supplied to the application data generation unit 24. Therefore, since the conversion data generation unit 23 supplies the conversion data to the application data generation unit 24 in the order of S 1 , S 2 , S 3 ,..., S M , the conversion data counter 82 supplies the conversion data to be supplied. By counting, the count value can be supplied as the row number of the coefficient matrix corresponding to each conversion data. This count value is reset for each block.

このようなヘッダが変換データ94に付加されて、アプリケーションデータ91が生成される。なお、これらのヘッダに含まれる情報は、受信装置13において、元データを復元する際に利用される。   Such a header is added to the conversion data 94 to generate application data 91. Information included in these headers is used when the original data is restored in the receiving device 13.

図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 UDP packetizing unit 25.

このように、アプリケーションデータ生成部24がブロック番号を変換データに付加することにより、受信装置13は、後述するように、受信した変換データが対応するブロックを識別することができ、ブロック単位で処理することができる。   In this way, the application data generation unit 24 adds the block number to the converted data, so that the receiving device 13 can identify the block corresponding to the received converted data, as will be described later. can do.

また、アプリケーションデータ生成部24が行番号を変換データに付加することにより、受信装置13は、後述するように、元データを復元する際に、受信した変換データを係数行列に対応させることができ、元データを復元するための行列式を容易かつ正確に生成することができる。   Further, the application data generation unit 24 adds the row number to the converted data, so that the receiving device 13 can associate the received converted data with the coefficient matrix when restoring the original data, as will be described later. The determinant for restoring the original data can be generated easily and accurately.

次に、データの受信側について説明する。   Next, the data receiving side will be described.

図10は、図2の受信装置13の詳細な構成例を示すブロック図である。   FIG. 10 is a block diagram illustrating a detailed configuration example of the reception device 13 of FIG.

ネットワーク12を介して受信装置13に送信されたパケットは、ケーブル100を介してイーサネット(R)(Ethernet(R))処理部101に供給される。イーサネット(R)処理部101は、イーサネット(R)の規格に基づいて、データリンク層および物理層の処理を行い、供給されたパケットからIPパケットを抽出し、IP処理部102に供給する。   A packet transmitted to the receiving device 13 via the network 12 is supplied to the Ethernet (R) processing unit 101 via the cable 100. The Ethernet (R) processing unit 101 performs data link layer and physical layer processing based on the Ethernet (R) standard, extracts IP packets from the supplied packets, and supplies them to the IP processing unit 102.

IP処理部102は、IPプロトコルに基づいて、ネットワーク層の処理を行い、供給されたIPパケットよりUDPパケットを抽出し、アプリケーションデータ抽出部103に供給する。アプリケーションデータ抽出部103は、UDPプロトコルに基づいてトランスポート層の処理を行い、UDPパケットより、アプリケーションデータを抽出し、それをバッファ104に供給する。   The IP processing unit 102 performs network layer processing based on the IP protocol, extracts a UDP packet from the supplied IP packet, and supplies the UDP packet to the application data extraction unit 103. The application data extraction unit 103 performs transport layer processing based on the UDP protocol, extracts application data from the UDP packet, and supplies it to the buffer 104.

バッファ104は、アプリケーションデータを保持し、アプリケーションデータに付加されたブロック番号に基づいて、アプリケーションデータをブロック単位で管理し、例えば、元データを復元するのに必要な数のアプリケーションデータを取得すると、それらをブロック毎にパケットデータ復元部105に供給する。   The buffer 104 holds application data, manages the application data in units of blocks based on the block number added to the application data, for example, when acquiring the number of application data necessary to restore the original data, They are supplied to the packet data restoration unit 105 for each block.

パケットデータ復元部105は、供給されたアプリケーションデータに含まれる変換データに基づいて、ブロック単位で元データを復元し、それをブロックデータ復元部106に供給する。ブロックデータ復元部106は、パケットデータ復元部105より供給される元データ(パケットデータ)を用いて、ブロックデータを復元し、そのブロックデータを再生出力部107に供給する。再生出力部107は、そのブロックデータを、順次、所定のタイミングで再生し、1つの受信データ(元の送信用データ)として受信装置13の外部に出力する。   The packet data restoration unit 105 restores the original data in units of blocks based on the conversion data included in the supplied application data, and supplies it to the block data restoration unit 106. The block data restoration unit 106 restores block data using the original data (packet data) supplied from the packet data restoration unit 105, and supplies the block data to the reproduction output unit 107. The reproduction output unit 107 sequentially reproduces the block data at a predetermined timing and outputs the block data as one reception data (original transmission data) to the outside of the reception device 13.

送信装置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 transmission device 11 is transmitted toward the reception device 13, but may not be received by the reception device 13 due to various causes. For example, as illustrated in FIG. 11, when nine transmission packets 111 are transmitted from the transmission packet 111 transmitted by the transmission device 11, the reception device 13 restores the original data and restores one block data. Suppose that the receiving device 13 lost the packets of numbers 3, 7, and 8 of the transmission packet 111. That is, in the received packet 112, packets with packet numbers 3, 7, and 8 are lost. When three arbitrary packets are lost from the transmission packet 111 in this way, the receiving apparatus 13 uses three packets corresponding to the same block as the lost packet in addition to the packets with the packet numbers 1 to 9 described above (see FIG. 11, the original data can be restored if the packet numbers 10 to 12 are received. That is, if the receiving device 13 can receive a necessary number of packets from among the packets transmitted by the transmitting device 11, the receiving device 13 can be any packet as long as the packet corresponds to the same block. The data can be restored. Details of the restoration processing will be described later.

なお、上述したバッファ104以降のモジュールが実行する処理は、OSI階層モデルにおける、アプリケーション層、プレゼンテーション層、およびセション層の処理である。   Note that the processing executed by the modules after the buffer 104 described above is processing in the application layer, presentation layer, and session layer in the OSI hierarchical model.

このように、受信装置13は、送信装置11より送信したパケットの内、任意のパケットを所定の数以上取得すれば、元データ(送信用データ)を復元することができる。すなわち、受信装置13は、送信装置11が送信する変換データを用いて、元データを復元するようにすることにより、パケットロスに対する耐性を向上させることができ、データの送受信をより正確、かつ、より容易に行うようにデータを受信することができる。   As described above, the receiving device 13 can restore the original data (data for transmission) by acquiring a predetermined number or more of arbitrary packets among the packets transmitted from the transmitting device 11. That is, the receiving device 13 can improve the resistance against packet loss by restoring the original data using the converted data transmitted by the transmitting device 11, more accurately transmitting and receiving data, and Data can be received to make it easier.

次に、ロスパケットの復元について説明する。   Next, restoration of lost packets will be described.

図12は、パケットデータ復元部105の詳細な構成例を示すブロック図である。   FIG. 12 is a block diagram illustrating a detailed configuration example of the packet data restoration unit 105.

図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 buffer unit 104 in FIG. 10 is supplied to the received packet data holding unit 121. When the received packet data holding unit 121 acquires a sufficient number of application data for restoring the original data for one block, the determinant creating unit 122 stores the application data (transformed data) in the received packet data holding unit 121. Is requested and acquired, and the coefficient matrix is requested from the coefficient matrix supply unit 123 and acquired. At this time, the determinant creation unit 122 requests only the row corresponding to each conversion data of the coefficient matrix based on the row number 93 included in the header of the acquired application data. The coefficient matrix supply unit 123 holds in advance a coefficient matrix that is the same as the coefficient matrix used in the transmission apparatus 11 (shown in Expression (1)), and based on the request of the determinant creation unit 122, the coefficient matrix Only the requested row components of are supplied.

行列式作成部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.

Figure 2005223682
Figure 2005223682

なお、式(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 transmission apparatus 11 generates conversion data). Accordingly, the coefficient matrix of the first term on the left side of the equation (2) is the same as the coefficient matrix of the equation (1), and the component A ij in the j-th row and the i-th column is based on the natural number r j for each row. , A value r j (i−1) having a value “i−1” obtained by subtracting the value “1” from the column number i as a multiplier. However, the row component of the coefficient matrix shown in Expression (2) is configured only by the row component to which the packet received by the reception device 13 corresponds (that is, the row component specified in the row number 93 of the application data). Therefore, for example, when the receiving device 13 receives arbitrary N packets among the M packets transmitted by the transmitting device 11 and restores the original data from the N packets, this equation (2) The coefficient matrix is a matrix of N rows and N columns.

式(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 data restoring unit 105, by solving the simultaneous equations, to restore the original data D 1 to D N.

行列式作成部122は、受信した変換データSをアプリケーションデータのヘッダに含まれる行番号93に基づいて整列し、係数行列供給部123より、係数行列の、行番号93の行成分を切り出して取得することにより、式(2)を作成する。   The determinant creation unit 122 arranges the received conversion data S based on the row number 93 included in the header of the application data, and extracts and obtains the row component of the row number 93 of the coefficient matrix from the coefficient matrix supply unit 123. By doing so, Formula (2) is created.

行列式作成部122は、以上のような行列式を作成すると、それを行列式演算部124に供給する。行列式演算部124は、この行列式をガロア体(ガロア拡大体)上で演算し、例えば、ガウスの消去法を用いて、元データD1乃至DNの解を求める。求解方法は、ロスした元データを算出することができるものであれば、どのようなものであってもよい。 When the determinant creating unit 122 creates the determinant as described above, the determinant creating unit 122 supplies it to the determinant calculating unit 124. Determinant calculation unit 124 calculates the determinant on the Galois field (Galois field), for example, using the Gaussian elimination, solving of the original data D 1 to D N. Any method may be used as long as it can calculate the lost original data.

元データD1乃至DNの解を求めると、行列式演算部124は、その解を解出力部126に供給する。解出力部126は、その解を元データとして、図10のブロックデータ復元部106に供給する。 When the solutions of the original data D 1 to D N are obtained, the determinant operation unit 124 supplies the solutions to the solution output unit 126. The solution output unit 126 supplies the solution as original data to the block data restoration unit 106 in FIG.

以上のようにパケットデータ復元部105が復元処理を行うことにより、受信装置13は、送信装置11に再送要求をすることなしに、元データを容易に復元することができる。また、図11を参照して説明したように、受信装置13は、送信装置11が送信する変換データの内、所定の数の任意の変換データを取得すれば、元データを復元することができるので、例えば、パケットをロスした場合であっても、ロスした数と同数のパケットを任意に追加的に受信すればよく、カルーセル方式によりパケットを送信する場合と比較して、高速に復元処理を開始することができ、受信処理をより高速に実行することができる。   As described above, when the packet data restoration unit 105 performs the restoration process, the reception device 13 can easily restore the original data without making a retransmission request to the transmission device 11. In addition, as described with reference to FIG. 11, the reception device 13 can restore the original data by acquiring a predetermined number of arbitrary conversion data among the conversion data transmitted by the transmission device 11. Therefore, for example, even if packets are lost, it is only necessary to arbitrarily receive the same number of lost packets as compared with the case where packets are transmitted by the carousel method. The reception process can be executed at a higher speed.

次に、送信装置11における、上述した各部の処理の流れについて説明する。   Next, the process flow of each unit described above in the transmission apparatus 11 will be described.

外部からの送信データの供給が開始されると、送信装置11は、データ送信処理を開始する。図3の送信装置11によるデータ送信処理を図13のフローチャートを参照して説明する。   When the supply of transmission data from the outside is started, the transmission device 11 starts data transmission processing. A data transmission process by the transmission device 11 of FIG. 3 will be described with reference to a flowchart of FIG.

最初に、送信データが外部より供給されると、送信装置11のデータ分割部21は、ステップS1において、送信データをブロックに分割し、分割したブロックデータをブロック分割部22に供給する。ブロック分割部22は、ステップS2において、供給されたブロックデータをさらにパケットデータに分割し、それを元データとして、変換データ生成部23に供給する。なお、以下の処理は、ブロック単位で行われる。   First, when transmission data is supplied from the outside, the data division unit 21 of the transmission device 11 divides the transmission data into blocks and supplies the divided block data to the block division unit 22 in step S1. In step S2, the block dividing unit 22 further divides the supplied block data into packet data, and supplies the packet data to the converted data generating unit 23 as original data. The following processing is performed in units of blocks.

パケットデータを供給された変換データ生成部23は、ステップS3において、変換データ生成処理を実行して、ガロア体上における四則演算を行い、元データを変換して変換データを生成し、それをアプリケーションデータ生成部24に供給する。変換データ生成処理の詳細については、図14のフローチャートを参照して説明する。   In step S3, the conversion data generation unit 23 supplied with the packet data executes conversion data generation processing, performs four arithmetic operations on the Galois field, converts the original data to generate conversion data, The data is supplied to the data generation unit 24. Details of the conversion data generation processing will be described with reference to the flowchart of FIG.

変換データを供給されたアプリケーションデータ生成部24は、ステップS4において、アプリケーションデータ生成処理を実行し、アプリケーションデータを生成し、生成したアプリケーションデータをUDPパケット化部25に供給する。なお、アプリケーションデータ生成処理の詳細については、図15のフローチャートを参照して後述する。   The application data generation unit 24 supplied with the conversion data executes application data generation processing in step S4, generates application data, and supplies the generated application data to the UDP packetization unit 25. Details of the application data generation process will be described later with reference to the flowchart of FIG.

アプリケーションデータを供給された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 UDP packetization unit 25 supplied with the application data converts the application data into a UDP packet and supplies it to the buffer 26 in step S5. The buffer 26 temporarily holds the supplied UDP packet, and in step S6, the output control unit 27 takes out the UDP packet held in the buffer 26 in an arbitrary order, thereby changing the transmission order of the UDP packet. . The output control unit 27 supplies the extracted UDP packet to the IP processing unit 28. In step S7, the IP processing unit 28 converts the supplied UDP packet into an IP packet and supplies the packet to the Ethernet (R) processing unit 29. The Ethernet (R) processing unit 29 further packetizes the supplied IP packet. Thus, the packets (each including a UDP packet) are transmitted to the network 12 (receiving device 13) via the cable 30 in the order changed by the output control unit 27.

そして、ブロック分割部22は、ステップS8において、外部より送信装置11に供給された送信データを構成する全ブロックに対して処理が終了したか否かを判定し、終了していないと判定した場合は、ステップS2に処理を戻し、それ以降の処理を繰り返す。また、全ブロックに対して送信処理が終了したと判定した場合、ブロック分割部22は、ステップS9に処理を進め、終了処理を行った後、データ送信処理を終了する。   Then, in step S8, the block division unit 22 determines whether or not processing has been completed for all blocks constituting transmission data supplied from the outside to the transmission device 11, and determines that the processing has not been completed. Returns the process to step S2, and repeats the subsequent processes. If it is determined that the transmission process has been completed for all blocks, the block dividing unit 22 proceeds to step S9, performs the termination process, and then terminates the data transmission process.

以上のようにしてデータ送信処理が実行される。これにより、送信装置11は、ガロア体上の四則演算を用いて元データを変換データに変換してから受信装置13に送信するので、受信装置13が、任意のパケット(変換データ)を所定の数以上受信すれば、元データを復元することができるように、データを容易かつ正確に送信することができる。また、送信装置11は、パケットデータの送信順をシャッフルし、パケット番号と独立した順序で送信するので、受信装置13のバースト的パケットロスへの耐性も高めることができる。すなわち、図2の通信システム10は、より容易に、より正確な通信を行うことができる。   The data transmission process is executed as described above. As a result, the transmission device 11 converts the original data into converted data using the four arithmetic operations on the Galois field and then transmits the converted data to the reception device 13. Therefore, the reception device 13 sends an arbitrary packet (converted data) to a predetermined value. If more than a few are received, the data can be transmitted easily and accurately so that the original data can be restored. In addition, since the transmission device 11 shuffles the transmission order of packet data and transmits the packet data in an order independent of the packet number, it is possible to increase the resistance of the reception device 13 to bursty packet loss. That is, the communication system 10 in FIG. 2 can perform more accurate communication more easily.

次に、図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 data holding unit 61 of the conversion data generating unit 23 supplied with the original data from the block dividing unit 22 temporarily holds the supplied original data and holds one block in step S21.

元データ保持部61が1ブロック分の元データを保持すると、行列式生成部62は、ステップS22において、係数行列供給部73に対して係数行列を要求する。係数行列供給部63は、その要求に基づいて、予め用意した係数行列(式(1)の右辺第1項の行列)を行列式生成部62に供給する。   When the original data holding unit 61 holds the original data for one block, the determinant generating unit 62 requests the coefficient matrix from the coefficient matrix supplying unit 73 in step S22. Based on the request, the coefficient matrix supply unit 63 supplies a previously prepared coefficient matrix (the matrix of the first term on the right side of the equation (1)) to the determinant generation unit 62.

係数行列を取得した行列式生成部62は、ステップS23において、元データ保持部61に保持されている1ブロック分の元データを取得して、式(1)のような、変換データを生成するための行列式を生成する。行列式を生成した行列式生成部62は、それを行列式演算部64に供給する。   In step S23, the determinant generation unit 62 that has acquired the coefficient matrix acquires the original data for one block held in the original data holding unit 61, and generates conversion data like Expression (1). Generate a determinant for The determinant generating unit 62 that has generated the determinant supplies it to the determinant calculating unit 64.

行列式を供給された行列式演算部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 unit 65.

解出力部65は、ステップS25において、供給された解を、送信用の変換データとして、アプリケーションデータ生成部24に出力し、処理を図13のステップS4に戻してそれ以降の処理を実行させる。   In step S25, the solution output unit 65 outputs the supplied solution as transmission conversion data to the application data generation unit 24, returns the processing to step S4 in FIG. 13, and executes the subsequent processing.

以上のように、変換データ生成部23は、元データや予め用意された係数行列を用いてガロア体上の四則演算(EOR演算を含む)を行い、変換データを生成する。これにより送信装置11は、受信装置13が、送信装置11より送信したパケットの内、任意のパケットを所定の数以上取得すれば、元データ(送信用データ)を復元することができるようにすることができる。すなわち、送信装置11は、受信装置13のパケットロスに対する耐性を高め、データの送受信をより正確、かつ、より容易に行うようにデータを送信することができる。また、送信装置11は、変換データのパケットの送信順をシャッフルしてから送信するので、受信装置13のバースト的パケットロスに対する耐性を高めることもできる。   As described above, the conversion data generation unit 23 performs four arithmetic operations (including EOR calculation) on the Galois field using original data and a coefficient matrix prepared in advance, and generates conversion data. As a result, the transmission apparatus 11 can restore the original data (transmission data) if the reception apparatus 13 acquires a predetermined number or more of the packets transmitted from the transmission apparatus 11. be able to. That is, the transmission device 11 can increase the tolerance of the reception device 13 against packet loss, and can transmit data so that data transmission / reception can be performed more accurately and easily. Moreover, since the transmission apparatus 11 transmits after shuffling the transmission order of the packets of the conversion data, it is possible to increase the resistance of the reception apparatus 13 against bursty packet loss.

次に、図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 data reception unit 81 of the application data generation unit 24 initializes the count values of the conversion data counter 82 and the block counter 83, respectively. Set the value to “0”.

ステップS42において、変換データ受付部81は、変換データを受け付けたか否かを判定し、変換データを受け付けたと判定した場合、ステップS43に処理を進め、受け付けた変換データがブロック内の最初のパケットデータであるか否かを判定する。ブロック内の最初のパケットデータであると判定した場合、変換データ受付部81は、ステップS44に処理を進め、ブロックカウンタ83をカウントアップさせてカウント値を「1」増加させ、処理をステップS45に進める。なお、ステップS43において、既に、そのブロックの変換データを受け付けており、受け付けた変換データがブロック内の最初のパケットデータでないと判定した場合、変換データ受付部81は、ステップS44の処理を省略し、ステップS45に処理を進める。   In step S42, the conversion data reception unit 81 determines whether conversion data has been received. If it is determined that conversion data has been received, the conversion data reception unit 81 proceeds to step S43, and the received conversion data is the first packet data in the block. It is determined whether or not. If it is determined that the packet data is the first packet data in the block, the conversion data receiving unit 81 proceeds to step S44, increments the block counter 83 to increase the count value by “1”, and proceeds to step S45. Proceed. If it is determined in step S43 that the conversion data of the block has already been received and the received conversion data is not the first packet data in the block, the conversion data reception unit 81 omits the process of step S44. Then, the process proceeds to step S45.

ステップS45において、変換データ受付部81は、変換データカウンタ82をカウントアップさせてカウント値を「1」増加させるとともに、受け付けた変換データをヘッダ付加部84に供給する。変換データを供給されたヘッダ付加部84は、ステップS46において、変換データカウンタ82およびブロックカウンタ83よりそれぞれカウント値を取得し、変換データにブロックカウンタ83のカウント値をブロック番号として、変換データカウンタ82のカウント値を行番号(変換データが対応する係数行列の行番号)として、それぞれ付加し、ステップS47において、カウント値を付加した変換データをアプリケーションデータとしてUDPパケット化部25に供給する。   In step S <b> 45, the conversion data receiving unit 81 increments the conversion data counter 82 to increase the count value by “1” and supplies the received conversion data to the header adding unit 84. In step S46, the header adding unit 84 to which the conversion data is supplied acquires count values from the conversion data counter 82 and the block counter 83, and the conversion data counter 82 uses the count value of the block counter 83 as the block number as the conversion data. Are added as row numbers (coefficient matrix row numbers corresponding to the conversion data), and the converted data to which the count values are added is supplied to the UDP packetizing unit 25 as application data in step S47.

ステップ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 data reception unit 81 omits steps S43 to S47 and proceeds to step S48.

ステップ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 data generating unit 24 adds the block number to the converted data, so that the receiving device 13 can identify the block of the received data as described later. Can be processed in units. Further, the header adding unit 84 adds the row number to the converted data, so that the receiving device 13 restores the original data by associating the received converted data with the coefficient matrix based on the row number, as will be described later. A determinant can be generated.

次に、受信装置13が実行する処理の流れについて説明する。   Next, the flow of processing executed by the receiving device 13 will be described.

最初に、図10の受信装置13によるデータ受信処理を図16のフローチャートを参照して説明する。   First, data reception processing by the receiving device 13 of FIG. 10 will be described with reference to the flowchart of FIG.

受信装置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 transmission device 11 to the reception device 13, and the packet is supplied to the Ethernet (R) processing unit 101 via the cable 100, the Ethernet (R) processing unit 101, in step S61, Receive the packet. The Ethernet processing unit 101 that has received the packet extracts an IP packet from the packet and supplies it to the IP processing unit 102. The IP processing unit 102 extracts a UDP packet from the IP packet and supplies it to the application data extraction unit 103.

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 buffer unit 104 in step S62. In step S63, the buffer unit 104 classifies and holds the supplied application data for each block. In step S64, the buffer unit 104 determines whether or not the application data is held by the number of original data for one block. . That is, the buffer unit 104 accumulates the application data of each block for a predetermined time, and holds the application data of a predetermined number or more, the packet data restoration unit stores the application data of the target block accumulated so far in step S64. It supplies to 105.

ステップ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 buffer unit 104 returns the process to step S61 and repeats the subsequent processes. That is, the reception device 13 waits until a predetermined time elapses in the buffer unit 104 while repeating the processing of steps S61 to S64.

ステップS65において、パケットデータ復元部105は、供給されたアプリケーションデータを用いて、元データ復元処理を実行し、変換データから元データを復元する。なお、元データ復元処理の詳細については、図17のフローチャートを参照して後述する。元データを復元したパケットデータ復元部105は、その復元された元データをブロックデータ復元部106に供給する。   In step S65, the packet data restoration unit 105 executes the original data restoration process using the supplied application data, and restores the original data from the converted data. The details of the original data restoration process will be described later with reference to the flowchart of FIG. The packet data restoring unit 105 that restored the original data supplies the restored original data to the block data restoring unit 106.

ステップS66においてブロックデータ復元部106は、供給された元データを組み合わせてブロックデータを復元し、復元したブロックデータを再生出力部107に供給する。再生出力部107は、供給されたブロックデータを、一時的に保持し、所定のタイミングで再生して出力することにより、ブロックデータ復元部106より順次供給されるブロックデータを連続して出力するようにしてブロックデータを連結し、送信前の送信用データと同等の受信データとして受信装置13の外部に出力する。   In step S <b> 66, the block data restoration unit 106 restores block data by combining the supplied original data, and supplies the restored block data to the reproduction output unit 107. The reproduction output unit 107 temporarily holds the supplied block data, and reproduces and outputs the block data at a predetermined timing so that the block data sequentially supplied from the block data restoration unit 106 is continuously output. Thus, the block data is concatenated and output to the outside of the receiving apparatus 13 as reception data equivalent to the transmission data before transmission.

再生出力部107は、ステップS67において、データ受信処理を終了するか否かを判定し、1つの受信データとしての全てのブロックデータを処理しておらず、データ受信処理を終了しないと判定した場合、処理をステップS61に戻し、それ以降の処理を各部に繰り返させる。   In step S67, the reproduction output unit 107 determines whether or not to end the data reception process, and determines that all block data as one reception data has not been processed and the data reception process is not ended. The processing is returned to step S61, and the subsequent processing is repeated in each section.

また、ステップS67において、データ受信処理を終了すると判定した場合、再生出力部107は、ステップS68において各部に終了処理を実行させ、データ受信処理を終了する。   If it is determined in step S67 that the data reception process is to be terminated, the reproduction output unit 107 causes each unit to execute a termination process in step S68, and the data reception process is terminated.

以上のようにしてデータ受信処理を実行することにより、受信装置13は、高速であり、かつ、復元性能の高い復元処理を、製造コストを増大せずに実現し、より容易に、かつ、より正確にデータを受信することができる。   By executing the data reception process as described above, the reception device 13 can realize a high-speed restoration process with a high restoration performance without increasing the manufacturing cost. Data can be received accurately.

次に、図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 device 13, when the received packet data (application data) is supplied to the received packet data holding unit 121 of the packet data restoring unit 105, the received packet data holding unit 121 uses the information as a determinant creating unit 122. To supply.

行列式作成部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 data holding unit 121 in step S81, and acquires the application data acquired in step S82. The received conversion data is aligned with reference to the line number of the.

また、行列式作成部122は、ステップS83において、アプリケーションデータの行番号に基づいて、係数行列供給部123に保持されている係数行列(M行N列)より必要な部分(行成分)を取得する。   In step S83, the determinant creation unit 122 obtains a necessary part (row component) from the coefficient matrix (M rows and N columns) held in the coefficient matrix supply unit 123 based on the row number of the application data. To do.

なお、この処理は、係数行列供給部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 determinant creation unit 122 from the coefficient matrix and supply it to the determinant creation unit 122. Then, the determinant creation unit 122 may cut out a necessary portion (row component) from the coefficient matrix of M rows and N columns supplied from the coefficient matrix supply unit 123.

すなわち、行列式作成部122は、係数行列の、変換データに対応する行成分を抽出し、それらを成分とする新たな係数行列を取得する。   That is, the determinant creation unit 122 extracts row components corresponding to the conversion data of the coefficient matrix, and acquires a new coefficient matrix having these as components.

そして、ステップS84において、行列式作成部122は、取得した係数行列および変換データを用いて、元データを復元するための行列式(例えば、式(2))を作成し、作成した行列式を行列式演算部124に供給する。   In step S84, the determinant creating unit 122 creates a determinant (for example, the formula (2)) for restoring the original data using the obtained coefficient matrix and the converted data, and the created determinant is This is supplied to the determinant calculation unit 124.

行列式演算部124は、ステップS85において、ガロア体演算部125を用いて、供給された行列式をガロア体上において演算し、例えば、ガウスの消去法等の演算方法により、解を求め、その解を解出力部126に供給する。解出力部125は、ステップS86において、供給された解を元データとしてブロックデータ復元部106に供給し、元データ復元処理を終了して、図16のステップS66に処理を戻す。   In step S85, the determinant computing unit 124 computes the supplied determinant on the Galois field using the Galois field computing unit 125, and obtains a solution by a computing method such as Gaussian elimination. The solution is supplied to the solution output unit 126. In step S86, the solution output unit 125 supplies the supplied solution as original data to the block data restoration unit 106, ends the original data restoration processing, and returns the processing to step S66 in FIG.

以上のように復元処理を行うことにより、パケットデータ復元部105は、復元性能の高い復元処理を実現することができる。すなわち、受信装置13は、より容易、かつ、より正確にデータを受信することができる。   By performing the restoration process as described above, the packet data restoration unit 105 can realize a restoration process with high restoration performance. That is, the receiving device 13 can receive data more easily and accurately.

以上のように、図2に示される通信システム10においては、送信装置11が、送信用データを分割して生成した複数の元データを、ガロア体(ガロア拡大体)上の演算を用いてブロック毎に合成して変換し、各ブロックに対して複数の(元データの数より多くの)変換データを生成し、それらを受信装置13に送信する。受信装置13は、そのように送信された複数の変換データを、ブロック毎に、少なくとも、元データの数以上受信し、受信した元データの数以上の変換データを用いて、元データを復元する。このようにすることにより、送信装置11および受信装置13は、より容易、かつ、より正確にデータを送受信することができる。   As described above, in the communication system 10 shown in FIG. 2, the transmission device 11 blocks a plurality of original data generated by dividing the transmission data using the calculation on the Galois field (Gaaloa expansion field). Each of the blocks is combined and converted to generate a plurality of converted data (more than the number of original data) for each block, and transmit them to the receiving device 13. The receiving device 13 receives at least the number of original data for each block of the plurality of converted data transmitted as described above, and restores the original data using the converted data equal to or more than the number of received original data. . By doing in this way, the transmitter 11 and the receiver 13 can transmit and receive data more easily and more accurately.

なお、このような変換データを元データの冗長データとし(各変換データが元データの内容を含んでいるため)、送信装置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 device 11 transmits it together with the redundant data original data, and the receiving device 13 receives them. Only when the original data is lost, the lost original data may be restored using the received redundant data. In the case of this method, it is only necessary that the original data lost by the receiving device 13 can be restored. Therefore, the transmitting device 11 can reduce the number of redundant data (converted data) to be transmitted, and the receiving device 13 If the original data is not lost, the restoration process of the original data can be omitted.

しかしながら、実際の通信において、パケットロス(元データのロス)が発生しないことは稀であり、さらに、この方法の場合、例えば、送信装置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 transmission device 11 can mutually communicate in the case of original data and the case of redundant data. A header including different contents must be added to generate and transmit two types of application data, and the receiving device 13 determines whether the received packet is a packet of original data or a packet of redundant data. And processing each as separate data, determining whether or not the original data is lost, or restoring the lost original data using the received redundant data only when the original data is lost For example, it is necessary to create a determinant for the calculation and perform an operation to restore the original data. 13 manufacturing cost of some concern that increased.

以上に説明した図2に示される通信システム10における通信方法の場合、このような複雑な処理を必要とせずに、容易に、データの送受信を行うことができ、かつ、上述したように元データを任意の変換データより復元することができるので、より正確にデータの送受信を行うことができる。   In the case of the communication method in the communication system 10 shown in FIG. 2 described above, it is possible to easily transmit and receive data without requiring such complicated processing, and the original data as described above. Can be restored from any conversion data, so that data can be transmitted and received more accurately.

さらに、図2に示される通信システム10における通信方法の場合、受信装置13は、元データを任意の変換データより復元することができるので、例えば、送信装置11が変換データを含むパケット群を送信中に、その送信の途中から、パケットの受信を開始しても、全ブロックについて元データの数より多くの変換データを受信することができれば、元データを復元することができる。これは、例えば、マルチキャストやブロードキャスト等のように、1対多の通信においてより効果的である。   Furthermore, in the case of the communication method in the communication system 10 shown in FIG. 2, the receiving device 13 can restore the original data from arbitrary converted data, so that, for example, the transmitting device 11 transmits a packet group including the converted data. Even if packet reception is started in the middle of the transmission, the original data can be restored if more converted data than the number of original data can be received for all blocks. This is more effective in one-to-many communication such as multicast or broadcast.

以上においては、通信システム10が、データを送信する送信装置11およびデータを受信する受信装置13により構成されるように説明したが、通信システムの構成は、これに限らず、通信システムは、例えば、図18に示されるように、図1の送信装置11および受信装置13を、それぞれモジュールとし、送信部および受信部とし、それらの両方を含む2台の送受信装置により構成されるようにしてもよい。   In the above description, the communication system 10 has been described as configured by the transmission device 11 that transmits data and the reception device 13 that receives data. However, the configuration of the communication system is not limited to this, and the communication system is, for example, As shown in FIG. 18, the transmission device 11 and the reception device 13 of FIG. 1 are each configured as a module, which is a transmission unit and a reception unit, and is configured by two transmission / reception devices including both of them. Good.

図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 / reception device 211 and a transmission / reception device 213 connected to the network 212, similar to the network 12 of FIG. 2. The transmission / reception device 211 includes a transmission unit 221 and a reception unit 222, and the transmission / reception device 213 includes a transmission unit 231 and a reception unit 232. The transmission unit 221 and the transmission unit 231 have basically the same configuration as the transmission device 11 in FIG. 2 and operate in the same manner, and thus detailed description thereof is omitted.

また、図18において、受信部222および受信部232は、図2の受信装置13と基本的に同様の構成であり、同様に動作するのでその詳細な説明は省略する。   In FIG. 18, the receiving unit 222 and the receiving unit 232 have basically the same configuration as the receiving device 13 in FIG. 2 and operate in the same manner, and thus detailed description thereof is omitted.

すなわち、図18の通信システム201は、内蔵する送信部および受信部をそれぞれ有する送受信装置211および送受信装置213により構成され、それらが互いに上述したような演算を用いて元データを変換した変換データを利用して、再送制御なしに、通信処理を行う。   That is, the communication system 201 in FIG. 18 includes a transmission / reception device 211 and a transmission / reception device 213 each having a built-in transmission unit and reception unit, and the conversion data obtained by converting the original data using the operations described above. By using this, communication processing is performed without retransmission control.

このようにすることにより、双方向の通信においても、受信部は、高速であり、かつ、復元性能の高い復元処理を、製造コストを増大せずに実現することができる。従って、送受信装置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 / reception device 211 and the transmission / reception device 213 can transmit and receive data more easily and accurately.

なお、図2においては、通信システム10は、1台の送信装置11および1台の受信装置13により構成されるように説明したが、これに限らず、複数台の送信装置または複数台の受信装置を含むようにしてもよい。   In FIG. 2, the communication system 10 has been described as being configured by one transmission device 11 and one reception device 13, but not limited thereto, a plurality of transmission devices or a plurality of reception devices. An apparatus may be included.

図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 network 312 that is equivalent to the network of FIG. 2, and includes a plurality of terminal devices 313 and 314 that are also connected to the network 312.

図19において、サーバ311は、送信装置11と同様の機能を有しており、ネットワーク312を介して、端末装置313および端末装置314のそれぞれに対して、画像データや音声データ等のコンテンツデータを分割し、その元データに対して上述したような演算を行い、元データを変換して得られた変換データをパケット化してマルチキャストに送信する。   In FIG. 19, the server 311 has the same function as the transmission device 11, and transmits content data such as image data and audio data to each of the terminal device 313 and the terminal device 314 via the network 312. The data is divided, the above-described calculation is performed on the original data, and the converted data obtained by converting the original data is packetized and transmitted to the multicast.

端末装置313および端末装置314は、それぞれ、受信装置13と同様の機能を有しており、サーバ311より供給されるパケットをそれぞれ受信し、上述したように元データを復元する等して、コンテンツデータを復元し、再生する。   Each of the terminal device 313 and the terminal device 314 has the same function as that of the receiving device 13, receives each packet supplied from the server 311, restores the original data as described above, etc. Restore and play the data.

なお、サーバ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 transmission device 11 adds the block size information of the block together with the block number to the header of the application data, and the reception device 13 receives the block based on the block size information. The number of packets may be determined.

また、以上においては、コンテンツデータである送信用データを、データの先頭から終了に向かって、順番に切り出すように説明したが、ブロックの切り出し方はどのようなものであってもよい。ただし、そのブロックの生成方法は、通信システム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 communication system 10 or the transmission device 11 supplies the reception device 13 with information on the method, so that the transmission device 11 and the reception device 13 can generate the block. It is necessary to share. Based on the information, the reception device 13 restores the transmission data from the block by a method corresponding to the block generation method by the transmission device 11.

なお、ブロックは処理の単位であるので、実際には、送信装置11は、その処理の流れに応じてコンテンツデータを分割し、ブロックを生成するようにするのが望ましい。従って、送信装置11が、その処理の順番によって、例えば、コンテンツデータより一定の規則で離散的に抜き出して1つのブロックとするようにしてもよい。   Since a block is a unit of processing, it is actually preferable that the transmission apparatus 11 divides content data according to the processing flow to generate a block. Therefore, the transmission device 11 may be extracted in a discrete manner from the content data according to a certain rule according to the order of processing, for example, to form one block.

また、上述した変換データを送信する方法と、再送要求を用いる方法とを組み合わせて利用するようにしてももちろんよい。その場合、受信側の装置は、パケットロスが発生した場合、まず、受信した変換データにより元データの復元を試み、復元不能であった場合に、送信元に対してロスしたパケットの再送要求を行うようにする。このようにすることにより、再送要求の回数を削減することができるので、送信側と受信側の両方の装置において、再送要求による処理の負荷を軽減させることができる。すなわち、システム全体の負荷を削減することができる。   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 transmission device 11 performs the conversion data generation processing and the data transmission processing at the same time. However, the present invention is not limited to this. For example, the transmission device 11 acquires the transmission data in advance and uses it as described above. Of course, the converted data may be converted and stored, and the stored converted data may be supplied based on the request of the receiving device 13.

また、式(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 device 13 does not necessarily obtain all the solutions (N original data can be restored from N converted data). It is necessary to receive many (as margin) packets. Then, the receiving device 13 restores N original data by building N simultaneous equations independent of each other from the received N + α packets and solving them. For example, the reception device 13 creates a determinant as described above using the received N + α conversion data, and solves it while performing pivot selection.

図2の通信システム10において、送信装置11と受信装置13が接続されるネットワーク12は、その一部または全部が有線により構成されるようにしてもよいし,無線により構成されるようにしてもよい。またネットワーク12が複数のネットワークにより構成されるようにしてもよい。すなわち、送信装置11と受信装置13とが複数のルータ等を介して接続されるようにしても良い。   In the communication system 10 of FIG. 2, the network 12 to which the transmission device 11 and the reception device 13 are connected may be partly or wholly configured by wire or may be configured by radio. Good. The network 12 may be configured by a plurality of networks. That is, the transmission device 11 and the reception device 13 may be connected via a plurality of routers or the like.

さらに、送信装置11および受信装置13は、上述した構成以外の構成を含むようにしてもよい。例えば、モニタ等の表示部を設けるようにしても良いし、キーボードやボタン等の入力部を設けるようにしてもよい。   Furthermore, the transmission device 11 and the reception device 13 may include configurations other than those described above. For example, a display unit such as a monitor may be provided, or an input unit such as a keyboard and buttons may be provided.

上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図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 transmission device 11 and the reception device 13 in FIG. 2 include a personal computer as shown in FIG.

図20において、パーソナルコンピュータ401のCPU411は、ROM(Read Only Memory)412に記憶されているプログラム、または記憶部423からRAM413にロードされたプログラムに従って各種の処理を実行する。RAM413にはまた、CPU411が各種の処理を実行する上において必要なデータなども適宜記憶される。   In FIG. 20, the CPU 411 of the personal computer 401 executes various processes in accordance with a program stored in a ROM (Read Only Memory) 412 or a program loaded from the storage unit 423 to the RAM 413. The RAM 413 also appropriately stores data necessary for the CPU 411 to execute various processes.

CPU411、ROM412、およびRAM413は、バス414を介して相互に接続されている。このバス414にはまた、入出力インタフェース420も接続されている。   The CPU 411, the ROM 412, and the RAM 413 are connected to each other via the bus 414. An input / output interface 420 is also connected to the bus 414.

入出力インタフェース420には、キーボード、マウスなどよりなる入力部421、CRT、LCDなどよりなるディスプレイ、並びにスピーカなどよりなる出力部422、ハードディスクなどより構成される記憶部423、モデムなどより構成される通信部424が接続されている。通信部424は、インターネットを含むネットワーク12を介しての通信処理を行う。   The input / output interface 420 includes an input unit 421 including a keyboard and a mouse, a display including a CRT and an LCD, an output unit 422 including a speaker, a storage unit 423 including a hard disk, a modem, and the like. A communication unit 424 is connected. The communication unit 424 performs communication processing via the network 12 including the Internet.

入出力インタフェース420にはまた、必要に応じてドライブ425が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア426が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部423にインストールされる。   A drive 425 is connected to the input / output interface 420 as necessary, and a removable medium 426 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is Installed in the storage unit 423 as necessary.

上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。   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 ( Removable media 426 composed of CD-ROM (compact disk-read only memory), DVD (digital versatile disk), magneto-optical disk (including MD (mini-disk) (registered trademark)), or semiconductor memory In addition to being configured, it is configured by a ROM 412 in which a program is recorded and a hard disk included in the storage unit 423, which is distributed to the user in a state of being incorporated in the apparatus main body in advance.

なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。   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.

従来のカルーセル方式によるデータの送信方法を説明する図である。It is a figure explaining the data transmission method by the conventional carousel system. 本発明を適用した通信システムの構成例を示す図である。It is a figure which shows the structural example of the communication system to which this invention is applied. 図2の送信装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the transmitter of FIG. 図3の送信装置におけるデータの処理の流れを示す図である。It is a figure which shows the flow of a process of the data in the transmitter of FIG. UDPパケットの構成例を示す模式図である。It is a schematic diagram which shows the structural example of a UDP packet. 図3の変換データ生成部の詳細な構成例を示すブロック図である。It is a block diagram which shows the detailed structural example of the conversion data generation part of FIG. 変換データの生成の様子を説明する模式図である。It is a schematic diagram explaining the mode of the production | generation of conversion data. 図3のアプリケーションデータ生成部の詳細な構成例を示すブロック図である。It is a block diagram which shows the detailed structural example of the application data generation part of FIG. アプリケーションデータの構成例を示す模式図である。It is a schematic diagram which shows the structural example of application data. 図2の受信装置の構成例を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration example of a receiving device in FIG. 2. パケットをロスする様子の例を示す図である。It is a figure which shows the example of a mode that a packet is lost. 図10のパケットデータ復元部の詳細な構成例を示すブロック図である。It is a block diagram which shows the detailed structural example of the packet data decompression | restoration part of FIG. データ送信処理の例を説明するフローチャートである。It is a flowchart explaining the example of a data transmission process. 変換データ生成処理の例を説明するフローチャートである。It is a flowchart explaining the example of a conversion data production | generation process. アプリケーションデータ生成処理の例を説明するフローチャートである。It is a flowchart explaining the example of an application data generation process. データ受信処理の例を説明するフローチャートである。It is a flowchart explaining the example of a data reception process. 元データ復元処理の例を説明するフローチャートである。It is a flowchart explaining the example of an original data restoration process. 本発明を適用した通信システムの、他の構成例を示す図である。It is a figure which shows the other structural example of the communication system to which this invention is applied. 本発明を適用したコンテンツ配信システムの構成例を示す図である。It is a figure which shows the structural example of the content delivery system to which this invention is applied. パーソナルコンピュータの構成例を示すブロック図である。And FIG. 16 is a block diagram illustrating a configuration example of a personal computer.

符号の説明Explanation of symbols

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.
前記変換手段により前記第1のデータが変換されて得られた前記第2のデータに、前記受信装置における前記第1のデータの復元に用いられる情報である、前記第2のデータが対応する前記係数行列の行番号を含む情報を付加する情報付加手段をさらに備え、
前記送信手段は、前記情報付加手段により前記情報が付加された複数の前記第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.
前記変換手段は、複数の前記第1のデータを、前記第1のデータの数より多くの前記第2のデータに変換する
ことを特徴とする請求項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.
前記変換手段により複数の前記第1のデータが変換されて得られた複数の前記第2のデータの、送信順を制御する送信順制御手段をさらに備え、
前記送信手段は、前記送信順制御手段により、任意に決定された前記送信順で、複数の前記第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のデータを生成し、
前記変換手段は、ブロック毎に、前記データ生成手段により生成された複数の前記第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.
前記行列式生成手段は、前記係数行列供給手段が保持する前記係数行列の内、前記受信手段により受信された前記第2のデータに対応する行成分のみを要求し、前記要求に基づいて供給された前記行成分のみを用いて前記行列式を生成する
ことを特徴とする請求項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.
前記行列式生成手段は、前記受信手段により受信された前記第2のデータに付加されている、前記第2のデータが対応する前記係数行列の行番号を含む情報に基づいて、前記係数行列供給手段に前記行成分を要求し、前記要求に基づいて供給された前記行成分のみを用いて前記行列式を生成する
ことを特徴とする請求項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.
複数の前記第1のデータおよび前記第2のデータは、前記送信用データのブロック毎に生成されたデータであり、
前記受信手段は、前記ブロック毎に、前記第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.
JP2004030400A 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 Withdrawn JP2005223682A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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