JP2005223683A - Transmission/reception system, transmitter and transmitting method, receiver and receiving method, transmitter/receiver and transmitting/receiving method, and program - Google Patents
Transmission/reception system, transmitter and transmitting method, receiver and receiving method, transmitter/receiver and transmitting/receiving method, and program Download PDFInfo
- Publication number
- JP2005223683A JP2005223683A JP2004030401A JP2004030401A JP2005223683A JP 2005223683 A JP2005223683 A JP 2005223683A JP 2004030401 A JP2004030401 A JP 2004030401A JP 2004030401 A JP2004030401 A JP 2004030401A JP 2005223683 A JP2005223683 A JP 2005223683A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transmission
- determinant
- unit
- reception
- 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.)
- Pending
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Description
本発明は、送受信システム、送信装置および方法、受信装置および方法、送受信装置および方法、並びにプログラムに関し、特に、データの送受信をより正確、かつ、より容易に行うことができるようにした送受信システム、送信装置および方法、受信装置および方法、送受信装置および方法、並びにプログラムに関する。 The present invention relates to a transmission / reception system, a transmission apparatus and method, a reception apparatus and method, a transmission / reception apparatus and method, and a program, and in particular, a transmission / reception system capable of performing transmission / reception of data more accurately and easily, The present invention relates to a transmission device and method, a reception device and method, a transmission and reception device and method, and a program.
近年、ブロードバンド通信網の発達などにより、インターネットに代表されるネットワークを介して音声や映像等のデータのストリーミング配信やリアルタイムな放送等が数多く行われるようになってきた。 In recent years, with the development of broadband communication networks and the like, many streaming distributions and real-time broadcasts of data such as audio and video have been performed through networks typified by the Internet.
従来、このようなネットワークを介したデータ配信において、例えば、データイレースのように、送信装置が送信したデータ(パケット)の内、一部が受信装置により受信できない場合や、受信装置が送信装置の送信処理の途中から受信を開始した場合等において、受信装置が不足しているデータの再送を送信装置に対して要求する方法がある。 Conventionally, in data distribution via such a network, for example, when data (packets) transmitted by the transmission device cannot be received by the reception device, such as data erase, There is a method of requesting the transmission apparatus to retransmit data for which the reception apparatus is insufficient when reception is started in the middle of the transmission process.
また、送信装置が、例えば、リードソロモン符号等を用いて、送信データを、互いに独立した複数のデータに変換し、その変換した複数のデータを送信することにより、受信装置がそれらの複数のデータの内、任意のデータを、所定の数以上受信し、その受信したデータから元の送信データを復元する方法も提案されている。 Further, the transmission device converts the transmission data into a plurality of independent data using, for example, a Reed-Solomon code, and transmits the converted plurality of data, so that the reception device transmits the plurality of data. Among them, a method has been proposed in which a predetermined number or more of arbitrary data is received and the original transmission data is restored from the received data.
例えば、送信装置のエンコーダが、キー発生器において発生されたキーIを用いて、入力記号発生器の出力を変換し、リードソロモン値関数である出力記号B(I)を生成し、そのキーと出力記号を受信装置に供給し、受信装置のデコーダは、受信したキーを用いて出力記号を変換し、入力記号を回復する方法がある(例えば、特許文献1参照)。 For example, the encoder of the transmitting device uses the key I generated in the key generator to convert the output of the input symbol generator to generate an output symbol B (I) that is a Reed-Solomon value function, There is a method in which an output symbol is supplied to a receiving device, and a decoder of the receiving device converts the output symbol using a received key and recovers the input symbol (see, for example, Patent Document 1).
また、送信側の装置が、例えば、図1に示されるように、同じデータを繰り返し送信し、受信側の装置は、パケットをロスした場合、次回に送信されるデータ(パケット群)の中から、ロスしたパケットを受信し、データを復元するカルーセル方式を用いた方法もある。 Further, for example, as shown in FIG. 1, the transmission-side device repeatedly transmits the same data, and the reception-side device loses a packet, and then the data (packet group) to be transmitted next time. There is also a method using a carousel system that receives lost packets and restores data.
図1は、受信側の装置がデータを受信する様子の例を示す図である。送信側の装置が同じデータ1を繰り返し送信するので、受信側の装置は、データ1A、データ1B、データ1C、データ1Dのように、同じデータを繰り返し受信する。従って、例えば、データ1Aを受信した際に、パケットロス2Aが発生した場合であっても、受信側の装置は、次に受信するデータ1Bの、そのロスしたパケット(パケットロス2A)に対応するパケット2Bを受信すれば、そのパケット2Bを用いて、データ1を復元することができる。また、データ1Bを受信した際に、パケット2Bもロスしてしまったとしても、受信側の装置は、さらに次に受信するデータ1Cの、パケットロス2Aに対応するパケット2Cを受信することができれば、そのパケット2Cを用いて、データ1を復元することができる。さらに、このパケット2Cをロスした場合も、受信側の装置は、パケット2Dを受信すればよい。このように、受信側の装置は、繰り返される送信の内、少なくともいずれか1回の送信において各パケットを受信することができ、結果的に全パケットを受信することができれば、データ1を復元することができる。
FIG. 1 is a diagram illustrating an example of how a receiving device receives data. Since the transmission side device repeatedly transmits the
しかしながら、上述したような再送要求を行う方法の場合、例えば、マルチキャスト等のように、複数の装置に対してデータを送信するような通信の場合、送信側の装置には、受信側の各装置からの再送要求が集中してしまうため、送信側の装置の処理の負荷が増大し、送信処理を正常に行うことができない恐れがあるという課題があった。 However, in the case of the method for making a retransmission request as described above, for example, in the case of communication for transmitting data to a plurality of devices such as multicast, each device on the receiving side includes each device on the receiving side. Since the retransmission requests from the receivers are concentrated, there is a problem that the processing load on the transmission side apparatus increases, and there is a possibility that the transmission processing cannot be performed normally.
また、リードソロモン符号等を用いる方法の場合、データのエンコード処理およびデコード処理に、桁あふれを防止するためにガロア体上の演算が必要になり、そのため複雑な演算が増大し、送信装置および受信装置の負荷が増大し、正常にデータの送受信を行うためにそれらの処理性能を高性能なものにしなければならず、それらの製造コストが増大してしまうという課題があった。 In the case of a method using a Reed-Solomon code or the like, the data encoding process and decoding process require operations on the Galois field in order to prevent overflow, which increases the number of complex operations and increases the transmission apparatus and reception. There is a problem that the load on the apparatus is increased, and the processing performance thereof must be made high in order to transmit and receive data normally, which increases the manufacturing cost.
そこで、製造コストが下がるように、ガロア体上の演算処理を減らすために、変換するデータ量を削減する方法が考えられるが、送信装置が送信するデータ量を削減すると、受信装置において、元のデータの復元性能が低下してしまう場合がある。 Therefore, a method of reducing the amount of data to be converted can be considered in order to reduce the calculation processing on the Galois field so that the manufacturing cost is reduced, but if the amount of data transmitted by the transmitting device is reduced, the receiving device Data restoration performance may be reduced.
また、上述したようなカルーセル方式の通信の場合、図1に示されるように、データ1Aを受信する際に、パケットロス2Aが発生すると、受信側の装置は、次回の送信であるデータ1Bの、パケットロス2Aに対応するパケット2Bを受信するまで、待機する必要がある。すなわち、この場合、受信側の装置における受信処理の時間は、データ1を受信するのに必要な時間分、長くなってしまい、受信側の装置における受信処理の負荷が増大してしまうという課題があった。すなわち、図1に示されるように、受信側の装置は、パケットロス2Aが発生すると、次に送信されるパケット2Bを受信するまで(受信側の装置がデータ1を受信するのに必要な時間)待機しなければならず、受信処理時間が増大してしまう。さらに、パケット2Bをロスした場合、受信側の装置は、さらに待機時間を延長し、次のパケット2Cを受信するまで待機する必要がある。
Also, in the case of the carousel communication as described above, as shown in FIG. 1, when a
本発明は、このような状況に鑑みてなされたものであり、データの送受信を正確、かつ、より容易に行うことができるようにするものである。 The present invention has been made in view of such a situation, and makes it possible to transmit and receive data accurately and more easily.
本発明の送受信システムは、送信用データを送信する送信装置と、送信装置により送信される送信用データを受信する受信装置を備える送受信システムであって、送信装置は、送信用データを分割することにより複数の第1のデータを生成し、生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータを複数の部分集合について求めることにより、複数の第1のデータを複数の第2のデータに変換し、得られた複数の第2のデータをそれぞれパケット化し、受信装置に送信し、受信装置は、送信装置が送信した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信し、受信した第2のデータが対応する第1のデータの数以上の第2のデータを保持し、保持した複数の第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. A plurality of first data is generated by the above, a set including all the generated first data as elements is set as a whole set, and a subset consisting of any continuous element group that is a part of the whole set from the whole set , And arbitrarily select a plurality of first data from the set subset, perform an exclusive OR operation on the selected plurality of first data for each bit, and select a plurality of second data as a result of the operation. By converting the plurality of first data into a plurality of second data, packetizing each of the plurality of second data obtained, and transmitting the packet to the receiving device. The plurality of second data transmitted by the transmitting device is received by a number equal to or more than the number of first data corresponding to the second data, and a second number equal to or greater than the number of the first data corresponding to the received second data. Data is stored, a plurality of stored second data is used to generate a determinant corresponding to the second data, and the first data is restored by solving the determinant.
本発明の送信装置は、送信用データを分割することにより複数の第1のデータを生成するデータ生成手段と、データ生成手段により生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータを複数の部分集合について求めることにより、複数の第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 set that includes all the first data generated by the data generation unit as a whole set. And setting a subset of any continuous element group that is a part of the entire set from the entire set, arbitrarily selecting a plurality of first data from the set subset, and selecting the plurality of selected first data Conversion means for converting a plurality of first data into a plurality of second data by performing an exclusive OR operation on each other for each bit and obtaining second data as a result of operation for a plurality of subsets; Transmitting means for packetizing a plurality of second data obtained by converting a plurality of first data by the converting means and transmitting the packets to a receiving device is provided.
前記変換手段は、排他的論理和演算を行う第1のデータを選択するための係数行列を用いて第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 coefficient matrix for selecting the first data to be subjected to the exclusive OR operation, and a matrix The determinant generated by the expression generation means can be provided with an operation means for obtaining the second data by calculating using an exclusive OR operation.
前記係数行列は、値が「1」の成分である有効係数と、値が「0」の成分である無効係数とにより構成され、有効係数は、係数行列の各行に対して部分集合として設定される有効係数が存在可能な列の範囲内において任意に選択された成分であり、各行の範囲は、範囲の列数が互いに同じであり、範囲の先頭の列が行毎に互いに異なるように設定されるようにすることができる。 The coefficient matrix is composed of an effective coefficient having a value of “1” and an invalid coefficient having a value of “0”, and the effective coefficient is set as a subset for each row of the coefficient matrix. This is a component arbitrarily selected within the range of columns in which effective coefficients can exist, and the range of each row is set so that the number of columns in the range is the same and the first column of the range is different for each row Can be done.
前記範囲を行毎に設定する範囲設定手段と、範囲設定手段により設定された範囲に基づいて、係数行列の各成分の値を判定する判定手段と、判定手段による判定結果に基づいて係数行列の全ての成分の値を保持することにより係数行列を保持する係数行列保持手段とをさらに備え、行列式生成手段は、係数行列保持手段により保持されている係数行列を用いて行列式を生成するようにすることができる。 A range setting unit that sets the range for each row, a determination unit that determines a value of each component of the coefficient matrix based on the range set by the range setting unit, and a coefficient matrix based on a determination result by the determination unit Coefficient matrix holding means for holding a coefficient matrix by holding all component values, and the determinant generating means generates a determinant using the coefficient matrix held by the coefficient matrix holding means. Can be.
前記変換手段は、複数の第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 second data obtained by converting the first data by the converting means further includes information adding means for adding information about the range, and the transmitting means includes a plurality of second data to which information is added by the information adding means. The two data can be packetized and transmitted to the receiving device.
前記データ生成手段は、送信用データをブロックに分割し、さらに、ブロックを分割することができる。 The data generation means can divide the transmission data into blocks and further divide the blocks.
本発明の送信方法は、送信用データを分割することにより複数の第1のデータを生成するデータ生成ステップと、データ生成ステップの処理により生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータを複数の部分集合について求めることにより、複数の第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 set including all the first data generated by the processing of the data generation step as elements. A subset consisting of any continuous element group that is a part of the entire set is set from the entire set, a plurality of first data are arbitrarily selected from the set subset, and the selected first Conversion step of converting a plurality of first data into a plurality of second data by performing an exclusive OR operation on each other bit by bit and obtaining a second data as an operation result for a plurality of subsets And a plurality of second data obtained by converting the plurality of first data by the process of the conversion step are packetized and transmitted to the receiving device. Tsu, characterized in that it comprises a flop.
本発明の第1のプログラムは、送信用データを分割することにより複数の第1のデータを生成するデータ生成ステップと、データ生成ステップの処理により生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータを複数の部分集合について求めることにより、複数の第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 transmission data and all the first data generated by the processing of the data generation step as elements. Set a set as a whole set, set a subset consisting of any continuous element group that is a part of the whole set from the whole set, arbitrarily select a plurality of first data from the set subset, The plurality of first data is converted into a plurality of second data by performing an exclusive OR operation on the first data for each bit and obtaining the second data as the operation result for a plurality of subsets. A conversion step and a transmission for controlling the plurality of second data obtained by converting the plurality of first data by the processing of the conversion step to be packetized and transmitted to the receiving device. To execute a control step to the computer.
本発明の受信装置は、送信装置が送信したデータであり、それぞれが、送信用データが分割されて生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、排他的論理和演算の演算結果として複数の部分集合について求められた複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信する受信手段と、受信手段により受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持手段と、保持手段により保持される複数の第2のデータを用いて、第2のデータに対応する行列式を生成し、行列式を解くことにより、第1のデータを復元する復元手段とを備えることを特徴とする。 The receiving apparatus of the present invention is data transmitted by the transmitting apparatus, and each of the sets includes all first data generated by dividing the transmission data as an entire set, and the entire set from the entire set Set a subset consisting of any continuous element group that is a part of, select any number of first data from the set subset, and mutually exclusive the selected first data for each bit Receiving means for performing an OR operation and receiving a plurality of second data obtained for a plurality of subsets as an operation result of the exclusive OR operation, the number of which is equal to or more than the number of the first data corresponding to the second data; Using the holding means for holding the second data that is equal to or more than the number of the first data corresponding to the second data received by the receiving means, and using the plurality of second data held by the holding means, It corresponds to the data of 2 Generates a matrix expression, by solving the determinant, characterized in that it comprises a restoring means for restoring the first data.
前記復元手段は、排他的論理和演算を行う第1のデータを選択するための係数行列を用いて第1のデータを第2のデータに変換する行列式を生成する行列式生成手段と、行列式生成手段により生成された行列式を第1のデータを変数として解き、第1のデータを求める演算手段とを備えるようにすることができる。 The restoring means includes a determinant generating means for generating a determinant for converting the first data into the second data using a coefficient matrix for selecting the first data to be subjected to the exclusive OR operation, and a matrix The determinant generated by the expression generating means may be provided with an arithmetic means for solving the first data as a variable and obtaining the first data.
前記係数行列は、値が「1」の成分である有効係数と、値が「0」の成分である無効係数とにより構成され、有効係数は、係数行列の各行に対して部分集合として設定される有効係数が存在可能な列の範囲内において任意に選択された成分であり、各行の範囲は、範囲の列数が互いに同じであり、範囲の先頭の列が行毎に互いに異なるように設定されるようにすることができる。 The coefficient matrix is composed of an effective coefficient having a value of “1” and an invalid coefficient having a value of “0”, and the effective coefficient is set as a subset for each row of the coefficient matrix. This is a component arbitrarily selected within the range of columns in which effective coefficients can exist, and the range of each row is set so that the number of columns in the range is the same and the first column of the range is different for each row Can be done.
前記受信手段により受信された第2のデータに付加された、排他的論理和演算を行う複数の第1のデータを任意に選択する範囲に関する情報に基づいて、係数行列を生成する係数行列生成手段をさらに備え、行列式生成手段は、係数行列生成手段により生成された係数行列を用いて、行列式を生成するようにすることができる。 Coefficient matrix generation means for generating a coefficient matrix based on information about a range for arbitrarily selecting a plurality of first data to be subjected to exclusive OR operation added to the second data received by the reception means The determinant generating means can generate the determinant using the coefficient matrix generated by the coefficient matrix generating means.
前記係数行列の各成分を所定の行数および列数毎に複数の小領域に分割し、各小領域の成分の値に基づいて、行列式生成手段により生成された行列式の、小領域に対応する部分の演算を行うか否かを判定する演算判定手段をさらに備え、演算手段は、行列式生成手段により生成された行列式の、演算判定手段により演算を行うと判定された部分についてのみ演算を行って、第1のデータを変数として解くことにより第1のデータを求めるようにすることができる。 Each component of the coefficient matrix is divided into a plurality of small regions for each predetermined number of rows and columns, and based on the value of the component of each small region, the determinant generated by the determinant generating means Computation determining means for determining whether or not to perform the calculation of the corresponding part is further provided, and the calculation means is only for the part of the determinant generated by the determinant generation means that is determined to be calculated by the calculation determination means. It is possible to obtain the first data by performing an operation and solving the first data as a variable.
本発明の受信方法は、送信装置が送信したデータであり、それぞれが、送信用データが分割されて生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、排他的論理和演算の演算結果として複数の部分集合について求められた複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信するように制御する受信制御ステップと、受信制御ステップの処理により制御されて受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持ステップと、保持ステップの処理により保持される複数の第2のデータを用いて、第2のデータに対応する行列式を生成し、行列式を解くことにより、第1のデータを復元する復元ステップとを含むことを特徴とする。 The reception method of the present invention is data transmitted by a transmission apparatus, and each of the sets includes all first data generated by dividing transmission data as an entire set, and the entire set is set from the entire set. Set a subset consisting of any continuous element group that is a part of, select any number of first data from the set subset, and mutually exclusive the selected first data for each bit A logical sum operation is performed, and control is performed so as to receive a plurality of second data obtained for a plurality of subsets as a result of the exclusive logical sum operation, in a number equal to or more than the number of first data corresponding to the second data. A reception control step, a holding step for receiving second data that is controlled by the processing of the reception control step and holding the second data that is equal to or more than the number of first data corresponding to the second data, and a process of the holding step. A determinant corresponding to the second data is generated using the plurality of second data held, and a restoration step of restoring the first data by solving the determinant is included. .
本発明の第2のプログラムは、送信装置が送信したデータであり、それぞれが、送信用データが分割されて生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、排他的論理和演算の演算結果として複数の部分集合について求められた複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信するように制御する受信制御ステップと、受信制御ステップの処理により制御されて受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持ステップと、保持ステップの処理により保持される複数の第2のデータを用いて、第2のデータに対応する行列式を生成し、行列式を解くことにより、第1のデータを復元する復元ステップとをコンピュータに実行させる。 The second program of the present invention is data transmitted by the transmission device, and each of the sets is composed of all the first data generated by dividing the transmission data as a whole set, and from the whole set A subset consisting of any continuous element group that is a part of the entire set is set, a plurality of first data is arbitrarily selected from the set subset, and the selected plurality of first data is mutually bit by bit An exclusive OR operation is performed, and a plurality of second data obtained for a plurality of subsets as a result of the exclusive OR operation are received in a number equal to or more than the number of first data corresponding to the second data. A receiving control step for controlling, a holding step for holding second data equal to or more than the number of first data corresponding to the second data, which is controlled and received by the processing of the receiving control step, Generating a determinant corresponding to the second data using a plurality of second data held by the processing, and causing the computer to execute a restoration step of restoring the first data by solving the determinant .
本発明の送受信装置は、送信用データを分割することにより複数の第1のデータを生成するデータ生成手段と、データ生成手段により生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータを複数の部分集合について求めることにより、複数の第1のデータを複数の第2のデータに変換する変換手段と、変換手段により複数の第1のデータが変換されて得られた複数の第2のデータをそれぞれパケット化し、他の送受信装置に送信する送信手段と、他の送受信装置が送信した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信する受信手段と、受信手段により受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持手段と、保持手段により保持される複数の第2のデータを用いて、第2のデータに対応する行列式を生成し、行列式を解くことにより、第1のデータを復元する復元手段とを備えることを特徴とする。 The transmission / reception apparatus according to the present invention includes a data generation unit that generates a plurality of first data by dividing transmission data, and an entire set including all the first data generated by the data generation unit as elements. And setting a subset of any continuous element group that is a part of the entire set from the entire set, arbitrarily selecting a plurality of first data from the set subset, and selecting the plurality of selected first data Conversion means for converting a plurality of first data into a plurality of second data by performing an exclusive OR operation on each other for each bit and obtaining second data as a result of operation for a plurality of subsets; A plurality of second data obtained by converting a plurality of first data by the converting means is packetized and transmitted to another transmitting / receiving apparatus, and a plurality of second data transmitted by other transmitting / receiving apparatuses. Receiving means for receiving data equal to or greater 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 holding means to hold and a plurality of second data held by the holding means, a determinant corresponding to the second data is generated, and the restoration is performed to restore the first data by solving the determinant Means.
本発明の送受信方法は、送信用データを分割することにより複数の第1のデータを生成するデータ生成ステップと、データ生成ステップの処理により生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータを複数の部分集合について求めることにより、複数の第1のデータを複数の第2のデータに変換する変換ステップと、変換ステップの処理により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化し、他の送受信装置に送信するように制御する送信制御ステップと、他の送受信装置が送信した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信するように制御する受信制御ステップと、受信制御ステップの処理により制御されて受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持ステップと、保持ステップの処理により保持される複数の第2のデータを用いて、第2のデータに対応する行列式を生成し、行列式を解くことにより、第1のデータを復元する復元ステップとを含むことを特徴とする。 The transmission / reception method of the present invention includes a data generation step for generating a plurality of first data by dividing transmission data, and a set including all the first data generated by the processing of the data generation step as elements. A subset consisting of any continuous element group that is a part of the entire set is set from the entire set, a plurality of first data are arbitrarily selected from the set subset, and the selected first Conversion step of converting a plurality of first data into a plurality of second data by performing an exclusive OR operation on each other bit by bit and obtaining a second data as an operation result for a plurality of subsets Then, a plurality of second data obtained by converting the plurality of first data by the conversion step process are respectively packetized and transmitted so as to be transmitted to other transmission / reception devices. A control step, a reception control step for controlling a plurality 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, and a process of the reception control step Using a holding step for holding second data that is equal to or more than the number of first data to which the second data corresponds, and a plurality of second data held by the processing of the holding step. And a restoration step of restoring the first data by generating a determinant corresponding to the second data and solving the determinant.
本発明の第3のプログラムは、送信用データを分割することにより複数の第1のデータを生成するデータ生成ステップと、データ生成ステップの処理により生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータを複数の部分集合について求めることにより、複数の第1のデータを複数の第2のデータに変換する変換ステップと、変換ステップの処理により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化し、他の送受信装置に送信するように制御する送信制御ステップと、他の送受信装置が送信した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信するように制御する受信制御ステップと、受信制御ステップの処理により制御されて受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持ステップと、保持ステップの処理により保持される複数の第2のデータを用いて、第2のデータに対応する行列式を生成し、行列式を解くことにより、第1のデータを復元する復元ステップとをコンピュータに実行させる。 The third program according to the present invention includes a data generation step of generating a plurality of first data by dividing the transmission data and all the first data generated by the processing of the data generation step. Set a set as a whole set, set a subset consisting of any continuous element group that is a part of the whole set from the whole set, arbitrarily select a plurality of first data from the set subset, The plurality of first data is converted into a plurality of second data by performing an exclusive OR operation on the first data for each bit and obtaining the second data as the operation result for a plurality of subsets. Control is performed so that the conversion step and the plurality of second data obtained by converting the plurality of first data by the processing of the conversion step are respectively packetized and transmitted to other transmission / reception devices. A transmission control step, a reception control step for controlling a plurality 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, and a reception control step A holding step for holding second data that is equal to or more than the number of first data to which the second data corresponds is received by being controlled by the processing, and a plurality of second data held by the processing of the holding step And generating a determinant corresponding to the second data and solving the determinant to cause the computer to execute a restoration step of restoring the first data.
本発明の送受信システムにおいては、送信用データを送信する送信装置と、送信装置により送信される送信用データを受信する受信装置とが備えられ、送信装置においては、送信用データを分割することにより複数の第1のデータが生成され、生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合が設定され、設定された部分集合より第1のデータが任意に複数選択され、選択された複数の第1のデータが互いにビット毎に排他的論理和演算され、演算結果である第2のデータが複数の部分集合について求められることにより、複数の第1のデータが複数の第2のデータに変換され、得られた複数の第2のデータがそれぞれパケット化されて、受信装置に送信され、受信装置においては、送信装置が送信したデータであり、それぞれが、送信用データが分割されて生成された全ての第1のデータ要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合が設定され、設定された部分集合より第1のデータが任意に複数選択され、選択した複数の第1のデータが互いにビット毎に排他的論理和演算され、排他的論理和演算の演算結果として複数の部分集合について求められた複数の第2のデータが、第2のデータが対応する第1のデータの数以上受信され、受信された第2のデータが対応する第1のデータの数以上の第2のデータが保持され、保持された複数の第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 a set including all the generated first data as elements is set as a whole set, and a subset including any continuous element group that is a part of the whole set from the whole set. The plurality of first data are arbitrarily selected from the set subset, and the selected plurality of first data are subjected to exclusive OR operation for each bit, and the second data as the operation result is obtained. By obtaining a plurality of subsets, a plurality of first data is converted into a plurality of second data, and the plurality of second data obtained are respectively packetized and received by a receiving device. In the receiving device, the data transmitted by the transmitting device is set as a whole set, and each set is a whole set of all first data elements generated by dividing the transmission data. A subset consisting of any continuous element group that is a part of is set, the first data is arbitrarily selected from the set subset, and the selected first data is mutually exclusive for each bit A plurality of pieces of second data calculated for the plurality of subsets as a result of the exclusive OR operation are received and received by the number of the first data corresponding to the second data. Second data equal to or more than the number of first data corresponding to the second data is held, and a determinant corresponding to the second data is generated using the plurality of held second data, Solve determinant A result, the first data is restored.
本発明の送信装置および方法、並びに第1のプログラムにおいては、送信用データを分割することにより複数の第1のデータが生成され、生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合が設定され、設定された部分集合より第1のデータが任意に複数選択され、選択された複数の第1のデータが互いにビット毎に排他的論理和演算され、演算結果である第2のデータが複数の部分集合について求められることにより、複数の第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 entire set including all the generated first data as elements As a set, a subset composed of an arbitrary continuous element group that is a part of the entire set is set from the entire set, a plurality of first data are arbitrarily selected from the set subset, and a plurality of selected first data The first data is subjected to an exclusive OR operation for each bit, and the second data as the operation result is obtained for a plurality of subsets, whereby the plurality of first data is converted into the plurality of second data. The plurality of second data obtained by converting the plurality of first data is packetized and transmitted to the receiving device.
本発明の受信装置および方法、並びに第2のプログラムにおいては、送信装置が送信したデータであり、それぞれが、送信用データが分割されて生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、排他的論理和演算の演算結果として複数の部分集合について求められた複数の第2のデータが、第2のデータが対応する第1のデータの数以上受信され、受信された、第2のデータが対応する第1のデータの数以上の第2のデータが保持され、保持された複数の第2のデータを用いて、第2のデータに対応する行列式が生成され、行列式を解くことにより、第1のデータが復元される。 In the receiving apparatus and method and the second program of the present invention, each of the data transmitted by the transmitting apparatus is a set including all the first data generated by dividing the transmission data. A subset consisting of any continuous element group that is a part of the entire set is set from the entire set, a plurality of first data are arbitrarily selected from the set subset, and the selected first Are obtained by performing an exclusive OR operation on each data bit by bit, and a plurality of second data obtained for a plurality of subsets as a result of the exclusive OR operation is the first data corresponding to the second data The second data having the number equal to or greater than the number of the received first data corresponding to the second data is retained, and the second data is stored using the plurality of retained second data. Matrix corresponding to There is produced, by solving the matrix equation, first data is restored.
本発明の送受信装置および方法、並びに第3のプログラムにおいては、送信用データを分割することにより複数の第1のデータが生成され、生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータを複数の部分集合について求めることにより、複数の第1のデータが複数の第2のデータに変換され、複数の第1のデータが変換されて得られた複数の第2のデータがそれぞれパケット化されて、他の送受信装置に送信され、他の送受信装置が送信した複数の第2のデータが、第2のデータが対応する第1のデータの数以上受信され、受信された、第2のデータが対応する第1のデータの数以上の第2のデータが保持され、保持された複数の第2のデータを用いて、第2のデータに対応する行列式が生成されて、行列式を解くことにより、第1のデータが復元される。 In the transmission / reception device and method and the third program of the present invention, a plurality of first data is generated by dividing the transmission data, and the entire set including all the generated first data as elements Set a subset of any continuous element group that is a part of the whole set from the whole set, arbitrarily select a plurality of first data from the set subset, and select the plurality of first By performing an exclusive OR operation on the data bit by bit and obtaining the second data as the operation result for a plurality of subsets, the plurality of first data is converted into the plurality of second data, The plurality of second data obtained by converting the first data is packetized and transmitted to other transmission / reception devices, and the plurality of second data transmitted by the other transmission / reception devices is the second data More than the number of corresponding first data is received, and the received second data is more than the number of first data corresponding to the second data, and a plurality of second data held is used. Thus, a determinant corresponding to the second data is generated, and the first data is restored by solving the determinant.
本発明によれば、データを送受信することができる。特に、データの送受信をより正確、かつ、より容易に行うことができる。 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)を生成し(例えば、図17のステップS2)、生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合(例えば、図8の有効係数の存在可能範囲)を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータを複数の部分集合について求めることにより、複数の第1のデータを複数の第2のデータ(例えば、図4のEOR変換データ44)に変換し(例えば、図17のステップS6)、得られた複数の第2のデータをそれぞれパケット化し、受信装置に送信し(例えば、図17のステップS8)、受信装置は、送信装置が送信した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信し(例えば、図20のステップS81)、受信した第2のデータが対応する第1のデータの数以上の第2のデータを保持し(例えば、図20のステップS83)、保持した複数の第2のデータを用いて、第2のデータに対応する行列式を生成し、行列式を解くことにより、第1のデータを復元する(例えば、図20のステップS85)。
In the present invention, a transmission device (for example, the
本発明においては、送信用データ(例えば、図4の送信データ41)を受信装置(例えば、図2の受信装置13)に送信する送信装置(例えば、図2の送信装置11)が提供される。この送信装置は、送信用データを分割することにより複数の第1のデータ(例えば、図4の元データ43)を生成するデータ生成手段(例えば、図3のブロック分割部22)と、データ生成手段により生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合(例えば、図8の有効係数の存在可能範囲)を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータ(例えば、図4の変換データ44)を複数の部分集合について求めることにより、複数の第1のデータを複数の第2のデータに変換する変換手段(例えば、図3のEOR変換データ生成部24)と、変換手段により複数の第1のデータを変換して得られた複数の第2のデータを、それぞれパケット化し、受信装置に送信する送信手段(例えば、図3のUDPパケット化部27乃至イーサネット(R)処理部31)とを備える。
In the present invention, a transmission device (for example, the
前記変換手段は、排他的論理和演算を行う第1のデータを選択するための係数行列(例えば、式(3)の右辺第1項の行列)を用いて第1のデータを第2のデータに変換する行列式(例えば、式(3))を生成する行列式生成手段(例えば、図6の行列式生成部61)と、行列式生成手段により生成された行列式を、排他的論理和演算を用いて演算することにより第2のデータを求める演算手段(例えば、図6の行列式演算部62)とを備えるようにすることができる。
The converting means converts the first data into the second data by using a coefficient matrix (for example, the matrix of the first term on the right side of Expression (3)) for selecting the first data to be subjected to the exclusive OR operation. A determinant generating unit (for example, the
前記係数行列は、値が「1」の成分である有効係数と、値が「0」の成分である無効係数とにより構成され、有効係数は、係数行列の各行に対して部分集合として設定される有効係数が存在可能な列の範囲(例えば、図8の有効係数の存在可能範囲)内において任意に選択された成分であり、各行の範囲は、範囲の列数が互いに同じであり、範囲の先頭の列が行毎に互いに異なるように設定されるようにすることができる。 The coefficient matrix is composed of an effective coefficient having a value of “1” and an invalid coefficient having a value of “0”, and the effective coefficient is set as a subset for each row of the coefficient matrix. 8 is a component arbitrarily selected within the range of columns in which effective coefficients can exist (for example, the possible range of effective coefficients in FIG. 8), and each row range has the same number of columns in the range. Can be set so that the first column of each is different for each row.
前記範囲を行毎に設定する範囲設定手段(例えば、図6の範囲制御部84)と、範囲設定手段により設定された範囲に基づいて、係数行列の各成分の値を判定する判定手段(例えば、図6の係数判定部85)と、判定手段による判定結果に基づいて係数行列の全ての成分の値を保持することにより係数行列を保持する係数行列保持手段(例えば、図6の係数行列保持部71)とをさらに備え、行列式生成手段は、係数行列保持手段により保持されている係数行列を用いて行列式を生成する(例えば、図18のステップS39)ようにすることができる。
Range setting means (for example, the
前記変換手段により第1のデータを変換して得られた第2のデータに、範囲に関する情報(例えば、図10の先頭情報122)を付加する情報付加手段(例えば、図9の先頭情報付加部102)をさらに備え、送信手段は、情報付加手段により情報が付加された複数の第2のデータをそれぞれパケット化し、受信装置に送信するようにすることができる。
Information adding means (for example, the head information adding unit in FIG. 9) for adding information about the range (for example,
前記データ生成手段は、送信用データをブロック(例えば、図4のブロック42)に分割し、さらに、ブロックを分割することができる。 The data generation means can divide the transmission data into blocks (for example, the block 42 in FIG. 4) and further divide the blocks.
本発明においては、送信用データ(例えば、図4の送信データ41)を受信装置(例えば、図2の受信装置13)に送信する送信装置(例えば、図2の送信装置11)の送信方法が提供される。この送信方法は、送信用データを分割することにより複数の第1のデータ(例えば、図4の元データ43)を生成するデータ生成ステップ(例えば、図17のステップS2)と、データ生成ステップの処理により生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合(例えば、図8の有効係数の存在可能範囲)を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータ(例えば、図4のEOR変換データ44)を複数の部分集合について求めることにより、複数の第1のデータを複数の第2のデータに変換する変換ステップ(例えば、図17のステップS6)と、変換ステップの処理により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化し、受信装置に送信するように制御する送信制御ステップ(例えば、図17のステップS8)とを含む。
In the present invention, there is a transmission method of a transmission apparatus (for example, the
本発明においては、送信用データ(例えば、図4の送信データ41)を受信装置(例えば、図2の受信装置13)に送信する送信処理をコンピュータ(例えば、図2の送信装置11)に実行させる第1のプログラムが提供される。この第1のプログラムは、送信用データを分割することにより複数の第1のデータ(例えば、図4の元データ43)を生成するデータ生成ステップ(例えば、図17のステップS2)と、データ生成ステップの処理により生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合(例えば、図8の有効係数の存在可能範囲)を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータ(例えば、図4のEOR変換データ44)を複数の部分集合について求めることにより、複数の第1のデータを複数の第2のデータに変換する変換ステップ(例えば、図17のステップS6)と、変換ステップの処理により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化し、受信装置に送信するように制御する送信制御ステップ(例えば、図17のステップS8)とを含む。
In the present invention, transmission processing for transmitting transmission data (for example, transmission data 41 in FIG. 4) to a reception device (for example,
本発明においては、送信装置(例えば、図2の送信装置11)が送信したデータを受信する受信装置(例えば、図2の受信装置13)が提供される。この受信装置は、送信装置が送信したデータであり、それぞれが、送信用データ(例えば、図4の送信データ41)が分割されて生成された全ての第1のデータ(例えば、図4の元データ43)を要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合(例えば、図8の有効係数の存在可能範囲)を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、排他的論理和演算の演算結果として複数の部分集合について求められた複数の第2のデータ(例えば、図4の変換データ44)を、第2のデータが対応する第1のデータの数以上受信する受信手段(例えば、図11のイーサネット(R)処理部131乃至アプリケーションデータ抽出部133)と、受信手段により受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持手段(例えば、図11のバッファ部134)と、保持手段により保持される複数の第2のデータを用いて、第2のデータに対応する行列式を生成し、行列式を解くことにより、第1のデータを復元する復元手段(例えば、図13のパケットデータ復元部135)とを備える。
In the present invention, a receiving device (for example, the receiving
前記復元手段は、排他的論理和演算を行う第1のデータを選択するための係数行列(例えば、式(4)の右辺第1項の行列)を用いて第1のデータを第2のデータに変換する行列式(例えば、式(4))を生成する行列式生成手段(例えば、図13の行列式作成部153)と、行列式生成手段により生成された行列式を第1のデータを変数として解き、第1のデータを求める演算手段(例えば、図13の行列式演算部157)とを備えるようにすることができる。
The restoration means converts the first data to the second data using a coefficient matrix (for example, the matrix of the first term on the right side of Expression (4)) for selecting the first data to be subjected to the exclusive OR operation. The determinant generating means (for example, the
前記係数行列は、値が「1」の成分である有効係数と、値が「0」の成分である無効係数とにより構成され、有効係数は、係数行列の各行に対して部分集合として設定される有効係数が存在可能な列の範囲(例えば、図8の有効係数の存在可能範囲)内において任意に選択された成分であり、各行の範囲は、範囲の列数が互いに同じであり、範囲の先頭の列が行毎に互いに異なるように設定されるようにすることができる。 The coefficient matrix is composed of an effective coefficient having a value of “1” and an invalid coefficient having a value of “0”, and the effective coefficient is set as a subset for each row of the coefficient matrix. 8 is a component arbitrarily selected within the range of columns in which effective coefficients can exist (for example, the possible range of effective coefficients in FIG. 8), and each row range has the same number of columns in the range. Can be set so that the first column of each is different for each row.
前記受信手段により受信された第2のデータに付加された、排他的論理和演算を行う複数の第1のデータを任意に選択する範囲(例えば、図8の有効係数の存在可能範囲)に関する情報(例えば、図10の先頭情報122)に基づいて、係数行列を生成する係数行列生成手段(例えば、図13の係数行列作成部152)をさらに備え、行列式生成手段は、係数行列生成手段により生成された係数行列を用いて、行列式を生成するようにすることができる。
Information relating to a range (for example, a possible range of effective coefficients in FIG. 8) arbitrarily selected from a plurality of first data to be subjected to exclusive OR operation added to the second data received by the receiving means. Based on (for example, the
前記係数行列の各成分を所定の行数および列数毎に複数の小領域(例えば、図16のタイル163)に分割し、各小領域の成分の値に基づいて、行列式生成手段により生成された行列式の、小領域に対応する部分の演算を行うか否かを判定する演算判定手段(例えば、図13のタイル処理部156)をさらに備え、演算手段は、行列式生成手段により生成された行列式の、演算判定手段により演算を行うと判定された部分についてのみ演算を行って、第1のデータを変数として解くことにより第1のデータを求めるようにすることができる。
Each component of the coefficient matrix is divided into a plurality of small regions (for example,
本発明においては、送信装置(例えば、図2の送信装置11)が送信したデータを受信する受信装置(例えば、図2の受信装置13)の受信方法が提供される。この受信方法は、送信装置が送信したデータであり、それぞれが、送信用データ(例えば、図4の送信データ41)が分割されて生成された全ての第1のデータ(例えば、図4の元データ43)を要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合(例えば、図8の有効係数の存在可能範囲)を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、排他的論理和演算の演算結果として複数の部分集合について求められた複数の第2のデータ(例えば、図4の変換データ44)を、第2のデータが対応する第1のデータの数以上受信するように制御する受信制御ステップ(例えば、図20のステップS81)と、受信制御ステップの処理により制御されて受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持ステップ(例えば、図20のステップS83)と、保持ステップの処理により保持される複数の第2のデータを用いて、第2のデータに対応する行列式(例えば、式(4))を生成し、行列式を解くことにより、第1のデータを復元する復元ステップ(例えば、図20のステップS85)とを含む。
In the present invention, a receiving method of a receiving device (for example, the receiving
本発明においては、送信装置(例えば、図2の送信装置11)が送信したデータを受信する受信処理をコンピュータ(例えば、図2の受信装置13)に実行させる第2のプログラムが提供される。この第2のプログラムは、送信装置が送信したデータであり、それぞれが、送信用データ(例えば、図4の送信データ41)が分割されて生成された全ての第1のデータ(例えば、図4の元データ43)を要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合(例えば、図8の有効係数の存在可能範囲)を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、排他的論理和演算の演算結果として複数の部分集合について求められた複数の第2のデータ(例えば、図4の変換データ44)を、第2のデータが対応する第1のデータの数以上受信するように制御する受信制御ステップ(例えば、図20のステップS81)と、受信制御ステップの処理により制御されて受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持ステップ(例えば、図20のステップS83)と、保持ステップの処理により保持される複数の第2のデータを用いて、第2のデータに対応する行列式(例えば、式(4))を生成し、行列式を解くことにより、第1のデータを復元する復元ステップ(例えば、図20のステップS85)とを含む。
In the present invention, there is provided a second program for causing a computer (for example, the receiving
本発明においては、送信用データ(例えば、図4の送信データ41)を送受信する送受信装置(例えば、図31の送受信装置411または送受信装置413)が提供される。この送受信装置は、送信用データを分割することにより複数の第1のデータ(例えば、図4の元データ43)を生成するデータ生成手段(例えば、図3のブロック分割部22)と、データ生成手段により生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合(例えば、図8の有効係数の存在可能範囲)を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータ(例えば、図4の変換データ44)を複数の部分集合について求めることにより、複数の第1のデータを複数の第2のデータに変換する変換手段(例えば、図3のEOR変換データ生成部24)と、変換手段により複数の第1のデータが変換されて得られた複数の第2のデータをそれぞれパケット化し、他の送受信装置に送信する送信手段(例えば、図3のUDPパケット化部27乃至イーサネット(R)処理部31)と、他の送受信装置が送信した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信する受信手段(例えば、図11のイーサネット(R)処理部131乃至アプリケーションデータ抽出部133)と、受信手段により受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持手段(例えば、図11のバッファ部134)と、保持手段により保持される複数の第2のデータを用いて、第2のデータに対応する行列式を生成し、行列式を解くことにより、第1のデータを復元する復元手段(例えば、図13のパケットデータ復元部135)とを備える。
In the present invention, a transmission / reception apparatus (for example, the transmission /
本発明においては、送信用データ(例えば、図4の送信データ41)を送受信する送受信装置(例えば、図31の送受信装置411または送受信装置413)の送受信方法が提供される。この送受信方法は、送信用データを分割することにより複数の第1のデータ(例えば、図4の元データ43)を生成するデータ生成ステップ(例えば、図17のステップS2)と、データ生成ステップの処理により生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合(例えば、図8の有効係数の存在可能範囲)を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータ(例えば、図4のEOR変換データ44)を複数の部分集合について求めることにより、複数の第1のデータを複数の第2のデータに変換する変換ステップ(例えば、図17のステップS6)と、変換ステップの処理により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化し、他の送受信装置に送信するように制御する送信制御ステップ(例えば、図17のステップS8)と、他の送受信装置が送信した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信するように制御する受信制御ステップ(例えば、図20のステップS81)と、受信制御ステップの処理により制御されて受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持ステップ(例えば、図20のステップS83)と、保持ステップの処理により保持される複数の第2のデータを用いて、第2のデータに対応する行列式(例えば、式(4))を生成し、行列式を解くことにより、第1のデータを復元する復元ステップ(例えば、図20のステップS85)とを含む。
In the present invention, a transmission / reception method of a transmission / reception apparatus (for example, the transmission /
本発明においては、送信用データ(例えば、図4の送信データ41)を送受信する送受信処理をコンピュータ(例えば、図18の送受信装置211または送受信装置213)に実行させる第3のプログラムが提供される。この第3のプログラムは、送信用データを分割することにより複数の第1のデータ(例えば、図4の元データ43)を生成するデータ生成ステップ(例えば、図17のステップS2)と、データ生成ステップの処理により生成された全ての第1のデータを要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合(例えば、図8の有効係数の存在可能範囲)を設定し、設定した部分集合より第1のデータを任意に複数選択し、選択した複数の第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータ(例えば、図4のEOR変換データ44)を複数の部分集合について求めることにより、複数の第1のデータを複数の第2のデータに変換する変換ステップ(例えば、図17のステップS6)と、変換ステップの処理により複数の第1のデータが変換されて得られた複数の第2のデータを、それぞれパケット化し、他の送受信装置に送信するように制御する送信制御ステップ(例えば、図17のステップS8)と、他の送受信装置が送信した複数の第2のデータを、第2のデータが対応する第1のデータの数以上受信するように制御する受信制御ステップ(例えば、図20のステップS81)と、受信制御ステップの処理により制御されて受信される、第2のデータが対応する第1のデータの数以上の第2のデータを保持する保持ステップ(例えば、図20のステップS83)と、保持ステップの処理により保持される複数の第2のデータを用いて、第2のデータに対応する行列式(例えば、式(4))を生成し、行列式を解くことにより、第1のデータを復元する復元ステップ(例えば、図20のステップS85)とを含む。
In the present invention, a third program for causing a computer (for example, the transmission /
以下に、本発明の実施の形態について図面を参照して説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図2は、本発明を適用した通信システムの構成例を表している。 FIG. 2 shows a configuration example of a communication system to which the present invention is applied.
図2の通信システム10は、データを送信する送信装置11、LAN(Local Area Network)やインターネット等に代表されるネットワークであり、送信装置11が接続されるネットワーク12、および、ネットワーク12に接続され、送信装置11より送信されるデータを受信する受信装置13により構成される。
The
送信装置11は、外部より供給されたダウンロードデータ等の、送信用のコンテンツデータ(送信用データ)を取得すると、その送信用データを分割して送信する際のパケットサイズのデータ(パケットデータ)を生成し、それらのパケットデータの中から任意に抽出した複数のパケットデータをビット毎のEOR演算(Exclusive OR:排他的論理和)によって合成することにより、パケットデータを実際に送信するEOR変換データに変換する。送信装置11は、このような要領で、パケットデータを変換したEOR変換データを複数生成し、それらをUDP(User Datagram Protocol)等の所定のプロトコルを用いてパケット化して送信する。
When the
受信装置13は、送信装置11より供給されるパケット(EOR変換データ)を受信すると、受信したパケットからEOR変換データを抽出し、その受信したEOR変換データを用いて、元の送信用データを復元する。このとき、送信装置11は、受信装置13が元の送信用データを復元するのに必要な数以上のEOR変換データを受信装置13に送信し、受信装置13は、その送信されたEOR変換データの中から、少なくとも、元の送信用データを復元するのに必要な数以上のEOR変換データを受信する。なお、後述するように、送信装置11が送信するEOR変換データは、互いに独立であることが保証されていないので、実際には、受信装置13は、元の送信用データを復元することができるように、送信装置11より供給されるEOR変換データを必要数より多く受信する(マージン分を確保する)。受信装置13は、このようにEOR変換データを受信すると、それらのEOR変換データを用いて、EOR演算の行列式を生成し、その行列式の解を求めることにより、元の送信用データを復元する。送信装置11におけるEOR変換データの生成方法、および、受信装置13における元の送信用データの復元方法の詳細については後述する。
Upon receiving the packet (EOR conversion data) supplied from the
このようにすることにより、受信装置13は、送信装置11が送信するパケットを全て受信しなくても、送信装置11に再送要求を行うことなく、送信装置11が送信した送信用データを復元することができる。
By doing so, the
図3は、送信装置11の詳細な構成例を示すブロック図である。なお、送信装置11により処理される送信用データの変化を、図4を用いて説明する。
FIG. 3 is a block diagram illustrating a detailed configuration example of the
図3において、送信装置11のデータ分割部21は、送信装置11の外部より供給されたコンテンツデータ等の送信データを所定のデータサイズのブロックに分割し、それをブロック分割部22に供給する。すなわち、データ分割部21は、供給される送信データを内蔵するバッファ(図示せず)に蓄積していき、所定のデータサイズのデータが蓄積される度に、それをブロックとしてブロック分割部22に供給する。
In FIG. 3, the data division unit 21 of the
例えば、図4の場合、送信装置11に供給される送信データ41は、データ分割部21により、ブロックA乃至ブロックCの3つのブロック42に分割される。
For example, in the case of FIG. 4, the transmission data 41 supplied to the
図3に戻り、ブロック分割部22は、データ分割部21と同様にして、データ分割部21より供給されるブロック単位の送信データを、さらに所定のデータサイズに分割する。すなわち、ブロック分割部22は、ブロック単位の送信データを、後段において、パケット化する際のデータサイズ(パケットサイズ)に分割し、パケット用のデータ(パケットデータ)を生成する。パケットデータを生成したブロック分割部22は、それを、パケットデータ保持部23に供給する。
Returning to FIG. 3, similarly to the data dividing unit 21, the
例えば、図4において、ブロック42は、それぞれ、ブロック分割部22により、パケット化する際のデータサイズのパケットデータである元データ43に分割される。図4の場合、各ブロックはそれぞれ3個の元データ43に分割される。例えば、ブロックAは元データA1乃至A3に分割され、ブロックBは元データB1乃至B3に分割され、ブロックCは元データC1乃至C3に分割される。
For example, in FIG. 4, each block 42 is divided by the
パケットデータ保持部23は、供給されるパケットデータ(元データ)を順次保持していき、各元データを、各元データ対応するブロックに基づいて管理する。そして、パケットデータ保持部23は、データ変換制御部26の制御により、所定のタイミングで、その保持している元データを、ブロック単位で、EOR変換データ生成部24に供給する。
The packet
EOR変換データ生成部24は、パケットデータ保持部23よりブロック毎に供給された元データを取得すると、それらを用いてEOR演算を行い、その元データを変換してEOR変換データを生成する。具体的には、EOR変換データ生成部24は、各ブロックにおいて、そのブロックに対応する元データ群から所定の方法で元データを複数選択し、それらをビット毎にEOR演算により合成し、それをEOR変換データとする。EOR変換データ生成部24は、このような変換処理を繰り返し、複数(元データの数より多く)のEOR変換データを生成する。より具体的な生成方法については後述する。
When the EOR conversion
例えば、図4の場合、EOR変換データ生成部24は、ブロックAに対応する元データA1乃至A3を、ビット毎にEOR演算して6つのEOR変換データA11乃至A16に変換し、ブロックBに対応する元データB1乃至B3を、ビット毎にEOR演算して6つのEOR変換データB11乃至B16に変換し、ブロックCに対応する元データC1乃至C3を、ビット毎にEOR演算して6つのEOR変換データC11乃至C16に変換する。
For example, in the case of FIG. 4, the EOR conversion
なお、このとき、EOR変換データ生成部24は、まず、ブロックAに対応する元データA1乃至A3を変換してEOR変換データA11を生成し、ブロックBに対応する元データB1乃至B3を変換してEOR変換データB11を生成し、ブロックCに対応する元データC1乃至C3を変換してEOR変換データC11を生成する。そして次に、EOR変換データ生成部24は、各ブロックに対する2回目の処理に移行し、ブロックAに対応する元データA1乃至A3を変換してEOR変換データA12を生成し、ブロックBに対応する元データB1乃至B3を変換してEOR変換データB12を生成し、ブロックCに対応する元データC1乃至C3を変換してEOR変換データC12を生成する。そして、cは、以降、各ブロックに対して、3回目の変換処理、4回目の変換処理、・・・と、各ブロックの変換処理を順に繰り返す。
At this time, the EOR conversion
従って、図4の場合、EOR変換データ44を生成順に整列すると、A11,B11,C11,A12,B12,C12,A13,B13,C13,A14,B14,C14,A15,B15,C15,A16,B16,C16となる。
Therefore, in the case of FIG. 4, when the
一般に、パケットの送信時にネットワーク等において、受信側が連続する複数のパケットをバースト的にロスする(受信できない)場合がある。従って、送信装置11がEOR変換データを順番に出力した場合、そのようなバースト的パケットロスにより、パケットのロスが1つのブロックに偏って集中してしまう場合がある。後述するように、元データを復元するためには、ある程度のパケット数(のEOR変換データ)を受信する必要があるため、このように、パケットロスに偏りが生じると、特定のブロックを復元できない恐れがある。
In general, when a packet is transmitted in a network or the like, a receiving side sometimes loses a plurality of consecutive packets in a burst manner (cannot be received). Therefore, when the
そこで、送信装置11は、以上のように、各ブロックの変換処理を1回ずつ順に実行して、各ブロックのEOR変換データを混在させた順番で送信するようにすることにより、パケットの送信時にバースト的パケットロスが発生しても、そのロスが特定のブロックに集中することを抑制することができ、バースト的パケットロスに対する耐性を強くすることができる。すなわち、送信装置11は、より正確にデータを受信装置13に送信することができる。従って、通信システム10は、より正確なデータの送受信を実現することができる。
Therefore, as described above, the
EOR変換データ生成部24は、元データを変換して得られたEOR変換データをアプリケーションデータ生成部25に供給する。また、EOR変換データ生成部24は、この変換処理に関する情報であり、EOR変換データに付加する付加情報を、EOR変換データに対応させてアプリケーションデータ生成部25に供給する。
The EOR conversion
アプリケーションデータ生成部25は、EOR変換データ生成部24より供給されたEOR変換データに、EOR変換データ生成部24より供給された付加情報等を含むヘッダを付加し、アプリケーションデータを生成する。ヘッダの内容の詳細については、後述する。アプリケーションデータ生成部25は、生成したアプリケーションデータをUDPパケット化部27に供給する。このとき、アプリケーションデータ生成部25は、アプリケーションデータを生成して出力したことを示す出力情報を、データ変換制御部26に供給する。
The application
データ変換制御部26は、アプリケーションデータ生成部25より供給された出力情報に基づいて、全てのパケットを生成したか否かを判定し、まだ、パケット(EOR変換データ)の生成が終了していないと判定した場合は、パケットデータ保持部23とEOR変換データ生成部24を制御し、新たなEOR変換データを生成させる。
The data
なお、ここまでの処理は、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パケット化部27は、それをUDPプロトコルに基づいてパケット化し、その生成したUDPパケットをバッファ28に供給する。
The
図5に示されるように、UDPパケット化部27において生成されるUDPパケット51は、64ビットのUDPヘッダ52およびアプリケーションデータ53により構成される。UDPヘッダ52には、送信元のポート番号、送信先のポート番号、アプリケーションデータ53のデータ長、およびチェックサム等の情報が含まれる。アプリケーションデータのデータサイズは、任意に定められた所定の値であるが、通常1Kバイト程度である。
As shown in FIG. 5, the
図3に戻り、バッファ28は、RAM(Random Access Memory)等の半導体メモリ等により構成され、UDPパケット化部27より供給されるUDPパケットを蓄積し、出力制御部29の制御に基づいて、その蓄積しているUDPパケットを出力する。
Returning to FIG. 3, the
出力制御部29は、バッファ28に蓄積されているUDPパケットを、所定のタイミングで順に取得し、IP(Internet Protocol)処理部30に供給する。これらのUDPパケット化部27乃至出力制御部29による処理は、OSI階層モデルにおける、トランスポート層の処理である。
The
IP処理部30は、OSI階層モデルにおける、ネットワーク層の処理を行い、IPプロトコルに基づいて、出力制御部29より供給されるUDPパケットをそれぞれIPパケット化し、イーサネット(R)(Ethernet(R))処理部31に供給する。イーサネット(R)処理部31は、イーサネット(R)の規格に基づいて、データリンク層および物理層の処理を行い、IP処理部30より供給されたIPパケットをさらにパケット化し、受信装置13に送信するように、それを、ケーブル32を介してネットワーク12に出力する。
The
すなわち、EOR変換データ生成部24において生成されたEOR変換データ44は、図4に示されるように、生成された順にパケット化され、送信パケット45としてネットワーク12に出力される。イーサネット(R)処理部29より出力されたパケットは、ネットワーク12を介して受信装置13に供給される。
That is, the
このように、送信用データを分割した元データをそのまま送信せずに、複数の元データ(ブロック内の一部の元データ)の内容を含むEOR変換データに変換してから送信するので、送信装置11は、受信装置13が、送信装置11より送信した複数のパケットの内、任意のパケットを所定の数以上取得すれば、元データ(送信用データ)を復元することができるようにすることができる。すなわち、送信装置11は、受信装置13のパケットロスに対する耐性を高め、データの送受信をより正確、かつ、より容易に行うようにデータを送信することができる。
In this way, since the original data obtained by dividing the transmission data is not transmitted as it is, it is converted into EOR conversion data that includes the contents of multiple original data (part of the original data in the block) and then transmitted. The
なお、図4において示される、1つの送信データ41に対するブロック42、元データ43、またはEOR変換データ44等の数は、一例であり、生成される各データの数が、図4に示される数以外であってももちろんよい。また、送信パケット45の送信順も一例であり、図4に示される以外の順番で送信されるようにしてももちろんよい。
Note that the number of blocks 42, original data 43,
次に、図3のEOR変換データ生成部24の詳細について説明する。なお、以下においては、送信装置11は、1ブロックの送信データより、N個の元データD(D1乃至DN)を生成し、そのN個の元データDを変換して、M個のEOR変換データS(S1乃至SM)を生成する場合について説明する。図6は、EOR変換データ生成部24の詳細な構成例を示すブロック図である。
Next, details of the EOR conversion
図6において、図3のパケットデータ保持部23より供給された1ブロック分の元データDは、行列式生成部61に供給される。1ブロック分の元データDを取得した行列式生成部61は、係数行列保持部71に対して、EOR変換データを生成するための行列式の生成に用いられる係数行列を要求する。
In FIG. 6, the original data D for one block supplied from the packet
係数行列は、全成分が「1」または「0」のM行N列の、元データの係数の行列であり、EOR演算を行う元データを選択するための行列である。後述するように、EOR変換データは、係数行列と、各元データを成分とする行列との積算により求められる。従って、係数行列の各行は、互いに異なるEOR変換データに対応し、その各行の各成分は、それぞれ互いに異なる元データの係数として、その元データと積算される。すなわち、各EOR変換データは、係数行列の値が「1」の成分(係数)と積算された元データの、ビット毎のEOR演算結果となる。なお、以下において、係数行列の、値が「1」の成分(係数)を有効係数と称し、値が「0」の成分(係数)を無効係数と称する。 The coefficient matrix is a matrix of coefficients of original data having M rows and N columns with all components being “1” or “0”, and is a matrix for selecting original data to be subjected to EOR calculation. As will be described later, the EOR conversion data is obtained by integrating a coefficient matrix and a matrix having each original data as a component. Accordingly, each row of the coefficient matrix corresponds to different EOR conversion data, and each component of each row is integrated with the original data as a coefficient of different original data. That is, each EOR conversion data is an EOR calculation result for each bit of the original data integrated with the component (coefficient) whose coefficient matrix value is “1”. In the following, a component (coefficient) having a value of “1” in the coefficient matrix is referred to as an effective coefficient, and a component (coefficient) having a value of “0” is referred to as an invalid coefficient.
また、この係数行列は、各行において、有効係数が存在することができる範囲が限定されている。その範囲は、行毎に互いに異なっており、有効係数は、その範囲内において任意に選択された成分とされる。すなわち、ブロック内において、各EOR変換データは、それぞれ、整列された全元データの、互いに異なる一部の範囲内より任意に抽出された複数の元データを、ビット毎のEOR演算により合成したものである。 In addition, the coefficient matrix has a limited range in which effective coefficients can exist in each row. The range is different from one another for each row, and the effective coefficient is a component arbitrarily selected within the range. In other words, each EOR conversion data in the block is a combination of a plurality of original data arbitrarily extracted from different ranges of all of the aligned original data by a bitwise EOR operation. It is.
係数行列保持部71には、このような係数行列が予め生成され、保持されている。
In the coefficient
この係数行列の生成について説明する。上述したように、この係数行列においては、各行において、有効係数の存在可能範囲が行毎に互いに異なり、有効係数は、その範囲内において任意に選択された成分であり、それ以外の成分が無効係数である。従って、このような係数行列を生成するために、EOR変換データ生成部24は、まず、有効係数の存在可能範囲を各行において設定し、さらに、その範囲内の成分を任意に選択し、その成分を有効係数としてその値を「1」とし、それ以外の成分を無効係数としてその値を「0」とする。すなわち、係数行列の生成は、行単位で行われる。
The generation of this coefficient matrix will be described. As described above, in this coefficient matrix, in each row, possible ranges of effective coefficients are different for each row, and effective coefficients are components arbitrarily selected within the range, and other components are invalid. It is a coefficient. Therefore, in order to generate such a coefficient matrix, the EOR conversion
具体的には、EOR変換データ生成部24の擬似乱数生成部81は、まず第1行目に対して、式(1)に示されるような演算を行い、線形合同法を用いて、上述した有効係数の存在可能範囲の先頭位置を決定するための擬似乱数を生成し、その値を先頭位置決定部部82に供給する。
Specifically, the pseudo-random
式(1)において、右辺第1項の定数Aおよび右辺第3項の定数Cは、所定の自然数であり、右辺第2項の変数randは、前回求めた擬似乱数であり、左辺第1項の変数randは、今回求める擬似乱数である。また、変数randの初期値は「0」であり、今回求める擬似乱数(左辺第1項の変数randの値)は、右辺の式の演算結果を「N−バンド幅」で除算したときの余りである。なお、バンド幅は、予め定められた定数であり、有効係数の存在可能範囲の大きさ(列数)を示す値である。このバンド幅は、予め擬似乱数生成部81に内蔵されるROMまたはRAM(いずれも図示せず)に記憶されている。定数Nは、各ブロックの元データの数であり、その情報も予め擬似乱数生成部81に内蔵されるROMまたはRAMに記憶されている。
In Expression (1), the constant A in the first term on the right side and the constant C in the third term on the right side are predetermined natural numbers, the variable rand in the second term on the right side is the pseudorandom number obtained last time, and the first term on the left side. The variable rand is a pseudo-random number to be obtained this time. The initial value of the variable rand is “0”, and the pseudo random number (the value of the variable rand in the first term on the left side) obtained this time is the remainder when the calculation result of the expression on the right side is divided by “N−bandwidth” It is. The bandwidth is a predetermined constant and is a value indicating the size (number of columns) of the range in which the effective coefficient can exist. This bandwidth is stored in advance in a ROM or RAM (both not shown) built in the
従って、式(1)により求められる擬似乱数(左辺第1項の変数randの値)は、値「0」から値「N−1−バンド幅」の間でランダムに決定される値である。この擬似乱数の値は、すなわち、係数行列の処理の対象となる行において、有効係数の存在可能範囲の先頭位置(列)、つまり、この有効係数の存在可能範囲が列番号「0」の列(第1列目)乃至列番号「N−1−バンド幅」の列(第(N−バンド幅)列目)の、どの列から開始されるかを示している。
このような擬似乱数を生成すると、擬似乱数生成部81は、それを先頭位置決定部82に供給する。先頭位置決定部82は、その擬似乱数を、生成する係数行列の行に対応させて、その行の先頭位置として保持する。擬似乱数生成部81は、以上のように、生成する係数行列の、2行目以降の各行について擬似乱数を生成し、先頭位置決定部82は、それらの擬似乱数を各行に対応させて保持する。
Therefore, the pseudo-random number (the value of the variable rand in the first term on the left side) obtained by Expression (1) is a value that is randomly determined between the value “0” and the value “N−1−bandwidth”. The value of this pseudo random number, that is, the start position (column) of the valid coefficient existence range in the row to be processed by the coefficient matrix, that is, the column of which the valid coefficient existence range is the column number “0”. This indicates from which column (first column) to column number “N-1-band width” (the (N-band width) column) starts.
When such a pseudo random number is generated, the pseudo random
生成する係数行列の全ての行に対する擬似乱数(先頭位置)が保持されると、範囲制御部84は、幅設定部83にバンド幅の値を要求する。幅設定部83は、上述した有効係数の存在可能範囲の幅(列数)であるバンド幅の値(列数)を、内蔵するROMまたはRAM(いずれも図示せず)に予め保持しており、範囲制御部84の要求に基づいて、そのバンド幅の値を範囲制御部84に供給する。
When the pseudo random numbers (leading positions) for all the rows of the coefficient matrix to be generated are held, the
バンド幅の値を取得した範囲制御部84は、次に、先頭位置決定部82に対して各行の擬似乱数、すなわち、有効係数の存在可能範囲の先頭位置の情報を要求する。先頭位置決定部82は、その要求に基づいて、保持している擬似乱数を範囲制御部84に供給する。擬似乱数を取得した範囲制御部84は、その擬似乱数、および幅設定部83より取得したバンド幅の値に基づいて、生成する係数行列の各行における有効係数の存在可能範囲を決定する。
The
次に、擬似乱数生成部81は、式(2)に示されるような演算を行い、線形合同法のモジュロ演算を用いて、係数(係数行列の各成分)の値を設定するための擬似乱数を生成し、その値を範囲制御部84に供給する。
Next, the pseudo random
式(2)において、右辺第1項および右辺第3項の変数Lは、予め定められた種データである。この種データは、例えば、全行において共通であっても良いし、各行において互いに異なるようにしてももちろんよい。右辺第2項の変数randは、前回求めた擬似乱数であり、左辺第1項の変数randは、今回求める擬似乱数である。また、変数randの初期値は「0」であり、今回求める擬似乱数(左辺第1項の変数randの値)は、例えば、32ビット処理により行った、右辺の式のモジュロ演算結果である。 In equation (2), the variable L in the first term on the right side and the third term on the right side is predetermined seed data. For example, this kind of data may be common to all rows, or may be different from each other in each row. The variable rand in the second term on the right side is a pseudo random number obtained last time, and the variable rand in the first term on the left side is a pseudo random number obtained this time. The initial value of the variable rand is “0”, and the pseudorandom number (the value of the variable rand in the first term on the left side) obtained this time is, for example, a modulo arithmetic result of the expression on the right side performed by 32-bit processing.
擬似乱数生成部81は、以上の式(2)の演算を行い、擬似乱数を生成すると、それを範囲制御部84に供給する。範囲制御部84は、その擬似乱数を取得すると、事前に決定した有効係数の存在可能範囲に基づいて、その擬似乱数が対応する係数の位置がこの有効係数の存在可能範囲内であるか否かを判定し、範囲内である場合のみ、その擬似乱数を係数判定部85に供給する。範囲外である場合は、その擬似乱数の変わりに、値「0」を係数判定部85に供給する。
The pseudo random
係数判定部85は、取得した擬似乱数の値に基づいて、その擬似乱数が対応する各成分の値を判定する。このとき、係数判定部85は、取得した擬似乱数の値に対して、例えば、閾値を設け、取得した擬似乱数の値が、その閾値以上である場合は、その擬似乱数が対応する成分の値を「1」と判定し、閾値より小さい場合は、その成分の値を「0」と判定し、その判定結果を係数行列保持部71に供給し、保持させる。
The coefficient determination unit 85 determines the value of each component corresponding to the pseudo random number based on the acquired value of the pseudo random number. At this time, for example, the coefficient determination unit 85 provides a threshold value for the acquired pseudo random number value, and if the acquired pseudo random number value is equal to or greater than the threshold value, the value of the component to which the pseudo random number corresponds. Is smaller than the threshold value, the value of the component is determined as “0”, and the determination result is supplied to the coefficient
その際、係数判定部85は、係数生成確率保持部86に保持されている係数生成確率pを取得し、この係数生成確率pの値に基づいて、閾値の値を決定する。すなわち、係数判定部85は、上述した各行の有効係数の存在可能範囲内において、有効係数の割合が係数生成確率pの値になるように(近づくように)、閾値の値を設定する。
At that time, the coefficient determination unit 85 acquires the coefficient generation probability p held in the coefficient generation
係数生成確率pは、予め定められた、「0」より大きく、かつ、「1」より小さい値の定数であり、各行の有効係数の存在可能範囲内において、有効係数の割合がどの程度になるかを確率的に指定する値である。すなわち、例えば、係数生成確率pの値が「0.5」であった場合、係数判定部94は、各行の有効係数の存在可能範囲内において、有効係数の数と無効係数の数とがほぼ1対1となるように(近似するように)閾値を設定する。例えば、擬似乱数の値が、均一の確率で32ビット全体に分布すると仮定した場合、係数判定部85は、閾値の値を「2147483648」に設定する。 The coefficient generation probability p is a predetermined constant greater than “0” and smaller than “1”, and the ratio of the effective coefficient is within the possible range of the effective coefficient in each row. It is a value that specifies whether or not. That is, for example, when the value of the coefficient generation probability p is “0.5”, the coefficient determination unit 94 determines that the number of valid coefficients and the number of invalid coefficients are approximately within the possible range of valid coefficients in each row. The threshold value is set so as to be one-to-one (approximate). For example, when it is assumed that the value of the pseudo random number is distributed over the entire 32 bits with a uniform probability, the coefficient determination unit 85 sets the threshold value to “2147483648”.
以上のようにして、係数行列保持部71には、係数判定部85において値を判定された判定結果(「0」または「1」)が供給される。各部は以上のような処理を各係数について行い、1つずつ係数の値を判定し、係数行列保持部71は、それらの判定結果を係数行列の各成分として保持していき、最終的に、係数行列の全ての成分を保持する。
As described above, the coefficient
上述したように1ブロック分の元データDを取得した行列式生成部61は、係数行列保持部71に対して、このように生成され係数行列保持部71に保持されている係数行列を要求する。係数行列保持部71は、この要求に応じて、保持している係数行列を行列式生成部61に供給する。
As described above, the
行列式生成部61は、係数行列を取得すると、その係数行列と1ブロック分の元データを用いて、そのブロックに対するEOR変換データを生成するための行列式を生成する。具体的には、行列生成部61は、以下の式(3)に示されるような行列式を生成する。
When the
式(3)において、右辺第1項は、M行N列の係数行列であり、係数行列供給部71より供給された係数行列である。右辺第2項は、元データD(D1乃至DN)の行列であり、左辺の行列は、この行列式により算出されるEOR変換データS(S1乃至SM)である。なお、式(3)において、通常の加算の代わりにビット毎のEOR演算が行われる。EOR演算については後述する。
In Equation (3), 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
このような行列式を生成すると、行列式生成部61は、この行列式を行列式演算部62に供給する。なお、行列式は、所謂、連立方程式と同じものを示すものとする。以下においても同様である。
When such a determinant is generated, the
また、行列式生成部61は、このとき、係数行列の各行における有効係数の存在可能範囲について確認し、各行について、行番号と有効係数の存在可能範囲の先頭位置(列)を対応付け、それぞれを係数情報、先頭情報とし、行列式とともに、行列式演算部62に供給する。これらの係数情報および先頭情報は、EOR変換データとともに受信装置13に供給され、EOR変換データより元データを復元する際に、係数行列を生成するのに利用される。
Further, at this time, the
行列式演算部62は、式(3)に示されるような行列式を演算する。すなわち、行列式演算部62は、右辺第1項の係数行列の各行において、その行の各列成分を、それらが対応する、右辺第2項における各行成分(元データD1乃至DN)とそれぞれ積算し、得られた各積算結果を用いて、互いに対応するビット毎にEOR演算を行うことにより、各行に1つのEOR演算結果を算出し、それをEOR変換データSとする。
The
ここで、通常の10進数の場合の、2つの行列の積算における演算手順を説明すると、まず、第1項の行列の各行が第2項の行列の各列と積算される。具体的には、第1項の行列の各行と第2項の行列の各列が互いに対応する成分毎に積算される。例えば、第1項の第1行目について説明すると、その行の第i列目の成分は、第2項の各列の第i行目の成分と積算される。このように積算が行われると、次に、この積算毎に各成分の積算結果が全て加算される。例えば、第1項の行列がN列の行列であり、第2項の行列がN行の行列であるとすると、第1項の行列の各行と第2項の行列の各列の各積算において、それぞれ、N個の成分同士の積算結果が得られるので、それらのN個の積算結果が加算され、この加算結果が、第1項の行列の行と第2項の行列の列の積算結果とされる。 Here, the calculation procedure in the integration of two matrices in the case of a normal decimal number will be described. First, each row of the first term matrix is integrated with each column of the second term matrix. Specifically, each row of the first term matrix and each column of the second term matrix are integrated for each corresponding component. For example, describing the first row of the first term, the component in the i-th column of that row is integrated with the component in the i-th row of each column in the second term. When integration is performed in this way, all integration results of each component are then added for each integration. For example, if the matrix of the first term is an N-column matrix and the matrix of the second term is an N-row matrix, in each multiplication of each row of the matrix of the first term and each column of the matrix of the second term Since the integration results of N components are respectively obtained, the N integration results are added, and the addition result is the integration result of the matrix row of the first term and the matrix column of the second term. It is said.
上述した式(3)の行列式においても、基本的にはこのような演算手順と同様の演算手順により演算が行われる。しかしながら、元データDやEOR変換データSは、2進数のビット列であるので、上述した10進数の場合の演算手順における、成分同士の積算結果の通常の加算処理の代わりに、ビット毎のEOR演算が用いられる。 In the determinant of Equation (3) described above, the calculation is basically performed according to the same calculation procedure as that described above. However, since the original data D and the EOR conversion data S are binary bit strings, instead of the normal addition process of the integration result of components in the calculation procedure in the case of the decimal number, the EOR calculation for each bit is performed. Is used.
演算手順の順序で説明すると、行列式演算部62は、上述した10進数の場合と同様に、式(3)の右辺第1項の係数行列の各行を、右辺第2項の行列(元データD1乃至DNを成分とする行列)の列と積算する。具体的には、右辺第1項の係数行列の各行の各列成分を、右辺第2項の行列の各成分(元データD1乃至DN)と、それぞれ積算する。右辺第1項の係数行列の各成分の値は「1」または「0」であるので、各成分の積算結果は、右辺第2項の各成分(元データD1乃至DN)となるか、若しくは、「0」(具体的には、元データDと同じビット数であり、各ビットの値が「0」のビット列)となる。
In the order of the calculation procedure, the
次に、行列式演算部62は、これらの各成分の積算結果を、上述したように互いに対応するビット毎のEOR演算により合成する。なお、EOR演算について具体的に説明すると、値「0」と値「0」とのEOR演算結果の値は「0」であり、値「0」と値「1」とのEOR演算結果の値は「1」であり、値「1」と値「0」とのEOR演算結果の値は「1」であり、値「1」と値「1」とのEOR演算結果の値は「0」である。従って、例えば、「11110000」のビット列と、「10101010」のビット列とのEOR演算結果は、「01011010」となる。行列式演算部62は、このようなEOR演算を繰り返し、各成分の積算結果を全て合成する。そして、このEOR演算結果が、1つのEOR変換データSとされる。
Next, the
以上のような演算を、式(3)の右辺第1項の係数行列の各行に対して繰り返し、全ての左辺第1項の行列の成分として示されるEOR変換データ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 EOR conversion data S 1 to S M shown as the components of the matrix of the first term on all the left sides are obtained. .
なお、上述したように、係数行列の各成分の値は、「0」または「1」であるので、その各成分と元データD1乃至DNとの積算結果は、右辺第2項の各成分(元データD1乃至DN)となるか、若しくは、「0」となる。従って、この積算について換言すると、行列式演算部62は、その各成分と元データD1乃至DNとの積算により、EOR変換データSを生成するために用いる元データDを選択(抽出)している。
As described above, since the value of each component of the coefficient matrix is “0” or “1”, the integration result of each component and the original data D 1 to D N is the value of the second term on the right side. It becomes a component (original data D 1 to D N ) or “0”. Therefore, in other words for the integration,
また、上述したように、各成分の積算結果が互いに対応するビット毎のEOR演算により合成されるので、合成結果(EOR演算結果)の各ビットの値は、そのビットが対応する、EOR演算される各積算結果のビットにおいて、値が「1」である積算結果の数が奇数である場合、「1」になり、値が「1」である積算結果の数が偶数である場合、「0」になる。従って、このEOR演算について換言すると、行列式演算部62は、上述した成分毎の積算結果の各ビットの値を、互いに対応するビット毎に集計し、値が「1」である積算結果の数が奇数である場合、そのビットに対応するEOR変換データSのビットの値を「1」とし、値が「1」である積算結果の数が偶数である場合、そのビットに対応するEOR変換データSのビットの値を「0」とする。
Further, as described above, since the integration results of the respective components are synthesized by the EOR operation for each bit corresponding to each other, the value of each bit of the synthesis result (EOR operation result) is subjected to the EOR operation corresponding to the bit. When the number of integration results with a value “1” is an odd number, the value is “1”. When the number of integration results with a value “1” is an even number, “0” "become. Therefore, in other words, for the EOR operation, the
すなわち、行列式演算部62は、元データD1乃至DNの中から、所定の方法により元データDを選択し、その選択した各元データDの、互いに対応するビットについて、値が「1」の数が奇数である場合、そのビットに対応するEOR変換データSのビットの値を「1」とし、値が「1」の数が偶数である場合、そのビットに対応するEOR変換データSのビットの値を「0」として、各EOR変換データSを求める。
That is, the
行列式演算部62は、以上のように演算を行い、EOR変換データS(S1乃至SM)を求め、その解を解出力部63に供給する。このとき、行列式演算部62は、求めたEOR変換データとともに、上述した係数情報および先頭情報を解出力部63に供給する。
The
以上のように、EOR変換データ生成部24においては、図7に示されるように、元データが変換されてEOR変換データが生成される。
As described above, the EOR conversion
図7において、1つのブロックの元データ43(元データD1乃至DN)は、パケットデータ91−1乃至91−Nのようにパケットサイズのデータであり、上述したように、EOR変換データ生成部24において、EOR変換データ44に変換される。EOR変換データ44は、パケットデータ92−1乃至92−Mにより構成される。パケットデータ92−1乃至92−Mは、それぞれ、元データD1乃至DN(パケットデータ91−1乃至91−N)と上述した係数行列を用いて生成されたデータであり、式(3)により、元データD1乃至DN(パケットデータ91−1乃至91−N)から、上述した方法で抽出された複数の元データ43をビット毎に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 91-1 to 91-N, and as described above, EOR conversion data generation The
解出力部63は、以上のように算出された解を、EOR変換データSとして、所定のタイミングで図3のアプリケーションデータ生成部25に供給する。なお、解出力部63は、EOR変換データとともに、上述した係数情報および先頭情報を図3のアプリケーションデータ生成部25に供給する。
The
次に、有効係数の存在可能範囲について説明する。 Next, the possible range of effective coefficients will be described.
通信システム10において、受信装置13は、後述するように、送信装置11におけるEOR変換データの生成に利用された係数行列と同じ係数行列を利用して元データを復元するが、仮に、EOR変換データの生成に利用される元データに偏りがあり、かつ、その偏り方が特定できるものであるとすると、受信装置13は、元データを復元する際に、係数行列の、明らかに有効係数が存在しない範囲に対応する演算を省略することができる。
In the
そこで、送信装置11が、各EOR変換データの生成に利用する元データを選択する際に、所定の範囲を設定し、元データD1乃至DNの内、その範囲内の元データより選択するようにする。すなわち、係数行列の各行において、有効係数が存在する列の範囲を設定するようにし、有効係数は、その列の範囲内において任意に選択された列の係数とする。
Therefore, the transmitting
しかしながら、受信装置13の、パケットロス(送信装置11が送信したEOR変換データのロス)に対する耐性を向上させるために、ロスしたEOR変換データによって復元性能に影響がない(どのEOR変換データをロスしても復元性能が変化しない)ようにすることが望ましい。従って、送信装置11においてEOR変換データを生成する際に、係数行列における有効係数の位置に偏りが無いようにする(任意に選択された元データを用いて各EOR変換データが生成されるようにする)必要がある。より具体的には、係数行列において、有効係数が各列に一様に偏りなく配置されることと、有効係数の配置が行毎に互いに独立している(規則性を有さない)ことが求められる。
However, in order to improve the tolerance of the receiving
そこで、送信装置11が、例えば、図8に示されるように、有効係数の存在可能範囲の位置を行毎にランダムに設定するようにする。図8は、式(3)における有効係数の存在可能範囲の位置を模式的に示す図である。
Therefore, for example, as illustrated in FIG. 8, the
図8において、縦軸は、生成されたEOR変換データS1乃至SMを示し、横軸は、元データD1乃至DNを表している。また、有効係数の存在可能範囲は、黒線で示している。すなわち、縦軸のEOR変換データS1乃至SMは、それぞれ、横軸の元データD1乃至DNの内、黒線で示される範囲内の元データ群の中から任意に抽出された(有効係数に対応する)元データのビット毎のEOR演算結果である。 8, the vertical axis represents the generated showed EOR conversion data S 1 to S M, the horizontal axis represents the original data D 1 to D N. In addition, the possible range of effective coefficients is indicated by black lines. That, EOR converted data S 1 to S M of the vertical axis, respectively, of the original data D 1 through D N on the abscissa, were arbitrarily extracted from the original data set within the range indicated by the black line ( This is the EOR operation result for each bit of the original data (corresponding to the effective coefficient).
上述したように、有効係数の存在可能範囲の幅(バンド幅)は、予め定められた所定の値であるので、図8の黒線の幅は全て同じ長さである。また、上述したように、有効係数の存在可能範囲の先頭位置は、係数行列の第1列目乃至第(N−バンド幅)列目の間でランダムに決定されるので、図8の黒線の先頭位置(左端の位置)は、それぞれ、元データD1乃至元データD(N-バンド幅)の中からランダムに決定された元データとなる。従って、図8に示されるようにEOR変換データS1乃至SMを整列させた場合、各EOR変換データに対応する有効係数の存在可能範囲(黒線)の位置は、偏りなく一様に配置されることになる。 As described above, since the width (band width) of the effective coefficient existence range is a predetermined value, the widths of the black lines in FIG. 8 are all the same length. Further, as described above, the start position of the effective coefficient existence range is randomly determined between the first column to the (N-bandwidth) column of the coefficient matrix, so the black line in FIG. The first position (the leftmost position) of each is the original data randomly determined from the original data D 1 to the original data D (N-bandwidth) . Therefore, when the EOR conversion data S 1 to S M are aligned as shown in FIG. 8, the positions of the effective coefficient existence ranges (black lines) corresponding to the respective EOR conversion data are uniformly arranged without any deviation. Will be.
すなわち、図8に示されるように、EOR変換データを生成する際に利用される係数行列において、有効係数が各列に一様に偏りなく配置され、かつ、有効係数の配置が行毎に互いに独立している(規則性を有さない)。 That is, as shown in FIG. 8, in the coefficient matrix used when generating the EOR conversion data, the effective coefficients are arranged uniformly in each column, and the effective coefficients are arranged for each row. Independent (no regularity).
しかしながら、図8において、EOR変換データS1乃至SMを有効係数の存在可能範囲の先頭位置に基づいて整列すると、有効係数の存在可能範囲が設定されているため、有効係数は、係数行列の対角成分付近に偏って位置することになる。すなわち、係数行列が帯行列のような特性をもつことになるので、受信装置13は、元データを復元する際に、このような係数行列を利用することにより、明らかに有効係数が存在しない範囲を特定し、その範囲に対応する演算を省略することができる。
However, in FIG. 8, when the EOR conversion data S 1 to S M are aligned based on the start position of the effective coefficient existence range, the effective coefficient existence range is set. It will be biased near the diagonal component. That is, since the coefficient matrix has characteristics such as a band matrix, the receiving
換言すると、EOR変換データ生成部24は、全ての元データD(元データD1乃至DN)を要素とする集合を全体集合とし、全体集合より全体集合の一部である任意の連続する要素群からなる部分集合として有効係数の存在可能範囲を設定し、設定した有効係数の存在可能範囲より元データDを任意に複数選択し、選択した複数の元データDを互いにビット毎に排他的論理和演算し、演算結果であるEOR変換データSを複数の有効係数の存在可能範囲(すなわち、係数行列の各行)について求めることにより、元データD1乃至DNをEOR変換データS1乃至SMに変換する。
In other words, the EOR conversion
次に、アプリケーションデータについて説明する。 Next, application data will be described.
図9は、図3のアプリケーションデータ生成部25の詳細な構成例を示すブロック図である。
FIG. 9 is a block diagram illustrating a detailed configuration example of the application
最初に、パケットデータが供給される前にブロックカウンタ104は初期化される。 Initially, the block counter 104 is initialized before the packet data is supplied.
EOR変換データ生成部24より供給されたEOR変換データおよび係数情報は、アプリケーションデータ生成部25の係数情報付加部101に供給される。係数情報付加部101は、取得したEOR変換データに、取得した係数情報を付加し、それを先頭情報付加部102に供給する。また先頭情報付加部102には、EOR変換データ生成部24より供給された先頭情報が付加される。先頭情報付加部102は、係数情報が付加されたEOR変換データに先頭情報を付加し、それをブロック番号付加部103に供給する。ブロック番号付加部103は、ブロックカウンタ104のカウント値を取得し、それをブロック番号として係数情報および先頭情報が付加されたEOR変換データに付加する。ブロックカウンタ104は、カウント値をブロック番号付加部103に供給すると、カウントアップし、カウント値を更新する。なお、ブロックカウンタ104は、最大値(N−1)のカウンタであり、カウントアップする毎に、カウント値を「1」増加させる。カウント値が最大値(N−1)のときにカウントアップする場合は、ブロックカウンタ104は、そのカウント値を「0」に更新する。ブロック番号をEOR変換データに付加したブロック番号付加部103は、それをアプリケーションデータ出力部105に供給する。アプリケーションデータ出力部105は、ブロック番号付加部103より供給された、係数情報、先頭情報、およびブロック番号が付加されたEOR変換データを、アプリケーションデータとして、図3のUDPパケット化部27に出力する。
The EOR conversion data and coefficient information supplied from the EOR conversion
図10は、アプリケーションデータ出力部105より出力されるアプリケーションデータの構成例を示す図である。 FIG. 10 is a diagram illustrating a configuration example of application data output from the application data output unit 105.
図10において、アプリケーションデータ110は、ヘッダ111およびEOR変換データ112により構成される。ヘッダ111は、ブロック番号121、先頭情報122、および係数情報123よりなる。すなわち、アプリケーションデータは、EOR変換データ112に係数情報123、先頭情報122、およびブロック番号121がヘッダ111として付加されたものである。
In FIG. 10,
係数情報123は、受信装置13が、係数行列の、EOR変換データ112が対応する行の各成分(係数)を生成するための情報であり、例えば、擬似乱数生成部81における係数生成時の乱数発生の種データ(例えば32ビット=4バイト)等により構成される。係数情報123は、その他にも、行番号やパケット番号(例えば6万種発生させる場合、2バイト)等のように、間接的に係数を指定する関連付け情報であってもよいし、そのEOR変換データ112が対応する係数自体のビット列(例えばバンド幅が400のとき、50バイト)であってもよいし、そのビット列をランレングスなどで圧縮したビット列等であってもよい。受信装置13は、このような係数情報に基づいて、各EOR変換データに対応する係数行列の行成分を生成する。
The
先頭情報122は、受信装置13が、係数行列の、EOR変換データ112が対応する行の各成分(係数)を生成するための情報であり、係数行列における有効係数の存在可能範囲の先頭位置を示す情報である。受信装置13は、このような先頭情報に基づいて、生成した係数行列における有効係数の存在可能範囲の位置を認識し、その位置に基づいて、演算を省略する係数を決定する。
The
図9に戻り、以上のようなアプリケーションデータを出力すると、アプリケーションデータ出力部105は、そのアプリケーションデータを出力したことを示す出力情報をデータ変換制御部26に供給する。
Returning to FIG. 9, when the application data as described above is output, the application data output unit 105 supplies output information indicating that the application data has been output to the data
データ変換制御部26は、その出力情報に基づいて、送信用データに対応する全てのアプリケーションデータが出力されたか否かを判定し、全てのアプリケーションデータが出力されていないと判定した場合、次の変換データを生成するように、パケットデータ保持部23およびEOR変換データ生成部24を制御する。
Based on the output information, the data
以上のように、送信用データを分割した複数の元データを送信するのではなく、元データをEOR変換データに変換してそれを送信するので、送信装置11は、受信装置13が任意のEOR変換データを所定の数以上受信して、元データを復元するようにすることができる。従って、送信装置11は、より容易、かつ、より正確にデータを送信することができる。
As described above, instead of transmitting a plurality of original data obtained by dividing transmission data, the original data is converted into EOR-converted data and transmitted. It is possible to restore the original data by receiving a predetermined number or more of the converted data. Therefore, the
また、ブロック毎に生成したEOR変換データを、各ブロックのEOR変換データを混在させた順番で送信するので、送信装置11は、受信装置13のバースト的パケットロスに対する耐性を向上させることができる。
Further, since the EOR conversion data generated for each block is transmitted in the order in which the EOR conversion data of each block is mixed, the
さらに、係数行列の各行において、有効係数の存在可能範囲を限定することができるので、受信装置13が元データ復元処理の演算量を削減させることができる。
Furthermore, since the range in which the effective coefficient can exist can be limited in each row of the coefficient matrix, the
さらに、送信装置11は、係数情報、先頭情報、ブロック情報等の情報を送信するので、受信装置13が容易に元データ復元処理を行うようにすることができる。
Furthermore, since the
次に、データの受信側について説明する。 Next, the data receiving side will be described.
図11は、図2の受信装置13の詳細な構成例を示すブロック図である。
FIG. 11 is a block diagram illustrating a detailed configuration example of the
ネットワーク12を介して受信装置13に送信されたパケットは、ケーブル130を介してイーサネット(R)(Ethernet(R))処理部131に供給される。イーサネット(R)処理部131は、イーサネット(R)の規格に基づいて、データリンク層および物理層の処理を行い、供給されたパケットからIPパケットを抽出し、IP処理部132に供給する。
A packet transmitted to the receiving
IP処理部132は、IPプロトコルに基づいて、ネットワーク層の処理を行い、供給されたIPパケットよりUDPパケットを抽出し、アプリケーションデータ抽出部133に供給する。アプリケーションデータ抽出部133は、UDPプロトコルに基づいてトランスポート層の処理を行い、UDPパケットより、アプリケーションデータを抽出し、それをバッファ部134に供給する。
The
バッファ部134は、アプリケーションデータに付加されたブロック番号に基づいて、対応するブロック毎にアプリケーションデータを振り分けて保持し、パケットデータ復元部135に供給する。
The
パケットデータ復元部135は、供給されたアプリケーションデータに含まれる変換データに基づいて、ブロック単位で元データを復元し、それをブロックデータ復元部136に供給する。ブロックデータ復元部136は、パケットデータ復元部135より供給される元データ(パケットデータ)を用いて、ブロックデータを復元し、そのブロックデータを再生出力部137に供給する。受信データ出力部137は、そのブロックデータを用いて受信データ(元の送信用データ)を復元し、それを受信装置13の外部に出力する。
The packet
送信装置11より送信されたパケットは、受信装置13に向けて送信されるが、様々な原因により、受信装置13に受信されない場合がある。例えば、図12に示されるように、送信装置11が送信した送信パケット141の内、9つの送信パケットを受信すれば、受信装置13は、元データを復元し、1つのブロックデータを復元することができる場合に、受信装置13が、送信パケット141の番号3、7、および8のパケットをロスしたとする。すなわち、受信パケット142においては、パケット番号3、7、および8のパケットがロスされている。このように送信パケット141より任意のパケットを3つロスした場合、受信装置13は、そのロスしたパケットと同じブロックに対応するパケットを、上述したパケット番号1乃至9のパケット以外に3つ(図12の場合、パケット番号10乃至12を)受信すれば、元データを復元することができる。すなわち、受信装置13は、送信装置11が送信するパケットの中から、必要な数のパケットを受信することができれば、そのパケットが同じブロックに対応するパケットであればどのパケットであっても、元データを復元することができるようになされている。その復元処理の詳細については後述する。
A packet transmitted from the
なお、上述したバッファ部134以降のモジュールが実行する処理は、OSI階層モデルにおける、アプリケーション層、プレゼンテーション層、およびセション層の処理である。
Note that the processing executed by the modules after the
このように、受信装置13は、送信装置11より送信したパケットの内、任意のパケットを所定の数以上取得すれば、元データ(送信用データ)を復元することができる。すなわち、受信装置13は、送信装置11が送信する変換データを用いて、元データを復元するようにすることにより、パケットロスに対する耐性を向上させることができ、データの送受信をより正確、かつ、より容易に行うようにデータを受信することができる。
As described above, the receiving
図13は、パケットデータ復元部135の詳細な構成例を示すブロック図である。
FIG. 13 is a block diagram illustrating a detailed configuration example of the packet
図13において、バッファ部134は、アプリケーションデータをブロック毎に蓄積し、元データを復元するのに十分な数のアプリケーションデータを蓄積したブロックが発生した場合、そのアプリケーションデータを復元制御部151に供給する。
In FIG. 13, the
復元処理部151は、係数行列作成部152にアプリケーションデータを供給し、そのブロックに対する係数行列を作成させる。係数行列作成部152は、係数行列を作成すると、それを行列式作成部153に供給する。復元制御部151は、また、行列式作成部153にアプリケーションデータを供給し、そのブロックに対する、元データを復元するための行列式を作成させる。
The
行列式作成部153は、復元制御部151より供給されたアプリケーションデータおよび係数行列作成部152より供給された係数行列に基づいて、元データを復元するための行列式である式(4)を作成する。
The
なお、式(4)において、通常の加算処理の代わりにEOR演算が行われる。式(4)の右辺第1項の行列の各成分Q1乃至QKは、受信装置13が受信したK個(M>K>N)のEOR変換データを示している。左辺第2項の行列の各成分P1乃至PNは、求めるN個の元データを示している。式(4)の左辺第1項の行列は、予め係数行列供給部123において保持されているM行N列の係数行列、すなわち、式(2)の右辺第1項に示される係数行列と各成分の値が同じ係数行列(送信装置11がEOR変換データを生成する際に利用する係数行列と同じ係数行列)より切り出された係数行列である。ただし、式(4)に示される係数行列の行成分は、受信装置13が受信したパケット(EOR変換データQ1乃至QK)が対応する行成分のみで構成される。
In Equation (4), EOR calculation is performed instead of normal addition processing. Each component Q 1 to Q K of the matrix of the first term on the right side of Equation (4) represents K (M>K> N) EOR conversion data received by the receiving
従って、受信装置13は、この式(4)に示される行列式(連立方程式)を解くことにより、元データP1乃至PNの解を求めることができる。
Therefore, the receiving
行列式作成部153は、式(4)に示される行列式を生成すると、その行列式を行列式保持部154および行列式整列部155に供給する。行列式を取得した行列式整列部155は、その行列式の係数行列の有効係数の存在可能範囲に基づいて、行列式の各項の行を入れ替えて、図14に示されるように整列させる。
When the
図14は、行を入れ替えて整列された式(4)における有効係数の存在可能範囲の位置を模式的に示す図である。 FIG. 14 is a diagram schematically illustrating the positions of possible ranges of effective coefficients in Expression (4) arranged by replacing rows.
図14において、図8の場合と同様に、縦軸は、受信したEOR変換データQ1乃至QKを示し、横軸は、求める元データP1乃至PNを表している。また、有効係数の存在可能範囲は、黒線で示している。すなわち、縦軸のEOR変換データQは、それぞれ、横軸の元データP1乃至PNの内、黒線で示される範囲内の元データ群の中から任意に抽出された(有効係数に対応する)元データのビット毎のEOR演算結果である。 In FIG. 14, as in FIG. 8, the vertical axis represents the received EOR conversion data Q 1 to Q K , and the horizontal axis represents the original data P 1 to P N to be obtained. In addition, the possible range of effective coefficients is indicated by black lines. That is, the EOR conversion data Q on the vertical axis is arbitrarily extracted from the original data group within the range indicated by the black line among the original data P 1 to P N on the horizontal axis (corresponding to the effective coefficient). This is the EOR operation result for each bit of the original data.
行列式整列部155は、行列式作成部153が作成した行列式の各項の行成分の入れ替えを行い、図14に示されるように、式(4)における各行の有効係数の存在可能範囲の先頭位置が、第1行目から第K行目に向かって、順に、第1列目から第N列目に向かうようにする。
The
すなわち、このときの式(4)の左辺第1項の係数行列における有効係数の位置は、例えば、図15Aに示されるように、係数行列の対角成分付近に集中し、係数行列が帯行列のようになる。実際には、この係数行列のサイズ(行数および列数)は、非常に大きく、図15Bに示されるように、より帯行列の性格を強くする。図15Bにおいて、ハッチで示される範囲が有効係数の存在可能範囲であり、両矢印で示される範囲がバンド幅161となる。なお、この有効係数の存在可能範囲内において、有効係数はランダムに配置される。このように行列式が整列されることにより、係数行列において有効係数の位置に偏りが生じる。従って、受信装置13は、図15Bのハッチで示されるような、有効係数の存在可能範囲外の領域(図15B中白地の領域)での演算を省略することができる。
That is, the positions of effective coefficients in the coefficient matrix of the first term on the left side of Equation (4) at this time are concentrated near the diagonal components of the coefficient matrix as shown in FIG. 15A, for example, and the coefficient matrix is a band matrix. become that way. In practice, the size (number of rows and columns) of this coefficient matrix is very large, making the characteristics of the band matrix stronger as shown in FIG. 15B. In FIG. 15B, the range indicated by hatching is the range where the effective coefficient can exist, and the range indicated by double-headed arrow is the bandwidth 161. Note that the effective coefficients are randomly arranged within the possible range of the effective coefficients. By aligning the determinants in this way, the position of the effective coefficient is biased in the coefficient matrix. Therefore, the receiving
このように行列式を整列すると、行列式整列部155は、整列した行列式を行列式保持部154に保持させるとともに、その情報をタイル処理部156に供給する。タイル処理部156は、その情報に基づいて、行列式保持部154に、整列済みの行列式を要求し、取得する。
When the determinants are aligned in this way, the
タイル処理部156は、整列された行列式を取得すると、取得した行列式の係数行列に対して、演算処理を制御する領域の単位であるタイルを設定し、各タイルについて、元データ復元のための演算を行うか否かを判定する。すなわち、タイル処理部156は、係数行列の全成分の領域を、所定の単位で行方向および列方向に分割した複数の小領域(タイル)を設定する。図16にタイルの例を示す。図16において、領域162は、係数行列の全成分の領域を示している。図15を参照して説明したように、この領域162には、バンド幅161の有効係数の存在可能領域(2本の斜めの直線で挟まれた領域)が設定されており、その領域内に有効係数が分布している。
When the
タイル処理部156は、このような領域162を所定のサイズの、タイル163に示されるような小領域に分割する。図16の例の場合、タイル処理部156は、領域162のサイズを、列数2048×行数2112とし、バンド幅161の大きさ(列数)を400とし、このような領域162に対して1辺がバンド幅161の数分の一(例えば128)程度の大きさの小領域(例えば、列数128×行数132)をタイルとして設定している。
The
なお、このタイルのサイズは予め設定され、タイル処理部156に保持されている。このようなタイルを設定すると、タイル処理部156は、各タイルについて演算の有無を判定する。演算の有無はそのタイルの位置により決定され、例えば、そのタイルが有効係数の存在可能範囲付近に存在する場合、タイル処理部156は、そのタイルにおいて演算すると判定し、タイル処理部156は、係数行列におけるそのタイルの成分に対応する部分行列式を抽出し、それを行列式演算部157に供給する。なお、演算を行わないと判定したタイルについては、タイル処理部156は、そのタイルについては処理せずに、次のタイルの判定を行う。
Note that the size of the tile is set in advance and held in the
図16においては、ハッチで示されるタイルが演算を行うように設定されたタイルであり、水平方向に7タイル分ずつ設定されている。すなわち、タイル処理部156は、有効係数の存在可能範囲のバンド幅161よりやや大きめ範囲のタイルを、演算を行うタイルとして設定する。そしてそれ以外の、図16において白地で示されるタイルは、演算を行わないタイルとして設定される。
In FIG. 16, tiles indicated by hatches are tiles set so as to perform calculations, and are set for 7 tiles in the horizontal direction. That is, the
すなわち、領域162におけるタイルは、行列式演算部157が行列式を演算する演算処理の処理単位である。このとき、元データの復元には、その元データよりも多くの変換データを必要とするので、各タイルのサイズは、各タイルの列数より行数の方が多くなるように設定される。
That is, the tile in the
タイル処理部156が、このように設定することにより、行列式演算部157は、図16に示されるように、有効係数の存在可能領域を含む、ハッチで示されるタイルのみを演算するので、領域162において係数行列全体に対して演算処理を行うよりも、その演算量を削減することができる。
By setting the
以上のように、行列式に対してマスキング処理を行い、演算を行う領域を限定すると、タイル処理部156は、その部分行列式を行列式演算部157に供給する。
As described above, when the masking process is performed on the determinant and the region to be operated is limited, the
行列式演算部157は、式(4)に示される式の部分行列式を取得すると、その行列式を、例えば、ガウスの消去法を用いて、元データD1乃至DNの解を求め、その求めた元データD1乃至DNを解出力部158に供給る。ガウスの消去法の具体的な例については、後述する。
解出力部158は、その解を元データとして、図11のブロックデータ復元部136に供給する。
The
以上のようにパケットデータ復元部135が復元処理を行うことにより、受信装置13は、送信装置11に再送要求をすることなしに、元データを容易に復元することができる。また、図12を参照して説明したように、受信装置13は、送信装置11が送信する変換データの内、所定の数以上の任意の変換データを取得すれば、元データを復元することができるので、例えば、パケットをロスした場合であっても、ロスした数以上のパケットを任意に追加的に受信すればよく、カルーセル方式によりパケットを送信する場合と比較して、高速に復元処理を開始することができ、受信処理をより高速に実行することができる。また、これにより、送信装置13が送信するパケット群に対して、受信装置13が、その途中のパケットから受信を開始しても、所定の数以上の変換データを取得すれば、元データを復元することができる。さらに、受信装置13は、EOR演算により元データを復元できるので、例えばリードソロモン符号の場合におけるガロア体上の演算のような複雑な演算を行わずに元データを復元することができ、より容易かつ高速に復元処理を行うことができるとともに、受信装置13の製造コストを低減させることができる。
As described above, when the packet
次に、送信装置11における、上述した各部の処理の流れについて説明する。
Next, the process flow of each unit described above in the
外部からの送信データの供給が開始されると、送信装置11は、データ送信処理を開始する。図3の送信装置11によるデータ送信処理を図17のフローチャートを参照して説明する。
When the supply of transmission data from the outside is started, the
最初に、送信用データが外部より供給されると、送信装置11のデータ分割部21は、ステップS1において、送信用データをブロックに分割することによりブロックデータを生成する。ブロック分割部22は、ステップS2において、生成されたブロックデータをさらにパケットデータに分割することにより、元データを生成する。
First, when transmission data is supplied from the outside, the data dividing unit 21 of the
パケットデータ保持部23は、ステップS3において、ブロック分割部22において生成された、1つの送信用データに対応する全てのパケットデータ(元データ)を保持する。
The packet
ステップS4において、データ変換制御部26は、生成するEOR変換データのパケット番号として変数jの値を初期化し、例えば「0」に設定する。また、ステップS5において、データ変換制御部26は、生成するEOR変換データのブロック番号として変数iの値を初期化し、例えば「0」に設定する。
In step S4, the data
次に、ステップS6において、データ変換制御部26は、パケットデータ保持部23およびEOR変換データ生成部24を制御して、現在のパケット番号およびブロック番号の値に対応するEOR変換データを生成するために、パケットデータ保持部23が保持している、ブロック番号iに対応するブロックの元データ群を用いた、ブロック番号i、パケット番号jのEOR変換データの生成処理を開始させる。EOR変換データ生成部24は、データ変換制御部26に制御され、EOR変換データ生成処理を行い、供給された元データ群を用いてEOR演算を行い、指定されたブロック番号i、パケット番号jのEOR変換データを生成する。EOR変換データ生成処理の詳細については後述する。
In step S6, the data
EOR変換データ生成部24が、指定されたブロック番号i、パケット番号jのEOR変換データを生成すると、アプリケーションデータ生成部25は、ステップS7において、アプリケーションデータ生成処理を行い、生成されたEOR変換データに上述した係数情報、先頭情報、およびブロック番号等のヘッダを付加し、アプリケーションデータを生成する。アプリケーションデータ生成処理の詳細は後述する。
When the EOR conversion
ステップS8において、UDPパケット化部27は、生成されたアプリケーションデータをUDPパケット化し、バッファ28は、そのUDPパケットを保持し、出力制御部29は、所定のタイミングで保持されているUDPパケットを読み出し、IP処理部30は、読み出されたUDPパケットをIPパケット化し、イーサネット(R)処理部31は、さらにそのIPパケットを送信用にパケット化し、ケーブル32を介して、ネットワーク12に(ネットワーク12を介して接続される受信装置13に対して)送信する。
In step S8, the
また、データ変換制御部26は、アプリケーションデータ生成部25により生成された出力情報に基づいて、EOR変換データが出力されたことを確認すると、ステップS9において、ブロック番号iの値に「1」を加算し、ステップS10において、全ブロックについて処理が終了したか否かを判定する。ブロック番号iの値が、ブロック分割部22が分割したブロックの数以下であり、全ブロックについて処理が終了していないと判定した場合、データ変換制御部26は、処理をステップS6に戻し、次のブロックのEOR変換データを生成させる。
In addition, when the data
以上のようにステップS6乃至ステップS10の処理を繰り返し、ステップS10において、全ブロックについて処理が終了したと判定した場合、データ変換制御部26は、ステップS11に処理を進め、パケット番号jの値に「1」を加算し、ステップS12において、全パケットについて処理が終了したか否かを判定する。データ変換制御部26は、図4に示されるように、各ブロックに対応するEOR変換データを1つずつ生成するように制御し、全ブロックの処理が終了すると、再度、各ブロックに対応するEOR変換データを1つずつ生成するように制御する。データ変換制御部26は、このような制御を繰り返し、各ブロックに対応するEOR変換データを予め定められた所定の数ずつ生成させる。
As described above, the processes of Steps S6 to S10 are repeated, and if it is determined in Step S10 that the process has been completed for all blocks, the data
すなわち、データ変換制御部26は、ステップS12において、パケット番号jの値が、この予め定められた所定の数より大きいか否かを判定することにより、全パケットについて処理が終了したか否かを判定する。そして、全パケットについて処理が終了していないと判定した場合、データ変換制御部26は、処理をステップS5に戻し、それ以降の処理を繰り返すことにより、各部に、最初のブロックに対応するEOR変換データの生成から、再度繰り返させる。以上のようにステップS5乃至ステップS12の処理を繰り返し、ステップS12において、全パケットについて処理が終了したと判定した場合、データ変換制御部26は、データ送信処理を終了する。
That is, in step S12, the data
以上のようにしてデータ送信処理が実行される。これにより、送信装置11は、ガロア体の演算など、負荷の大きい処理を行わずに、高速に冗長データを生成することができ、データを容易かつ正確に送信することができる。また、送信装置11は、パケットデータの送信順を上述したようにブロック単位で並べ替えて送信するので、バースト的パケットロスが発生しても、そのロスしたパケットが特定のブロックに集中することを抑制し、バースト的パケットロスに対する耐性も上げることができる。さらに、このように送信装置11が送信処理を行うことにより、送信装置11が送信したパケットを受信する受信装置13は、高速であり、かつ、復元性能の高い復元処理を、製造コストを増大せずに実現することができる。すなわち、通信システム10は、より容易に、より正確な通信を行うことができる。
The data transmission process is executed as described above. As a result, the
次に、図18のフローチャートを参照して、図17のステップS6において実行されるEOR変換データ生成処理について説明する。 Next, the EOR conversion data generation process executed in step S6 of FIG. 17 will be described with reference to the flowchart of FIG.
最初に、EOR変換データ生成部24の擬似乱数生成部81は、ステップS31において、有効係数の存在可能範囲の先頭位置設定用の擬似乱数を生成する。先頭位置決定部82は、その擬似乱数に基づいて有効係数の存在可能範囲の先頭位置を決定しその情報を保持する。範囲制御部84は、ステップS32において、先頭位置決定部82が保持する先頭位置に関する情報および、幅設定部83が保持する有効係数の存在可能範囲の幅に関する情報に基づいて、有効係数の存在可能範囲(の位置)を決定する。
First, in step S31, the pseudo random
擬似乱数生成部81は、ステップS33において、係数設定用の擬似乱数を生成する。範囲制御部84は、ステップS34において、その生成された擬似乱数が対応する係数(成分)の位置が、ステップS32において決定した有効係数の存在可能範囲内であるか否かを判定し、有効係数の存在可能範囲内であると判定した場合、ステップS35に処理を進める。ステップS35において、係数判定部85は、係数生成確率保持部86が保持する係数生成確率p、および、擬似乱数生成部81が生成した係数設定用の擬似乱数に基づいて、係数の値が「0」であるか、若しくは「1」であるかを判定し、係数の値をその判定した値に設定し、処理をステップS37に進める。また、ステップS34において、擬似乱数が対応する係数の位置が有効係数の存在可能範囲外であると判定した場合、範囲制御部84は、ステップS36に処理を進め、係数行列保持部71は、擬似乱数の値に関わらず、係数の値を「0」に設定し、処理をステップS37に進める。
In step S33, the pseudo random
ステップS37において、係数行列保持部71は、設定された係数の値を保持し、ステップS38において、保持した係数により、係数行列が完成したか否かを判定する。係数行列が完成していないと判定した場合、係数行列保持部71は、ステップS33に処理を戻し、それ以降の処理を各部に繰り返させることにより、次の係数の値を設定させる。
In step S37, the coefficient
ステップS38において、係数行列が完成したと判定した場合、係数行列保持部71は、ステップS39に処理を進める。ステップS39において、行列式生成部61は、係数行列保持部71が保持する係数行列を利用して、元データを変換する行列式を作成する。行列式演算部62は、ステップS40において、その行列式を演算する。解出力部63は、その行列式演算部62による演算結果である行列式の解をEOR変換データとして出力し、EOR変換データ生成処理を終了し、処理を図16のステップS6に戻す。このとき、解出力部63は、上述したように、EOR変換データとともに、係数情報や先頭情報も出力する。
If it is determined in step S38 that the coefficient matrix has been completed, the coefficient
以上のように、元データを用いてEOR演算を行い、EOR変換データを生成するので、EOR変換データ生成部24は、容易、かつ、高速にEOR変換データを生成することができる。これにより送信装置11は、ガロア体の演算など、負荷の大きい処理を行わずに、高速にEOR変換データを生成することができ、データを容易かつ正確に送信することができる。また、このように送信装置11が送信処理を行うことにより、送信装置11が送信したパケットを受信する受信装置13は、高速であり、かつ、復元性能の高い復元処理を、製造コストを増大せずに実現することができる。すなわち、通信システム10は、より容易に、より正確な通信を行うことができる。
As described above, the EOR operation is performed using the original data to generate the EOR conversion data, so that the EOR conversion
次に、図17のステップS7において実行されるアプリケーションデータ生成処理の詳細を図19のフローチャートを参照して説明する。 Next, details of the application data generation process executed in step S7 of FIG. 17 will be described with reference to the flowchart of FIG.
最初に、係数情報付加部101は、ステップS61において、EOR変換データ生成部24において生成されたEOR変換データに対して、そのEOR変換データに対応する係数情報をヘッダとして付加する。ステップS62において、先頭情報付加部102は、係数情報が付加されたEOR変換データに対して、そのEOR変換データに対応する先頭情報をヘッダとして付加する。さらに、ステップS63において、ブロック番号付加部103は、ブロックカウンタ104においてカウントされたカウント値であるブロック番号を、係数情報および先頭情報が付加されたEOR変換データにヘッダとして付加する。
First, in step S61, the coefficient
ブロック番号付加部103によりEOR変換データにブロック番号が付加されると、ブロックカウンタ104は、ブロック番号付加部103に制御され、カウント値をカウントアップする。 When the block number is added to the EOR conversion data by the block number adding unit 103, the block counter 104 is controlled by the block number adding unit 103 and counts up the count value.
ステップS65において、アプリケーションデータ出力部105は、係数情報、先頭情報、および、ブロック番号がヘッダとして付加されたEOR変換データをアプリケーションデータとして出力し、ステップS66において、そのアプリケーションデータに対する出力情報を生成して出力する。ステップS66の処理を終了すると、アプリケーションデータ出力部105は、アプリケーションデータ生成処理を終了し、処理を図16のステップS7に戻し、それ以降の処理を行わせる。 In step S65, the application data output unit 105 outputs the EOR conversion data with the coefficient information, the head information, and the block number added as a header as application data, and generates output information for the application data in step S66. Output. When the process of step S66 ends, the application data output unit 105 ends the application data generation process, returns the process to step S7 of FIG. 16, and performs the subsequent processes.
以上のように、アプリケーションデータ生成部25がブロック番号をEOR変換データに付加することにより、受信装置13は、受信したEOR変換データのブロックを識別することができ、ブロック毎に処理することができる。
As described above, when the application
また、アプリケーションデータ生成部25が係数情報や先頭情報をEOR変換データに付加することにより、受信装置13は、送信装置11におけるEOR変換データ生成処理の場合と対応するように行列式を生成し、その行列式を用いて元データの復元処理を実行し、元データを復元することができる。
In addition, when the application
次に、受信装置13が実行する処理の流れについて説明する。
Next, the flow of processing executed by the receiving
最初に、図11の受信装置13によるデータ受信処理を図20のフローチャートを参照して説明する。
First, data reception processing by the
受信装置13に対して、送信装置11よりパケットが送信され、そのパケットがケーブル210を介してイーサネット(R)処理部221に供給されると、イーサネット(R)処理部131は、ステップS81において、そのパケットを受信する。パケットを受信したイーサネット(R)処理部131は、そのパケットからIPパケットを抽出する。IP処理部132は、そのIPパケットからUDPパケットを抽出する。
When a packet is transmitted from the
UDPパケットを供給されたアプリケーションデータ抽出部133は、ステップS82において、そのUDPパケットからアプリケーションデータを抽出し、それをバッファ部134に供給する。バッファ部134は、ステップS83において、その供給されたアプリケーションデータをブロック毎に振り分けて保持する。バッファ部134は、ステップS84において、保持している各ブロックのアプリケーションデータの数に基づいて、各ブロックにおいて元データを復元可能か否かを判定する。各ブロックのアプリケーションデータを、元データを復元するのに十分な数保持しており、元データを復元可能であると判定した場合、バッファ部134は、ブロック毎にアプリケーションデータをパケットデータ復元部135に供給し、ステップS85に処理を進める。ステップS85において、パケットデータ復元部135は、供給されたアプリケーションデータを用いて、元データ復元処理を行い、ブロック毎に元データを復元する。元データ復元処理の詳細は後述する。
The application data extraction unit 133 supplied with the UDP packet extracts application data from the UDP packet and supplies it to the
元データ復元処理を終了すると、パケットデータ復元部135は、復元した元データをブロックデータ復元部136に供給し、処理をステップS86に進める。ステップS86において、ブロックデータ復元部136は、供給された各元データを組み合わせ、ブロックデータを復元し、復元したブロックデータを受信データ生成部137に供給する。受信データ生成部137は、ステップS87において、ブロックデータ復元部136より供給されるブロックデータを保持し、全てのブロックデータを保持すると、それらを組み合わせ、受信データ(元の送信用データ)を生成(復元)して、それを受信装置13の外部に出力し、データ受信処理を終了する。
When the original data restoration process ends, the packet
また、ステップS84において、いずれかのブロックのアプリケーションデータを、元データを復元するのに十分な数だけ保持しておらず、元データを復元不可能であると判定した場合、バッファ部134は、処理をステップS88に進め、パケットの受信が終了したか否かを判定する。パケットの受信が終了していないと判定した場合、バッファ部134は、処理をステップS81に戻し、それ以降の処理を繰り返す。
In step S84, when it is determined that the application data of any block is not held in a sufficient number to restore the original data and the original data cannot be restored, the
また、ステップS88において、パケットの受信処理が終了したと判定した場合、バッファ部134は、ステップS89に処理を進め、エラー処理を行い、データ受信処理を終了する。
If it is determined in step S88 that the packet reception process has ended, the
以上のようにしてデータ受信処理を実行することにより、受信装置13は、高速であり、かつ、復元性能の高い復元処理を、製造コストを増大せずに実現し、より容易に、かつ、より正確にデータを受信することができる。
By executing the data reception process as described above, the
次に、図20のステップS85において各ブロックの元データに対して実行される元データ復元処理の詳細を、図21のフローチャートを参照して説明する。 Next, details of the original data restoration processing executed for the original data of each block in step S85 in FIG. 20 will be described with reference to the flowchart in FIG.
パケットデータ復元部135の復元制御部151は、ステップS101において、復元処理を行うブロックを指定するブロック番号iの値を初期化し、例えば、「0」に設定する。そして、復元制御部151は、設定されたブロック番号iのアプリケーションデータ群を、バッファ部134に対して要求し、それらを取得する。ブロック番号iのアプリケーションデータ群を取得すると、復元制御部151は、それらのアプリケーションデータより係数情報や先頭情報等を含むヘッダを抽出して係数行列作成部152に供給する。また、それとともに、復元制御部151は、取得したアプリケーションデータを行列式作成部153の要求に基づいて、行列式作成部153に供給する。
In step S101, the
係数情報や先頭情報等を供給された係数行列作成部152は、ステップS102においてブロック番号i用の係数行列を作成し、それを行列式作成部153に供給する。行列式作成部153は、ステップS103において、供給されたアプリケーションデータおよび係数行列を用いて、行列式を作成し、それを行列式保持部154に供給して保持させる。また、行列式作成部154は、アプリケーションデータのヘッダに含まれる先頭情報を行列式整列部155に供給する。行列式整列部155は、ステップS104において、有効係数の存在可能範囲に基づいて、行列式保持部154に保持されている行列式を、各項において各行を入れ替え、行番号を変更することにより行列式を整列させる。
The coefficient matrix creation unit 152 supplied with the coefficient information, the head information, etc. creates a coefficient matrix for the block number i in step S102 and supplies it to the
行列式を整列させると、行列式整列部155は、その情報をタイル処理部156に供給する。タイル処理部156は、ステップS105において、行列式保持部156に保持されている行列式を取得し、その行列式の係数行列に対してタイルを設定し、有効係数の存在可能範囲に基づいて、各タイルの演算の有無を設定する。タイルの設定を行うとタイル処理部156は、ステップS106において、処理の対象となるタイルを選択するための変数であるタイル番号kの値を初期化して「0」に設定する。
When the determinants are aligned, the
そしてタイル処理部156は、ステップS107において、タイル番号kのタイルに対して、タイルの演算の有無の設定に基づいて、そのタイルの演算を行うか否かを判定する。タイルの演算を行うと判定した場合、タイル処理部156は、処理をステップS108に進め、全体行列式よりタイル番号kに対応する部分行列式を抽出して、それを行列式演算部157に供給する。行列式演算部157は、供給された部分行列式をガウスの消去法等を用いて演算し、部分行列式を構成する各方程式の解を求める。行列式演算部157は、その求めた解を解出力部158に供給する。解出力部158は、ステップS109において、取得した部分行列式の解を元データとして出力し、処理をステップS110に進める。
Then, in step S107, the
また、ステップS107において、処理対象のタイルに対応する部分行列式の演算を行わないと判定した場合、タイル処理部156は、処理をステップS108およびステップS109の処理を省略し、ステップS110に処理を進める。
If it is determined in step S107 that the partial determinant operation corresponding to the tile to be processed is not performed, the
ステップS110において、タイル処理部156は、タイル番号kの値に「1」を加算し、ステップS111に処理を進める。ステップS111において、タイル処理部156は、タイル番号kの値に基づいて、全タイルについて処理が終了したか否かを判定し、未処理のタイルが存在し、未だ全タイルについて処理が終了していないと判定した場合、処理をステップS107に戻し、そのブロックの、それ以降の処理を繰り返す。
In step S110, the
また、ステップS111において、全タイルについて処理が終了したと判定した場合、タイル処理部156は、その情報を復元制御部151に供給し、ステップS112に処理を進める。ステップS112において、ブロック番号iの値に「1」を加算し、処理をステップS113に進める。ステップS113において全ブロックについて処理が終了していないと判定した場合、復元制御部151は、処理をステップS102に戻し、それ以降の処理を繰り返す。また、ステップS113において、全ブロックについて変換処理を行ったと判定した場合、復元制御部151は、元データ復元処理を終了し、図20のS85に処理を戻す。
If it is determined in step S111 that the processing has been completed for all tiles, the
以上のように復元処理を行うことにより、パケットデータ復元部135は、高速であり、かつ、復元性能の高い復元処理を、製造コストを増大せずに実現することができる。従って、受信装置13は、より容易、かつ、より正確にデータを受信することができる。
By performing the restoration process as described above, the packet
次に、図22および図23のフローチャートを参照して、図21のステップS108において実行される求解処理の詳細を説明する。 Next, details of the solution processing executed in step S108 of FIG. 21 will be described with reference to the flowcharts of FIGS.
元データを復元するための行列式を供給された行列式演算部157は、ステップS131において、行列式に含まれる係数行列を参照し、全ての列に値が「1」の成分が存在するか否かを判定する。係数行列の全列に、値が「1」の成分が少なくとも1つ存在しないと、その列に対応する、ロスした元データを算出することができないので、行列式演算部157は、ステップS131においてこの判定処理を行う。
In step S131, the
ステップS131において、全ての列に値が「1」の成分が少なくとも1つ存在すると判定した場合、行列式演算部157は、処理をステップS132に進め、変数iの値を「1」に設定し、ガウスの消去法の、前進消去を開始する。前進消去は、行列式の係数行列において、値が「1」の成分の数を減らすように、係数行列の行間でEOR演算を行い、行列式を変形していく処理である。この前進消去の処理の具体的な例については、後述する。
If it is determined in step S131 that at least one component having a value “1” exists in all the columns, the
前進消去処理を開始した行列式演算部157は、ステップS133に処理を進め、第i列の成分の値が「1」の行を、対象行の第1行目から順に検出する。対象行とは、係数行列において、前進消去処理の対象となる行のことである。後述するように、前進消去処理が進むごとに、この対象行が変化する。なお、初期状態において、対象行は全行である。
The
ステップS134において、行列式演算部157は、ステップS133の処理により、行が複数検出されたか否かを判定し、複数検出されたと判定した場合、ステップS135において、最初に検出された行と、2番目以降に検出された行とで各成分についてEOR演算を行う。このとき、行列式の他の項も、この係数行列のEOR演算に対応するようにEOR演算を行う。
In step S134, the
行同士のEOR演算を行った行列式演算部157は、ステップS136に処理を進める。また、ステップS134において、第i列の成分の値が「1」である行を、1行しか検出できなかったと判定した場合(各列には、値が「1」の成分が少なくとも1つ存在するので、1行は検出される)、ステップS135の処理を省略し、ステップS136に処理を進める。
The
ステップS136において、行列式演算部157は、検出された(EOR演算により残された)、第i列の成分の値が「1」の行を、求解用に保持し、対象行から除外する。そして、行列式演算部157は、ステップS137に処理を進め、変数iの値に「1」を加算し、ステップS138において、変数iの値がKより大きいか否かを判定する。変数iの値がK以下である(すなわち、未処理の列が存在する)と判定した場合、行列式演算部157は、処理をステップS133に戻し、次の列に対して、それ以降の処理を繰り返す。
In step S <b> 136, the
以上の処理を繰り返すことにより、行列式演算部157は、前進消去の処理を進め、全ての列に対して処理を行い、係数行列の値が「1」の成分の数を減らすようにする。
By repeating the above processing, the
そして、ステップS138において、変数iの値がKより大きいと判定した場合、行列式演算部157は、処理を図23のステップS141に進める。
If it is determined in step S138 that the value of the variable i is greater than K, the
図23のステップS141において、行列式演算部しは、変数iの値をKに設定し、保持した行を用いて、後退代入を開始する。後退代入は、以上の前進消去により、値が「1」の成分が減らされた係数行列によって、元データの解を求め、求めた解を順次他の行の方程式に代入していく処理である。この後退代入の処理の具体的な例については、後述する。 In step S141 in FIG. 23, the determinant computing unit sets the value of the variable i to K, and starts backward substitution using the retained row. Backward substitution is a process in which a solution of the original data is obtained by a coefficient matrix in which a component having a value of “1” is reduced by the above-described forward elimination, and the obtained solution is sequentially substituted into the equation of another row. . A specific example of the backward substitution process will be described later.
後退代入を開始した行列式演算部157は、ステップS142において、前進消去によりi番目に保持した行の方程式を解く。なお、後述するように、行列式演算部157は、それ以前に求められた解を方程式の変数(元データ)に代入して方程式を解く。
In step S142, the
ステップS142の処理を終了した、行列式演算部157は、ステップS143に処理を進め、変数iの値を「1」減算し、ステップS144において、全ての解(元データ)を求めたか否かを判定する。未知の変数(元データ)が存在し、全ての解を求めていないと判定した場合、行列式演算部157は、ステップS141に処理を戻し、全ての解が求まるまで、それ以降の処理を繰り返す。
The
ステップS144において、全ての解を求めたと判定した場合、行列式演算部157は、求解処理を終了する。
If it is determined in step S144 that all the solutions have been obtained, the
また、図22のステップS131において、全ての列に値が「1」の成分が存在しないと判定した場合、上述したように、全ての解を求めることができないので、行列式演算部157は、図23のステップS145に処理を進め、エラー処理を行い、ロスしたパケットを復元できない旨のメッセージを出力する等して、求解処理を終了する。
If it is determined in step S131 in FIG. 22 that there is no component having a value of “1” in all columns, as described above, since all solutions cannot be obtained, the
以上のように行列式演算部157が、ガウスの消去法を用いて行列式を解くことにより、パケットデータ復元部135は、容易にロスした元データを復元することができる。これにより、受信装置11は、高速な復元処理を、製造コストを増大せずに実現し、より容易、かつより正確にデータを受信することができる。
As described above, the
次に、図24乃至図27を参照して、上述したガウスの消去法の具体的な例について説明する。なお、ここでは、説明の簡略化のため、5個のEOR変換データX1乃至X5を用いて、4個の元データD1乃至D4を求める場合について説明する。このとき、行列式の係数行列を、図24に示されるような成分の5行×4列の行列とし、行列式作成部153が図24に示されるような行列式を作成したとする。
Next, a specific example of the Gaussian elimination method described above will be described with reference to FIGS. Here, for simplification of description, a case will be described in which four original data D1 to D4 are obtained using five EOR conversion data X1 to X5. At this time, it is assumed that the determinant coefficient matrix is a 5 × 4 matrix of components as shown in FIG. 24 and the
図24に示される行列式を取得すると、行列式演算部157は、最初に、図22のステップS131の処理を実行し、係数行列(図24において左辺第1項)の各列に値が「1」の成分が存在するか否かを判定する。図24の係数行列においては、全ての列に、値が「1」の成分が存在するので、元データD1乃至D4を求めることができる。
When the determinant shown in FIG. 24 is acquired, the
次に、行列式演算部157は、前進消去を開始し、1回目の処理として、1列目(i=1)を処理の対象とする。そして、行列式演算部157は、全ての行を対象行として、1列目に注目し、値が「1」の成分が存在する行を対象行の1行目から順次検出する。図24の場合、点線枠171で示される1列目の成分の値が「1」である行が検出され、点線枠181乃至183で示される1行目、3行目、および5行目がその順番で検出される。
Next, the
1列目の成分の値が「1」である行を検出した行列式演算部157は、次に、1番目に検出した行と、2番目以降に検出した行の各成分同士をEOR演算する。図24の場合、行列式演算部157は、点線枠181で示される1行目と、点線枠182で示される3行目とを成分ごとにEOR演算する。同様に、行列式演算部157は、点線枠181で示される1行目と、点線枠183で示される5行目とを成分ごとにEOR演算する。このEOR演算により、係数行列の各成分の値は、図24に示される係数行列(左辺第1項)のようになる。
The
また、このとき、行列式演算部157は、行列式が成立するように、右辺の行列においても係数行列に対応するようにEOR演算を行う。図24の場合、行列式演算部157は、右辺のEOR変換データの行列に対して、点線枠191で示される1行目(X1)と、点線枠192で示される3行目(X3)とをEOR演算し、さらに、点線枠191で示される1行目(X1)と、点線枠193で示される5行目(X5)とをEOR演算する。このEOR演算により、EOR変換データの行列の各成分の値は、図25に示されるEOR変換データの行列(右辺)のようになる。
At this time, the
以上のようにして、対象行における第1列目の成分の値が「1」である行を第1行目のみにすると、行列式演算部157は、次に、2回目の処理に移行し、係数行列の第2列目を処理の対象とし(i=2)、第1行目は保持し、第2行目乃至第5行目を対象行とする。そして、行列式演算部157は、1回目の場合と同様に、係数行列の第2列目について、値が「1」の成分が存在する行を対象行の1行目(図25の場合、係数行列の第2行目)から順次検出する。図25の場合、点線枠201で示される第2列目の成分の値が「1」である行が検出され、点線枠211および112で示される、係数行列の第2行目および第5行目がその順番で検出される。
As described above, when the row in which the value of the first column component in the target row is “1” is set to only the first row, the
第2列目の成分の値が「1」である行を検出した行列式演算部157は、1回目の場合と同様に、1番目に検出した行と、2番目以降に検出した行の各成分同士をEOR演算する。図25の場合、行列式演算部157は、点線枠211で示される第1行目と、点線枠212で示される第5行目とを成分ごとにEOR演算する。このEOR演算により、係数行列の各成分の値は、図26に示される係数行列(左辺第1項)のようになる。
The
また、このとき、行列式演算部157は、1回目の場合と同様に、行列式が成立するように、右辺の行列においても係数行列に対応するようにEOR演算を行う。図25の場合、行列式演算部157は、右辺のEOR変換データの行列に対して、点線枠221で示される第2行目(X2)と、点線枠222で示される第5行目(X5+X1)とをEOR演算する。このEOR演算により、EOR変換データの行列の各成分の値は、図26に示されるEOR演算データの行列(右辺)のようになる。
At this time, the
以上のようにして、対象行における第2列目の成分の値が「1」である行を第2行目のみにすると、行列式演算部157は、次に、3回目の処理に移行し、係数行列の第3列目を処理の対象とし(i=3)、第2行目をさらに保持し、第3行目乃至第5行目を対象行とする。そして、行列式演算部157は、1回目の場合と同様に、係数行列の第3列目について、値が「1」の成分が存在する行を対象行の1行目(図26の場合、係数行列の第3行目)から順次検出する。図26の場合、点線枠231で示される第3列目の成分の値が「1」である行が検出され、点線枠241で示される、係数行列の第4行目のみが検出される。
As described above, when the value of the component in the second column in the target row is set to only the second row, the
従って、この場合、行列式演算部157は、EOR演算を省略する。また、このとき、行列式演算部157は、EOR演算を省略したので、右辺の行列においてもEOR演算を省略する。図26の場合、右辺のEOR変換データの行列において、点線枠251で示される第4行目(X4)が係数行列の第4行目に対応するが、EOR演算は省略される。従って、この3回目の処理により行列式の各項の行列の各成分の値は、図26に示されるように変化せず、図25の場合と同様になる。
Therefore, in this case, the
行列式演算部157は、次に、4回目の処理に移行し、係数行列の第4列目を処理の対象とし(i=4)、前回検出した第4行目をさらに保持し、第3行目および第5行目を対象行とする。そして、行列式演算部157は、1回目の場合と同様に、係数行列の第4列目について、値が「1」の成分が存在する行を対象行の1行目(図27の場合、係数行列の第3行目)から順次検出する。図27の場合、点線枠261で示される第4列目の成分の値が「1」である行が検出され、点線枠271で示される、係数行列の第3行目のみが検出される(第5行目第4列目の成分の値は「0」である)。
Next, the
従って、この場合も、3回目の処理と同様に、行列式演算部157は、EOR演算を省略する。また、このとき、行列式演算部157は、EOR演算を省略したので、右辺の行列においてもEOR演算を省略する。図27の場合、右辺の演算用冗長データの行列において、点線枠281で示される第3行目(X3+X1)が係数行列の第3行目に対応するが、EOR演算は省略される。従って、この4回目の処理によっても行列式の各項の値は変化しない。行列式演算部157は、この4回目の処理において検出された第3行目をさらに保持する。
Accordingly, in this case as well, the
以上のように、全列に対して前進消去を行うと行列式演算部157は、前進消去を終了し、次に後退代入を開始する。前進消去により、最後に保持した行には、値が「1」の成分が最後の列の1つしか存在しない。その他の列の成分の値は、それまでのEOR演算により「0」に変換されている。同様に、最後から2番目に保持した行の、値が「1」の成分は2個以下であり、その前に保持した行は3個以下である。このように、最後からY番目に保持した行には、値が「1」の成分がY個以下となる。
As described above, when forward erasure is performed on all the columns, the
従って、行列式演算部157は、後退代入により、最後に保持した行から解を1つ求め、保持した順番と逆順にその解を代入していき、全ての解を求める。
Therefore, the
このように、ガウスの消去法を用いることにより、行列式演算部157は、EOR演算等の単純な演算により行列式を解くことができるので、ロスパケット復元部228は、ロスした元データを容易にかつ高速に復元することができる。
In this way, by using the Gaussian elimination method, the
図28は、パケットロスの発生とコンテンツの受信時間との関係の例を示す図である。 FIG. 28 is a diagram illustrating an example of a relationship between occurrence of packet loss and content reception time.
図28Aには、図1において説明したかルーセル方式の場合の、パケットロスと受信時間の関係の例が示されている。例えば、上述したように、カルーセル方式の送信の場合、コンテンツは、コンテンツ291、コンテンツ292、コンテンツ293のように、1つのデータがそのまま繰り返し送信されているので、例えば、1回目に配信されるコンテンツ291の各パケットを受信中に、パケットロス発生期間291Aで示される期間のパケットをロスしたとすると、受信装置は、2回目の配信であるコンテンツ292における、パケットロス発生期間291Aに対応する期間292Aを受信するまで待機しなければならない。すなわち、この場合、受信装置による受信時間が、パケットロスにより、コンテンツ291の1周期分増大してしまう。
FIG. 28A shows an example of the relationship between the packet loss and the reception time in the case of the Rucell method described in FIG. For example, as described above, in the case of carousel transmission, since content is repeatedly transmitted as it is, such as content 291, content 292, and content 293, for example, content distributed for the first time Assuming that a packet in the period indicated by the packet
これに対して、上述したように、送信装置11が、コンテンツをEOR変換データ301に変換してから繰り返し送信することにより、受信装置13は、図28Bに示されるように、EOR変換データ301においてパケットロス発生期間301Aが発生しても、ロスしたパケット数と同じ数の任意のパケットを受信すれば元データ(コンテンツ)を復元することができる。従って、図2の通信システム10の受信装置13は、パケットロスが発生した場合における受信時間の増大を、カルーセル方式の場合と比較して抑制することができる。
On the other hand, as described above, the
また、図29は、各条件における復元処理の負荷について説明する図である。 FIG. 29 is a diagram for explaining the load of restoration processing under each condition.
図29Aにおいて、表311は、上述したように、係数行列における有効係数の存在可能領域を設けるようにした場合の、受信装置13による復元処理の処理時間と復元処理の負荷の大きさを示している。なお、ここでは、復元処理の負荷の大きさを示すために、復元処理をCPUで行うものとし、その復元処理によるCPUの占有率を示している。また、表311においては、ブロックサイズが1000パケット、2000パケット、および4000パケットの場合を示している。ただし、パケットサイズは1KB(キロバイト)とし、有効係数の存在可能領域における有効係数の生成確率を1/4とする。また、各条件における有効係数の存在可能領域のバンド幅は400列(400パケット)とする。
In FIG. 29A, as described above, table 311 shows the processing time of restoration processing by the receiving
図29Bにおいて、表312は、図29Aの表311に対応する表であり、送信装置11が有効係数の存在可能領域を設けない場合の、受信装置13による復元処理の処理時間と復元処理の負荷の大きさを示している。なお、ここでは、ブロックサイズが500パケット、1000パケット、および2000パケットの場合を示している。その他の各種条件は、表311と同様である。
In FIG. 29B, a table 312 is a table corresponding to the table 311 in FIG. 29A, and the processing time of the restoration processing by the receiving
図29Aの表311と図29Bの表312を比較して明らかなように、ブロックサイズが同じである場合、有効係数の存在可能領域を設定するときのほうが、設定しないときよりも、処理時間が1/10程度以上短く、CPU占有率も1/10以下である。すなわち、係数行列において有効係数の存在可能領域を設定する場合のほうが、設定しない場合よりも、復元処理の負荷を軽減させることができる。 As is apparent from a comparison between Table 311 in FIG. 29A and Table 312 in FIG. 29B, when the block size is the same, the processing time is longer when the effective coefficient existence area is set than when it is not set. It is about 1/10 or shorter and the CPU occupation rate is 1/10 or less. That is, it is possible to reduce the load of the restoration processing when the effective coefficient existence region is set in the coefficient matrix than when the effective matrix is not set.
なお、以上においては、受信装置13のパケットデータ復元部135において、図13を用いて説明したように、行列式作成部153により生成された行列式を行列式保持部154が保持し、その行列式を行列式整列部155が行を並べ替えて整列し、その行が整列された行列式に対してタイル処理部156が処理を行うように説明したが、タイル処理部が、行列式を行が整列された状態で処理することができればよく、実際に整列されていない行列式を処理するようにしてももよい。
In the above description, the
例えば、図30に示されるように、タイル処理部321が図13に説明した行列式整列部155と同様の行列式生成部322を内蔵しており、行列式作成部153が供給するアプリケーションデータに含まれる先頭情報を取得するようにしてもよい。このとき、例えば、タイル処理部321は、行列式保持部154より取得した、行が整列されていない行列式に対して、行列式整列部322により、先頭情報に基づいて行列式の行を整列させた情報(整列情報)を生成し、その整列情報に基づいて処理を行うようにしてもよいし、行列式保持部154より行列式を行毎に取得するようにし、行列式整列部322により生成された整列情報に基づいて、その取得する順番を制御するようにしてもよい。
For example, as illustrated in FIG. 30, the
以上のように、図2に示される通信システム10においては、送信装置11が、送信用データを分割して生成した複数の元データを、EOR演算を用いてブロック毎に合成して変換し、各ブロックに対して複数の(元データの数より多くの)変換データを生成し、それらを受信装置13に送信する。受信装置13は、そのように送信された複数の変換データを、ブロック毎に、少なくとも元データの数以上受信し、受信した元データの数以上の変換データを用いて、元データを復元する。このようにすることにより、送信装置11および受信装置13は、より容易、かつ、より正確にデータを送受信することができる。
As described above, in the
なお、このような変換データを元データの冗長データとし(各変換データが元データの内容を含んでいるため)、送信装置11がその冗長データ元データとともに送信し、受信装置13がそれらを受信して、元データをロスした場合のみ、受信した冗長データを用いて、そのロスした元データを復元するようにしてもよい。この方法の場合、受信装置13がロスした元データのみを復元することができれば良いので、送信装置11は、送信する冗長データ(変換データ)の数を削減することができるとともに、受信装置13は、元データをロスしていない場合、元データの復元処理を省略することもできる。
Note that such converted data is made redundant data of the original data (since each converted data includes the contents of the original data), the transmitting
しかしながら、実際の通信において、パケットロス(元データのロス)が発生しないことは稀であり、さらに、この方法の場合、例えば、送信装置11は、元データの場合と冗長データの場合とで互いに異なる内容を含むヘッダを付加し、2種類のアプリケーションデータを生成して送信しなければならず、また、受信装置13は、受信したパケットが元データのパケットであるか冗長データのパケットであるかを判別してそれぞれを別のデータとして処理したり、元データをロスしたか否かを判定したり、元データをロスした場合のみ、受信した冗長データを用いてそのロスした元データを復元するための行列式を作成して演算を行い、元データを復元したりしなければならない等、複雑な処理を必要とし、かえって送信装置11や受信装置13の製造コストが増大してしまう恐れもある。
However, it is rare that packet loss (original data loss) does not occur in actual communication. Further, in the case of this method, for example, the
以上に説明した図2に示される通信システム10における通信方法の場合、このような複雑な処理を必要とせずに、容易に、データの送受信を行うことができ、かつ、上述したように元データを任意の変換データより復元することができるので、より正確にデータの送受信を行うことができる。
In the case of the communication method in the
さらに、図2に示される通信システム10における通信方法の場合、受信装置13は、元データを任意の変換データより復元することができるので、例えば、送信装置11が変換データを含むパケット群を送信中に、その送信の途中から、パケットの受信を開始しても、全ブロックについて元データの数より多くの変換データを受信することができれば、元データを復元することができる。これは、例えば、マルチキャストやブロードキャスト等のように、1対多の通信においてより効果的である。
Furthermore, in the case of the communication method in the
以上においては、通信システム10が、データを送信する送信装置11およびデータを受信する受信装置13により構成されるように説明したが、通信システムの構成は、これに限らず、通信システムは、例えば、図31に示されるように、図1の送信装置11および受信装置13を、それぞれモジュールとし、送信部および受信部とし、それらの両方を含む2台の送受信装置により構成されるようにしてもよい。
In the above description, the
図31において、通信システム401は、図2のネットワーク12と同様の、ネットワーク412に接続された送受信装置411および送受信装置413により構成される。送受信装置411は、送信部421および受信部422を含み、送受信装置413は、送信部431および受信部432を含む。送信部421および送信部431は、図2の送信装置11と基本的に同様の構成であり、同様に動作するのでその詳細な説明は省略する。
In FIG. 31, the communication system 401 includes a transmission /
また、図31において、受信部422および受信部432は、図2の受信装置13と基本的に同様の構成であり、同様に動作するのでその詳細な説明は省略する。
In FIG. 31, the receiving
すなわち、図31の通信システム401は、内蔵する送信部および受信部をそれぞれ有する送受信装置411および送受信装置413により構成され、それらが互いに上述したような演算を用いて元データを変換した変換データを利用して、再送制御なしに、通信処理を行う。
That is, the communication system 401 in FIG. 31 includes a transmission /
このようにすることにより、双方向の通信においても、受信部は、高速であり、かつ、復元性能の高い復元処理を、製造コストを増大せずに実現することができる。従って、送受信装置411および送受信装置413は、より容易、かつ、より正確にデータを送受信することができる。
In this way, even in bidirectional communication, the receiving unit can realize a restoration process that is high speed and has high restoration performance without increasing the manufacturing cost. Therefore, the transmission /
なお、図2においては、通信システム10は、1台の送信装置11および1台の受信装置13により構成されるように説明したが、これに限らず、複数台の送信装置または複数台の受信装置を含むようにしてもよい。
In FIG. 2, the
図32は、本発明を適用したコンテンツ配信システムの構成例を示す図である。コンテンツ配信システム501のサーバ511は、図2のネットワークと同等のネットワーク512に接続され、同様にネットワーク512に接続された複数の端末装置513および514により構成される。
FIG. 32 is a diagram showing a configuration example of a content distribution system to which the present invention is applied. The
図32において、サーバ511は、送信装置11と同様の機能を有しており、ネットワーク512を介して、端末装置513および端末装置514のそれぞれに対して、画像データや音声データ等のコンテンツデータを分割し、その元データに対して上述したような演算を行い、元データを変換して得られた変換データをパケット化してマルチキャストに送信する。
In FIG. 32, the
端末装置513および端末装置514は、それぞれ、受信装置13と同様の機能を有しており、サーバ511より供給されるパケットをそれぞれ受信し、上述したように元データを復元する等して、コンテンツデータを復元し、再生する。
Each of the terminal device 513 and the terminal device 514 has the same function as the receiving
なお、サーバ511は、コンテンツデータをダウンロード配信するようにしてもよいし、ストリーミング配信するようにしてもよい。
Note that the
以上のように、サーバ511が複数台の端末装置513および514に対してパケットを配信する場合、端末装置513および端末装置514がパケットをロスしたときに、そのパケットの再送要求をサーバ511にするようにすると、サーバ511に再生要求が集中し、サーバ511の負荷が大きくなり、ダウンしてしまう恐れがある。従って、サーバ511が、上述したように、変換データを生成し、それを配信することにより、端末装置513および端末装置514は、パケットをロスしても、再生要求をせずに、コンテンツデータを復元することができる。従って、サーバ511における負荷の増大を抑制することができ、安定したコンテンツデータの配信サービスを提供することができる。
As described above, when the
以上においては、送信用データを分割したブロックのデータサイズ(ブロックサイズ)は、互いに共通であるように説明したが、これに限らず、各ブロックで互いに異なるブロックサイズとなるようにしてももちろんよい。その場合、例えば、送信装置11が、アプリケーションデータのヘッダに、ブロック番号とともに、そのブロックのブロックサイズの情報を付加し、受信装置13がそのブロックサイズの情報に基づいて、そのブロックの、受信するパケット数を決定するようにしてもよい。
In the above description, the data sizes (block sizes) of the blocks obtained by dividing the transmission data have been described as being common to each other. However, the present invention is not limited to this, and the blocks may of course have different block sizes. . In this case, for example, the
また、以上においては、コンテンツデータである送信用データを、データの先頭から終了に向かって、順番に切り出すように説明したが、ブロックの切り出し方はどのようなものであってもよい。ただし、そのブロックの生成方法は、通信システム10の各装置において予め決められているか、送信装置11が受信装置13にその方法に関する情報を供給する等して、送信装置11と受信装置13とで共有しておく必要がある。受信装置13は、その情報に基づいて、送信装置11によるブロックの生成方法に対応する方法で、ブロックより送信用データを復元する。
In the above description, the transmission data, which is content data, has been described as being cut out in order from the beginning to the end of the data. However, any block cutting method may be used. However, the block generation method is determined in advance in each device of the
なお、ブロックは処理の単位であるので、実際には、送信装置11は、その処理の流れに応じてコンテンツデータを分割し、ブロックを生成するようにするのが望ましい。従って、送信装置11が、その処理の順番によって、例えば、コンテンツデータより一定の規則で離散的に抜き出して1つのブロックとするようにしてもよい。
Since a block is a unit of processing, it is actually preferable that the
また、上述した変換データを送信する方法と、再送要求を用いる方法とを組み合わせて利用するようにしてももちろんよい。その場合、受信側の装置は、パケットロスが発生した場合、まず、受信した変換データにより元データの復元を試み、復元不能であった場合に、送信元に対してロスしたパケットの再送要求を行うようにする。このようにすることにより、再送要求の回数を削減することができるので、送信側と受信側の両方の装置において、再送要求による処理の負荷を軽減させることができる。すなわち、システム全体の負荷を削減することができる。 Of course, the above-described method of transmitting converted data and the method of using a retransmission request may be used in combination. In that case, if a packet loss occurs, the receiving device first tries to restore the original data using the received converted data, and if it cannot restore, it sends a retransmission request for the lost packet to the transmission source. To do. In this way, since the number of retransmission requests can be reduced, it is possible to reduce the processing load due to the retransmission request in both the transmission side and reception side devices. That is, the load on the entire system can be reduced.
以上においては、送信装置11が、変換データの生成処理とデータ送信処理とを同時に行うように説明したが、これに限らず、例えば、送信装置11が予め送信用データを取得し、それを上述したように変換データに変換して蓄積しておき、受信装置13の要求に基づいて、その蓄積してある変換データを供給するようにしてももちろんよい。
In the above description, it has been described that the
図2の通信システム10において、送信装置11と受信装置13が接続されるネットワーク12は、その一部または全部が有線により構成されるようにしてもよいし,無線により構成されるようにしてもよい。またネットワーク12が複数のネットワークにより構成されるようにしてもよい。すなわち、送信装置11と受信装置13とが複数のルータ等を介して接続されるようにしても良い。
In the
さらに、送信装置11および受信装置13は、上述した構成以外の構成を含むようにしてもよい。例えば、モニタ等の表示部を設けるようにしても良いし、キーボードやボタン等の入力部を設けるようにしてもよい。
Furthermore, the
以上において、送信装置11は、係数情報、先頭情報、およびブロック番号等をEOR変換データに付加し、アプリケーションデータとして送信するように説明したが、これに限らず、例えば、これらの情報を、EOR変換データとは異なるデータとして送信するようにしてもよい。さらに、送信装置11は、これらの情報を、例えば、磁気ディスクや書き込み可能な光ディスク等のような記録媒体等を用いて受信装置13に供給するようにしてもよい。すなわち、送信装置11は、EOR変換データと異なる方法で、係数情報、先頭情報、およびブロック番号等の情報を受信装置13に供給するようにしてもよい。
In the above, the
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図2の送信装置11や受信装置13には、図33に示されるようなパーソナルコンピュータが含まれる。
The series of processes described above can be executed by hardware or can be executed by software. In this case, for example, the
図33において、パーソナルコンピュータ601のCPU611は、ROM(Read Only Memory)612に記憶されているプログラム、または記憶部623からRAM613にロードされたプログラムに従って各種の処理を実行する。RAM613にはまた、CPU611が各種の処理を実行する上において必要なデータなども適宜記憶される。
In FIG. 33, the
CPU611、ROM612、およびRAM613は、バス614を介して相互に接続されている。このバス614にはまた、入出力インタフェース620も接続されている。
The
入出力インタフェース620には、キーボード、マウスなどよりなる入力部621、CRT、LCDなどよりなるディスプレイ、並びにスピーカなどよりなる出力部622、ハードディスクなどより構成される記憶部623、モデムなどより構成される通信部624が接続されている。通信部624は、インターネットを含むネットワークを介しての通信処理を行う。
The input /
入出力インタフェース620にはまた、必要に応じてドライブ625が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア626が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部623にインストールされる。
A
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。 When the above-described series of processing is executed by software, a program constituting the software is installed from a network or a recording medium.
この記録媒体は、例えば、図33に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア626により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM612や、記憶部623に含まれるハードディスクなどで構成される。
For example, as shown in FIG. 33, the recording medium is distributed to distribute the program to the user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which the program is recorded, an optical disk (
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 In the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. It also includes processes that are executed individually.
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。 Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
10 通信システム, 11 送信装置 12 ネットワーク, 13 受信装置, 21 データ分割部, 22 ブロック分割部, 23 パケットデータ保持部, 24 EOR変換データ生成部, 25 アプリケーションデータ生成部, 26 データ変換制御部, 27 UDPパケット化部, 28 バッファ, 29 出力制御部, 30 IP処理部, 31 イーサネット(R)処理部, 32 ケーブル, 41 送信データ, 42 ブロック, 43 元データ, 44 EOR変換データ, 45 送信パケット, 61 行列式生成部, 62 行列式演算部, 63 解出力部, 71 係数行列保持部, 81 擬似乱数生成部, 82 先頭位置決定部, 83 幅設定部, 84 範囲制御部, 85 係数判定部, 86 係数生成確率保持部, 101 係数情報付加部101, 102 先頭情報付加部, 103 ブロック番号付加部, 104 ブロックカウンタ, 105 アプリケーションデータ出力部, 110 アプリケーションデータ, 111 ヘッダ, 112 EOR変換データ, 121 ブロック番号, 122 先頭情報, 123 係数情報, 130 ケーブル, 131 イーサネット(R)処理部, 132 IP処理部, 133 アプリケーションデータ抽出部, 134 バッファ部, 135 パケットデータ復元部, 136 ブロックデータ復元部, 137 受信データ生成部, 151 復元制御部, 152 係数行列作成部, 153 行列式作成部, 154 行列式保持部, 155 行列式整列部, 156 タイル処理部, 157 行列式演算部, 158 解出力部, 321 タイル処理部, 322 行列式整列部, 401 通信システム, 411 送受信装置, 412 ネットワーク, 413 送受信装置, 421 送信部, 422 受信部, 431 送信部, 432 受信部, 501 コンテンツ配信システム, 511 サーバ, 512 ネットワーク, 513 端末装置, 514 端末装置, 601 パーソナルコンピュータ, 611 CPU, 612 ROM, 613 RAM, 614 バス, 620 入出力インタフェース, 621 入力部, 622 出力部, 623 記憶部, 624 通信部, 625 ドライブ, 626 リムーバブルメディア DESCRIPTION OF SYMBOLS 10 Communication system 11 Transmission apparatus 12 Network 13 Reception apparatus 21 Data division part 22 Block division part 23 Packet data holding part 24 EOR conversion data generation part 25 Application data generation part 26 Data conversion control part 27 UDP packetization unit, 28 buffer, 29 output control unit, 30 IP processing unit, 31 Ethernet (R) processing unit, 32 cable, 41 transmission data, 42 blocks, 43 original data, 44 EOR conversion data, 45 transmission packet, 61 Determinant generating unit, 62 Determinant calculating unit, 63 Solution output unit, 71 Coefficient matrix holding unit, 81 Pseudo random number generating unit, 82 Start position determining unit, 83 Width setting unit, 84 Range control unit, 85 Coefficient determining unit, 86 Coefficient generation probability holding unit, 101 Coefficient information Append section 101, 102 head information append section, 103 block number append section, 104 block counter, 105 application data output section, 110 application data, 111 header, 112 EOR conversion data, 121 block number, 122 head information, 123 coefficient information, 130 cable, 131 Ethernet processing unit, 132 IP processing unit, 133 application data extraction unit, 134 buffer unit, 135 packet data restoration unit, 136 block data restoration unit, 137 received data generation unit, 151 restoration control unit, 152 Coefficient matrix creation unit, 153 determinant creation unit, 154 determinant holding unit, 155 determinant alignment unit, 156 tile processing unit, 157 determinant calculation unit, 158 solution output unit, 321 File processing unit, 322 determinant sorting unit, 401 communication system, 411 transmission / reception device, 412 network, 413 transmission / reception device, 421 transmission unit, 422 reception unit, 431 transmission unit, 432 reception unit, 501 content distribution system, 511 server, 512 Network, 513 terminal device, 514 terminal device, 601 personal computer, 611 CPU, 612 ROM, 613 RAM, 614 bus, 620 I / O interface, 621 input unit, 622 output unit, 623 storage unit, 624 communication unit, 625 drive, 626 removable media
Claims (20)
前記送信装置は、前記送信用データを分割することにより複数の第1のデータを生成し、生成された全ての前記第1のデータを要素とする集合を全体集合とし、前記全体集合より前記全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した前記部分集合より前記第1のデータを任意に複数選択し、選択した複数の前記第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータを複数の前記部分集合について求めることにより、複数の前記第1のデータを複数の前記第2のデータに変換し、得られた複数の前記第2のデータをそれぞれパケット化し、前記受信装置に送信し、
前記受信装置は、前記送信装置が送信した複数の前記第2のデータを、前記第2のデータが対応する前記第1のデータの数以上受信し、受信した前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを保持し、保持した複数の前記第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 transmitting device generates a plurality of first data by dividing the transmission data, and sets a set including all the generated first data as an entire set, and the entire set from the entire set. A subset consisting of any continuous element group that is a part of the set is set, and a plurality of the first data are arbitrarily selected from the set subset, and the selected plurality of the first data are bit by bit Obtained by converting each of the plurality of first data into a plurality of the second data by performing an exclusive OR operation every time and obtaining the second data as a result of the operation for the plurality of the subsets. Packetizing each of the plurality of second data and transmitting to the receiving device,
The receiving device receives a plurality of the second data transmitted by the transmitting device by the number of the first data corresponding to the second data, and the received second data corresponds to the second data. The second data that is equal to or more than the number of first data is held, a determinant corresponding to the second data is generated using the plurality of held second data, and the determinant is solved The transmission / reception system characterized in that the first data is restored.
前記送信用データを分割することにより複数の第1のデータを生成するデータ生成手段と、
前記データ生成手段により生成された全ての前記第1のデータを要素とする集合を全体集合とし、前記全体集合より前記全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した前記部分集合より前記第1のデータを任意に複数選択し、選択した複数の前記第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータを複数の前記部分集合について求めることにより、複数の前記第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 set including all the first data generated by the data generation means as a whole set is set as a whole set, and a subset including any continuous element group that is a part of the whole set is set from the whole set. , Arbitrarily selecting a plurality of the first data from the set subset, performing an exclusive OR operation on the selected plurality of the first data for each bit, and a plurality of second data as the operation result Conversion means for converting a plurality of the first data into a plurality of the second data by obtaining the subset of
A transmission device comprising: a transmission unit configured to packetize each of the plurality of second data obtained by converting the plurality of first data by the conversion unit, and transmit the packetized data to the reception device.
前記排他的論理和演算を行う前記第1のデータを選択するための係数行列を用いて前記第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 coefficient matrix for selecting the first data to be subjected to the exclusive OR operation;
3. The computing device according to claim 2, further comprising: a computing unit that obtains the second data by computing the determinant generated by the determinant generating unit using the exclusive OR operation. Transmitter device.
前記有効係数は、前記係数行列の各行に対して前記部分集合として設定される前記有効係数が存在可能な列の範囲内において任意に選択された成分であり、
各行の前記範囲は、前記範囲の列数が互いに同じであり、前記範囲の先頭の列が行毎に互いに異なるように設定される
ことを特徴とする請求項3に記載の送信装置。 The coefficient matrix includes an effective coefficient having a value of “1” and an invalid coefficient having a value of “0”.
The effective coefficient is a component arbitrarily selected within a range of columns in which the effective coefficient can be set as the subset for each row of the coefficient matrix,
The transmission device according to claim 3, wherein the range of each row is set such that the number of columns in the range is the same, and the first column of the range is different for each row.
前記範囲設定手段により設定された前記範囲に基づいて、前記係数行列の各成分の値を判定する判定手段と、
前記判定手段による判定結果に基づいて前記係数行列の全ての成分の値を保持することにより前記係数行列を保持する係数行列保持手段と
をさらに備え、
前記行列式生成手段は、前記係数行列保持手段により保持されている前記係数行列を用いて前記行列式を生成する
ことを特徴とする請求項4に記載の送信装置。 Range setting means for setting the range for each row;
Determination means for determining the value of each component of the coefficient matrix based on the range set by the range setting means;
Coefficient matrix holding means for holding the coefficient matrix by holding values of all components of the coefficient matrix based on the determination result by the determination means, and
The transmission apparatus according to claim 4, wherein the determinant generating unit generates the determinant using the coefficient matrix held by the coefficient matrix holding unit.
ことを特徴とする請求項2に記載の送信装置。 The transmission device according to claim 2, wherein the conversion unit converts a plurality of the first data into the second data larger than the number of the first data.
前記送信手段は、前記情報付加手段により前記情報が付加された複数の前記第2のデータをそれぞれパケット化し、前記受信装置に送信する
ことを特徴とする請求項2に記載の送信装置。 Information adding means for adding information about the range to the second data obtained by converting the first data by the converting means;
The transmission device according to claim 2, wherein the transmission unit packetizes each of the plurality of second data to which the information is added by the information addition unit, and transmits the packetized data to the reception device.
ことを特徴とする請求項2に記載の送信装置。 The transmission apparatus according to claim 2, wherein the data generation unit divides the transmission data into blocks, and further generates the plurality of first data by dividing the block.
前記送信用データを分割することにより複数の第1のデータを生成するデータ生成ステップと、
前記データ生成ステップの処理により生成された全ての前記第1のデータを要素とする集合を全体集合とし、前記全体集合より前記全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した前記部分集合より前記第1のデータを任意に複数選択し、選択した複数の前記第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータを複数の前記部分集合について求めることにより、複数の前記第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;
A set including all the first data generated by the processing of the data generation step as an entire set is defined as an entire set, and a subset including any continuous element group that is a part of the entire set from the entire set. Set, arbitrarily select a plurality of the first data from the set subset, perform an exclusive OR operation on the selected plurality of the first data for each bit, and obtain the second data as the operation result Converting a plurality of the first data into a plurality of the second data by obtaining a plurality of the subsets;
A transmission control step of controlling the plurality of second data obtained by converting the plurality of first data by the conversion step to be packetized and transmitted to the receiving device, respectively. A transmission method characterized by the above.
前記送信用データを分割することにより複数の第1のデータを生成するデータ生成ステップと、
前記データ生成ステップの処理により生成された全ての前記第1のデータを要素とする集合を全体集合とし、前記全体集合より前記全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した前記部分集合より前記第1のデータを任意に複数選択し、選択した複数の前記第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータを複数の前記部分集合について求めることにより、複数の前記第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;
A set including all the first data generated by the processing of the data generation step as an entire set is defined as an entire set, and a subset including any continuous element group that is a part of the entire set from the entire set. Set, arbitrarily select a plurality of the first data from the set subset, perform an exclusive OR operation on the selected plurality of the first data for each bit, and obtain the second data as the operation result Converting a plurality of the first data into a plurality of the second data by obtaining a plurality of the subsets;
A transmission control step of controlling the plurality of second data obtained by converting the plurality of first data by the conversion step to be packetized and transmitted to the receiving device, respectively. A program characterized by
前記送信装置が送信したデータであり、それぞれが、送信用データが分割されて生成された全ての前記第1のデータを要素とする集合を全体集合とし、前記全体集合より前記全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した前記部分集合より前記第1のデータを任意に複数選択し、選択した複数の前記第1のデータを互いにビット毎に排他的論理和演算し、前記排他的論理和演算の演算結果として複数の前記部分集合について求められた複数の第2のデータを、前記第2のデータが対応する前記第1のデータの数以上受信する受信手段と、
前記受信手段により受信される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを保持する保持手段と、
前記保持手段により保持される複数の前記第2のデータを用いて、前記第2のデータに対応する行列式を生成し、前記行列式を解くことにより、前記第1のデータを復元する復元手段と
を備えることを特徴とする受信装置。 A receiving device for receiving data transmitted by a transmitting device,
The data transmitted by the transmitting device, each of which is a set including all the first data generated by dividing transmission data as a whole set, and a part of the whole set from the whole set A subset consisting of any continuous element group is set, and a plurality of the first data are arbitrarily selected from the set subset, and the plurality of selected first data are mutually exclusive for each bit. Perform a logical OR operation, and receive a plurality of second data obtained for a plurality of the subsets as a result of the exclusive OR operation, by the number of the first data corresponding to the second data. Receiving means;
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;
Restoring means for generating a determinant corresponding to the second data using the plurality of second data held by the holding means, and for restoring the first data by solving the determinant And a receiving device.
前記排他的論理和演算を行う前記第1のデータを選択するための係数行列を用いて前記第1のデータを前記第2のデータに変換する行列式を生成する行列式生成手段と、
前記行列式生成手段により生成された前記行列式を前記第1のデータを変数として解き、前記第1のデータを求める演算手段と
を備えることを特徴とする請求項11に記載の受信装置。 The restoration means includes
Determinant generating means for generating a determinant for converting the first data into the second data using a coefficient matrix for selecting the first data to be subjected to the exclusive OR operation;
The receiving apparatus according to claim 11, further comprising: an arithmetic unit that solves the determinant generated by the determinant generating unit using the first data as a variable and obtains the first data.
前記有効係数は、前記係数行列の各行に対して前記部分集合として設定される前記有効係数が存在可能な列の範囲内において任意に選択された成分であり、
各行の前記範囲は、前記範囲の列数が互いに同じであり、前記範囲の先頭の列が行毎に互いに異なるように設定される
ことを特徴とする請求項12に記載の受信装置。 The coefficient matrix includes an effective coefficient having a value of “1” and an invalid coefficient having a value of “0”.
The effective coefficient is a component arbitrarily selected within a range of columns in which the effective coefficient can be set as the subset for each row of the coefficient matrix,
The receiving apparatus according to claim 12, wherein the range of each row is set such that the number of columns in the range is the same, and the first column of the range is different for each row.
前記行列式生成手段は、前記係数行列生成手段により生成された前記係数行列を用いて、前記行列式を生成する
ことを特徴とする請求項12に記載の受信装置。 The coefficient matrix is generated based on information about the range that is arbitrarily selected from the plurality of first data to be subjected to the exclusive OR operation, which is added to the second data received by the receiving unit. A coefficient matrix generating means for performing
The receiving apparatus according to claim 12, wherein the determinant generating unit generates the determinant using the coefficient matrix generated by the coefficient matrix generating unit.
前記演算手段は、前記行列式生成手段により生成された前記行列式の、前記演算判定手段により演算を行うと判定された部分についてのみ演算を行って、前記第1のデータを変数として解くことにより前記第1のデータを求める
ことを特徴とする請求項12に記載の受信装置。 Each component of the coefficient matrix is divided into a plurality of small regions for each predetermined number of rows and columns, and the determinant generated by the determinant generating unit based on the value of the component of each small region Computation determining means for determining whether or not to perform the calculation of the portion corresponding to the small region,
The calculation means calculates only the portion of the determinant generated by the determinant generation means that is determined to be calculated by the calculation determination means, and solves the first data as a variable. The receiving apparatus according to claim 12, wherein the first data is obtained.
前記送信装置が送信したデータであり、それぞれが、送信用データが分割されて生成された全ての前記第1のデータを要素とする集合を全体集合とし、前記全体集合より前記全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した前記部分集合より前記第1のデータを任意に複数選択し、選択した複数の前記第1のデータを互いにビット毎に排他的論理和演算し、前記排他的論理和演算の演算結果として複数の前記部分集合について求められた複数の第2のデータを、前記第2のデータが対応する前記第1のデータの数以上受信するように制御する受信制御ステップと、
前記受信制御ステップの処理により制御されて受信される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを保持する保持ステップと、
前記保持ステップの処理により保持される複数の前記第2のデータを用いて、前記第2のデータに対応する行列式を生成し、前記行列式を解くことにより、前記第1のデータを復元する復元ステップと
を含むことを特徴とする受信方法。 A receiving method of a receiving device for receiving data transmitted by a transmitting device,
The data transmitted by the transmitting device, each of which is a set including all the first data generated by dividing transmission data as a whole set, and a part of the whole set from the whole set A subset consisting of any continuous element group is set, and a plurality of the first data are arbitrarily selected from the set subset, and the plurality of selected first data are mutually exclusive for each bit. Perform a logical OR operation, and receive a plurality of second data obtained for a plurality of the subsets as a result of the exclusive OR operation, by the number of the first data corresponding to the second data. A reception control step for controlling
A holding step of holding the second data equal to or more than the number of the first data corresponding to the second data, which is controlled and received by the processing of the reception control step;
The determinant corresponding to the second data is generated using a plurality of the second data held by the process of the holding step, and the first data is restored by solving the determinant A receiving method comprising: a restoring step.
前記送信装置が送信したデータであり、それぞれが、送信用データが分割されて生成された全ての前記第1のデータを要素とする集合を全体集合とし、前記全体集合より前記全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した前記部分集合より前記第1のデータを任意に複数選択し、選択した複数の前記第1のデータを互いにビット毎に排他的論理和演算し、前記排他的論理和演算の演算結果として複数の前記部分集合について求められた複数の第2のデータを、前記第2のデータが対応する前記第1のデータの数以上受信するように制御する受信制御ステップと、
前記受信制御ステップの処理により制御されて受信される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを保持する保持ステップと、
前記保持ステップの処理により保持される複数の前記第2のデータを用いて、前記第2のデータに対応する行列式を生成し、前記行列式を解くことにより、前記第1のデータを復元する復元ステップと
を含むことを特徴とするプログラム。 In a program for causing a computer to perform reception processing for receiving data transmitted by a transmission device,
The data transmitted by the transmitting device, each of which is a set including all the first data generated by dividing transmission data as a whole set, and a part of the whole set from the whole set A subset consisting of any continuous element group is set, and a plurality of the first data are arbitrarily selected from the set subset, and the plurality of selected first data are mutually exclusive for each bit. Perform a logical OR operation, and receive a plurality of second data obtained for a plurality of the subsets as a result of the exclusive OR operation, by the number of the first data corresponding to the second data. A reception control step for controlling
A holding step of holding the second data equal to or more than the number of the first data corresponding to the second data, which is controlled and received by the processing of the reception control step;
The determinant corresponding to the second data is generated using the plurality of second data held by the holding step, and the first data is restored by solving the determinant A program comprising: a restoration step.
前記送信用データを分割することにより複数の第1のデータを生成するデータ生成手段と、
前記データ生成手段により生成された全ての前記第1のデータを要素とする集合を全体集合とし、前記全体集合より前記全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した前記部分集合より前記第1のデータを任意に複数選択し、選択した複数の前記第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータを複数の前記部分集合について求めることにより、複数の前記第1のデータを複数の前記第2のデータに変換する変換手段と、
前記変換手段により複数の前記第1のデータが変換されて得られた複数の前記第2のデータをそれぞれパケット化し、他の送受信装置に送信する送信手段と、
前記他の送受信装置が送信した複数の前記第2のデータを、前記第2のデータが対応する前記第1のデータの数以上受信する受信手段と、
前記受信手段により受信される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを保持する保持手段と、
前記保持手段により保持される複数の前記第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;
A set including all the first data generated by the data generation means as a whole set is set as a whole set, and a subset including any continuous element group that is a part of the whole set is set from the whole set. , Arbitrarily selecting a plurality of the first data from the set subset, performing an exclusive OR operation on the selected plurality of the first data for each bit, and a plurality of second data as the operation result Conversion means for converting a plurality of the first data into a plurality of the second data by obtaining the subset of
Transmitting means for packetizing a plurality of the second data obtained by converting the plurality of first data by the converting means, respectively, and transmitting the packet to other transmitting / receiving 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;
Restoring means for generating a determinant corresponding to the second data using the plurality of second data held by the holding means, and for restoring the first data by solving the determinant A transmission / reception device comprising:
前記送信用データを分割することにより複数の第1のデータを生成するデータ生成ステップと、
前記データ生成ステップの処理により生成された全ての前記第1のデータを要素とする集合を全体集合とし、前記全体集合より前記全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した前記部分集合より前記第1のデータを任意に複数選択し、選択した複数の前記第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータを複数の前記部分集合について求めることにより、複数の前記第1のデータを複数の前記第2のデータに変換する変換ステップと、
前記変換ステップの処理により複数の前記第1のデータが変換されて得られた複数の前記第2のデータを、それぞれパケット化し、他の送受信装置に送信するように制御する送信制御ステップと、
前記他の送受信装置が送信した複数の前記第2のデータを、前記第2のデータが対応する前記第1のデータの数以上受信するように制御する受信制御ステップと、
前記受信制御ステップの処理により制御されて受信される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを保持する保持ステップと、
前記保持ステップの処理により保持される複数の前記第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 set including all the first data generated by the processing of the data generation step as an entire set is defined as an entire set, and a subset including any continuous element group that is a part of the entire set from the entire set. Set, arbitrarily select a plurality of the first data from the set subset, perform an exclusive OR operation on the selected plurality of the first data for each bit, and obtain the second data as the operation result Converting a plurality of the first data into a plurality of the second data by obtaining a plurality of the subsets, and
A transmission control step for controlling each of the plurality of second data obtained by converting a plurality of the first data by the processing of the conversion step into packets and transmitting them to 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 step for holding the second data equal to or more than the number of the first data corresponding to the second data, which is controlled and received by the processing of the reception control step;
The determinant corresponding to the second data is generated using the plurality of second data held by the holding step, and the first data is restored by solving the determinant A transmission / reception method comprising: a restoration step.
前記送信用データを分割することにより複数の第1のデータを生成するデータ生成ステップと、
前記データ生成ステップの処理により生成された全ての前記第1のデータを要素とする集合を全体集合とし、前記全体集合より前記全体集合の一部である任意の連続する要素群からなる部分集合を設定し、設定した前記部分集合より前記第1のデータを任意に複数選択し、選択した複数の前記第1のデータを互いにビット毎に排他的論理和演算し、演算結果である第2のデータを複数の前記部分集合について求めることにより、複数の前記第1のデータを複数の前記第2のデータに変換する変換ステップと、
前記変換ステップの処理により複数の前記第1のデータが変換されて得られた複数の前記第2のデータを、それぞれパケット化し、他の送受信装置に送信するように制御する送信制御ステップと、
前記他の送受信装置が送信した複数の前記第2のデータを、前記第2のデータが対応する前記第1のデータの数以上受信するように制御する受信制御ステップと、
前記受信制御ステップの処理により制御されて受信される、前記第2のデータが対応する前記第1のデータの数以上の前記第2のデータを保持する保持ステップと、
前記保持ステップの処理により保持される複数の前記第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 set including all the first data generated by the processing of the data generation step as an entire set is defined as an entire set, and a subset including any continuous element group that is a part of the entire set from the entire set. Set, arbitrarily select a plurality of the first data from the set subset, perform exclusive OR operation on the selected plurality of the first data for each bit, and obtain the second data as the operation result Converting a plurality of the first data into a plurality of the second data by obtaining a plurality of the subsets;
A transmission control step for controlling each of the plurality of second data obtained by converting a plurality of the first data by the processing of the conversion step into packets and transmitting them to 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 step of holding the second data equal to or more than the number of the first data corresponding to the second data, which is controlled and received by the processing of the reception control step;
The determinant corresponding to the second data is generated using the plurality of second data held by the holding step, and the first data is restored by solving the determinant A program comprising: a restoration step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004030401A JP2005223683A (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 |
---|---|---|---|
JP2004030401A JP2005223683A (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 |
---|---|
JP2005223683A true JP2005223683A (en) | 2005-08-18 |
Family
ID=34998979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004030401A Pending JP2005223683A (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) | JP2005223683A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011041076A (en) * | 2009-08-13 | 2011-02-24 | Mitsubishi Electric Corp | Communication system |
US8812866B2 (en) | 2007-02-16 | 2014-08-19 | Fujitsu Limited | Method and apparatus for storing data |
-
2004
- 2004-02-06 JP JP2004030401A patent/JP2005223683A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812866B2 (en) | 2007-02-16 | 2014-08-19 | Fujitsu Limited | Method and apparatus for storing data |
JP2011041076A (en) * | 2009-08-13 | 2011-02-24 | Mitsubishi Electric Corp | Communication system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5442816B2 (en) | Streaming and buffering using variable FEC overhead and protection period | |
EP1214793B9 (en) | Group chain reaction encoder with variable number of associated input data for each output group code | |
KR101532849B1 (en) | Universal file delivery methods for providing unequal error protection and bundled file delivery services | |
KR101143282B1 (en) | Systematic encoding and decoding of chain reaction codes | |
US8185794B2 (en) | Media container file management | |
CN101802797B (en) | Generating and communicating source identification information to enable reliable communications | |
JP5778672B2 (en) | Backward looking robust header compression receiver | |
US20020190878A1 (en) | Information additive code generator and decoder for communication systems | |
JP2001144732A (en) | Method for controlling packet loss for real time multimedia communication | |
JP4506185B2 (en) | Receiving apparatus and method, and program | |
CN110943800A (en) | Method, device and system for sending data packet, storage medium and electronic device | |
US8640009B2 (en) | Methods and apparatus for providing linear erasure codes | |
MX2014013560A (en) | Apparatus and method of transmitting and receiving packet in a broadcasting and communication system. | |
US9294227B2 (en) | LT staircase FEC code | |
EP1771960A1 (en) | Encoding and decoding method, and encoding and decoding devices with a two-stage error protection process | |
US8301968B2 (en) | Methods and apparatus for encoding data in a communication network | |
CN104754341A (en) | Video data encoding and decoding method and device | |
KR20070034532A (en) | Extended Convolutional Encoder Devices, Wireless Systems, and Convolutional Code Extension Methods | |
KR101967884B1 (en) | Apparatus and method for transmitting and receiving packet in broadcasting and communication system | |
JP2015532020A (en) | Method and apparatus for error recovery using information associated with a transmitter | |
JP2005223683A (en) | Transmission/reception system, transmitter and transmitting method, receiver and receiving method, transmitter/receiver and transmitting/receiving method, and program | |
CN111245566B (en) | Method and device for preventing packet loss of unreliable network, storage medium and electronic equipment | |
US7787624B2 (en) | Method for inserting synchronization markers into a video stream, compatible with a block cipher | |
US20100031112A1 (en) | Method and device for determining indices assigned to correction symbols | |
Nazir et al. | Application layer systematic network coding for sliced H. 264/AVC video streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090916 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090929 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100302 |