WO2023238205A1 - Communication device, communication method, and program - Google Patents
Communication device, communication method, and program Download PDFInfo
- Publication number
- WO2023238205A1 WO2023238205A1 PCT/JP2022/022835 JP2022022835W WO2023238205A1 WO 2023238205 A1 WO2023238205 A1 WO 2023238205A1 JP 2022022835 W JP2022022835 W JP 2022022835W WO 2023238205 A1 WO2023238205 A1 WO 2023238205A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- unit
- blocks
- duplication
- communication device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/38—Flow control; Congestion control by adapting coding or compression rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/43—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
- H04L47/431—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR] using padding or de-padding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
Definitions
- the present disclosure relates to a communication device, a communication method, and a program.
- a communication device transmits and receives a duplicated frame to another communication device via a plurality of routes in a relay network NW.
- a relay network NW For example, in the uninterrupted network system described in Patent Document 1, duplicated frames are transmitted and received via multiple routes. Thereby, even if frames are discarded due to switching of communication paths in the relay network, occurrence of bit errors, etc., loss of frames can be suppressed.
- a frame string is data configured by sequentially arranging one or more frames.
- FIG. 9A shows an example of frame sequence A and frame B, which are two frame sequences that are input consecutively.
- Frame string A and frame B each include a header, a payload, and a frame check sequence (FCS).
- FCS frame check sequence
- frame sequence A has information of "110110”
- frame sequence B has information of "100101”.
- the communication device generates information "010011" indicating the exclusive OR of frame string A and frame string B, and as shown in FIG. 9D, Generate encoded frames with headers and frame check sequences.
- the lengths of the above two frame strings need to be the same.
- the lengths of frame sequence A and frame sequence B may be different, as shown in FIG. 10A.
- padding processing is performed to add padding to the frame rows (hatched portions in FIG. 10B) so that the length of each frame row is fixed.
- FIG. 10C "00" as shown in the dashed rectangle is added to the information "1101" of the frame sequence A, and a dashed-dotted line is added to the information "100" of the frame sequence B. ⁇ 000'' is added as shown in the rectangle.
- An object of the present disclosure is to improve a technique for improving data unit transfer efficiency while suppressing loss of data units.
- a communication device includes an acquisition unit that sequentially receives input of each of a plurality of data units, and a communication device that divides the plurality of input data units in bit units, and divides the plurality of input data units into a plurality of data units of a predetermined number of bits.
- a block generation unit that generates a block, a duplication unit that duplicates the plurality of blocks and outputs a block before duplication and a block after duplication, and a block generation unit that duplicates the plurality of blocks and outputs a block before duplication and a block after duplication; , a related information adding unit that adds related information indicating the transmission order; an encoding unit that generates an encoded block by calculating using two consecutive blocks, which are the blocks after the duplication; and a code-related information adding unit that adds code-related information indicating that the block is a coded block and the coding order to the coded block.
- a communication method is a communication method executed by a communication device, which includes an acquisition step of sequentially receiving input of each of a plurality of data units, and a step of receiving an input of each of the plurality of input data units.
- a program according to the present disclosure causes a computer to function as a communication device according to the present disclosure.
- the communication device communication method, and program according to the present disclosure, it is possible to improve the technique of improving data unit transfer efficiency while suppressing loss of data units.
- FIG. 1 is a schematic diagram illustrating an example of a communication system according to an embodiment of the present disclosure.
- FIG. 1 is a schematic diagram showing an example of the configuration of a communication device.
- FIG. 2 is a schematic diagram showing an example of the configuration of a transmitter.
- FIG. 3 is a diagram for explaining a data unit processed by a transmitter.
- FIG. 3 is a diagram for explaining a data unit processed by a transmitter.
- FIG. 3 is a diagram for explaining a data unit processed by a transmitter.
- FIG. 3 is a diagram for explaining a data unit processed by a transmitter.
- FIG. 3 is a diagram for explaining a data unit processed by a transmitter.
- FIG. 3 is a diagram for explaining a data unit processed by a transmitter.
- FIG. 3 is a diagram for explaining a data unit processed by a transmitter.
- FIG. 3 is a diagram for explaining a data unit processed by a transmitter.
- FIG. 2 is a schematic diagram showing an example of the configuration of a receiver.
- FIG. 3 is a diagram for explaining a data unit processed by a receiver.
- FIG. 3 is a diagram for explaining a data unit processed by a receiver.
- FIG. 3 is a diagram for explaining a data unit processed by a receiver.
- FIG. 3 is a diagram for explaining a data unit processed by a receiver.
- FIG. 3 is a diagram for explaining a data unit processed by a receiver.
- FIG. 3 is a diagram for explaining a data unit processed by a receiver.
- It is a flowchart which shows an example of operation of a communication system. It is a flowchart which shows an example of operation of a communication system.
- FIG. 2 is a diagram illustrating the structure of two consecutive fixed-length frames in the prior art.
- 9A is a diagram showing information included in the frame shown in FIG. 9A.
- FIG. 9B is a diagram showing an encoded frame generated based on information included in the frame shown in FIG. 9B.
- FIG. 9C is a diagram showing a frame in which a header and a frame check sequence are attached to the encoded frame shown in FIG. 9C.
- FIG. FIG. 2 is a diagram showing the structure of two consecutive variable length frames in the prior art.
- 10A is a diagram showing a frame obtained by performing padding processing on each of the two frames shown in FIG. 10A.
- FIG. 10A is a diagram showing a frame obtained by performing padding processing on each of the two frames shown in FIG. 10A.
- FIG. 10B is a diagram showing information included in each frame shown in FIG. 10B.
- FIG. 10C is a diagram showing an encoded frame generated based on information included in the frame shown in FIG. 10C.
- 10D is a diagram showing a frame in which a header and a frame check sequence are added to the encoded frame shown in FIG. 10D.
- FIG. 1 is a schematic diagram showing an example of a communication system 1 according to the present embodiment.
- FIG. 1 is a diagram showing the configuration of a communication system 1 according to this embodiment.
- the communication system 1 includes a user device U1, a user device U2, a communication device 10A, and a communication device 10B.
- Each device is communicably connected to a network 30 including, for example, the Internet and a mobile communication network, by wire or wirelessly.
- the communication method for transmitting and receiving information between each device is not particularly limited.
- the user device U1 and the user device U2 are not particularly distinguished, they will simply be referred to as "user device U.”
- the communication device 10A and the communication device 10B are not particularly distinguished, they will simply be referred to as "communication device 10.”
- FIG. 1 for ease of explanation, two user devices U are illustrated, and two communication devices 10 are illustrated. However, the number of user devices U and communication devices 10 included in the system 1 may be arbitrarily determined.
- the communication device 10A includes a transmitter 50A and a receiver 60A
- the communication device 10B includes a transmitter 50B and a receiver 60B.
- transmitter 50 the transmitter 50A and the transmitter 50B are particularly distinguished
- receiver 60A and the receiver 60B are not particularly distinguished, they will simply be referred to as "receiver 60.”
- User device U1 is connected to transmitter 50A and receiver 60A of communication device 10A.
- User device U2 is connected to transmitter 50B and receiver 60B of communication device 10B.
- the user device U1 and the communication device 10A may be integrated.
- the user device U2 and the communication device 10B may be integrated.
- the transmitter 50 can generate a redundant code from the input general layer 2 and layer 3 information and transmit it to the network 30.
- Receiver 60 can decode the original information if the information input from network 30 is corrupted.
- the user device U1 and the user device U2 are each configured by a computer including a memory, a controller, and a communication interface.
- the memory may be configured by a HDD (Hard Disk Drive), an SSD (Solid State Drive), an EEPROM (Electrically Erasable Programmable Read-Only Memory), a ROM (Read-Only Memory), a RAM (Random Access Memory), or the like.
- the controller may be configured with dedicated hardware such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array), a processor, or a combination of both. good.
- standards such as Ethernet (registered trademark), FDDI (Fiber Distributed Data Interface), and Wi-Fi (registered trademark) may be used as the communication interface.
- the user device U1 transmits a plurality of data units to the communication device 10A, and the user device U2 transmits a plurality of data units to the communication device 10B. Further, the user device U1 receives a plurality of data units from the communication device 10A, and the user device U2 receives a plurality of data units from the communication device 10B.
- a "data unit” is a set of data, and may be, for example, a packet or a frame, or information similar to a packet or frame. In this embodiment, the data unit includes a layer 2 or layer 3 frame.
- the communication device 10A and the communication device 10B are uninterrupted devices, and may be configured by, for example, a gateway, a router, or the like.
- the network 30 includes the Internet, at least one WAN (Wide Area Network), at least one MAN (Metropolitan Area Network), or any combination thereof.
- Network 30 may include at least one wireless network, at least one optical network, or any combination thereof.
- the wireless network is, for example, an ad hoc network, a cellular network, a wireless LAN (local area network), a satellite communication network, or a terrestrial microwave network.
- the communication protocol used in network 30 may be arbitrary.
- the communication device 10 will be described with reference to FIG. 2.
- the communication device 10A receives input of a data unit transmitted from the user device U1, executes the processing described below, and transmits the data unit to the communication device 10B.
- the communication device 10A receives a block described below from the communication device 10B, executes processing, and transmits the block to the user device U1.
- a description of the communication device 10B will be omitted, it executes processing using a data unit transmitted from the user device U2, and also receives a block from the communication device 10A, executes the process, and transmits it to the user device U2. It is the same except for this point.
- the communication device 10 includes a control section 11, a storage section 12, a communication section 13, an input section 14, and an output section 15.
- the control section 11, the storage section 12, the communication section 13, the input section 14, and the output section 15 each function to constitute the transmitter 50 and receiver 60 shown in FIG.
- the transmitter 50A and receiver 60A of the communication device 10A will be described, but the same applies to the transmitter 50B and receiver 60B of the communication device 10B.
- the control unit 11 is realized by a control calculation circuit (controller).
- the control arithmetic circuit may be constituted by dedicated hardware such as ASIC or FPGA, or may be constituted by a processor, or may be constituted by including both.
- the control unit 11 executes processing related to the operation of the communication device 10 while controlling each part of the communication device 10 .
- the control unit 11 can transmit and receive information to and from an external device via the communication unit 13 and the network.
- the storage unit 12 includes one or more memories, and may include, for example, semiconductor memory, magnetic memory, optical memory, etc. Each memory included in the storage unit 12 may function as, for example, a main storage device, an auxiliary storage device, or a cache memory.
- the storage unit 12 stores arbitrary information used for the operation of the communication device 10. The storage unit 12 does not necessarily need to be provided inside the communication device 10, and may be provided outside the communication device 10.
- the communication unit 13 includes at least one communication interface.
- the communication interface is, for example, a LAN interface.
- the communication unit 13 receives information used for the operation of the communication device 10 and transmits information obtained by the operation of the communication device 10.
- the communication unit 13 allows the communication device 10 to send and receive information to and from other devices via a network.
- the input unit 14 includes at least one input interface.
- the input interface is, for example, a physical key, a capacitive key, a pointing device, a touch screen integrated with the display, or a microphone.
- the input unit 14 accepts an operation to input information used for the operation of the communication device 10.
- the input unit 14 may be connected to the communication device 10 as an external input device instead of being included in the communication device 10.
- any method such as USB (Universal Serial Bus), HDMI (High-Definition Multimedia Interface) (registered trademark), or Bluetooth (registered trademark) can be used.
- the output unit 15 includes at least one output interface.
- the output interface is, for example, a display or a speaker.
- the display is, for example, an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence) display.
- the output unit 15 outputs information obtained by the operation of the communication device 10.
- the output unit 15 may be connected to the communication device 10 as an external output device instead of being included in the communication device 10.
- any method such as USB, HDMI (registered trademark), or Bluetooth (registered trademark) can be used.
- FIG. 3 shows an example of the configuration of the transmitter 50.
- the transmitter 50 includes an acquisition section 511, a basic information addition section 512, a block generation section 513, a duplication section 514, a related information addition section 515, a transfer control section 516, an encoding section 517, and a code related information addition section 511.
- FIFO queue 525 shows an example of the configuration of the transmitter 50.
- the transmitter 50 includes an acquisition section 511, a basic information addition section 512, a block generation section 513, a duplication section 514, a related information addition section 515, a transfer control section 516, an encoding section 517, and a code related information addition section 511.
- the acquisition section 511, the basic information addition section 512, the block generation section 513, the duplication section 514, the related information addition section 515, the transfer control section 516, the encoding section 517, and the code related information addition section. 518 and the transmission information adding section 519 are realized by the control section 11 described above.
- the temporary FIFO queue 521, the transmission FIFO queue 522, the first odd block FIFO queue 523, the first even block FIFO queue 524, and the first encoded block FIFO queue 525 are stored in the storage unit 12 described above. Realized.
- a device separate from the communication device 10 includes each section, but a configuration may be adopted in which a device separate from the communication device 10 includes each section.
- a device separate from the communication device 10 includes a block generation section 513, a duplication section 514, a related information adding section 515, an encoding section 517, and a code related information adding section 518, and the device and the communication device 10 may be configured to communicate with each other.
- the acquisition unit 511 receives input for each of the plurality of data units in order. Specifically, the acquisition unit 511 acquires the data by sequentially receiving a plurality of data units transmitted from the user device U1 via the communication unit 13. The acquisition unit 511 outputs the plurality of acquired data units to the basic information adding unit 512.
- the basic information adding unit 512 adds basic information indicating the input order and information amount of the data units to the plurality of data units output from the acquisition unit 511.
- the information is added to the header or payload of the data unit, for example. More specifically, the amount of information refers to the length of a data unit.
- P1 to P12 indicate a plurality of data units sequentially output from the input unit 11
- hatched areas L1 to L12 indicate basic information added to each of P1 to P12 by the basic information adding unit 512. shows.
- the basic information adding unit 512 stores the data unit with the basic information added thereto in the temporary FIFO queue 521.
- the block generation unit 513 divides the plurality of input data units into bit units and generates a plurality of blocks each having a predetermined number of bits. Specifically, when the data unit stored in the temporary FIFO queue 521 reaches the amount of information of a predetermined length, the block generation unit 513 divides the data unit in the middle and generates a block having a predetermined length. The block generation unit 513 can divide the data unit into 1-bit units. In this way, the block generation unit 513 can generate a block that includes at least a portion of the input data unit and has a predetermined length. The block generation unit 513 outputs the generated block to the duplication unit 514.
- the blocks generated by the block generation unit 513 will be described with reference to FIG. 4B.
- data units P1 to P12 to which basic information has been added by the basic information adding unit 512 are combined and further divided by a predetermined length N to generate blocks B1 to B4.
- data unit P3 is part of block B1 halfway, but it is divided by block generation unit 513 at a location indicated by a white arrow, and the remaining part becomes part of block B2.
- the block generation unit 513 divides the data unit in units of 1 bit and outputs it as a block. The rest will be output as a separate block at the next timing.
- the block generation unit 513 After making at least a part of the data unit a part of the block, the block generation unit 513 performs padding processing so that the block has a predetermined number of bits if the next data unit is not input within a predetermined time. It may be applied.
- the predetermined time may be set arbitrarily. Specifically, when the block generation unit 513 determines that the next data unit is not stored in the temporary FIFO queue 521 even after a predetermined period of time has elapsed, the block generation unit 513 deletes the data that has already been stored in the temporary FIFO queue 521.
- a block having a predetermined length can be generated by reading a data unit and performing padding processing to pad the data unit. More specifically, the block generation unit 513 can perform padding processing by adding a value of "0" to the read data unit.
- the block generation unit 513 outputs the padded block to the duplication unit 514.
- the duplication unit 514 duplicates a plurality of blocks and outputs a block before duplication and a block after duplication. Specifically, the duplication unit 514 duplicates each of the plurality of blocks output by the block generation unit 513. The duplication unit 514 outputs the block before duplication to the related information adding unit 515, and outputs the block after duplication to the transfer control unit 516.
- the related information adding unit 515 adds related information indicating that the block before duplication is a block before duplication and the transmission order to the block before duplication outputted from the duplication unit 514.
- the related information adding unit 515 stores the block to which related information has been added in the transmission FIFO queue 522 as a block before duplication.
- BO1 to BO4 represent the blocks B1 to B4 in FIG. 4B to which related information has been added, respectively, as an example of a sequence of 0's and 1's.
- each block from BO1 to BO4 is configured in order from data units transmitted to the communication device 10. Shaded areas R1 to R4 indicate related information added to each block before duplication by the related information adding unit 515.
- a specific area of the header or payload of each block is reserved in advance as a bit string representing the type of block, that is, related information. It's good that it has been done.
- the transfer control unit 516 stores the duplicated block output from the duplication unit 514 in the first odd block FIFO queue 523 as an odd block if the first odd block FIFO queue 523 is empty; If so, it is stored in the first even block FIFO queue 524 as an even block. That is, the transfer control unit 516 can store odd-numbered blocks in the first odd-numbered block FIFO queue 523 and alternately store even-numbered blocks in the first even-numbered block FIFO queue 524.
- BC1 to BC4 shown in FIG. 4D represent the duplicated blocks B1 to B4 of FIG. 4B as examples by a sequence of 0's and 1's, respectively.
- the transfer control unit 516 stores odd blocks BC1 and BC3 in the first odd block FIFO queue 523, and stores even blocks BC2 and BC4 in the first even block FIFO queue. 524.
- the encoding unit 517 performs an operation using two consecutive blocks that are the blocks after duplication, and generates an encoded block. Specifically, the encoding unit 517 calculates the odd blocks stored in the first odd block FIFO queue 523 and the even blocks stored in the first even block FIFO queue 524 bit by bit from the beginning. Generate a coded block. Encoding section 517 outputs the generated encoded block to code-related information adding section 518.
- the calculation by the encoding unit 517 is performed by encoding that can be represented by a linear code.
- the encoding unit 517 performs encoding according to information calculation rules defined by regarding the block before duplication and the block after duplication of m bits as a Galois field of GF(2 m ).
- the encoding unit 517 performs encoding using exclusive OR (XOR).
- FIG. 4E shows two consecutive blocks after duplication: an odd block BC1 stored in the first odd block FIFO queue 523 and an even block stored in the first even block FIFO queue 524.
- An example using BC2 is shown below.
- the encoding unit 517 performs an exclusive OR operation on BC1 and BC2 of the copied block to generate an encoded block BE. As shown in FIG. 4E, each bit of the encoded block BE is the result of exclusive OR operation of the block BC1 and block BC2 from the beginning.
- the code-related information adding unit 518 adds code-related information indicating that the block is a coded block and the coding order to the coded block. Similar to the related information, a specific area of the block header or payload may be reserved in advance as a bit string representing the type of block, that is, code related information. In FIG. 4F, a shaded area ER1 indicates code-related information added to the encoded block BE by the code-related information adding unit 518.
- the code-related information adding unit 518 stores the coded block BE' to which the code-related information has been added in the first coded block FIFO queue 525.
- the transfer control unit 516 outputs the encoded block stored in the first encoded block FIFO queue 525 to the transmission FIFO queue 522.
- the transmission information adding unit 519 adds transmission information indicating the destination and source necessary for transmitting to the destination to the pre-duplication block and encoded block stored in the transmission FIFO queue 522.
- the black parts added to the beginnings of the blocks BO1 and BO2 before duplication and the encoded block BE' each indicate the transmission information added by the transmission information adding unit 519.
- the transmission information adding unit 519 sequentially transmits the blocks BO1', BO2' and the encoded block BE'' including the transmission information in FIG. 4G via the communication unit 13 and the network 30. Specifically, the transmission information adding unit 519 transmits to other communication devices 10 .
- FIG. 5 shows an example of the configuration of the receiver 60.
- the receiver 60 includes a transmission information deletion section 611, an identification section 612, a transfer control section 613, a calculation section 614, a reception information discrimination section 615, a transmission section 616, a second odd block FIFO queue 621, It includes a second even block FIFO queue 622, a second encoded block FIFO queue 623, and a receive FIFO queue 624.
- the transmission information deletion section 611, the identification section 612, the transfer control section 613, the calculation section 614, the received information discrimination section 615, and the transmission section 616 are realized by the above-mentioned control section 11, and the second The odd block FIFO queue 621, the second even block FIFO queue 622, the second encoded block FIFO queue 623, and the reception FIFO queue 624 are realized by the storage unit 12 described above.
- the transmission information deletion unit 611 acquires blocks transferred from the network 30 via the communication unit 13 by sequentially receiving them.
- the blocks to be received are a pre-duplication block and a coded block to which transmission information has been added.
- the transmission information deletion unit 611 deletes the transmission information added by the transmission information addition unit 519 of the transmitter 50 from each acquired block.
- Transmission information deletion section 611 outputs each block from which transmission information has been deleted to identification section 612.
- the identification unit 612 identifies whether each block output from the transmission information deletion unit 611 is a block before duplication or a coded block, and the transmission order of the blocks, and stores each block in the corresponding FIFO queue. Store. Specifically, the identification unit 612 refers to the related information and code related information of each block and stores them in the corresponding FIFO queue. Based on the related information, if the transmission order of the block before duplication is an odd number, the identification unit 612 identifies it as an odd block and stores it in the second odd block FIFO queue 621, and if the transmission order of the block before duplication is If it is an even block, it is identified as an even block and stored in the second even block FIFO queue 622. The identification unit 612 identifies the coded block based on the code related information and stores the block in the second coded block FIFO queue 623.
- the transfer control unit 613 cooperates with the identification unit 612 to control transfer from three queues: a second odd block FIFO queue 621, a second even block FIFO queue 622, and a second encoded block FIFO queue 623. so that each block is processed in the order in which it was sent, as described below.
- the transfer control unit 613 reads the odd blocks stored in the second odd block FIFO queue 621 or the even blocks stored in the second even block FIFO queue 622, and checks whether there are any missing information, bit errors, etc. judge. When the transfer control unit 613 determines that there is no information omission, bit error, etc., it discards the encoded block stored in the second encoded block FIFO queue 623. The transfer control unit 613 deletes the associated information for each block read from the second odd block FIFO queue 621 and the second even block FIFO queue 622, and sequentially outputs the information to the received information distinguishing unit 615.
- the transfer control unit 613 determines that there is information omission, bit error, etc. in the read odd block or even block, it deletes the related information in the normally received odd block or even block, and then transfers the information to the second block. Code-related information about the coded blocks stored in the coded block FIFO queue 623 is deleted. Thereafter, the transfer control unit 613 outputs the normally received odd-numbered block or even-numbered block from which the relevant information has been deleted, and the encoded block from which the code-related information has been deleted, to the calculation unit 614.
- the calculation unit 614 decodes blocks that have been lost due to information omissions, bit errors, etc., based on the output odd or even blocks and the encoded blocks.
- the calculation unit 614 performs decoding using exclusive OR (XOR) like the encoding unit 517 described above, but any method may be used for decoding.
- Arithmetic unit 614 outputs the decoded block to received information discriminator 615.
- the received information distinguishing unit 615 sequentially reads the blocks output from the transfer control unit 613 or the calculation unit 614 and identifies the amount of information indicated by the basic information added by the basic information adding unit 512 of the communication device 10.
- the received information distinguishing unit 615 combines the blocks and restores the data unit as indicated by the amount of information. In this way, the received information distinguishing section 615 can restore the original data unit before being divided by the block generating section 513 described above from each read block.
- the received information distinguishing unit 615 further deletes the basic information attached to each restored data unit, and outputs each restored data unit to the reception FIFO queue 624.
- Decoding in the receiver 60 will be described with reference to FIGS. 6A to 6D, 7A, and 7B.
- FIGS. 6A to 6D a case will be described in which both odd-numbered unduplicated blocks and even-numbered unduplicated blocks are normally received by the receiver 60.
- BO1 and BO2 indicate a normally received odd block before duplication and an even block before duplication.
- BE' indicates a normally received coded block.
- the transmission information shown in FIG. 4G has been deleted from the odd block BO1, even block BO2, and encoded block BE' by the transmission information deletion unit 611.
- the transfer control unit 613 determines that there is no information omission, bit error, etc. for both the odd block BO1 and the even block BO2.
- the encoded block BE' is discarded by the transfer control section 613, and the odd-numbered block BO1 and even-numbered block BO2 are outputted to the received information discrimination section 615 with related information deleted.
- original blocks B1 and B2 which are blocks from which related information R1 and R2 have been deleted from odd-numbered block BO1 and even-numbered block BO2, and a discarded encoded block BE' are shown.
- the received information distinguishing unit 615 sequentially reads the output blocks and identifies the amount of information indicated by the basic information added to each data unit by the basic information adding unit 512 of the communication device 10.
- FIG. 6C shows blocks B1 to B4 sequentially read by the received information distinguishing unit 615 and the corresponding original data units P1 to P11, to which the basic information of diagonal lines L1 to 11 is attached. .
- the received information distinguishing unit 615 can restore the user data unit by dividing the sequentially read and combined blocks B1 to B4 as indicated by the amount of information indicated by the basic information.
- FIG. 6D shows restored data units P1 to P12 from which basic information has been deleted by the received information distinguishing unit 615 and output to the receive FIFO queue 624. In this way, the received information distinguishing section 615 can restore the original data unit before being divided by the block generating section 513 described above from each read block.
- the transfer control unit 613 determines that there is an information omission, a bit error, etc. for the odd-numbered block, and the explanation will be made assuming that it was not received normally, but the same applies to the case that the even-numbered block is not received normally. It is.
- odd block BO1 is not received normally, and even block BO2 is received normally.
- the transfer control unit 613 outputs the normally received even block BO2 and the encoded block BE' to the calculation unit 614 in a state in which related information and code related information are respectively deleted.
- a pre-duplication block B2 which is a block from which related information R2 has been deleted from the even block BO2
- an encoded block BE which is a block from which encoded information has been deleted, are shown.
- Arithmetic unit 614 decodes odd block B1 based on block B2 and encoded block BE.
- the calculation unit 614 outputs the decoded odd block B1 and the block B2 before duplication to the received information discrimination unit 615.
- the received information discriminator 615 reads the output blocks in order.
- the subsequent operation of the received information distinguishing unit 615 is the same as that described with reference to FIGS. 6C and 6D above, so the description thereof will be omitted.
- the transmitter 616 transmits the data unit output to the reception FIFO queue 624 to the user device U via the communication unit 13 and the network 30.
- ⁇ Program> In order to function as the communication device 10 described above, it is also possible to use a computer that can execute program instructions.
- the computer may be a general-purpose computer, a dedicated computer, a workstation, a PC (Personal Computer), an electronic notepad, or the like.
- Program instructions may be program code, code segments, etc. to perform necessary tasks.
- the computer includes a processor, a storage section, an input section, an output section, and a communication interface.
- a processor is a CPU (Central Processing Unit), MPU (Micro Processing Unit), GPU (Graphics Processing Unit), DSP (Digital Signal Processor), SoC (System on a Chip), etc. may be configured.
- the processor controls each of the above components and performs various calculation processes by reading and executing programs from the storage unit. Note that at least a part of these processing contents may be realized by hardware.
- the input unit is an input interface that receives a user's input operation and obtains information based on the user's operation, and is a pointing device, a keyboard, a mouse, or the like.
- the output unit is an output interface that outputs information, such as a display or a speaker.
- the communication interface is an interface for communicating with an external device.
- the program may be recorded on a computer-readable recording medium. Using such a recording medium, it is possible to install a program on a computer.
- the recording medium on which the program is recorded may be a non-transitory recording medium.
- the non-transitory recording medium is not particularly limited, and may be, for example, a CD-ROM, a DVD-ROM, a USB memory, or the like. Further, this program may be downloaded from an external device via a network.
- step S1 the user device U1 transmits a data unit to the communication device 10A.
- step S2 the acquisition unit 511 sequentially receives input from each of the plurality of data units.
- the acquisition unit 511 acquires by sequentially receiving a plurality of data units transmitted from the user device U1.
- the acquisition unit 511 outputs the plurality of acquired data units to the basic information adding unit 512.
- step S3 the basic information adding unit 512 adds basic information indicating the input order and information amount of the data units to the plurality of data units output from the acquisition unit 511.
- the basic information adding unit 512 stores the data unit with the basic information added thereto in the temporary FIFO queue 521.
- step S4 the block generation unit 513 divides the plurality of input data units into bits and generates a plurality of blocks each having a predetermined number of bits. Specifically, when the data unit stored in the temporary FIFO queue 521 reaches the amount of information of a predetermined length, the block generation unit 513 divides the data unit in the middle and generates a block having a predetermined length. The block generation unit 513 outputs the generated block to the duplication unit 514.
- the block generation unit 513 After making at least a part of the data unit a part of the block, the block generation unit 513 performs padding processing so that the block has a predetermined number of bits if the next data unit is not input within a predetermined time. It may be applied. The block generation unit 513 performs padding processing and outputs the generated block to the duplication unit 514.
- step S5 the duplication unit 514 duplicates a plurality of blocks and outputs a block before duplication and a block after duplication. Specifically, the duplication unit 514 outputs the block before duplication to the related information adding unit 515, and outputs the block after duplication to the transfer control unit 516.
- step S6 the related information adding unit 515 adds related information indicating that the block before duplication is a block before duplication and the transmission order to the block before duplication outputted from the duplication unit 514.
- the related information adding unit 515 stores the block to which related information has been added in the transmission FIFO queue 522 as a block before duplication.
- step S7 the transfer control unit 516 stores the duplicated block output from the duplication unit 514 in the first odd block FIFO queue 523 as an odd block if the first odd block FIFO queue 523 is empty. , otherwise, it is stored in the first even block FIFO queue 524 as an even block.
- step S8 the encoding unit 517 performs a calculation using two consecutive blocks that are the blocks after duplication, and generates an encoded block. Specifically, the encoding unit 517 calculates the odd blocks stored in the first odd block FIFO queue 523 and the even blocks stored in the first even block FIFO queue 524 bit by bit from the beginning. Generate a coded block. In this embodiment, the calculation by the encoding unit 517 is performed by encoding that can be represented by a linear code. Encoding section 517 outputs the generated encoded block to code-related information adding section 518.
- step S9 of FIG. 8B the code-related information adding unit 518 adds code-related information indicating that the block is a coded block and the coding order to the coded block.
- the code-related information adding unit 518 stores the coded block to which the code-related information has been added in the first coded block FIFO queue 525.
- step S10 the transfer control unit 516 outputs the encoded block stored in the first encoded block FIFO queue 525 to the transmission FIFO queue 522.
- step S11 the transmission information adding unit 519 assigns the pre-duplication block stored in the transmission FIFO queue 522 in step S6 and the encoded block stored in the transmission FIFO queue 522 in step S10 in order to transmit it to the destination. Add necessary transmission information indicating the destination and source.
- step S12 the transmission information adding unit 519 sequentially transmits the block before duplication and the encoded block including the transmission information via the communication unit 13 and the network 30. Specifically, the transmission information adding unit 519 transmits to the communication device 10B, which is another communication device 10.
- step S13 the transmission information deletion unit 611 of the receiver 60B of the communication device 10B sequentially receives blocks transferred from the network 30 via the communication unit 13, and from each acquired block, the transmitter The transmission information added by the transmission information adding section 519 of 50A is deleted. Transmission information deletion section 611 outputs each block from which transmission information has been deleted to identification section 612.
- the identification unit 612 identifies whether each block output from the transmission information deletion unit 611 is a block before duplication or a coded block, and the transmission order of the blocks, and assigns each block to a corresponding one. FIFO queue. Specifically, based on the related information, if the transmission order of the block before duplication is an odd number, the identification unit 612 identifies it as an odd block and stores it in the second odd block FIFO queue 621, and stores the block before duplication in the second odd block FIFO queue 621. If the transmission order is an even number, it is identified as an even block and stored in the second even block FIFO queue 622. The identification unit 612 identifies the coded block based on the code related information and stores the block in the second coded block FIFO queue 623.
- step S15 the transfer control unit 613 reads out the odd blocks stored in the second odd block FIFO queue 621 or the even blocks stored in the second even block FIFO queue 622, and detects missing information, bit errors, etc. Determine if there are any.
- the transfer control unit 613 determines that there is no information omission, bit error, etc. in the read odd-numbered block or even-numbered block
- the process of the transfer control unit 613 proceeds to step S16. If the transfer control unit 613 determines that there is an information omission, a bit error, etc., the process of the transfer control unit 613 proceeds to step S17.
- step S16 the transfer control unit 613 discards the encoded block stored in the second encoded block FIFO queue 623.
- the transfer control unit 613 deletes the associated information for each block read from the second odd block FIFO queue 621 and the second even block FIFO queue 622, and sequentially outputs the information to the received information distinguishing unit 615. Thereafter, the process of the communication device 10B proceeds to step S19.
- step S17 of FIG. 8C the transfer control unit 613 deletes the related information for the normally received odd-numbered block or even-numbered block, and further deletes the related information for the encoded block stored in the second encoded block FIFO queue 623. Delete code related information. Thereafter, the transfer control unit 613 outputs the normally received odd-numbered block or even-numbered block from which the relevant information has been deleted, and the encoded block from which the code-related information has been deleted, to the calculation unit 614. Thereafter, the process of the communication device 10B proceeds to step S18.
- step S18 the calculation unit 614 decodes blocks that have been lost due to information omissions, bit errors, etc., based on the output odd or even blocks and the encoded blocks.
- the calculation unit 614 performs decoding using exclusive OR (XOR) like the encoding unit 517 described above, but any method may be used for decoding.
- Arithmetic unit 614 outputs the decoded block to received information discriminator 615. Thereafter, the process of the communication device 10B proceeds to step S19.
- XOR exclusive OR
- step S19 the received information distinguishing unit 615 sequentially reads the blocks output from the transfer control unit 613 or the calculation unit 614, and identifies the amount of information indicated by the basic information added by the basic information adding unit 512 of the communication device 10. do.
- the received information distinguishing unit 615 combines the blocks and restores the data unit as indicated by the amount of information.
- step S20 the received information distinguishing unit 615 deletes the basic information attached to each restored data unit, and outputs each restored data unit to the reception FIFO queue 624.
- step S21 the transmitter 616 transmits the data unit output to the reception FIFO queue 624 to the user device U2 via the communication unit 13 and the network 30.
- step S22 the user device U2 receives the data unit from the communication device 10B. After that, the operation of the communication system 1 ends.
- the communication device 10 includes an acquisition unit 511 that sequentially receives input of each of a plurality of data units, and a plurality of input data units that are divided into bits each having a predetermined number of bits.
- a block generation unit 513 that generates a block
- a duplication unit 514 that duplicates a plurality of blocks and outputs a block before duplication and a block after duplication
- a related information adding unit 515 that adds related information indicating the transmission order
- an encoding unit 517 that generates an encoded block by calculating using two consecutive blocks after duplication
- the block includes a code-related information adding unit 518 that adds code-related information indicating that the block is a coded block and the coding order.
- the block generation unit 513 generates a block of a predetermined length when a data unit of a size equal to or larger than an arbitrarily set predetermined length is stored in the temporary FIFO queue 521.
- the block generation section makes at least a part of the data unit part of the block, and then the next data unit is not input within a predetermined time. In this case, padding processing is performed so that the block has the predetermined number of bits.
- the block generation unit 513 even if the output of data units from the user device U stops, the block generation unit 513 generates a block after a predetermined time has elapsed, and the process can proceed to the next step.
- the block generation unit 513 By automatically performing padding processing by the block generation unit 513, a block having a predetermined length can be generated, and subsequent encoding processing becomes possible. In this way, it is possible to prevent communication delays from occurring due to time required for block generation. Therefore, it is possible to improve the technique of improving data unit transfer efficiency while suppressing loss of data units.
- the encoding unit 517 performs encoding that can be expressed by a linear combination.
- [Additional note 1] Accepts input for each of multiple data units in turn, dividing the plurality of input data units in bit units to generate a plurality of blocks each having a predetermined number of bits; Copying the plurality of blocks and outputting a block before duplication and a block after duplication, Adding related information indicating that the block before duplication is a block before duplication and a transmission order, calculating an encoded block by using two consecutive blocks, which are the blocks after the duplication,
- a communication device comprising: a control unit that provides the coded block with code-related information indicating that the block is a coded block and a coding order.
- control unit After making at least a part of the data unit a part of the block, the control unit causes the block to have the predetermined number of bits if there is no input of the next data unit within a predetermined time.
- the communication device according to Supplementary Note 1 which performs padding processing.
- a communication method executed by a communication device comprising: an acquisition step of sequentially accepting input of each of the plurality of data units; a block generation step of dividing the plurality of input data units in bit units to generate a plurality of blocks each having a predetermined number of bits; a duplication step of duplicating the plurality of blocks and outputting a block before duplication and a block after duplication; a related information adding step of adding related information indicating that the block before duplication is a block before duplication and a transmission order; an encoding step of generating an encoded block by performing an operation using two consecutive blocks that are the blocks after the duplication; a code-related information adding step of adding code-related information indicating that the coded block is a coded block and an encoding order; methods of communication, including: [Additional note 5] In the block generation step, after making at least a part of the data unit a part of the block, if there is no input of the next data unit within a predetermined
- the communication method according to supplementary note 4 further comprising the step of performing padding processing on the data.
- the communication method according to appendix 4 or 5 wherein the encoding step further includes a step of performing encoding that can be represented by a linear combination.
- [Additional note 7] A non-transitory storage medium storing a program executable by a computer, A non-temporary storage medium storing a program that causes the computer to function as the communication device according to any one of Supplementary Notes 1 to 3.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
Description
本開示は、通信装置、通信方法、及びプログラムに関する。 The present disclosure relates to a communication device, a communication method, and a program.
従来、通信装置が、中継ネットワークNWにおける複数の経路を介して、複製したフレームを他の通信装置に送受信することが知られている。例えば、特許文献1に記載されている無瞬断ネットワークシステムにおいては、複数の経路を介して複製したフレームが送受信される。これにより、中継ネットワークにおける通信経路の切り替え、ビット誤りの発生等に起因してフレームが廃棄されても、フレームの喪失を抑制することができる。
Conventionally, it is known that a communication device transmits and receives a duplicated frame to another communication device via a plurality of routes in a relay network NW. For example, in the uninterrupted network system described in
しかしながら、特許文献1に記載された技術では、複数の経路で同一の情報を送信することにより、ユーザが所望する品質の通信を実現することが可能となる一方で、中継ネットワークにおいて、2倍の帯域が用いられ、中継ネットワークの負荷が増加する。
However, with the technology described in
このような中継ネットワークの負荷の増加を抑制するために、連続して入力された2つのフレーム列の排他的論理和を用いて符号化フレームを生成するフレーム符号化技術が検討されている。なお、フレーム列とは、1つ以上のフレームが順に配列されることによって構成されたデータである。 In order to suppress such an increase in the load on the relay network, frame encoding techniques are being considered that generate encoded frames using the exclusive OR of two consecutively input frame sequences. Note that a frame string is data configured by sequentially arranging one or more frames.
例えば図9Aには、連続して入力された2つのフレーム列であるフレーム列A及びフレームBの例が示されている。フレーム列A及びフレームBは、それぞれヘッダ、ペイロード、及びフレームチェックシーケンス(FCS(Frame Check Sequence))によって構成されている。図9Bに示すように、フレーム列Aは、「110110」の情報を有しており、フレーム列Bは、「100101」の情報を有している。このような構成において、図9Cに示すように、通信装置は、フレーム列A及びフレーム列Bの排他的論理和を示す「010011」の情報を生成し、図9Dに示すように、該情報にヘッダ及びフレームチェックシーケンスを付した符号化フレームを生成する。 For example, FIG. 9A shows an example of frame sequence A and frame B, which are two frame sequences that are input consecutively. Frame string A and frame B each include a header, a payload, and a frame check sequence (FCS). As shown in FIG. 9B, frame sequence A has information of "110110", and frame sequence B has information of "100101". In such a configuration, as shown in FIG. 9C, the communication device generates information "010011" indicating the exclusive OR of frame string A and frame string B, and as shown in FIG. 9D, Generate encoded frames with headers and frame check sequences.
このように、排他的論理和を用いてフレームを生成するためには、上記の2つのフレーム列の長さが同じである必要がある。これに対して、2つのフレーム列が可変長である場合、図10Aに示すように、フレーム列Aとフレーム列Bとの長さが異なることがある。この場合、図10Bに示すように、それぞれのフレーム列の長さを固定の長さとするように、フレーム列にパディング(図10Bのハッチ部分)を付するパディング処理が施される。具体的には、図10Cに示すように、フレーム列Aが有する情報「1101」に破線の矩形内に示されるような「00」が追加され、フレーム列Bが有する情報「100」に一点鎖線の矩形内に示されるような「000」を追加される。このようにして「00」及び「000」がそれぞれ追加されたフレーム列A及びフレーム列Bの排他的論理和を示す「010100」の情報(図10D)を生成し、該情報にヘッダ及びフレームチェックシーケンスを付した符号化フレーム(図10E)を生成する。上述のように、フレーム列を構成する2つのフレームそれぞれに対してパディング処理を施すことは転送効率の低減を招いており、フレームを含むデータユニットの転送効率を向上させる技術には改善の余地があった。 In this way, in order to generate a frame using exclusive OR, the lengths of the above two frame strings need to be the same. On the other hand, when the two frame sequences have variable lengths, the lengths of frame sequence A and frame sequence B may be different, as shown in FIG. 10A. In this case, as shown in FIG. 10B, padding processing is performed to add padding to the frame rows (hatched portions in FIG. 10B) so that the length of each frame row is fixed. Specifically, as shown in FIG. 10C, "00" as shown in the dashed rectangle is added to the information "1101" of the frame sequence A, and a dashed-dotted line is added to the information "100" of the frame sequence B. ``000'' is added as shown in the rectangle. In this way, "010100" information (FIG. 10D) indicating the exclusive OR of frame string A and frame string B to which "00" and "000" are added, respectively, is generated, and a header and frame check are added to the information. A coded frame (FIG. 10E) with a sequence is generated. As mentioned above, applying padding to each of the two frames that make up a frame sequence reduces transfer efficiency, and there is still room for improvement in technology that improves the transfer efficiency of data units containing frames. there were.
かかる事情に鑑みてなされた本開示の目的は、データユニットの喪失を抑制しつつ、データユニットの転送効率を向上させる技術を改善することにある。 An object of the present disclosure, made in view of the above circumstances, is to improve a technique for improving data unit transfer efficiency while suppressing loss of data units.
上記課題を解決するため、本開示に係る通信装置は、複数のデータユニットそれぞれの入力を順に受け付ける取得部と、入力された前記複数のデータユニットをビット単位で分割し、所定のビット数の複数のブロックを生成するブロック生成部と、前記複数のブロックを複製し、複製前のブロックと複製後のブロックとを出力する複製部と、前記複製前のブロックに、複製前のブロックであることと、送信順序とを示す関連情報を付与する関連情報付与部と、前記複製後のブロックであって、連続する2つのブロックを用いて演算し、符号化ブロックを生成する符号化部と、前記符号化ブロックに、符号化されたブロックであることと、符号化順序とを示す符号関連情報を付与する符号関連情報付与部と、を備える。 In order to solve the above problems, a communication device according to the present disclosure includes an acquisition unit that sequentially receives input of each of a plurality of data units, and a communication device that divides the plurality of input data units in bit units, and divides the plurality of input data units into a plurality of data units of a predetermined number of bits. a block generation unit that generates a block, a duplication unit that duplicates the plurality of blocks and outputs a block before duplication and a block after duplication, and a block generation unit that duplicates the plurality of blocks and outputs a block before duplication and a block after duplication; , a related information adding unit that adds related information indicating the transmission order; an encoding unit that generates an encoded block by calculating using two consecutive blocks, which are the blocks after the duplication; and a code-related information adding unit that adds code-related information indicating that the block is a coded block and the coding order to the coded block.
また、上記課題を解決するため、本開示に係る通信方法は、通信装置が実行する通信方法であって、複数のデータユニットそれぞれの入力を順に受け付ける取得ステップと、入力された前記複数のデータユニットをビット単位で分割し、所定のビット数の複数のブロックを生成するブロック生成ステップと、前記複数のブロックを複製し、複製前のブロックと複製後のブロックとを出力する複製ステップと、前記複製前のブロックに、複製前のブロックであることと、送信順序とを示す関連情報を付与する関連情報付与ステップと、
前記複製後のブロックであって、連続する2つのブロックを用いて演算し、符号化ブロックを生成する符号化ステップと、前記符号化ブロックに、符号化されたブロックであることと、符号化順序とを示す符号関連情報を付与する符号関連情報付与ステップと、を含む。
Further, in order to solve the above problems, a communication method according to the present disclosure is a communication method executed by a communication device, which includes an acquisition step of sequentially receiving input of each of a plurality of data units, and a step of receiving an input of each of the plurality of input data units. a block generation step of dividing into bits and generating a plurality of blocks each having a predetermined number of bits; a duplication step of duplicating the plurality of blocks and outputting a block before duplication and a block after duplication; a related information adding step of adding related information indicating that the previous block is a block before duplication and a transmission order;
an encoding step of generating an encoded block by performing an operation using two consecutive blocks, which are the blocks after the duplication; and a code-related information adding step of adding code-related information indicating.
また、上記課題を解決するため、本開示に係るプログラムは、コンピュータを、本開示に係る通信装置として機能させる。 Furthermore, in order to solve the above problems, a program according to the present disclosure causes a computer to function as a communication device according to the present disclosure.
本開示に係る通信装置、通信方法、及びプログラムによれば、データユニットの喪失を抑制しつつ、データユニットの転送効率を向上させる技術を改善することができる。 According to the communication device, communication method, and program according to the present disclosure, it is possible to improve the technique of improving data unit transfer efficiency while suppressing loss of data units.
図1を参照して本実施形態の全体構成について説明する。図1は、本実施形態に係る通信システム1の一例を示す概略図である。
The overall configuration of this embodiment will be described with reference to FIG. FIG. 1 is a schematic diagram showing an example of a
<通信システム1の概略構成>
図1は、本実施形態に係る通信システム1の構成を示す図である。図1に示すように、通信システム1は、ユーザ装置U1と、ユーザ装置U2と、通信装置10Aと通信装置10Bとを備える。各装置は、例えばインターネット及び移動体通信網等を含むネットワーク30と有線又は無線により通信可能に接続される。各装置間で情報を送受信するための通信方法は、特に限定されない。以下、ユーザ装置U1と、ユーザ装置U2とを特に区別しない場合、単に「ユーザ装置U」と記す。同様に、通信装置10Aと通信装置10Bとを特に区別しない場合、単に「通信装置10」と記す。図1では説明の簡便のため、ユーザ装置Uについては2つを図示し、通信装置10についても2つを図示している。しかしながら、システム1が備えるユーザ装置U及び通信装置10の数は、任意に定められてもよい。
<Schematic configuration of
FIG. 1 is a diagram showing the configuration of a
通信装置10Aは送信機50Aと受信機60Aとを備え、通信装置10Bは送信機50Bと受信機60Bとを備える。以下、送信機50Aと送信機50Bとを特に区別しない場合、単に「送信機50」と記す。同様に、受信機60Aと受信機60Bとを特に区別しない場合、単に「受信機60」と記す。ユーザ装置U1は通信装置10Aの送信機50A及び受信機60Aに接続される。ユーザ装置U2は通信装置10Bの送信機50B及び受信機60Bに接続される。ユーザ装置U1と通信装置10Aとは一体化されていてもよい。ユーザ装置U2と通信装置10Bとは一体化されていてもよい。
The
送信機50は、入力された一般的なレイヤ2及びレイヤ3の情報から冗長符号を生成してネットワーク30に送信できる。受信機60は、ネットワーク30から入力された情報が破損した場合に、元の情報を復号できる。
The
ユーザ装置U1及びユーザ装置U2は、それぞれメモリ、コントローラ、及び通信インタフェースを備えるコンピュータによって構成される。メモリは、HDD(Hard Disk Drive)、SSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、ROM(Read-Only Memory)及びRAM(Random Access Memory)等によって構成されてもよい。コントローラは、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等の専用のハードウェアによって構成されてもよいし、プロセッサによって構成されてもよいし、双方を含んで構成されてもよい。通信インタフェースには、例えば、イーサネット(登録商標)、FDDI(Fiber Distributed Data Interface)、Wi-Fi(登録商標)等の規格が用いられてもよい。 The user device U1 and the user device U2 are each configured by a computer including a memory, a controller, and a communication interface. The memory may be configured by a HDD (Hard Disk Drive), an SSD (Solid State Drive), an EEPROM (Electrically Erasable Programmable Read-Only Memory), a ROM (Read-Only Memory), a RAM (Random Access Memory), or the like. The controller may be configured with dedicated hardware such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array), a processor, or a combination of both. good. For example, standards such as Ethernet (registered trademark), FDDI (Fiber Distributed Data Interface), and Wi-Fi (registered trademark) may be used as the communication interface.
ユーザ装置U1は通信装置10Aに、ユーザ装置U2は通信装置10Bに、それぞれ複数のデータユニットを送信する。また、ユーザ装置U1は通信装置10Aから、ユーザ装置U2は通信装置10Bから、それぞれ複数のデータユニットを受信する。「データユニット」とは、ひとまとまりのデータであって、例えば、パケット又はフレームであってもよいし、パケット又はフレームに類似する情報であってもよい。本実施形態においてデータユニットとはレイヤ2又はレイヤ3のフレームを含む。
The user device U1 transmits a plurality of data units to the
通信装置10A及び通信装置10Bは無瞬断装置であって、例えばゲートウェイ、ルータ等によって構成されてよい。
The
ネットワーク30は、インターネット、少なくとも1つのWAN(Wide Area Network)、少なくとも1つのMAN(Metropolitan Area Network)、又はこれらの任意の組合せを含む。ネットワーク30は、少なくとも1つの無線ネットワーク、少なくとも1つの光ネットワーク、又はこれらの任意の組合せを含んでもよい。無線ネットワークは、例えば、アドホックネットワーク、セルラーネットワーク、無線LAN(local area network)、衛星通信ネットワーク、又は地上マイクロ波ネットワークである。ネットワーク30において用いられる通信プロトコルは、任意であってよい。
The
<通信装置10>
図2を参照して、通信装置10について説明する。ここでは、図1に示されている通信装置10A及び通信装置10Bのうち、通信装置10Aについて説明する。通信装置10Aは、ユーザ装置U1から送信されたデータユニットの入力を受け付け、以下で説明する処理を実行し、通信装置10Bに対し送信する。また、通信装置10Aは、通信装置10Bから以下で説明するブロックを受信し、処理を実行し、ユーザ装置U1へ送信する。通信装置10Bについての説明は省略するが、ユーザ装置U2から送信されたデータユニットを用いて処理を実行し、また、通信装置10Aからブロックを受信して処理を実行し、ユーザ装置U2へ送信する点を除いて、同様である。
<
The
図2に示すように、通信装置10は制御部11、記憶部12、通信部13、入力部14、及び出力部15を備える。制御部11、記憶部12、通信部13、入力部14、及び出力部15がそれぞれ機能を発揮して、図1で示す送信機50及び受信機60を構成する。以降において、通信装置10Aの送信機50A及び受信機60Aについて説明するが、通信装置10Bの送信機50B及び受信機60Bについても同様である。
As shown in FIG. 2, the
制御部11は、制御演算回路(コントローラ)により実現される。該制御演算回路は、ASIC、FPGA等の専用のハードウェアによって構成されてもよいし、プロセッサによって構成されてもよいし、双方を含んで構成されてもよい。制御部11は、通信装置10の各部を制御しながら、通信装置10の動作に関わる処理を実行する。制御部11は、外部装置との情報の送受信を、通信部13及びネットワークを介して行うことができる。
The
記憶部12は、1つ以上のメモリを含み、例えば半導体メモリ、磁気メモリ、光メモリなどを含んでもよい。記憶部12に含まれる各メモリは、例えば主記憶装置、補助記憶装置、又はキャッシュメモリとして機能してもよい。記憶部12は、通信装置10の動作に用いられる任意の情報を記憶する。記憶部12は、必ずしも通信装置10が内部に備える必要はなく、通信装置10の外部に備える構成としてもよい。
The
通信部13には、少なくとも1つの通信インタフェースが含まれる。通信インタフェースは、例えば、LANインタフェースである。通信部13は、通信装置10の動作に用いられる情報を受信し、また通信装置10の動作によって得られる情報を送信する。通信部13は、通信装置10がネットワークを介して他の装置と情報の送受信を行うことを可能にする。
The
入力部14には、少なくとも1つの入力用インタフェースが含まれる。入力用インタフェースは、例えば、物理キー、静電容量キー、ポインティングデバイス、ディスプレイと一体的に設けられたタッチスクリーン、又はマイクである。入力部14は、通信装置10の動作に用いられる情報を入力する操作を受け付ける。入力部14は、通信装置10に備えられる代わりに、外部の入力機器として通信装置10に接続されてもよい。接続方式としては、例えば、USB(Universal Serial Bus)、HDMI(High-Definition Multimedia Interface)(登録商標)、又はBluetooth(登録商標)等の任意の方式を用いることができる。
The
出力部15には、少なくとも1つの出力用インタフェースが含まれる。出力用インタフェースは、例えば、ディスプレイ又はスピーカである。ディスプレイは、例えば、LCD(Liquid Crystal Display)又は有機EL(Electro Luminescence)ディスプレイである。出力部15は、通信装置10の動作によって得られる情報を出力する。出力部15は、通信装置10に備えられる代わりに、外部の出力機器として通信装置10に接続されてもよい。接続方式としては、例えば、USB、HDMI(登録商標)、又はBluetooth(登録商標)等の任意の方式を用いることができる。
The
(送信機50)
図3は、送信機50の構成の例を示す。送信機50は、取得部511と、基礎情報付与部512と、ブロック生成部513と、複製部514と、関連情報付与部515と、転送制御部516と、符号化部517と、符号関連情報付与部518と、送信情報付与部519と、一時FIFOキュー521と、送信FIFOキュー522と、第1の奇数ブロックFIFOキュー523と、第1の偶数ブロックFIFOキュー524と、第1の符号化ブロックFIFOキュー525とを備える。
(Transmitter 50)
FIG. 3 shows an example of the configuration of the
このうち、取得部511と、基礎情報付与部512と、ブロック生成部513と、複製部514と、関連情報付与部515と、転送制御部516と、符号化部517と、符号関連情報付与部518と、送信情報付与部519とは、上述の制御部11によって実現される。一時FIFOキュー521と、送信FIFOキュー522と、第1の奇数ブロックFIFOキュー523と、第1の偶数ブロックFIFOキュー524と、第1の符号化ブロックFIFOキュー525とは、上述の記憶部12によって実現される。
Among these, the
なお、以下の説明では、通信装置10が各部を備えるものとしたが、通信装置10とは別個の装置が各部を備える構成としてもよい。例えば通信装置10とは別個の装置が、ブロック生成部513と、複製部514と、関連情報付与部515と、符号化部517と、符号関連情報付与部518とを備え、当該装置と通信装置10とが互いに通信を行うように構成してもよい。
Note that in the following description, it is assumed that the
取得部511は、複数のデータユニットそれぞれの入力を順に受け付ける。具体的には、取得部511は通信部13を介して、ユーザ装置U1から送信された複数のデータユニットを順に受信することで取得する。取得部511は、取得した複数のデータユニットを基礎情報付与部512に出力する。
The
基礎情報付与部512は、取得部511から出力された複数のデータユニットに、データユニットの入力順序と情報量とを示す基礎情報を付与する。当該情報は、例えばデータユニットのヘッダ又はペイロードに付与される。情報量とは、より具体的にはデータユニットの長さをいう。図4Aを参照すると、P1~P12は、入力部11から順に出力された複数のデータユニットを示し、斜線部L1~L12は、基礎情報付与部512によってP1~P12のそれぞれに付された基礎情報を示す。基礎情報付与部512は、基礎情報を付したデータユニットを一時FIFOキュー521に格納する。
The basic
ブロック生成部513は、入力された複数のデータユニットをビット単位で分割し、所定のビット数の複数のブロックを生成する。具体的には、ブロック生成部513は、一時FIFOキュー521に格納されたデータユニットが所定長の情報量に達した時点で、データユニットを途中で分割して所定長を有するブロックとして生成する。ブロック生成部513は、データユニットを1ビット単位で分割できる。このようにブロック生成部513は、入力されたデータユニットの少なくとも一部を含んだブロックであって、所定長を有するブロックを生成できる。ブロック生成部513は、生成したブロックを複製部514に出力する。
The
図4Bを参照してブロック生成部513が生成するブロックを説明する。図4Bを参照すると、基礎情報付与部512により基礎情報が付与されたデータユニットP1~P12が組み合わされ、さらに所定長Nで分割されてブロックB1~B4が生成されている。例えば、データユニットP3は途中までブロックB1の一部となっているが、白抜き矢印で示す箇所でブロック生成部513によって分割されて、残りがブロックB2の一部となっている。このように一時FIFOキュー521に格納されたデータユニットが任意の所定長Nに到達すると、ブロック生成部513によって、データユニットは1ビット単位で分割してブロックとして出力され、分割されたデータユニットの残りは、次のタイミングで別途のブロックとして出力される。
The blocks generated by the
ブロック生成部513は、データユニットの少なくとも一部をブロックの一部とした後、所定時間内に次のデータユニットの入力がない場合には、ブロックが所定のビット数を有するようにパディング処理を施してもよい。所定時間は任意に設定されてよい。具体的には、ブロック生成部513は、所定時間経過しても一時FIFOキュー521に次のデータユニットが格納されてこないことを判断した場合、すでに当該一時FIFOキュー521に格納されている分のデータユニットを読み出し、当該データユニットにパディングを施すパディング処理を行い、所定長を有するブロックとして生成できる。より具体的には、ブロック生成部513は、読み出したデータユニットに「0」の値を加えてパディング処理を行うことができる。ブロック生成部513は、パディング処理を施したブロックを複製部514に出力する。
After making at least a part of the data unit a part of the block, the
複製部514は、複数のブロックを複製し、複製前のブロックと複製後のブロックとを出力する。具体的には、複製部514は、ブロック生成部513によって出力された複数のブロックをそれぞれ複製する。複製部514は、複製前のブロックを関連情報付与部515に出力し、複製後のブロックを転送制御部516に出力する。
The
関連情報付与部515は、複製部514から出力された複製前のブロックに、複製前のブロックであること、及び送信順序を示す関連情報を付与する。関連情報付与部515は、関連情報を付与したブロックを複製前のブロックとして送信FIFOキュー522に格納する。図4Cにおいて、BO1~BO4はそれぞれ、関連情報が付与された図4BのブロックB1~B4を、0と1の並びで例として表現している。本例において、BO1からBO4の各ブロックは、通信装置10に送信されたデータユニットにより順に構成されたものである。斜線部R1~R4は、関連情報付与部515が各複製前のブロックに付与した関連情報を示す。
The related
以下で説明するように、受信機60によって受信されたときに各ブロックが識別できるよう、各ブロックのヘッダあるいはペイロードの特定の領域が、当該ブロックの種類を表すビット列、すなわち関連情報として、予め確保されていてよい。
As explained below, in order to identify each block when received by the
転送制御部516は、複製部514から出力された複製後のブロックを、第1の奇数ブロックFIFOキュー523が空の場合は奇数ブロックとして第1の奇数ブロックFIFOキュー523へ格納し、そうではない場合は偶数ブロックとして第1の偶数ブロックFIFOキュー524へ格納する。すなわち、転送制御部516は、出力された順番が奇数番目のブロックを第1の奇数ブロックFIFOキュー523に格納し、偶数番目のブロックを第1の偶数ブロックFIFOキュー524に順に交互に格納できる。
The
図4Dを参照して、第1の奇数ブロックFIFOキュー523と第1の偶数ブロックFIFOキュー524とに格納されるブロックを説明する。図4Dに示すBC1~BC4はそれぞれ、複製された図4BのブロックB1~B4を、0と1の並びで例として表現している。転送制御部516は、複製後のブロックのうち、奇数ブロックであるBC1とBC3とを第1の奇数ブロックFIFOキュー523に格納し、偶数ブロックであるBC2とBC4とを第1の偶数ブロックFIFOキュー524に格納する。
With reference to FIG. 4D, blocks stored in the first odd
符号化部517は、複製後のブロックであって、連続する2つのブロックを用いて演算し、符号化ブロックを生成する。具体的には符号化部517は、第1の奇数ブロックFIFOキュー523に格納された奇数ブロックと第1の偶数ブロックFIFOキュー524に格納された偶数ブロックとを先頭から1ビット単位で演算させて符号化ブロックを生成する。符号化部517は、生成した符号化ブロックを符号関連情報付与部518に出力する。
The
本実施形態では、符号化部517による演算は、線形符号で表せる符号化により行われる。符号化部517は例えば、mビットの複製前のブロックと複製後のブロックとをGF(2m)のガロア体とみなして定義した情報演算規則により符号化を行う。本実施形態では、符号化部517は、排他的論理和(XOR)を用いて符号化を行う。図4Eは、複製後のブロックであって連続する2つのブロックとして、第1の奇数ブロックFIFOキュー523に格納された奇数ブロックBC1と、第1の偶数ブロックFIFOキュー524に格納された偶数ブロックとBC2とを用いる例を示す。符号化部517は、複製後のブロックのBC1とBC2とを排他的論理和により演算し、符号化ブロックBEを生成する。図4Eに示すように、符号化ブロックBEの各ビットは、ブロックBC1とブロックBC2とが先頭から排他的論理和により演算された結果となっている。
In this embodiment, the calculation by the
符号関連情報付与部518は、符号化ブロックであること、及び符号化順序を示す符号関連情報を符号化ブロックに付与する。関連情報と同様に、ブロックのヘッダあるいはペイロードの特定の領域がブロックの種類を表すビット列、すなわち符号関連情報として、予め確保されていてよい。図4Fにおいて、斜線部ER1は、符号関連情報付与部518が符号化ブロックBEに付与した符号関連情報を示す。符号関連情報付与部518は、符号関連情報を付与した符号化ブロックBE’を、第1の符号化ブロックFIFOキュー525に格納する。
The code-related
転送制御部516は、第1の符号化ブロックFIFOキュー525に格納された符号化ブロックを、送信FIFOキュー522に出力する。
The
送信情報付与部519は、送信FIFOキュー522に格納された複製前のブロック及び符号化ブロックに、宛先へ送信するために必要な、送信先及び送信元を示す送信情報を付与する。図4Gにおいて、複製前のブロックBO1、BO2、及び符号化ブロックBE’の先頭に付された黒塗り部はそれぞれ、送信情報付与部519が付与した送信情報を示す。
The transmission
送信情報付与部519は、図4Gにおける、送信情報を含むブロックBO1’、BO2’、及び符号化ブロックBE’’を順に、通信部13及びネットワーク30を介して送信する。具体的には送信情報付与部519は、他の通信装置10に対し送信する。
The transmission
(受信機60)
図5は、受信機60の構成の例を示す。受信機60は、送信情報削除部611と、識別部612と、転送制御部613と、演算部614と、受信情報区別部615と、送信部616と、第2の奇数ブロックFIFOキュー621と、第2の偶数ブロックFIFOキュー622と、第2の符号化ブロックFIFOキュー623と、受信FIFOキュー624とを備える。
(Receiver 60)
FIG. 5 shows an example of the configuration of the
このうち、送信情報削除部611と、識別部612と、転送制御部613と、演算部614と、受信情報区別部615と、送信部616とは、上述の制御部11によって実現され、第2の奇数ブロックFIFOキュー621と、第2の偶数ブロックFIFOキュー622と、第2の符号化ブロックFIFOキュー623と、受信FIFOキュー624とは、上述の記憶部12によって実現される。
Of these, the transmission
送信情報削除部611は、通信部13を介して、ネットワーク30から転送されたブロックを順に受信することで取得する。受信されるブロックは、送信情報が付与された複製前のブロック及び符号化ブロックである。送信情報削除部611は、取得した各ブロックから、送信機50の送信情報付与部519によって付与されていた送信情報を削除する。送信情報削除部611は、送信情報を削除した各ブロックを識別部612に出力する。
The transmission
識別部612は、送信情報削除部611から出力された各ブロックが複製前のブロック又は符号化ブロックのいずれであるかについてと、ブロックの送信順序とを識別し、各ブロックを対応するFIFOキューに格納する。具体的には識別部612は、各ブロックの関連情報及び符号関連情報を参照し、対応するFIFOキューに格納する。識別部612は、関連情報に基づき、複製前のブロックの送信順序が奇数番目である場合は奇数ブロックと識別して第2の奇数ブロックFIFOキュー621に格納し、複製前のブロックの送信順序が偶数番目である場合は偶数ブロックと識別して第2の偶数ブロックFIFOキュー622に格納する。識別部612は符号関連情報に基づき、符号化ブロックを識別して該ブロックを第2の符号化ブロックFIFOキュー623に格納する。
The
転送制御部613は、識別部612と連携し、第2の奇数ブロックFIFOキュー621、第2の偶数ブロックFIFOキュー622、及び第2の符号化ブロックFIFOキュー623の3つのキューからの転送を制御して、以下で説明するように、各ブロックが送信された順序に従って処理されるようにする。
The
まず転送制御部613は、第2の奇数ブロックFIFOキュー621に格納された奇数ブロック、又は第2の偶数ブロックFIFOキュー622に格納された偶数ブロックを読み出し、情報抜け、ビット誤り等がないかを判定する。転送制御部613は、情報抜け、ビット誤り等がないと判定すると、第2の符号化ブロックFIFOキュー623に格納されている符号化ブロックを廃棄する。転送制御部613は、第2の奇数ブロックFIFOキュー621及び第2の偶数ブロックFIFOキュー622から読み出した各ブロックについて、付与されている関連情報を削除し、順に受信情報区別部615へ出力する。
First, the
転送制御部613は、読み出した奇数ブロック又は偶数ブロックについて情報抜け、ビット誤り等があると判定した場合、正常に受信された方の奇数ブロック又は偶数ブロックについて関連情報を削除し、さらに第2の符号化ブロックFIFOキュー623に格納された符号化ブロックについて符号関連情報を削除する。その後転送制御部613は、関連情報を削除した、正常に受信された方の奇数ブロック又は偶数ブロックと、符号関連情報を削除した符号化ブロックとを演算部614へ出力する。
If the
演算部614は、出力された奇数ブロック又は偶数ブロックと、符号化ブロックとに基づいて、情報抜け、ビット誤り等により失われていたブロックを復号する。本実施形態では、演算部614は、上述の符号化部517と同様に排他的論理和(XOR)を用いて復号を行うが、復号には任意の手法が用いられてよい。演算部614は、復号したブロックを受信情報区別部615へ出力する。
The
受信情報区別部615は、転送制御部613又は演算部614から出力されたブロックを順に読み込み、通信装置10の基礎情報付与部512によって付与されていた基礎情報が示す情報量を識別する。受信情報区別部615は、ブロックを結合させて情報量が示す通りにデータユニットを復元する。このように、受信情報区別部615は、読み込んだ各ブロックから、上述のブロック生成部513によって分割される前の元のデータユニットを復元できる。
The received
受信情報区別部615はさらに、復元した各データユニットに付与されている基礎情報を削除し、復元した各データユニットを受信FIFOキュー624へ出力する。
The received
図6A~図6D、図7A及び図7Bを参照して、受信機60における復号について説明する。まず図6A~図6Dを参照して、受信機60において奇数番目の複製前のブロックと偶数番目の複製前のブロックとの両方が正常に受信された場合を説明する。図6Aにおいて、BO1とBO2とは、正常に受信された複製前の奇数ブロックと複製前の偶数ブロックとを示す。BE’は、正常に受信された符号化ブロックを示す。奇数ブロックBO1、偶数ブロックBO2、及び符号化ブロックBE’は、送信情報削除部611によって、図4Gで示した送信情報が削除されている。
Decoding in the
本例において転送制御部613は、奇数ブロックBO1及び偶数ブロックBO2との両方について、情報抜け、ビット誤り等がないと判定しているとする。この場合、上述したように、転送制御部613によって符号化ブロックBE’が廃棄され、奇数ブロックBO1及び偶数ブロックBO2が、関連情報を削除されて受信情報区別部615へ出力される。図6Bにおいて、奇数ブロックBO1及び偶数ブロックBO2から関連情報R1及びR2が削除されたブロックである、元のブロックB1とB2と、廃棄された符号化ブロックBE’とが示される。
In this example, it is assumed that the
次に図6Cにおいて、受信情報区別部615は、出力されたブロックを順に読み込み、通信装置10の基礎情報付与部512が各データユニットに付与した基礎情報が示す情報量を識別する。図6Cは、受信情報区別部615が順に読み込んだブロックB1~B4と、対応する元のデータユニットP1~P11であって、斜線部L1~11の基礎情報が付されているデータユニットとを示す。受信情報区別部615は、順に読み込んで結合させたブロックB1~B4を、基礎情報が示す情報量が示す通りに区切ることで、ユーザデータユニットを復元できる。図6Dは、受信情報区別部615が基礎情報を削除し、受信FIFOキュー624へ出力する復元したデータユニットP1~P12を示す。このように、受信情報区別部615は、読み込んだ各ブロックから、上述のブロック生成部513によって分割される前の元のデータユニットを復元できる。
Next, in FIG. 6C, the received
次に図7Aを参照して、受信機60において奇数番目の複製前のブロックと偶数番目の複製前のブロックとのいずれかが正常に受信されなかった場合を説明する。以下、本例では、奇数ブロックについて転送制御部613が情報抜け、ビット誤り等があると判定し、正常に受信されなかったものとして説明するが、偶数ブロックについて正常に受信されなかった場合も同様である。
Next, with reference to FIG. 7A, a case will be described in which either the odd-numbered pre-duplication block or the even-numbered pre-duplication block is not normally received by the
図7Aを参照すると、本例では、奇数ブロックBO1が正常に受信されておらず、偶数ブロックBO2が正常に受信されている。転送制御部613は、正常に受信された偶数ブロックBO2と符号化ブロックBE’とについて、関連情報及び符号関連情報をそれぞれ削除した状態で演算部614へ出力する。図7Bにおいて、偶数ブロックBO2から関連情報R2が削除されたブロックである、複製前のブロックB2と、符号化情報が削除されたブロックである符号化ブロックBEとが示される。演算部614は、ブロックB2と符号化ブロックBEとに基づき、奇数ブロックB1を復号する。演算部614は、復号した奇数ブロックB1と、複製前のブロックB2とを受信情報区別部615に出力する。
Referring to FIG. 7A, in this example, odd block BO1 is not received normally, and even block BO2 is received normally. The
受信情報区別部615は、出力されたブロックを順に読み込む。以降の受信情報区別部615の動作は、上述の図6C及び図6Dを参照しながら説明したものと同様であるため説明を省略する。
The received
送信部616は、通信部13及びネットワーク30を介して、受信FIFOキュー624に出力されたデータユニットをユーザ装置Uに送信する。
The
<プログラム>
上述した通信装置10として機能させるために、プログラム命令を実行可能なコンピュータを用いることも可能である。ここで、コンピュータは、汎用コンピュータ、専用コンピュータ、ワークステーション、PC(Personal Computer)、電子ノートパッドなどであってもよい。プログラム命令は、必要なタスクを実行するためのプログラムコード、コードセグメントなどであってもよい。
<Program>
In order to function as the
コンピュータは、プロセッサと、記憶部と、入力部と、出力部と、通信インタフェースとを備える。プロセッサは、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)、SoC(System on a Chip)等であり、同種又は異種の複数のプロセッサにより構成されてもよい。プロセッサは、記憶部からプログラムを読み出して実行することで、上記各構成の制御及び各種の演算処理を行う。なお、これらの処理内容の少なくとも一部をハードウェアで実現することとしてもよい。入力部は、ユーザの入力操作を受け付けてユーザの操作に基づく情報を取得する入力インタフェースであり、ポインティングデバイス、キーボード、マウスなどである。出力部は、情報を出力する出力インタフェースであり、ディスプレイ、スピーカなどである。通信インタフェースは、外部の装置と通信するためのインタフェースである。 The computer includes a processor, a storage section, an input section, an output section, and a communication interface. A processor is a CPU (Central Processing Unit), MPU (Micro Processing Unit), GPU (Graphics Processing Unit), DSP (Digital Signal Processor), SoC (System on a Chip), etc. may be configured. The processor controls each of the above components and performs various calculation processes by reading and executing programs from the storage unit. Note that at least a part of these processing contents may be realized by hardware. The input unit is an input interface that receives a user's input operation and obtains information based on the user's operation, and is a pointing device, a keyboard, a mouse, or the like. The output unit is an output interface that outputs information, such as a display or a speaker. The communication interface is an interface for communicating with an external device.
プログラムは、コンピュータが読み取り可能な記録媒体に記録されていてもよい。このような記録媒体を用いれば、プログラムをコンピュータにインストールすることが可能である。ここで、プログラムが記録された記録媒体は、非一過性(non-transitory)の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROM、DVD-ROM、USBメモリなどであってもよい。また、このプログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。 The program may be recorded on a computer-readable recording medium. Using such a recording medium, it is possible to install a program on a computer. Here, the recording medium on which the program is recorded may be a non-transitory recording medium. The non-transitory recording medium is not particularly limited, and may be, for example, a CD-ROM, a DVD-ROM, a USB memory, or the like. Further, this program may be downloaded from an external device via a network.
<通信システム1の動作>
次に図8Aから図8Cを参照して、本実施形態に係る通信システム1の動作について説明する。この動作は、本実施形態に係る通信方法に相当する。通信装置10A及び通信装置10Bの動作は、具体的には本実施形態に係る通信方法に相当する。以下において、ステップS1からステップS12までは、通信装置10Aの送信機50Aの動作を説明し、ステップS13からステップS22までは通信装置10Bの受信機60Bの動作を説明するが、通信装置10Aの受信機60Aの動作、及び通信装置10Bの送信機50Aの動作も同様である。
<Operation of
Next, the operation of the
ステップS1において、ユーザ装置U1が通信装置10Aにデータユニットを送信する。
In step S1, the user device U1 transmits a data unit to the
ステップS2において、取得部511は、複数のデータユニットそれぞれの入力を順に受け付ける。本例では取得部511は、ユーザ装置U1から送信された複数のデータユニットを順に受信することで取得する。取得部511は、取得した複数のデータユニットを基礎情報付与部512に出力する。
In step S2, the
ステップS3において、基礎情報付与部512は、取得部511から出力された複数のデータユニットに、データユニットの入力順序と情報量とを示す基礎情報を付与する。基礎情報付与部512は、基礎情報を付したデータユニットを一時FIFOキュー521に格納する。
In step S3, the basic
ステップS4において、ブロック生成部513は、入力された複数のデータユニットをビット単位で分割し、所定のビット数の複数のブロックを生成する。具体的には、ブロック生成部513は、一時FIFOキュー521に格納されたデータユニットが所定長の情報量に達した時点で、データユニットを途中で分割して所定長を有するブロックとして生成する。ブロック生成部513は、生成したブロックを複製部514に出力する。
In step S4, the
ブロック生成部513は、データユニットの少なくとも一部をブロックの一部とした後、所定時間内に次のデータユニットの入力がない場合には、ブロックが所定のビット数を有するようにパディング処理を施してもよい。ブロック生成部513は、パディング処理を行って生成したブロックを複製部514に出力する。
After making at least a part of the data unit a part of the block, the
ステップS5において、複製部514は、複数のブロックを複製し、複製前のブロックと複製後のブロックとを出力する。具体的には、複製部514は、複製前のブロックを関連情報付与部515に出力し、複製後のブロックを転送制御部516に出力する。
In step S5, the
ステップS6において、関連情報付与部515は、複製部514から出力された複製前のブロックに、複製前のブロックであること、及び送信順序を示す関連情報を付与する。関連情報付与部515は、関連情報を付与したブロックを複製前のブロックとして送信FIFOキュー522に格納する。
In step S6, the related
ステップS7において、転送制御部516は、複製部514から出力された複製後のブロックを、第1の奇数ブロックFIFOキュー523が空の場合は奇数ブロックとして第1の奇数ブロックFIFOキュー523へ格納し、そうではない場合は偶数ブロックとして第1の偶数ブロックFIFOキュー524へ格納する。
In step S7, the
ステップS8において、符号化部517は、複製後のブロックであって、連続する2つのブロックを用いて演算し、符号化ブロックを生成する。具体的には符号化部517は、第1の奇数ブロックFIFOキュー523に格納された奇数ブロックと第1の偶数ブロックFIFOキュー524に格納された偶数ブロックとを先頭から1ビット単位で演算させて符号化ブロックを生成する。本実施形態では、符号化部517による演算は、線形符号で表せる符号化により行われる。符号化部517は、生成した符号化ブロックを符号関連情報付与部518に出力する。
In step S8, the
図8BのステップS9において、符号関連情報付与部518は、符号化ブロックであること、及び符号化順序を示す符号関連情報を符号化ブロックに付与する。符号関連情報付与部518は、符号関連情報を付与した符号化ブロックを、第1の符号化ブロックFIFOキュー525に格納する。
In step S9 of FIG. 8B, the code-related
ステップS10において、転送制御部516は、第1の符号化ブロックFIFOキュー525に格納された符号化ブロックを、送信FIFOキュー522に出力する。
In step S10, the
ステップS11において、送信情報付与部519は、ステップS6において送信FIFOキュー522に格納された複製前のブロック、及びステップS10において送信FIFOキュー522に格納された符号化ブロックに、宛先へ送信するために必要な、送信先及び送信元を示す送信情報を付与する。
In step S11, the transmission
ステップS12において、送信情報付与部519は、送信情報を含む複製前のブロック及び符号化ブロックを順に、通信部13及びネットワーク30を介して送信する。具体的には送信情報付与部519は、他の通信装置10である通信装置10Bに対し送信する。
In step S12, the transmission
ステップS13において、通信装置10Bの受信機60Bの送信情報削除部611は、通信部13を介して、ネットワーク30から転送されたブロックを順に受信することで取得し、取得した各ブロックから、送信機50Aの送信情報付与部519によって付与されていた送信情報を削除する。送信情報削除部611は、送信情報を削除した各ブロックを識別部612に出力する。
In step S13, the transmission
ステップS14において、識別部612は、送信情報削除部611から出力された各ブロックが複製前のブロック又は符号化ブロックのいずれであるかについてと、ブロックの送信順序とを識別し、各ブロックを対応するFIFOキューに格納する。具体的には識別部612は、関連情報に基づき、複製前のブロックの送信順序が奇数番目である場合は奇数ブロックと識別して第2の奇数ブロックFIFOキュー621に格納し、複製前のブロックの送信順序が偶数番目である場合は偶数ブロックと識別して第2の偶数ブロックFIFOキュー622に格納する。識別部612は符号関連情報に基づき、符号化ブロックを識別して該ブロックを第2の符号化ブロックFIFOキュー623に格納する。
In step S14, the
ステップS15において、転送制御部613は、第2の奇数ブロックFIFOキュー621に格納された奇数ブロック、又は第2の偶数ブロックFIFOキュー622に格納された偶数ブロックを読み出し、情報抜け、ビット誤り等がないかを判定する。転送制御部613が、読み出した奇数ブロック又は偶数ブロックについて情報抜け、ビット誤り等がないと判定した場合、転送制御部613の処理はステップS16に進む。転送制御部613が、情報抜け、ビット誤り等があると判定した場合は、転送制御部613の処理はステップS17に進む。
In step S15, the
ステップS16において、転送制御部613は第2の符号化ブロックFIFOキュー623に格納されている符号化ブロックを廃棄する。転送制御部613は、第2の奇数ブロックFIFOキュー621及び第2の偶数ブロックFIFOキュー622から読み出した各ブロックについて、付与されている関連情報を削除し、順に受信情報区別部615へ出力する。その後、通信装置10Bの処理はステップS19へ進む。
In step S16, the
図8CのステップS17において、転送制御部613は、正常に受信された方の奇数ブロック又は偶数ブロックについて関連情報を削除し、さらに第2の符号化ブロックFIFOキュー623に格納された符号化ブロックについて符号関連情報を削除する。その後転送制御部613は、関連情報を削除した、正常に受信された方の奇数ブロック又は偶数ブロックと、符号関連情報を削除した符号化ブロックとを演算部614へ出力する。その後、通信装置10Bの処理はステップS18へ進む。
In step S17 of FIG. 8C, the
ステップS18において、演算部614は、出力された奇数ブロック又は偶数ブロックと、符号化ブロックとに基づいて、情報抜け、ビット誤り等により失われていたブロックを復号する。本実施形態では、演算部614は、上述の符号化部517と同様に排他的論理和(XOR)を用いて復号を行うが、復号には任意の手法が用いられてよい。演算部614は、復号したブロックを受信情報区別部615へ出力する。その後、通信装置10Bの処理はステップS19へ進む。
In step S18, the
ステップS19において、受信情報区別部615は、転送制御部613又は演算部614から出力されたブロックを順に読み込み、通信装置10の基礎情報付与部512によって付与されていた基礎情報が示す情報量を識別する。受信情報区別部615は、ブロックを結合させて情報量が示す通りにデータユニットを復元する。
In step S19, the received
ステップS20において、受信情報区別部615は、復元した各データユニットに付与されている基礎情報を削除し、復元した各データユニットを受信FIFOキュー624へ出力する。
In step S20, the received
ステップS21において、送信部616は、通信部13及びネットワーク30を介して、受信FIFOキュー624に出力されたデータユニットをユーザ装置U2に送信する。
In step S21, the
ステップS22において、ユーザ装置U2は通信装置10Bからデータユニットを受信する。その後、通信システム1の動作は終了する。
In step S22, the user device U2 receives the data unit from the
上述のように、本実施形態にかかる通信装置10は、複数のデータユニットそれぞれの入力を順に受け付ける取得部511と、入力された複数のデータユニットをビット単位で分割し、所定のビット数の複数のブロックを生成するブロック生成部513と、複数のブロックを複製し、複製前のブロックと複製後のブロックとを出力する複製部514と、複製前のブロックに、複製前のブロックであることと、送信順序とを示す関連情報を付与する関連情報付与部515と、複製後のブロックであって、連続する2つのブロックを用いて演算し、符号化ブロックを生成する符号化部517と、符号化ブロックに、符号化されたブロックであることと、符号化順序とを示す符号関連情報を付与する符号関連情報付与部518と、を備える。
As described above, the
本実施形態によれば、ブロック生成部513によって、任意に設定した所定長以上の大きさのデータユニットが一時FIFOキュー521に格納された時点で、所定長のブロックが生成される。従来の符号化を利用した無瞬断ネットワークシステムと比較して、ビット単位で情報を分割するため、パディングによる情報量の増加を抑制することができる。すなわち、パディング部同士の符号化による冗長な情報量が削減される。よって、データユニットの喪失を抑制しつつ、データユニットの転送効率を向上させる技術を改善することができる。
According to this embodiment, the
上述のように、本実施形態にかかる通信装置10において、前記ブロック生成部は、前記データユニットの少なくとも一部を前記ブロックの一部とした後、所定時間内に次のデータユニットの入力がない場合には、前記ブロックが前記所定のビット数を有するようにパディング処理を施す。
As described above, in the
本実施形態によれば、ユーザ装置Uからのデータユニットの出力が止まった場合でも、所定の時間が経過した時点でブロック生成部513がブロックを生成し、次の処理へ進むことができる。ブロック生成部513が自動的にパディング処理を施すことで、所定長を有するブロックを生成でき、後の符号化の処理が可能となる。このように、ブロックの生成に時間を要して通信の遅延が発生してしまうことを防ぐことができる。よって、データユニットの喪失を抑制しつつ、データユニットの転送効率を向上させる技術を改善することができる。
According to this embodiment, even if the output of data units from the user device U stops, the
上述のように、本実施形態にかかる通信装置10において、符号化部517は、線形結合で表せる符号化を行う。
As described above, in the
本実施形態によれば、効率的な符号化処理が実現可能となる。よって、データユニットの喪失を抑制しつつ、データユニットの転送効率を向上させる技術を改善することができる。 According to this embodiment, efficient encoding processing can be realized. Therefore, it is possible to improve the technique of improving data unit transfer efficiency while suppressing loss of data units.
本開示を諸図面や実施形態に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本開示の範囲に含まれることに留意されたい。 Although the present disclosure has been described based on various drawings and embodiments, it should be noted that those skilled in the art can easily make various changes and modifications based on the present disclosure. Therefore, it should be noted that these variations and modifications are included within the scope of the present disclosure.
以上の実施形態に関し、更に以下の付記を開示する。
[付記項1]
複数のデータユニットそれぞれの入力を順に受け付け、
入力された前記複数のデータユニットをビット単位で分割し、所定のビット数の複数のブロックを生成し、
前記複数のブロックを複製し、複製前のブロックと複製後のブロックとを出力し、
前記複製前のブロックに、複製前のブロックであることと、送信順序とを示す関連情報を付与し、
前記複製後のブロックであって、連続する2つのブロックを用いて演算し、符号化ブロックを生成し、
前記符号化ブロックに、符号化されたブロックであることと、符号化順序とを示す符号関連情報を付与する制御部を備える通信装置。
[付記項2]
前記制御部は、前記データユニットの少なくとも一部を前記ブロックの一部とした後、所定時間内に次のデータユニットの入力がない場合には、前記ブロックが前記所定のビット数を有するようにパディング処理を施す、付記項1に記載の通信装置。
[付記項3]
前記制御部は、線形結合で表せる符号化を行う、付記項1又は2に記載の通信装置。
[付記項4]
通信装置が実行する通信方法であって、
複数のデータユニットそれぞれの入力を順に受け付ける取得ステップと、
入力された前記複数のデータユニットをビット単位で分割し、所定のビット数の複数のブロックを生成するブロック生成ステップと、
前記複数のブロックを複製し、複製前のブロックと複製後のブロックとを出力する複製ステップと、
前記複製前のブロックに、複製前のブロックであることと、送信順序とを示す関連情報を付与する関連情報付与ステップと、
前記複製後のブロックであって、連続する2つのブロックを用いて演算し、符号化ブロックを生成する符号化ステップと、
前記符号化ブロックに、符号化されたブロックであることと、符号化順序とを示す符号関連情報を付与する符号関連情報付与ステップと、
を含む、通信方法。
[付記項5]
前記ブロック生成ステップは、前記データユニットの少なくとも一部を前記ブロックの一部とした後、所定時間内に次のデータユニットの入力がない場合には、前記ブロックが前記所定のビット数を有するようにパディング処理を施すステップをさらに含む、付記項4に記載の通信方法。
[付記項6]
前記符号化ステップは、線形結合で表せる符号化を行うステップをさらに含む、付記項4又は5に記載の通信方法。
[付記項7]
コンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記コンピュータを、付記項1から3のいずれか一項に記載の通信装置として機能させるプログラムを記憶した非一時的記憶媒体。
Regarding the above embodiments, the following additional notes are further disclosed.
[Additional note 1]
Accepts input for each of multiple data units in turn,
dividing the plurality of input data units in bit units to generate a plurality of blocks each having a predetermined number of bits;
Copying the plurality of blocks and outputting a block before duplication and a block after duplication,
Adding related information indicating that the block before duplication is a block before duplication and a transmission order,
calculating an encoded block by using two consecutive blocks, which are the blocks after the duplication,
A communication device comprising: a control unit that provides the coded block with code-related information indicating that the block is a coded block and a coding order.
[Additional note 2]
After making at least a part of the data unit a part of the block, the control unit causes the block to have the predetermined number of bits if there is no input of the next data unit within a predetermined time. The communication device according to
[Additional note 3]
The communication device according to
[Additional note 4]
A communication method executed by a communication device, the communication method comprising:
an acquisition step of sequentially accepting input of each of the plurality of data units;
a block generation step of dividing the plurality of input data units in bit units to generate a plurality of blocks each having a predetermined number of bits;
a duplication step of duplicating the plurality of blocks and outputting a block before duplication and a block after duplication;
a related information adding step of adding related information indicating that the block before duplication is a block before duplication and a transmission order;
an encoding step of generating an encoded block by performing an operation using two consecutive blocks that are the blocks after the duplication;
a code-related information adding step of adding code-related information indicating that the coded block is a coded block and an encoding order;
methods of communication, including:
[Additional note 5]
In the block generation step, after making at least a part of the data unit a part of the block, if there is no input of the next data unit within a predetermined time, the block is configured to have the predetermined number of bits. The communication method according to
[Additional note 6]
6. The communication method according to
[Additional note 7]
A non-transitory storage medium storing a program executable by a computer,
A non-temporary storage medium storing a program that causes the computer to function as the communication device according to any one of
1 通信システム
10,10A,10B 通信装置
11 制御部
12 記憶部
13 通信部
14 入力部
15 出力部
50,50A,50B 送信機
60,60A,60B 受信機
511 取得部
512 基礎情報付与部
513 ブロック生成部
514 複製部
515 関連情報付与部
516 転送制御部
517 符号化部
518 符号関連情報付与部
519 送信情報付与部
521 一時FIFOキュー
522 送信FIFOキュー
523 第1の奇数ブロックFIFOキュー
524 第1の偶数ブロックFIFOキュー
525 第1の符号化ブロックFIFOキュー
611 送信情報削除部
612 識別部
613 転送制御部
614 演算部
615 受信情報区別部
616 送信部
621 第2の奇数ブロックFIFOキュー
622 第2の偶数ブロックFIFOキュー
623 第2の符号化ブロックFIFOキュー
624 受信FIFOキュー
1
Claims (7)
入力された前記複数のデータユニットをビット単位で分割し、所定のビット数の複数のブロックを生成するブロック生成部と、
前記複数のブロックを複製し、複製前のブロックと複製後のブロックとを出力する複製部と、
前記複製前のブロックに、複製前のブロックであることと、送信順序とを示す関連情報を付与する関連情報付与部と、
前記複製後のブロックであって、連続する2つのブロックを用いて演算し、符号化ブロックを生成する符号化部と、
前記符号化ブロックに、符号化されたブロックであることと、符号化順序とを示す符号関連情報を付与する符号関連情報付与部と、
を備える通信装置。 an acquisition unit that sequentially receives input of each of the plurality of data units;
a block generation unit that divides the plurality of input data units into bits and generates a plurality of blocks each having a predetermined number of bits;
a duplication unit that duplicates the plurality of blocks and outputs a block before duplication and a block after duplication;
a related information adding unit that adds related information indicating that the block before duplication is a block before duplication and a transmission order to the block before duplication;
an encoding unit that generates an encoded block by performing an operation using two consecutive blocks that are the duplicated blocks;
a code-related information adding unit that adds code-related information indicating that the coded block is a coded block and an encoding order;
A communication device comprising:
複数のデータユニットそれぞれの入力を順に受け付ける取得ステップと、
入力された前記複数のデータユニットをビット単位で分割し、所定のビット数の複数のブロックを生成するブロック生成ステップと、
前記複数のブロックを複製し、複製前のブロックと複製後のブロックとを出力する複製ステップと、
前記複製前のブロックに、複製前のブロックであることと、送信順序とを示す関連情報を付与する関連情報付与ステップと、
前記複製後のブロックであって、連続する2つのブロックを用いて演算し、符号化ブロックを生成する符号化ステップと、
前記符号化ブロックに、符号化されたブロックであることと、符号化順序とを示す符号関連情報を付与する符号関連情報付与ステップと、
を含む、通信方法。 A communication method executed by a communication device, the communication method comprising:
an acquisition step of sequentially accepting input of each of the plurality of data units;
a block generation step of dividing the plurality of input data units in bit units to generate a plurality of blocks each having a predetermined number of bits;
a duplication step of duplicating the plurality of blocks and outputting a block before duplication and a block after duplication;
a related information adding step of adding related information indicating that the block before duplication is a block before duplication and a transmission order;
an encoding step of generating an encoded block by performing an operation using two consecutive blocks that are the blocks after the duplication;
a code-related information adding step of adding code-related information indicating that the coded block is a coded block and an encoding order;
methods of communication, including;
A program for causing a computer to function as the communication device according to claim 1 or 2.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2022/022835 WO2023238205A1 (en) | 2022-06-06 | 2022-06-06 | Communication device, communication method, and program |
| JP2024526053A JPWO2023238205A1 (en) | 2022-06-06 | 2022-06-06 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2022/022835 WO2023238205A1 (en) | 2022-06-06 | 2022-06-06 | Communication device, communication method, and program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023238205A1 true WO2023238205A1 (en) | 2023-12-14 |
Family
ID=89117989
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2022/022835 Ceased WO2023238205A1 (en) | 2022-06-06 | 2022-06-06 | Communication device, communication method, and program |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JPWO2023238205A1 (en) |
| WO (1) | WO2023238205A1 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2011043230A1 (en) * | 2009-10-07 | 2011-04-14 | 日本電信電話株式会社 | Wireless communication system, radio relay station apparatus, radio terminal station apparatus, and wireless communication method |
| WO2021155947A1 (en) * | 2020-02-07 | 2021-08-12 | Nokia Technologies Oy | Apparatus, method, and computer program |
| WO2021233929A1 (en) * | 2020-05-20 | 2021-11-25 | Canon Kabushiki Kaisha | Method for pdcp network coding in 5g-ran or 4g e-utran |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7318187B2 (en) * | 2003-08-21 | 2008-01-08 | Qualcomm Incorporated | Outer coding methods for broadcast/multicast content and related apparatus |
| ATE482562T1 (en) * | 2006-05-19 | 2010-10-15 | Microsoft Corp | CONTENT MANAGEMENT IN PEER-TO-PEER DATA DISTRIBUTION CLOUDS |
| KR20220029751A (en) * | 2019-09-10 | 2022-03-08 | 후아웨이 테크놀러지 컴퍼니 리미티드 | Packet processing method and apparatus, and computer storage medium |
-
2022
- 2022-06-06 JP JP2024526053A patent/JPWO2023238205A1/ja active Pending
- 2022-06-06 WO PCT/JP2022/022835 patent/WO2023238205A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2011043230A1 (en) * | 2009-10-07 | 2011-04-14 | 日本電信電話株式会社 | Wireless communication system, radio relay station apparatus, radio terminal station apparatus, and wireless communication method |
| WO2021155947A1 (en) * | 2020-02-07 | 2021-08-12 | Nokia Technologies Oy | Apparatus, method, and computer program |
| WO2021233929A1 (en) * | 2020-05-20 | 2021-11-25 | Canon Kabushiki Kaisha | Method for pdcp network coding in 5g-ran or 4g e-utran |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2023238205A1 (en) | 2023-12-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100667739B1 (en) | Wireless data transceiver and method | |
| JP4321284B2 (en) | Streaming data transmission apparatus and information distribution system | |
| CN106464713A (en) | System and method for hierarchical compression | |
| US10015285B2 (en) | System and method for multi-stream compression and decompression | |
| CN106488243A (en) | A kind of many description screen content method for video coding | |
| KR102383892B1 (en) | Coding and decoding method, apparatus, system and medium of self-adapting system code FEC based on media content | |
| CN114978427B (en) | Data processing method, apparatus, program product, computer device, and medium | |
| JP2013225761A (en) | Coding device, decoding device, communication system and communication control method | |
| JP7405232B2 (en) | Packet communication system and its transmitting device, receiving device and program | |
| WO2023238205A1 (en) | Communication device, communication method, and program | |
| JP2003324733A (en) | Moving image transmitting / receiving system and moving image transmitting / receiving method | |
| US10880731B2 (en) | System and method for enhanced diversity and network coding (eDC-NC) | |
| JP6529299B2 (en) | Transmission apparatus, reception apparatus, method and program | |
| JPH1118086A (en) | Image communication method and apparatus | |
| JP2012151622A (en) | Receiving terminal, packet data receiving method, transmitting terminal, transmission/reception system, relay terminal, and relay method of packet data | |
| JP2010034898A (en) | Data transmission apparatus and data transmission method | |
| US8938019B2 (en) | Data transmitting device and data transmitting/receiving method | |
| JPH08340258A (en) | Variable length coding / decoding device | |
| US9167279B2 (en) | Method for payload formatting and deformatting for burst loss recovery | |
| JP5595260B2 (en) | Receiving machine | |
| WO2023223564A1 (en) | Information processing device, information processing method, communication system, and program | |
| JP4930449B2 (en) | Forward error recovery method receiver and forward error recovery method reception output method | |
| JP2001258025A (en) | Multimedia reception system | |
| JP3164806B2 (en) | Variable length encoding method and apparatus | |
| JP2004080188A (en) | Receiving device, receiving data receiving method and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22945715 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024526053 Country of ref document: JP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 22945715 Country of ref document: EP Kind code of ref document: A1 |